[FFmpeg-user] FFmpeg Not Transcoding In Real Time

Gabriel Balaich roderrooder at gmail.com
Sun Dec 2 19:52:49 EET 2018

> Furthermore when I try recording both streams in one 4K60 video via OBS
> things work perfectly fine, as in real-time. So I don't understand how
> transcoding two 1080p60 streams in FFmpeg would be anymore intensive than
> one 4K60 stream in OBS... When looking at the GPUs encoding chip usage it
> shows about 30% for the two 1080p60 streams on FFmpeg and 80% usage for
> single 4K60 stream in OBS, yet the OBS recording is real-time while the
> FFmpeg recording is at .6x speed.
> Lastly I run a very similar command at home but instead of two 1080p60
> streams I'm doing 2 4K60 streams, a 1080p60 stream, and another 2 audio
> streams without issue. I do have a GTX 1080 though... however when
> monitoring usage for the 1050 TI being used in this situation nothing
> points to a GPU bottlecap.

Update: we swapped the 1050ti for a GTX 1080 to no avail. It seems fairly
obvious at this point that it is the CPU causing problems. However this
still makes little sense, as stated I use a 6800K and do much more that
what I'm trying to do on this build. The 8600K should have higher single
core performance... However, the 6800K has Hyper Threading wile the 8600K
does not, is it possible that FFmpeg better utilizes a Hyper Threaded

It looks to be only hitting 1-2 threads, anyway to force it to use more?
-threads doesn't seem to do anything regardless of where I insert it into
the command.

Lastly would it be possible to utilize hardware accelerated decode via GPU
to alleviate the issue? When I try to instert -hwaccel cuvid -v:c
h264_cuvid before the inputs like tutorials would suggest the recording
immediately errors out saying "Cannot set format options for [capture
card]". And when I remove -v:c h264_cuvid and just use -hwaccel cuvid I get
and endless string of errors stating "yuvj422p is incompatible", I'm
assuming that is the capture cards native pixel format. When I try to set
the capture cards pixel format to NV12 it errors out again with "Cannot set
format options for [capture card]", not sure what other pixel formats GPU
acceleration supports but I assume I'm just out of luck with this capture
cards limited pixel format options.

Once again any insight would be much appreciated.

More information about the ffmpeg-user mailing list