FFmpeg: “[h264 @ < hexnumber >] AVC: utilisé seulement n octets au lieu de n + 6”
Question
Lorsque je convertis une vidéo HD, je reçois des messages disant: "[h264 @] AVC: consommé uniquement n octets au lieu de n + 6"
.Existe-t-il un moyen de résoudre le problème? Ou existe-t-il une option pour se débarrasser de ces messages?
~ $ ffmpeg -i original.mp4 -ar 22050 -qscale 7 -s 480x270 result.flv FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-static --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-debug --disable-ffplay --disable-ipv6 --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-demuxer=v4l --disable-demuxer=v4l2 --disable-demuxer=alsa --disable-demuxer=oss --disable-muxer=alsa --disable-muxer=oss --enable-pthreads --enable-libspeex --enable-libopenjpeg --disable-altivec --cpu=nocona --disable-vhook --enable-gpl --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-swscale --disable-stripping --enable-hardcoded-tables libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 0 / 52.20. 0 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Sep 4 2009 12:52:09, gcc: 4.1.2 (Gentoo 4.1.2 p1.0.1) Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001) Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4': Duration: 00:04:22.37, start: 0.000000, bitrate: 921 kb/s Stream #0.0(eng): Video: h264, yuv420p, 480x270, 29.97 tbr, 29.97 tbn, 59.94 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16 Output #0, flv, to 'result.flv': Stream #0.0(eng): Video: flv, yuv420p, 480x270, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc Stream #0.1(eng): Audio: libmp3lame, 22050 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [h264 @ 0x62b200]AVC: Consumed only 147 bytes instead of 153 [h264 @ 0x62b200]AVC: Consumed only 2117 bytes instead of 2123 [h264 @ 0x62b200]AVC: Consumed only 28 bytes instead of 34
Merci.
La solution
Le problème est probablement lié à l'ajout de six octets sentinelles à la fin d'une trame. Celles-ci sont totalement inoffensives mais insérées par certains encodeurs en tant que marqueurs. Tant que l’équipe n’a pas résolu le problème, vous devrez appliquer des correctifs à & amp; reconstruire FFMPEG. L’équipe le fixe à demi pour les cas où tous les octets restants sont des zéros, mais l’erreur revient assez souvent lorsque des encodeurs spécifiques (en particulier celui d’Adobe) agissent en idiot.
Notez que cela pourrait être une véritable erreur; vous devrez vider les derniers octets des cadres pour vous assurer qu'il n'y a rien que vous souhaitiez.
Source: http://lists.mplayerhq.hu /pipermail/ffmpeg-devel/2009-February/062507.html