当我转换高清视频时,我收到消息说“[h264 @] AVC:仅消耗n个字节而不是n + 6”
有没有办法解决这个问题? 或者是否可以选择删除这些消息?
~ $ 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
谢谢。
答案 0 :(得分:2)
问题可能是在帧的末尾附加了六个前哨字节。这些是完全无害的,但是被一些编码器插入作为标记。在团队实际修复它之前,您需要修补&重建FFMPEG。当所有剩余字节都为零时,团队会对其进行半固定,但是当特定编码器(特别是Adobe)愚蠢时,错误会频繁出现。
请注意,此可能是一个真正的错误;你需要转储帧的最后几个字节,以确保你没有任何东西。
来源:http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/062507.html