FFMPEG: [H264 @ ] AVC: استهلكت فقط N Bytes بدلاً من N+6"

StackOverflow https://stackoverflow.com/questions/1441242

  •  10-07-2019
  •  | 
  •  

سؤال

عندما أقوم بتحويل مقطع فيديو عالي الدقة ، أتلقى رسائل تقول: [H264 @] AVC: تستهلك بايت فقط بدلاً من 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

شكرًا لك.

هل كانت مفيدة؟

المحلول

من المحتمل أن تكون المشكلة أن هناك ستة بايت حارس تم إلحاقها حتى نهاية الإطار. هذه غير ضارة تمامًا ولكنها أدخلها بعض المشفرات كعلامات. حتى يقوم الفريق بإصلاحه فعليًا ، ستحتاج إلى تصحيح وإعادة بناء FFMPEG. قام الفريق بتقليصه في الحالات التي تكون فيها جميع البايتات المتبقية عبارة عن أصفار ، ومع ذلك فإن الخطأ يظهر بشكل متكرر عندما يكون التشفير المحدد (على وجه الخصوص ، Adobe's) غبيًا.

لاحظ أن هذا استطاع كن خطأ حقيقيا. ستحتاج إلى تفريغ البايتات القليلة الأخيرة من الإطارات للتأكد من عدم وجود شيء تريده.

مصدر: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-feberuary/062507.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top