I was trying to do some basic profiling on ffmpeg
, following my previous question here. I have a relatively high-bitrate .ts file (17mbps), and I have two versions of ffmpeg (2017.3 and 2019.4), and tried to run a decoding process (blackdetect filter) on both of them. I notice the 2019 version is at least 2.2 times faster. More especifically, execution of the following command takes 2.2x faster on the 2019 version:
ffmpeg -i in.ts -vf blackdetect=d=0.1:pix_th=.1 -f rawvideo -y null
Is this really expected? Is there a known, major performance improvement on ffmpeg that wasn't there in 2017 version? If that's really the case, updating my ffmpeg core should really make it run faster!
EDIT:
File is H264 encoded, but relatively higher bitrate. I actually compiled both ffmpeg
versions from source code with same build options. If it is decoding improvement, that's something very interesting.
The 2019 ffmpeg
command output:
ffmpeg version N-94171-g0cbdedb Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609
configuration: --prefix=/home/user/usr/local --enable-shared
libavutil 56. 30.100 / 56. 30.100
libavcodec 58. 53.101 / 58. 53.101
libavformat 58. 28.101 / 58. 28.101
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 56.100 / 7. 56.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
And the 2017 output:
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609
configuration: --prefix=bin --bindir=bin
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
EDIT 2:
Full log for ffmpeg -i in.ts -t 100 -benchmark -an -f null -
: 2019 and 2017
ffmpeg -i in.ts -t 100 -benchmark -an -f null -
with both versions. – Gyan Aug 20 '19 at 8:50