Resources required to not have "We must catchup X.XX seconds!" #3340
Replies: 3 comments 2 replies
-
Actually, maybe I spoke too soon. As I let it cycle through several times the "catchup" message is actually counting back down, so maybe it's just a matter of letting it get settled? Gives me more hope for throwing more resources to it and it being good to go. Also noticed that the stream is no longer skipping, so that is definitely a good sign! |
Beta Was this translation helpful? Give feedback.
-
Hi @sean-perryman, You can test if your VPS has enough power by excluding icecast and liquidsoap from the encoding chain. You can cheat by
It is also plausible that the CPU is not the bottleneck affecting the performance. |
Beta Was this translation helpful? Give feedback.
-
@vitoyucepi is very right: It is a problem of CPU power with video, and very careful encoding settings. I’ve done lots of experiments (originally planning to generate H.256 HLS video) and ended up using an MPEG-TS H.264 stream, encoding with "ultrafast" and tuning "zerolatency", all else failed, although my station only produces 5 audio and 2 720p25 video streams. Interestingly, Icecast can be used to stream the MPEG-TS streams, with almost zero overhead. My inputs are MP4 and MKV videos and DJ studio cams, usually H.264, some H.265, usually 1080p, but with no more than 30 fps. This seems to be important—in my setup using a 60 fps input is totally impossible (running AzuraCast, using their API, and doing some logo and lower-third overlays). The machine is a 4 CPU, 4 GB RAM, 80 GB SSD VM. I usually don’t bother waiting hours for handbrake, just because I want to plug a new VJ loop in, or something. Here’s the encoding that worked best, using least CPU, with all my comments left in:
Hope this brings you a little further! (I’ve changed password, URL, and public=false.) |
Beta Was this translation helpful? Give feedback.
-
I started testing on a small VPS, and the catchup would take about 2 minutes or so before it rolled over and restarted the stream. I went up to a 4 core 8 GB VPS and it's certainly better, maybe 10 minutes before rolling over.
Is there a magic number where it won't constantly play catchup? This is a stream of a small webm file to an icecast2 server on the same VM.
Do I need to just throw more CPU at it? Or is there a video format that is better for streaming?
Beta Was this translation helpful? Give feedback.
All reactions