[FFmpeg-user] ffprobe: Not using full CPU, regardless of "-threads" parameter

Peter B. pb at das-werkstatt.com
Wed Sep 17 12:05:07 CEST 2014


Hello,

I've noticed that using ffprobe to analyze an FFV1/AVI file, it only
utilizes a part of the available CPU power.
For example, the following command:

//----------------------------------------------
$ ffprobe_git -f lavfi -i
"movie=qctools.avi,signalstats=stat=tout+vrep+brng,cropdetect=reset=1,split[a][b];[a]field=top[a1];[b]field=bottom[b1],[a1][b1]psnr"
-show_frames -show_versions -of xml=x=1:q=1 -noprivate -threads auto
-loglevel info > qctools.avi.qctools.xml
//----------------------------------------------


According to my CPU graph monitor, there is no difference between
"-threads 1", "-threads 8" or "-threads auto".


However, when I decode the same video with ffmpeg, the whole CPU is
used, so I'd say the disk ain't the bottleneck:
//----------------------------------------------
$ ffmpeg_git -i qctools.avi -an -f framemd5 delme.xxx
//----------------------------------------------


Is there a way of have ffprobe use the whole CPU, too?


Thanks in advance,
Pb



Here's the console output of both commands:

//----------------------------------------------
ffprobe version N-66307-g4b58349 Copyright (c) 2007-2014 the FFmpeg
developers
  built on Sep 16 2014 23:57:56 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --prefix=/usr/local --enable-gpl --enable-nonfree
--enable-version3 --enable-postproc --enable-swscale --enable-avfilter
--enable-pthreads --enable-bzlib --enable-zlib --enable-decoder=png
--enable-encoder=png --enable-libfreetype --enable-libschroedinger
--enable-libopenjpeg --disable-decoder=jpeg2000 --enable-libx264
--enable-libfaac
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.102 / 56.  4.102
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.101 /  5.  1.101
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
Input #0, lavfi, from
'movie=qctools.avi,signalstats=stat=tout+vrep+brng,cropdetect=reset=1,split[a][b];[a]field=top[a1];[b]field=bottom[b1],[a1][b1]psnr':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p, 720x288
[SAR 1:1 DAR 5:2], 25 tbr, 25 tbn, 25 tbc
//----------------------------------------------


//----------------------------------------------
ffmpeg version N-66307-g4b58349 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Sep 16 2014 23:57:56 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --prefix=/usr/local --enable-gpl --enable-nonfree
--enable-version3 --enable-postproc --enable-swscale --enable-avfilter
--enable-pthreads --enable-bzlib --enable-zlib --enable-decoder=png
--enable-encoder=png --enable-libfreetype --enable-libschroedinger
--enable-libopenjpeg --disable-decoder=jpeg2000 --enable-libx264
--enable-libfaac
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.102 / 56.  4.102
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.101 /  5.  1.101
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
Input #0, avi, from 'qctools.avi':
  Metadata:
    encoder         : Lavf54.37.100
  Duration: 00:10:00.00, start: 0.000000, bitrate: 52487 kb/s
    Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x576,
52487 kb/s, SAR 16:15 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc
Output #0, framemd5, to 'delme.xxx':
  Metadata:
    encoder         : Lavf56.4.102
    Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p, 720x576
[SAR 16:15 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.1.100 rawvideo
Stream mapping:
  Stream #0:0 -> #0:0 (ffv1 (native) -> rawvideo (native))
Press [q] to stop, [?] for help
frame=15000 fps=226 q=0.0 Lsize=    1172kB time=00:10:00.00 bitrate= 
16.0kbits/s   
video:12150000kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
//----------------------------------------------



More information about the ffmpeg-user mailing list