3

当我转换高清视频时,我收到消息说,“[h264 @ ]AVC: Consumed only n bytes 而不是 n+6”

有没有办法解决这个问题?还是有一个选项可以摆脱这些消息?

~ $ ffmpeg -i original.mp4 -ar 22050 -qscale 7 -s 480x270 result.flv
FFmpeg 0.5 版,版权所有 (c) 2000-2009 Fabrice Bellard 等人。
  配置: --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-剥离 --enable-hardcoded-tables
  libavutil 49.15。0 / 49.15。0
  libavcodec 52.20。0 / 52.20。0
  libav 格式 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
  建于 2009 年 9 月 4 日 12:52:09,gcc: 4.1.2 (Gentoo 4.1.2 p1.0.1)

似乎流 0 编解码器帧速率与容器帧速率不同:59.94 (60000/1001) -> 29.97 (30000/1001)
输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“original.mp4”:
  时长:00:04:22.37,开始:0.000000,比特率:921 kb/s
    流 #0.0(eng):视频:h264、yuv420p、480x270、29.97 tbr、29.97 tbn、59.94 tbc
    流 #0.1(eng):音频:aac,48000 Hz,立体声,s16
输出#0,flv,到“result.flv”:
    流 #0.0(eng):视频:flv、yuv420p、480x270、q=2-31、200 kb/s、90k tbn、29.97 tbc
    流 #0.1(eng):音频:libmp3lame,22050 Hz,立体声,s16,64 kb/s
流映射:
  流 #0.0 -> #0.0
  流 #0.1 -> #0.1
按 [q] 停止编码
[h264 @ 0x62b200]AVC:仅消耗 147 字节而不是 153
[h264 @ 0x62b200]AVC:仅消耗 2117 字节而不是 2123
[h264 @ 0x62b200]AVC:仅消耗 28 个字节而不是 34 个字节

谢谢你。

4

1 回答 1

2

问题很可能是在帧的末尾附加了六个标记字节。这些是完全无害的,但被一些编码器作为标记插入。在团队真正修复它之前,您需要修补和重建 FFMPEG。团队对所有剩余字节为零的情况进行了半修复,但是当特定编码器(特别是 Adob​​e 的)表现愚蠢时,错误出现的频率足够高。

请注意,这可能是一个真正的错误;您需要转储帧的最后几个字节以确保其中没有您想要的内容。

来源: http: //lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/062507.html

于 2009-10-11T12:09:10.957 回答