Add delay to live stream

I need to delay a live stream 15 seconds before running it through CasparCG server. The flow I am currently using is:

  1. Outside of casparcg, begin writing the stream to disk
  2. Wait 15 seconds
  3. Outside of casparcg, run ffmpeg -re -i temp.ts -c copy -f mpegts udp://127.0.0.1:1234
  4. Star playing this new stream on casparcg server via amcp: PLAY 1-1 udp://127.0.0.1:1234

Question #1, is there some way pass the -re flag (Read input at native frame rate) to ffmpeg in step 4, so I could eliminate step 3?

Question #2, is there a better way to produce the 15-second delay, preferably without writing the stream to disk?

Any tips and advice will be much appreciated, thanks!

Q1: there is no need to pass it, CasparCG always reads frames at native framerate.
Q2: None that I know of.

you can use CasparCG Server 2.1 Beta 2 for this
parameter: frame_delay [int]

This will not work well for 15s, as you will be buffering many raw video frames in memory. Which at 1080i50/p25, 15s would end up as being ~3gb of ram, or maybe vram but either way too much and likely to cause issues

I ask this before trying it: is this still a feature in Caspar 2.3.x?

Privacy Policy   Terms of Service