Simple Video Delay

I tried Jaymie’s composition, but it won’t work in demo mode as the Blackmagic input/output node’s are only for the Pro version. However, digging around, I found this thread where Chris mentions he had success using the “Receive Live Video” node. And sure enough, I had success! See atttached screenshot of the composition that worked for me:


Note: I had to add an additional cable from Fire on Start to Receive Video Live. Also, I did have the Get First From List node installed as Jaymie did, but it automatically disappears after connecting to Render Image to Window. Also, if I tried to Run without a Calculate (delay) value other than 0 seconds, it wouldn’t stream video - but after running I could it back to 0. Also, note my input framerate was 59.94.

I successfully delayed up to 10 seconds (didn’t try higher) of 1080P59.94 OTA live TV without too many artifacts. There is occasional frame stuttering and a few rendering artifacts that could have simply been the broadcast signal - not VUO. It seems very stable, but I haven’t tested it much yet. I did leave it running overnight and the computer had crashed the next morning, but I’m not sure if VUO was the cause.

@MartinusMagneson - actually I do want the video buffering in RAM. I am not an expert, but I have been told buffering in VRAM is best, in RAM next best, and simultaneously writing/reading the same file is the poorest for stable performance. However, each buffering method serves a purpose as more memory means longer buffering times. I’m pretty sure I will only need 2 seconds or less buffering after getting feedback on audio delay DSP times.

The good news is it seems to be buffering in RAM as the CPU load is only around 11% while the GPU load is around 60%, regardless of delay value (2-10 seconds). So this can be done on a older machine. However, when I observe the real time values in Render Image to Window>First Item, I notice the frame rate isn’t a stable 59.94fps - it continuously varies from ~59-62fps (no other software running). Perhaps disabling background processes will improve this or perhaps this is just an estimated frame rate.

I need to do more testing to determine if VUO will be a good solution for me, but so far it seems to be. For example, after 3 hours of playback, I need to determine if the audio and video will still be in sync or if they will drift (audio will be running on a seperate computer).

If the audio/video sync drifts, can the delay be adjusted in real time or will the composition have to be stopped and restarted? When changing from an extreme of 10 seconds to 2 seconds delay, the change doesn’t appear to take effect unless the composition is stopped and restarted. This could be problematic for my application.

So far, I’ve only tested with Seconds as the delay value. Can it also be delayed by number of frames? I’m curious if this may result in smoother playback and stabilize the fps.