FFmpeg: "[h264 @ <hexnumber>] AVC: потребляется только n байтов вместо n + 6" - PullRequest
3 голосов
/ 18 сентября 2009

Когда я конвертирую 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

Спасибо.

1 Ответ

2 голосов
/ 11 октября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...