2009-09-17 1 views
3

Когда я конвертирую HD-видео, я получаю сообщения, говорящие: «[h264 @] AVC: потребляется только n байтов вместо n + 6 "FFmpeg: «[h264 @<hexnumber>] 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 

спасибо.

ответ

2

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

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

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