我使用FFmpeg在Android上压缩视频(以及其他内容)。我从2015年开始使用FFmpeg构建已经有一段时间了,并希望升级,最好是升级到git master。我使用以下修改构建了FFmpeg master:
https://github.com/writingminds/ffmpeg-android
它创建一个从Java运行的已编译二进制文件。在我的测试中,我发现主分支版本比我的旧版本显着(~x2)慢,并且引入了更多的内存错误。常见设备(Moto G)上的示例比较是:
2015-02-25构建日志(27s):
11-22 10:44:40.015: ffmpeg -y -i new_a41900f8-1748-4834-a940-83160ee1887e.mp4 -f lavfi -i aevalsrc=0 -shortest -strict -2 -vcodec libx264 -vf scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2 -preset faster -crf 28 -acodec libfdk_aac -map_metadata -1 -movflags faststart new_a41900f8-1748-4834-a940-83160ee1887e_c.mp4
11-22 10:44:40.067: WARNING: linker: ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
11-22 10:44:40.074: ffmpeg version git-2015-02-25-b0d3322 Copyright (c) 2000-2015 the FFmpeg developers
11-22 10:44:40.074: built with gcc 4.8 (GCC)
11-22 10:44:40.076: configuration: --pkg-config-flags=--static --arch=arm --cpu=cortex-a8 --target-os=linux --enable-runtime-cpudetect --enable-pic --disable-shared --enable-static --cross-prefix=/home/jon/Development/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --enable-cross-compile --sysroot=/home/jon/Development/android-ndk-r10d/platforms/android-9/arch-arm/ --extra-cflags='-I../x264 -mfloat-abi=softfp -mfpu=neon -fPIE -pie -I../libfdk_aac/include -mfloat-abi=softfp -mfpu=neon -fPIE -pie' --extra-ldflags='-L../x264 -fPIE -pie -L../libfdk_aac/lib -fPIE -pie' --enable-version3 --enable-gpl --disable-doc --enable-yasm --disable-decoders --enable-decoder='mpeg4,aac,h264,mpegvideo,mpeg1video,mpeg2video,png,mjpeg,rawvideo,mp3,pcm_s16le,pcm_u8' --disable-encoders --enable-encoder='mpeg4,aac,h264,libx264,mpeg1video,mpeg2video,png,mjpeg,libfdk_aac,rawvideo,pcm_s16le' --disable-parsers --enable-parser='aac,mpeg4video,ac3,h261,h264,vc1,mpegvideo' --disable-demuxers --enable-demuxer='aac,h264,mpegvideo,m4v,mov,vc1,mp4,concat,image2,mpegts,mp3,pcm_s16le' --disable-muxers --enable-muxer='h264,mpeg1video,mpeg2video,m4v,mov,vc1,md5,mp4,image2,mpegts,segment,null' --enable-protocols --disable-filters --enable-filter='aresample,scale,movie,overlay,color,fade,afade,pad,asetpts,amerge,aevalsrc,concat,amix,colorchannelmixer,eq,hue,atempo,hflip,vflip,transpose,volume,anullsrc' --enable-avfilter --disable-indevs --enable-indev=v4l2 --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-symver --enable-network --enable-libx264 --enable-zlib --enable-nonfree --enable-libfdk-aac --enable-pthreads
11-22 10:44:40.076: libavutil 54. 19.100 / 54. 19.100
11-22 10:44:40.076: libavcodec 56. 26.100 / 56. 26.100
11-22 10:44:40.076: libavformat 56. 23.105 / 56. 23.105
11-22 10:44:40.076: libavdevice 56. 4.100 / 56. 4.100
11-22 10:44:40.076: libavfilter 5. 11.101 / 5. 11.101
11-22 10:44:40.076: libswscale 3. 1.101 / 3. 1.101
11-22 10:44:40.077: libswresample 1. 1.100 / 1. 1.100
11-22 10:44:40.077: libpostproc 53. 3.100 / 53. 3.100
11-22 10:44:40.814: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'new_a41900f8-1748-4834-a940-83160ee1887e.mp4':
11-22 10:44:40.814: Metadata:
11-22 10:44:40.814: major_brand : mp42
11-22 10:44:40.815: minor_version : 0
11-22 10:44:40.815: compatible_brands: isommp42
11-22 10:44:40.815: creation_time : 2016-11-22 10:32:14
11-22 10:44:40.815: Duration: 00:00:03.98, start: 0.000000, bitrate: 10927 kb/s
11-22 10:44:40.815: Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 9986 kb/s, SAR 1:1 DAR 16:9, 20.86 fps, 90k tbr, 90k tbn, 180k tbc (default)
11-22 10:44:40.815: Metadata:
11-22 10:44:40.815: creation_time : 2016-11-22 10:32:14
11-22 10:44:40.815: handler_name : VideoHandle
11-22 10:44:40.815: encoder : MOTO
11-22 10:44:40.816: Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
11-22 10:44:40.816: Metadata:
11-22 10:44:40.816: creation_time : 2016-11-22 10:32:14
11-22 10:44:40.816: handler_name : SoundHandle
11-22 10:44:40.821: Input #1, lavfi, from 'aevalsrc=0':
11-22 10:44:40.821: Duration: N/A, start: 0.000000, bitrate: N/A
11-22 10:44:40.821: Stream #1:0: Audio: pcm_f64le, 44100 Hz, mono, dbl, 2822 kb/s
11-22 10:44:40.828: [libx264 @ 0xb91a3970] using SAR=1/1
11-22 10:44:40.834: [libx264 @ 0xb91a3970] using cpu capabilities: ARMv6 NEON
11-22 10:44:40.960: [libx264 @ 0xb91a3970] profile High, level 3.1
11-22 10:44:40.961: [libx264 @ 0xb91a3970] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=20 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=crf mbtree=1 crf=28.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
11-22 10:44:40.977: Output #0, mp4, to 'new_a41900f8-1748-4834-a940-83160ee1887e_c.mp4':
11-22 10:44:40.978: Metadata:
11-22 10:44:40.979: encoder : Lavf56.23.105
11-22 10:44:40.981: Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 20.86 fps, 3735k tbn, 20.86 tbc (default)
11-22 10:44:40.982: Metadata:
11-22 10:44:40.983: encoder : Lavc56.26.100 libx264
11-22 10:44:40.985: Stream #0:1: Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, s16, 139 kb/s (default)
11-22 10:44:40.985: Metadata:
11-22 10:44:40.986: encoder : Lavc56.26.100 libfdk_aac
11-22 10:44:40.986: Stream mapping:
11-22 10:44:40.986: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
11-22 10:44:40.986: Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
11-22 10:44:40.986: Press [q] to stop, [?] for help
11-22 10:44:41.512: Past duration 0.687492 too large
11-22 10:44:41.529: frame= 6 fps=0.0 q=0.0 size= 0kB time=00:00:01.00 bitrate= 0.4kbits/s
11-22 10:44:41.540: Past duration 0.851555 too large
11-22 10:44:42.034: frame= 20 fps= 20 q=0.0 size= 0kB time=00:00:01.00 bitrate= 0.4kbits/s dup=0 drop=1
11-22 10:44:44.118: frame= 27 fps=9.1 q=0.0 size= 0kB time=00:00:02.00 bitrate= 0.2kbits/s dup=0 drop=1
11-22 10:44:44.129: Past duration 0.980461 too large
11-22 10:44:44.155: Past duration 0.941399 too large
11-22 10:44:44.364: Past duration 0.894524 too large
11-22 10:44:44.431: Past duration 0.851555 too large
11-22 10:44:44.554: Past duration 0.808586 too large
11-22 10:44:44.861: frame= 32 fps=9.0 q=33.0 size= 56kB time=00:00:02.00 bitrate= 226.7kbits/s dup=0 drop=1
11-22 10:44:44.882: Past duration 0.765617 too large
11-22 10:44:45.164: Past duration 0.722649 too large
11-22 10:44:45.339: frame= 34 fps=8.1 q=33.0 size= 74kB time=00:00:02.00 bitrate= 300.6kbits/s dup=0 drop=1
11-22 10:44:45.344: Past duration 0.675774 too large
11-22 10:44:45.645: Past duration 0.632805 too large
11-22 10:44:45.931: frame= 37 fps=7.7 q=33.0 size= 94kB time=00:00:02.00 bitrate= 383.2kbits/s dup=0 drop=1
11-22 10:44:46.306: frame= 40 fps=7.5 q=33.0 size= 111kB time=00:00:02.02 bitrate= 450.3kbits/s dup=0 drop=1
11-22 10:44:46.913: frame= 43 fps=7.3 q=33.0 size= 127kB time=00:00:03.00 bitrate= 344.9kbits/s dup=0 drop=1
11-22 10:44:47.813: frame= 48 fps=7.3 q=33.0 size= 168kB time=00:00:03.00 bitrate= 456.9kbits/s dup=0 drop=1
11-22 10:44:48.311: frame= 51 fps=7.0 q=33.0 size= 183kB time=00:00:03.00 bitrate= 497.2kbits/s dup=0 drop=1
11-22 10:44:49.101: frame= 56 fps=7.1 q=33.0 size= 218kB time=00:00:03.00 bitrate= 594.6kbits/s dup=0 drop=1
11-22 10:44:49.652: frame= 59 fps=6.9 q=33.0 size= 251kB time=00:00:03.00 bitrate= 682.4kbits/s dup=0 drop=1
11-22 10:44:50.465: frame= 64 fps=7.0 q=33.0 size= 286kB time=00:00:03.90 bitrate= 599.1kbits/s dup=1 drop=1
11-22 10:44:50.700: frame= 66 fps=6.8 q=33.0 size= 299kB time=00:00:03.90 bitrate= 626.9kbits/s dup=1 drop=1
11-22 10:44:52.034: frame= 70 fps=6.6 q=33.0 size= 349kB time=00:00:03.90 bitrate= 731.5kbits/s dup=1 drop=1
11-22 10:44:52.149: frame= 74 fps=6.6 q=33.0 size= 416kB time=00:00:03.90 bitrate= 872.8kbits/s dup=1 drop=1
11-22 10:44:53.238: frame= 77 fps=6.4 q=33.0 size= 440kB time=00:00:03.90 bitrate= 923.3kbits/s dup=1 drop=1
11-22 10:44:54.059: frame= 83 fps=6.6 q=33.0 size= 489kB time=00:00:03.90 bitrate=1024.9kbits/s dup=1 drop=1
11-22 10:44:57.177: [mp4 @ 0xb91fe240] Starting second pass: moving the moov atom to the beginning of the file
11-22 10:44:57.193: frame= 83 fps=5.1 q=-1.0 Lsize= 818kB time=00:00:03.94 bitrate=1696.9kbits/s dup=1 drop=1
11-22 10:44:57.196: video:745kB audio:68kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.498536%
11-22 10:44:57.212: [libx264 @ 0xb91a3970] frame I:2 Avg QP:28.52 size: 34902
11-22 10:44:57.213: [libx264 @ 0xb91a3970] frame P:44 Avg QP:29.24 size: 12132
11-22 10:44:57.213: [libx264 @ 0xb91a3970] frame B:37 Avg QP:32.25 size: 4296
11-22 10:44:57.213: [libx264 @ 0xb91a3970] consecutive B-frames: 20.5% 50.6% 28.9% 0.0%
11-22 10:44:57.213: [libx264 @ 0xb91a3970] mb I I16..4: 10.5% 67.1% 22.4%
11-22 10:44:57.213: [libx264 @ 0xb91a3970] mb P I16..4: 5.0% 16.7% 1.0% P16..4: 39.5% 9.3% 1.5% 0.0% 0.0% skip:27.0%
11-22 10:44:57.214: [libx264 @ 0xb91a3970] mb B I16..4: 1.1% 3.3% 0.1% B16..8: 22.8% 2.4% 0.1% direct:15.9% skip:54.3% L0:41.9% L1:55.0% BI: 3.1%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] 8x8 transform intra:72.8% inter:46.4%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] coded y,uvDC,uvAC intra: 46.5% 63.6% 17.0% inter: 10.6% 23.3% 0.4%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] i16 v,h,dc,p: 23% 39% 17% 20%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 37% 20% 2% 6% 5% 5% 5% 6%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 29% 17% 4% 9% 5% 7% 4% 7%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] i8c dc,h,v,p: 50% 27% 14% 8%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] Weighted P-Frames: Y:9.1% UV:9.1%
11-22 10:44:57.217: [libx264 @ 0xb91a3970] ref P L0: 78.1% 21.9%
11-22 10:44:57.218: [libx264 @ 0xb91a3970] ref B L0: 86.8% 13.2%
11-22 10:44:57.218: [libx264 @ 0xb91a3970] ref B L1: 95.4% 4.6%
11-22 10:44:57.218: [libx264 @ 0xb91a3970] kb/s:1532.91
git master log(45s):
11-22 10:36:56.308: ffmpeg -y -i new_a41900f8-1748-4834-a940-83160ee1887e.mp4 -f lavfi -i aevalsrc=0 -shortest -strict -2 -vcodec libx264 -vf scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2 -preset faster -crf 28 -acodec libfdk_aac -map_metadata -1 -movflags faststart new_a41900f8-1748-4834-a940-83160ee1887e_c.mp4
11-22 10:36:56.379: WARNING: linker: ffmpeg: unused DT entry: type 0x6ffffffe arg 0x1db4
11-22 10:36:56.380: WARNING: linker: ffmpeg: unused DT entry: type 0x6fffffff arg 0x3
11-22 10:36:56.380: ffmpeg version N-82113-g490c6bd Copyright (c) 2000-2016 the FFmpeg developers
11-22 10:36:56.380: built with gcc 4.9.x (GCC) 20150123 (prerelease)
11-22 10:36:56.380: configuration: --target-os=linux --cross-prefix=/home/jon/workspace/writing-minds-ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/jon/workspace/writing-minds-ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/jon/workspace/writing-minds-ffmpeg-android/ffmpeg-pkg-config --prefix=/home/jon/workspace/writing-minds-ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/jon/workspace/writing-minds-ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/jon/workspace/writing-minds-ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags= --disable-decoders --enable-decoder='mpeg4,aac,h264,mpegvideo,mpeg1video,mpeg2video,png,mjpeg,rawvideo,mp3,pcm_s16le,pcm_u8' --disable-encoders --enable-encoder='mpeg4,aac,h264,libx264,mpeg1video,mpeg2video,png,mjpeg,libfdk_aac,rawvideo,pcm_s16le,wrapped_avframe' --disable-parsers --enable-parser='aac,mpeg4video,ac3,h261,h264,vc1,mpegvideo' --disable-demuxers --enable-demuxer='aac,h264,mpegvideo,m4v,mov,vc1,mp4,concat,image2,mpegts,mp3,pcm_s16le' --disable-muxers --enable-muxer='h264,mpeg1video,mpeg2video,m4v,mov,vc1,md5,mp4,image2,mpegts,segment,null' --disable-filters --enable-filter='aresample,scale,movie,overlay,color,fade,afade,pad,asetpts,amerge,aevalsrc,concat,amix,colorchannelmixer,eq,hue,atempo,hflip,vflip,transpose,volume,anullsrc' --enable-protocols --enable-avfilter --disable-indevs --enable-indev=v4l2 --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-network --enable-zlib --enable-nonfree --enable-libfdk-aac
11-22 10:36:56.380: libavutil 55. 33.100 / 55. 33.100
11-22 10:36:56.381: libavcodec 57. 63.103 / 57. 63.103
11-22 10:36:56.381: libavformat 57. 55.100 / 57. 55.100
11-22 10:36:56.381: libavdevice 57. 0.103 / 57. 0.103
11-22 10:36:56.381: libavfilter 6. 64.100 / 6. 64.100
11-22 10:36:56.381: libswscale 4. 1.100 / 4. 1.100
11-22 10:36:56.381: libswresample 2. 2.100 / 2. 2.100
11-22 10:36:56.381: libpostproc 54. 0.100 / 54. 0.100
11-22 10:36:57.206: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'new_a41900f8-1748-4834-a940-83160ee1887e.mp4':
11-22 10:36:57.207: Metadata:
11-22 10:36:57.210: major_brand : mp42
11-22 10:36:57.211: minor_version : 0
11-22 10:36:57.211: compatible_brands: isommp42
11-22 10:36:57.212: creation_time : 2016-11-22T10:32:14.000000Z
11-22 10:36:57.215: Duration: 00:00:03.98, start: 0.000000, bitrate: 10927 kb/s
11-22 10:36:57.215: Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 9986 kb/s, SAR 1:1 DAR 16:9, 20.86 fps, 90k tbr, 90k tbn, 180k tbc (default)
11-22 10:36:57.218: Metadata:
11-22 10:36:57.219: creation_time : 2016-11-22T10:32:14.000000Z
11-22 10:36:57.219: handler_name : VideoHandle
11-22 10:36:57.219: encoder : MOTO
11-22 10:36:57.220: Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
11-22 10:36:57.221: Metadata:
11-22 10:36:57.221: creation_time : 2016-11-22T10:32:14.000000Z
11-22 10:36:57.221: handler_name : SoundHandle
11-22 10:36:57.221: Input #1, lavfi, from 'aevalsrc=0':
11-22 10:36:57.221: Duration: N/A, start: 0.000000, bitrate: N/A
11-22 10:36:57.221: Stream #1:0: Audio: pcm_f64le, 44100 Hz, mono, dbl, 2822 kb/s
11-22 10:36:57.254: [libx264 @ 0xb8a56880] using SAR=1/1
11-22 10:36:57.263: [libx264 @ 0xb8a56880] using cpu capabilities: none!
11-22 10:36:57.455: [libx264 @ 0xb8a56880] profile High, level 3.1
11-22 10:36:57.456: [libx264 @ 0xb8a56880] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=20 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=crf mbtree=1 crf=28.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
11-22 10:36:57.459: Output #0, mp4, to 'new_a41900f8-1748-4834-a940-83160ee1887e_c.mp4':
11-22 10:36:57.459: Metadata:
11-22 10:36:57.460: encoder : Lavf57.55.100
11-22 10:36:57.462: Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 20.86 fps, 3735k tbn, 20.86 tbc (default)
11-22 10:36:57.463: Metadata:
11-22 10:36:57.463: encoder : Lavc57.63.103 libx264
11-22 10:36:57.464: Side data:
11-22 10:36:57.464: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
11-22 10:36:57.466: Stream #0:1: Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, s16, 139 kb/s (default)
11-22 10:36:57.466: Metadata:
11-22 10:36:57.466: encoder : Lavc57.63.103 libfdk_aac
11-22 10:36:57.466: Stream mapping:
11-22 10:36:57.466: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
11-22 10:36:57.466: Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
11-22 10:36:57.466: Press [q] to stop, [?] for help
11-22 10:36:58.047: frame= 3 fps=0.0 q=0.0 size= 0kB time=00:00:01.00 bitrate= 0.0kbits/s speed=1.85x
11-22 10:36:58.144: Past duration 0.687492 too large
11-22 10:36:58.207: Past duration 0.851555 too large
11-22 10:36:58.554: frame= 14 fps= 13 q=0.0 size= 0kB time=00:00:01.00 bitrate= 0.0kbits/s speed=0.957x
11-22 10:36:59.082: frame= 23 fps= 15 q=0.0 size= 0kB time=00:00:02.00 bitrate= 0.0kbits/s dup=0 drop=1 speed=1.27x
11-22 10:37:04.570: frame= 27 fps=4.0 q=0.0 size= 0kB time=00:00:02.00 bitrate= 0.0kbits/s dup=0 drop=1 speed=0.298x
11-22 10:37:04.578: Past duration 0.980461 too large
11-22 10:37:04.610: Past duration 0.941399 too large
11-22 10:37:05.154: Past duration 0.894524 too large
11-22 10:37:05.198: frame= 30 fps=3.9 q=0.0 size= 0kB time=00:00:02.00 bitrate= 0.0kbits/s dup=0 drop=1 speed=0.261x
11-22 10:37:05.201: Past duration 0.851555 too large
11-22 10:37:05.248: Past duration 0.808586 too large
11-22 10:37:06.767: Past duration 0.765617 too large
11-22 10:37:07.329: frame= 33 fps=3.5 q=33.0 size= 60kB time=00:00:02.00 bitrate= 244.3kbits/s dup=0 drop=1 speed=0.216x
11-22 10:37:07.329: Past duration 0.722649 too large
11-22 10:37:07.568: frame= 34 fps=3.4 q=33.0 size= 74kB time=00:00:02.00 bitrate= 300.6kbits/s dup=0 drop=1 speed=0.203x
11-22 10:37:07.569: Past duration 0.675774 too large
11-22 10:37:08.517: Past duration 0.632805 too large
11-22 10:37:08.848: frame= 36 fps=3.3 q=33.0 size= 82kB time=00:00:02.00 bitrate= 333.3kbits/s dup=0 drop=1 speed=0.182x
11-22 10:37:10.298: frame= 39 fps=3.1 q=33.0 size= 100kB time=00:00:02.00 bitrate= 409.7kbits/s dup=0 drop=1 speed=0.161x
11-22 10:37:10.434: frame= 40 fps=3.1 q=33.0 size= 111kB time=00:00:02.68 bitrate= 339.6kbits/s dup=0 drop=1 speed=0.207x
11-22 10:37:11.658: frame= 42 fps=3.0 q=33.0 size= 118kB time=00:00:03.00 bitrate= 322.3kbits/s dup=0 drop=1 speed=0.217x
11-22 10:37:13.216: frame= 45 fps=2.9 q=33.0 size= 133kB time=00:00:03.00 bitrate= 362.9kbits/s dup=0 drop=1 speed=0.195x
11-22 10:37:14.658: frame= 48 fps=2.9 q=33.0 size= 168kB time=00:00:03.00 bitrate= 456.9kbits/s dup=0 drop=1 speed=0.179x
11-22 10:37:15.778: frame= 50 fps=2.8 q=33.0 size= 176kB time=00:00:03.00 bitrate= 478.2kbits/s dup=0 drop=1 speed=0.171x
11-22 10:37:15.809: frame= 51 fps=2.8 q=33.0 size= 183kB time=00:00:03.00 bitrate= 497.2kbits/s dup=0 drop=1 speed=0.164x
11-22 10:37:17.275: frame= 54 fps=2.8 q=33.0 size= 202kB time=00:00:03.00 bitrate= 549.2kbits/s dup=0 drop=1 speed=0.158x
11-22 10:37:17.897: frame= 55 fps=2.8 q=33.0 size= 206kB time=00:00:03.00 bitrate= 559.9kbits/s dup=0 drop=1 speed=0.152x
11-22 10:37:18.178: frame= 56 fps=2.7 q=33.0 size= 218kB time=00:00:03.00 bitrate= 594.6kbits/s dup=0 drop=1 speed=0.147x
11-22 10:37:19.318: frame= 58 fps=2.8 q=33.0 size= 234kB time=00:00:03.00 bitrate= 636.5kbits/s dup=0 drop=1 speed=0.143x
11-22 10:37:20.048: frame= 59 fps=2.7 q=33.0 size= 251kB time=00:00:03.00 bitrate= 683.2kbits/s dup=0 drop=1 speed=0.138x
11-22 10:37:20.486: frame= 60 fps=2.7 q=33.0 size= 256kB time=00:00:03.00 bitrate= 696.0kbits/s dup=0 drop=1 speed=0.133x
11-22 10:37:20.545: frame= 60 fps=2.6 q=33.0 size= 256kB time=00:00:03.39 bitrate= 617.2kbits/s dup=0 drop=1 speed=0.147x
11-22 10:37:22.928: frame= 65 fps=2.6 q=33.0 size= 292kB time=00:00:03.90 bitrate= 611.7kbits/s dup=1 drop=1 speed=0.159x
11-22 10:37:22.961: frame= 66 fps=2.6 q=33.0 size= 300kB time=00:00:03.90 bitrate= 629.4kbits/s dup=1 drop=1 speed=0.153x
11-22 10:37:23.582: frame= 68 fps=2.6 q=33.0 size= 314kB time=00:00:03.90 bitrate= 659.4kbits/s dup=1 drop=1 speed=0.15x
11-22 10:37:26.220: frame= 71 fps=2.5 q=33.0 size= 377kB time=00:00:03.90 bitrate= 790.2kbits/s dup=1 drop=1 speed=0.136x
11-22 10:37:27.154: frame= 73 fps=2.5 q=33.0 size= 412kB time=00:00:03.90 bitrate= 863.6kbits/s dup=1 drop=1 speed=0.132x
11-22 10:37:29.358: frame= 77 fps=2.5 q=33.0 size= 443kB time=00:00:03.90 bitrate= 928.6kbits/s dup=1 drop=1 speed=0.125x
11-22 10:37:29.386: frame= 78 fps=2.4 q=33.0 size= 454kB time=00:00:03.90 bitrate= 953.4kbits/s dup=1 drop=1 speed=0.122x
11-22 10:37:30.246: frame= 80 fps=2.4 q=33.0 size= 470kB time=00:00:03.90 bitrate= 986.8kbits/s dup=1 drop=1 speed=0.119x
11-22 10:37:32.018: frame= 83 fps=2.5 q=33.0 size= 491kB time=00:00:03.90 bitrate=1030.6kbits/s dup=1 drop=1 speed=0.117x
11-22 10:37:32.019: frame= 83 fps=2.4 q=33.0 size= 491kB time=00:00:03.90 bitrate=1030.6kbits/s dup=1 drop=1 speed=0.113x
11-22 10:37:41.401: [mp4 @ 0xb89f8cc0] Starting second pass: moving the moov atom to the beginning of the file
11-22 10:37:41.408: frame= 83 fps=1.9 q=-1.0 Lsize= 820kB time=00:00:03.94 bitrate=1700.8kbits/s dup=1 drop=1 speed=0.0898x
11-22 10:37:41.409: video:747kB audio:68kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.499330%
11-22 10:37:41.423: [libx264 @ 0xb8a56880] frame I:2 Avg QP:28.52 size: 34902
11-22 10:37:41.427: [libx264 @ 0xb8a56880] frame P:44 Avg QP:29.20 size: 12156
11-22 10:37:41.428: [libx264 @ 0xb8a56880] frame B:37 Avg QP:32.21 size: 4318
11-22 10:37:41.429: [libx264 @ 0xb8a56880] consecutive B-frames: 20.5% 50.6% 28.9% 0.0%
11-22 10:37:41.429: [libx264 @ 0xb8a56880] mb I I16..4: 10.5% 67.1% 22.4%
11-22 10:37:41.430: [libx264 @ 0xb8a56880] mb P I16..4: 4.9% 16.7% 1.0% P16..4: 39.6% 9.3% 1.5% 0.0% 0.0% skip:27.0%
11-22 10:37:41.430: [libx264 @ 0xb8a56880] mb B I16..4: 1.1% 3.4% 0.1% B16..8: 22.9% 2.4% 0.1% direct:15.7% skip:54.2% L0:42.0% L1:55.0% BI: 3.0%
11-22 10:37:41.431: [libx264 @ 0xb8a56880] 8x8 transform intra:72.9% inter:46.4%
11-22 10:37:41.432: [libx264 @ 0xb8a56880] coded y,uvDC,uvAC intra: 46.5% 63.3% 16.9% inter: 10.7% 23.3% 0.4%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] i16 v,h,dc,p: 24% 39% 17% 20%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 37% 20% 2% 6% 5% 5% 5% 6%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 29% 17% 4% 9% 5% 7% 4% 7%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] i8c dc,h,v,p: 51% 27% 14% 8%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] Weighted P-Frames: Y:9.1% UV:9.1%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] ref P L0: 77.9% 22.1%
11-22 10:37:41.433: [libx264 @ 0xb8a56880] ref B L0: 86.8% 13.2%
11-22 10:37:41.434: [libx264 @ 0xb8a56880] ref B L1: 95.0% 5.0%
11-22 10:37:41.434: [libx264 @ 0xb8a56880] kb/s:1536.67
我非常怀疑FFmpeg随着时间的推移变得越来越慢,所以我的构建过程中肯定会有一些负面的变化。谁能发现它是什么?我怎么能弄清楚它是什么?看看这两个日志之间的区别,我只看到了改进。
我总是想知道它会慢多少。
—
llogan 2016年
谢谢。有一些参考从我的x264构建中删除--disable-asm。这可能是解决方案吗?
—
Jon G
@JonG这绝对是朝着正确方向迈出的一步。此外,在您使用x264时更新它。
—
llogan 2016年
谢谢。将x264和libfdk_aac更新为ffmpeg旁边的主人似乎已经取得了重大进步。22s为同一个文件(不要引用我)。
—
Jon G
using cpu capabilities: ARMv6 NEON
回来了。下一步,试着弄明白--enable-mediacodec
!
using cpu capabilities: ARMv6 NEON
vsusing cpu capabilities: none!
。你必须为此调整x264 make配置。