문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top