loddie's picture

@loddie

Groups

    loddie's picture
    loddie posted a new Discussion, “Video time delay

    Video time delay

    loddie's picture

    Hi, I am a newbie with a single application for Vuo: to delay a live video stream. I have an audio/video system in which the audio is processed on a dedicated computer and sound processors. The sound processing adds time delay to the sound. Thus, to keep the video in sync with the audio, the video also needs to be time delayed an equal amount. I have split the HDMI audio/video stream with the video feed sent to a second dedicated computer for adding video delay via Vuo and a Black Magic Intensity Pro 4K video card, which is capable of duplex HDMI video input/output.

    loddie's picture
    loddie commented on loddie's Discussion, “Simple Video Delay

    Hi Jaymie, Thank-you for the detailed response. I look forward to testing these options as VUO seems to be a great solution! Unfortunately I no longer have the OS installed (just a test computer) so I can't provide a log report. However, I don't think VUO was the cause as I had VUO running for hours with no problems. However, if I do observe a problem, I'll provide a log.

    loddie's picture
    loddie commented on loddie's Discussion, “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.

    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.

    loddie's picture
    loddie commented on loddie's Discussion, “Simple Video Delay

    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.

    loddie's picture
    loddie commented on loddie's Discussion, “Simple Video Delay

    jandraka - Thank-you for the link. I had come across it while searching but wasn't sure how relevant it was.

    @Jaymie - 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.

    Pages