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