CasparCG / server

CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Encoding changed from GPU to CPU on PLAY

paveltonev opened this issue · comments

Hi,

I am running casparcg/server from docker on ubuntu 22.04 host using FFmpeg with NVIDIA GPU hardware acceleration support on NVIDIA RTX A6000 and NVIDIA GeForce GT 1030 cards.

Following consecutive actions were done:

  1. ADD 1 STREAM udp://192.168.0.24:9876?pkt_size=1316&bitrate=8000000&overrun_nonfatal=1&fifo_size=300000&buffer_size=130000&localaddr=172.18.0.11 -format mpegts -codec:v h264_nvenc -codec:a aac
  2. PLAY 1-10 "Clip.mp4" CUT 0 Linear RIGHT LOOP

As a result the clip can be seen on the host machine, GPU is doing the hardware encoding and everything works fine and perfect!

Now I am trying to apply the same scenario listed above, on a server machine with two sockets and two Quadro M4000 cards.
As a result when the clip is played, hardware encoding stops, i.e. GPU is not used anymore for encoding and all CPUs usage increased immediately close to 100%, I think doing software encoding.

Can you guess what could be the reason for this behavior and/or how this can be worked out or fixed ?

Thank you!

You might have better luck getting input on this on the forum https://casparcgforum.org/

I've never tried using nvenc with casparcg, so I don't have any useful suggestions. I do find it odd that it would change what is doing the encoding when playing a clip, the consumer is completely unaware of the producers. So my only guess is that the nvenc encoder crashed and ffmpeg seamlessy fell back to doing it in software?