CasparCG as a delay server


I need to run a “+1” channel where the footage is delayed by 1 hour and a bug is inserted.

Is there a way of doing this with CasparCG? I need to record and then play out 1 hour later, and then discard the older footage.



Sure, you need to build a simple client that can start and stop a recording, start playback of the recorded file and manage the deleting of old files.

The tricky part is to get the two recorded files split so that there is no visible gap. I’m not sure if that will work well.


Thanks. Any suggestions on how to do that?


if you record in MXF format you can do playback of the same file while recording.


Sure, but how would you discard the old footage then?


You are most likely better off using something like ffmpeg for timeshift, especially if the bug is static. Simplest way would be to capture with ffmpeg and overlaying the bug, outputting to HLS with a 60 minute window, then another ffmpeg process plays that and outputs.


Have you tried recording 10 minute chunks and playing them out back to back? It’s how a lot of equipment does it (with varying size chunks). No idea if Caspar will play them back seamlessly though - easy enough to test.