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.
@Magneson - 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.
I'm actually trying to do this right now for a project that would ultimately get output to physical media (sculpture)... But I need an image sequence of what I'm already doing in Vuo.
I've been attempting this from existing Vuo nodes for the past 3 hours and have been unsuccessful, so I guess it doesn't exist as of now. (sadface)
I played around with the record/play movie nodes yesterday, and it seems like it should be possible to simultaneously record to- and playback from the same file. I wouldn't use this in any sort of production environment (or even demo) at this time, but would it be possible to make a node optimized for that to get around the whole RAM stuff? The idea being that the playback part is always at least one or two frames behind the record, and you can adjust your "playhead" from frame 1 to max frame (specified by either seconds or frame number). This way you should be able to skip through the whole recording, scratch playback and timewarp your live inputs. Would be cool (at least if it's a relatively small adjustment of existing nodes)!
4 seconds (240 frames) should be trivial! I would just try the comp, and if it is a problem gear up, instead of gearing up and waste money if it isn't needed. I just enqueued 500 frames (at 30fps) scaling up to 1080p from 720p without a hitch. Even with some processing thrown on top for good measure.
Actually, it does appear the Blackmagic Intensity Pro 4K is full duplex according a Blackmagic employee on this thread.
The Intensity Pro 4K uses the new architecture of the other Blackmagic Design cards announced in 2014 like SDI 4K and Studio 4K . The family of cards are real time full duplex meaning they can process input and output at same time.
However, I'm not sure that helps. From what I understand of video delay, a memory buffer is used, either RAM (computer) or VRAM (graphics card). Blackmagic doesn't specify the VRAM of the Intensity Pro 4K, but my guess is it is insufficient for video delay. Thus, even though it is duplex, I will likely have to output video via another graphics card.
Currently I have the NVIDIA GeForce GTX 750 Ti with 2GB of VRAM. While it is likely going to be insufficient for a longer delay, I can use a very small buffer (say 0.25 seconds) for now to confirm everything works before investing in a card with more VRAM.
If I understand video delay correctly, it is generally better to use a VRAM buffer rather than a RAM buffer. However, I'm not sure which memory buffer VUO uses or if you have the option to select. From Jaymie's comments, it seems VUO uses a VRAM buffer.
@jandraka - Thank-you for the link. I had come across it while searching but wasn't sure how relevant it was.
Jaymie (@jstrecker) - Thank-you for the detailed layout! Very kind of you to share. I'll give it a try and even if it doesn't meet my needs, it will be a reference for others. The Blackmagic does have output but I'm pretty sure it is just pass-through so I'll try your alternate instructions. I have a better idea of the delay as it should be less than 4 seconds. If I use a PCIe card with a lot of RAM, would that work? Also, does VUO default to VRAM as opposed to RAM? I hope so as it seems VRAM would be faster and more reliable.
If your computer has enough VRAM, and if your Blackmagic device supports it, you could accomplish this using the attached Vuo composition. It stores up the video frames as they come in, then starts passing them along to output after a delay.
7 seconds of stored video frames at 1080p is about 3.5 GB. You'd probably want a system with twice that to be safe (leaving room for Vuo's input and output buffers, and system buffers). The high-end Mac Pro only has 6 GB of VRAM; the baseline iMac Pro has 8 GB of VRAM, so I'd recommend the latter.
Does the Blackmagic Intensity Pro 4K support full-duplex (simultaneous input and output)? If not, you'd need to replace the
Send Blackmagic Video node with a
Render Image to Window node to play back on the computer.
Sign up for the Vuo announcements mailing list to get news and join the community. We post about once per month.