[FFmpeg-user] Lavfi video generator slow performance

Elliott Balsley elliottbalsley at gmail.com
Fri Apr 13 01:31:54 EEST 2018


> If you add " -f null -" to the above, you can test if the disk
> is the bottleneck (see "fps" in the status line).
> (The command line is supposed to occupy >= 8 cores)

Thanks for the advice everyone.  I was wrong about the RAID speeds, it does seem like disk write is the bottleneck in this case.

> Why do you need 48 bit output? You do realize that the scaler cannot
> "invent" higher precision?

To explain better:  My goal was to create an image sequence that I can use as an input in another program.  I don’t actually want a bunch of red frames, that was just an intermediate test.  What I really want is movement, something like mandelbrot or another fancy filter.  Now testing with null output, I get 3.6fps using mandelbrot.  Is there any faster way to do something like this?  Assuming I get much faster storage, I was hoping to get at least 100fps.

ffmpeg.exe -f lavfi -i mandelbrot=s=3840x2160 -t 10 -pix_fmt rgb48le -f null -
ffmpeg version N-90610-g2accdd3871 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 13.100 / 56. 13.100
  libavcodec     58. 17.100 / 58. 17.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 14.100 /  7. 14.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, lavfi, from 'mandelbrot=s=3840x2160':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[0] / 0x424752), rgb0, 3840x2160 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.10.100
    Stream #0:0: Video: wrapped_avframe, rgb48le, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.17.100 wrapped_avframe
frame=   54 fps=3.5 q=-0.0 Lsize=N/A time=00:00:02.16 bitrate=N/A speed=0.14x
video:28kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.


More information about the ffmpeg-user mailing list