[FFmpeg-user] Speed differences, was: The Magic Microsecond

Jan Ehrhardt phpdev at ehrhardt.nl
Mon Jul 9 12:02:26 CEST 2012


Michael Bradshaw in gmane.comp.video.ffmpeg.user (Sun, 8 Jul 2012 17:14:57 -0600):
>On Sun, Jul 8, 2012 at 2:13 PM, Jan Ehrhardt <phpdev at ehrhardt.nl> wrote:
>> 376 fps versus 311 fps. The same 20% difference.
>> Are there any milestones in between 0.11.1 and the trunk, that
>> I can test?
>
>Not that I know of, but if you're willing, you can do a git bisect
>between two versions (pick the two revisions that are closest to each
>other but still show the significant speed difference) and you can
>find out which patch caused the slowdown.

I thought of this, but I'd have to compile each time before
testing the speed. An easier approach would be to download
Zeranoe's builds one after the other and use those to track
down the culprit. It must even be possible to script this...

BTW: when transcoding to WMV the difference is 485 vs 566
(Zeranoe's latest versus my compilation of 0.11.1). That is
16%, impressive difference as well.

I also tried it one a 1 hour recording by the JVC GZ-MS120
camera. Same figures: 

ffmpeg version N-42288-g8293a21
  built on Jul  5 2012 20:56:23 with gcc 4.7.1
frame=90024 fps=486 q=8.7 Lsize=  175012kB time=01:00:00.95
	bitrate= 398.1kbits/s

ffmpeg version 0.11.1
  built on Jul  9 2012 02:35:30 with gcc 4.6.2
frame=90024 fps=565 q=8.7 Lsize=  175012kB time=01:00:00.95
	bitrate= 398.1kbits/s    
-- 
Jan


ffmpeg -i %input% -vf scale=384:288 -aspect 4:3 \
	-sws_flags bicubic -vcodec wmv2 -b:v 320k \
	-acodec wmav2 -ab 64k -ar 44100 output.wmv

ffmpeg version N-42288-g8293a21 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul  5 2012 20:56:23 with gcc 4.7.1
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r
--enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      51. 64.100 / 51. 64.100
  libavcodec     54. 33.100 / 54. 33.100
  libavformat    54. 15.100 / 54. 15.100
  libavdevice    54.  1.100 / 54.  1.100
  libavfilter     3.  0.101 /  3.  0.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[mpeg @ 01eae980] max_analyze_duration 5000000 reached at 5000000
Input #0, mpeg, from '/SD_VIDEO/MOV001.MOD':
  Duration: 00:04:00.44, start: 0.919744, bitrate: 1732 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 352x288 [SAR 12:11 DAR 4:3], 3000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 128 kb/s
[graph 0 input from stream 0:0 @ 042b79c0] w:352 h:288 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:12/11 sws_param:flags=2
[output stream 0:0 @ 042b7c60] No opaque field provided
[Parsed_scale_0 @ 01f66120] w:352 h:288 fmt:yuv420p sar:12/11 -> w:384 h:288 fmt:yuv420p sar:1/1 flags:0x4
[graph 1 input from stream 0:1 @ 01eb6aa0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x3
[auto-inserted resampler 0 @ 01eb6bc0] chl:stereo fmt:s16 r:48000Hz -> chl:stereo fmt:s16 r:44100Hz
Output #0, asf, to 'output.wmv':
  Metadata:
    WM/EncodingSettings: Lavf54.15.100
    Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 384x288 [SAR 1:1 DAR 4:3], q=2-31, 320 kb/s, 1k tbn, 25 tbc
    Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> wmv2)
  Stream #0:1 -> #0:1 (ac3 -> wmav2)
Press [q] to stop, [?] for help
[mpeg2video @ 0227f8c0] warning: first frame is no keyframe
frame=  239 fps=0.0 q=6.4 size=     673kB time=00:00:09.38 bitrate= 587.4kbits/s dup=12 drop=0
frame=  467 fps=454 q=10.7 size=    1204kB time=00:00:18.57 bitrate= 530.9kbits/s dup=12 drop=0
frame=  719 fps=466 q=10.8 size=    1698kB time=00:00:28.65 bitrate= 485.3kbits/s dup=12 drop=0
frame=  972 fps=472 q=14.3 size=    2166kB time=00:00:38.73 bitrate= 458.2kbits/s dup=12 drop=0
frame= 1217 fps=473 q=25.9 size=    2648kB time=00:00:48.43 bitrate= 447.8kbits/s dup=12 drop=0
frame= 1467 fps=475 q=9.4 size=    3116kB time=00:00:58.42 bitrate= 437.0kbits/s dup=12 drop=0
frame= 1718 fps=477 q=9.8 size=    3607kB time=00:01:08.45 bitrate= 431.7kbits/s dup=12 drop=0
frame= 1970 fps=478 q=10.3 size=    4104kB time=00:01:18.57 bitrate= 427.8kbits/s dup=12 drop=0
frame= 2221 fps=479 q=8.3 size=    4598kB time=00:01:28.65 bitrate= 424.8kbits/s dup=12 drop=0
frame= 2476 fps=481 q=10.7 size=    5094kB time=00:01:38.82 bitrate= 422.3kbits/s dup=12 drop=0
frame= 2719 fps=480 q=10.8 size=    5566kB time=00:01:48.48 bitrate= 420.3kbits/s dup=12 drop=0
frame= 2971 fps=481 q=10.4 size=    6066kB time=00:01:58.60 bitrate= 419.0kbits/s dup=12 drop=0
frame= 3223 fps=482 q=13.2 size=    6541kB time=00:02:08.68 bitrate= 416.4kbits/s dup=12 drop=0
frame= 3477 fps=482 q=8.7 size=    7048kB time=00:02:18.85 bitrate= 415.8kbits/s dup=12 drop=0
frame= 3728 fps=483 q=10.6 size=    7554kB time=00:02:28.93 bitrate= 415.5kbits/s dup=12 drop=0
frame= 3982 fps=483 q=10.4 size=    8044kB time=00:02:39.05 bitrate= 414.3kbits/s dup=12 drop=0
frame= 4231 fps=483 q=10.8 size=    8501kB time=00:02:48.99 bitrate= 412.1kbits/s dup=12 drop=0
frame= 4481 fps=484 q=10.7 size=    8979kB time=00:02:58.98 bitrate= 411.0kbits/s dup=12 drop=0
frame= 4732 fps=484 q=12.2 size=    9479kB time=00:03:09.05 bitrate= 410.7kbits/s dup=12 drop=0
frame= 4985 fps=484 q=12.7 size=    9954kB time=00:03:19.18 bitrate= 409.4kbits/s dup=12 drop=0
frame= 5234 fps=484 q=10.1 size=   10441kB time=00:03:29.11 bitrate= 409.0kbits/s dup=12 drop=0
frame= 5489 fps=485 q=11.7 size=   10941kB time=00:03:39.33 bitrate= 408.6kbits/s dup=12 drop=0
frame= 5741 fps=485 q=11.9 size=   11426kB time=00:03:49.41 bitrate= 408.0kbits/s dup=12 drop=0
frame= 5993 fps=485 q=11.2 size=   11913kB time=00:03:59.49 bitrate= 407.5kbits/s dup=12 drop=0
frame= 6012 fps=485 q=21.1 Lsize=   11965kB time=00:04:00.46 bitrate= 407.6kbits/s dup=12 drop=0

video:9691kB audio:1876kB subtitle:0 global headers:0kB muxing overhead 3.431891%


ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul  9 2012 02:35:30 with gcc 4.6.2
  configuration: --prefix=/mingw --enable-static --disable-shared --enable-nonfree --enable-libfaac --enable-gpl --enable-libx264 --enable-libmp3lame
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[mpeg @ 02d7e860] max_analyze_duration 5000000 reached at 5000000
Input #0, mpeg, from '/SD_VIDEO/MOV001.MOD':
  Duration: 00:04:00.44, start: 0.919744, bitrate: 1732 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 352x288 [SAR 12:11 DAR 4:3], 3000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 128 kb/s
[buffer @ 02e36a80] w:352 h:288 pixfmt:yuv420p tb:1/90000 sar:12/11 sws_param:flags=2
[buffersink @ 02e5f740] No opaque field provided
[scale @ 02e5f8a0] w:352 h:288 fmt:yuv420p sar:12/11 -> w:384 h:288 fmt:yuv420p sar:1/1 flags:0x4
[aformat @ 02e4e960] auto-inserting filter 'auto-inserted resampler 0' between the filter 'src' and the filter 'aformat'
[aresample @ 02e4db60] chl:stereo fmt:s16 r:48000Hz -> chl:stereo fmt:s16 r:44100Hz
Output #0, asf, to 'output.wmv':
  Metadata:
    WM/EncodingSettings: Lavf54.6.100
    Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 384x288 [SAR 1:1 DAR 4:3], q=2-31, 320 kb/s, 1k tbn, 25 tbc
    Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> wmv2)
  Stream #0:1 -> #0:1 (ac3 -> wmav2)
Press [q] to stop, [?] for help
[mpeg2video @ 02d91e20] warning: first frame is no keyframe
frame=  269 fps=0.0 q=6.5 size=     726kB time=00:00:10.58 bitrate= 561.4kbits/s
frame=  559 fps=543 q=23.6 size=    1373kB time=00:00:22.10 bitrate= 508.6kbits/s
frame=  851 fps=551 q=16.8 size=    1948kB time=00:00:33.90 bitrate= 470.6kbits/s
frame= 1135 fps=551 q=19.1 size=    2488kB time=00:00:45.18 bitrate= 451.1kbits/s
frame= 1424 fps=553 q=9.9 size=    3038kB time=00:00:56.74 bitrate= 438.6kbits/s
frame= 1714 fps=555 q=9.6 size=    3604kB time=00:01:08.26 bitrate= 432.5kbits/s
frame= 2006 fps=557 q=9.1 size=    4182kB time=00:01:20.10 bitrate= 427.7kbits/s
frame= 2300 fps=558 q=10.9 size=    4757kB time=00:01:31.81 bitrate= 424.4kbits/s
frame= 2591 fps=559 q=12.6 size=    5326kB time=00:01:43.42 bitrate= 421.8kbits/s
frame= 2875 fps=558 q=11.9 size=    5873kB time=00:01:54.75 bitrate= 419.2kbits/s
frame= 3172 fps=560 q=14.1 size=    6448kB time=00:02:06.64 bitrate= 417.1kbits/s
frame= 3467 fps=561 q=8.3 size=    7023kB time=00:02:18.48 bitrate= 415.4kbits/s
frame= 3761 fps=562 q=10.8 size=    7607kB time=00:02:30.18 bitrate= 414.9kbits/s
frame= 4057 fps=563 q=13.7 size=    8176kB time=00:02:42.07 bitrate= 413.2kbits/s
frame= 4349 fps=563 q=10.3 size=    8735kB time=00:02:53.73 bitrate= 411.9kbits/s
frame= 4642 fps=564 q=10.5 size=    9307kB time=00:03:05.43 bitrate= 411.2kbits/s
frame= 4935 fps=564 q=13.9 size=    9863kB time=00:03:17.23 bitrate= 409.7kbits/s
frame= 5228 fps=564 q=10.4 size=   10438kB time=00:03:28.93 bitrate= 409.3kbits/s
frame= 5522 fps=565 q=13.7 size=   11010kB time=00:03:40.68 bitrate= 408.7kbits/s
frame= 5818 fps=565 q=12.1 size=   11582kB time=00:03:52.43 bitrate= 408.2kbits/s
frame= 6012 fps=566 q=21.2 Lsize=   11968kB time=00:04:00.46 bitrate= 407.7kbits/s

video:9692kB audio:1876kB global headers:0kB muxing overhead 3.456557%



More information about the ffmpeg-user mailing list