FFmpeg CRF压缩在master上比旧版本慢


1

我使用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随着时间的推移变得越来越慢,所以我的构建过程中肯定会有一些负面的变化。谁能发现它是什么?我怎么能弄清楚它是什么?看看这两个日志之间的区别,我只看到了改进。


1
x264显示以下差异:using cpu capabilities: ARMv6 NEONvs using cpu capabilities: none!。你必须为此调整x264 make配置。
Gyan 2016年

我总是想知道它会慢多少。
llogan 2016年

谢谢。有一些参考从我的x264构建中删除--disable-asm。这可能是解决方案吗?
Jon G

@JonG这绝对是朝着正确方向迈出的一步。此外,在您使用x264时更新它。
llogan 2016年

谢谢。将x264和libfdk_aac更新为ffmpeg旁边的主人似乎已经取得了重大进步。22s为同一个文件(不要引用我)。using cpu capabilities: ARMv6 NEON回来了。下一步,试着弄明白--enable-mediacodec
Jon G
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.