ffmpeg :“[H264 @ ] AVC : n+6 대신 n 바이트 만 소비”
문제
HD 비디오를 변환 할 때 [H264 @] AVC : N+6 대신 N 바이트 만 소비"라는 메시지가 표시됩니다.
문제를 해결하는 방법이 있습니까? 아니면 그 메시지를 제거 할 수있는 옵션이 있습니까?
~ $ 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
고맙습니다.
해결책
문제는 프레임 끝에 6 개의 센티넬 바이트가 추가 될 수 있습니다. 이것들은 완전히 무해하지만 일부 인코더에 의해 마커로 삽입됩니다. 팀이 실제로 수정 될 때까지 FFMPEG를 패치하고 재구성해야합니다. 팀은 나머지 바이트가 모두 0 인 경우에 대해 반과 고정되었지만 특정 인코더 (특히 Adobe의)가 멍청하게 행동 할 때 오류가 자주 발생합니다.
이것에 주목하십시오 ~할 수 있었다 실제 오류가 되십시오. 원하는 프레임의 마지막 몇 바이트를 버려서 원하는 것이 없는지 확인해야합니다.
원천: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-february/062507.html
제휴하지 않습니다 StackOverflow