FFmpeg: [h264 @ ‹hexnumber›] AVC: потребляется только n байтов вместо n + 6.

Когда я конвертирую HD-видео, я получаю сообщение: «[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

Спасибо.


person user173457    schedule 17.09.2009    source источник


Ответы (1)


Вероятно, проблема в том, что к концу кадра добавлено шесть контрольных байтов. Они абсолютно безвредны, но вставляются некоторыми кодировщиками в качестве маркеров. Пока команда не исправит это, вам нужно будет исправить и перестроить FFMPEG. Команда частично исправила это для случаев, когда все оставшиеся байты являются нулями, однако ошибка возникает достаточно часто, когда определенные кодеры (в частности, Adobe) действуют глупо.

Обратите внимание, что это может быть настоящей ошибкой; вам нужно будет выгрузить последние несколько байтов кадров, чтобы убедиться, что там нет ничего, что вам нужно.

Источник: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-FebFebruary/062507.html

person Robert Fraser    schedule 11.10.2009