fzwoch / obs-teleport

An OBS Studio plugin for an open NDI-like replacement. Pretty simple, straight forward. No NDI compatibility in any form.
GNU General Public License v2.0
438 stars 16 forks source link

Add perfect sync delay option #97

Closed lublak closed 1 month ago

lublak commented 1 month ago

Currently OBS Supports a Videodelay, Which only delays the Video. But i need a perfect sync delay with audio and video. So an option in teleport is needed.

fzwoch commented 1 month ago

https://obsproject.com/forum/threads/audio-delay-filter.61628/ is probably relevant. At least I don't think such a feature should be in this plugin but rather within OBS.

lublak commented 1 month ago

@fzwoch i tried it out, Video Delay Is mostly out of sync with the build in audio delay. It always feels as if there is no relation to each other). If I now add 5 seconds of video delay and 5 seconds of audio delay in the mixer, it often drifts apart. I thought a 5 second buffer in Teleport might help. (I know, it needs RAM). The material is then only sent completely after 5 seconds (video and audio together), so nothing can go wrong here. As background information: I am currently trying to enable a kind of ‘dumb button’. This means that in one OBS I record the content, send it to the other OBS (hopefully somehow with a 5 second delay) and the second session then streams it. If something goes wrong in the live recording, I can block the stream without interruption. This makes a lot of sense, especially because I work with other people, as there are also unknown people involved and of course you have no control over how they behave.

fzwoch commented 1 month ago

I tried it in a quick test and it seemed fine for me - at least for about 5 minutes.

Perhaps after you have set it up you need to disable/enable the Teleport stream once.

Tbh audio/video sync in OBS feels like pure luck and shows erratic behavior in many situations in the past.. There seems to be no definition of what a plugin must do to make OBS maintain this sync. Teleport does its best by sending audio and video closest belonging to each other into OBS. What OBS does with it is out of control of the plugin - there is also no way to obtain feedback of what has happened.

fzwoch commented 1 month ago

P.S. since @YorVeX didn't chime in yet. Check out https://github.com/YorVeX/xObsBeam which is the big brother of Teleport. It may have the features you are looking for.

fzwoch commented 1 month ago

Although it uses AI images :( :( :( :K

lublak commented 1 month ago

I tried it in a quick test and it seemed fine for me - at least for about 5 minutes. Perhaps after you have set it up you need to disable/enable the Teleport stream once.

I will try it :)

I hope a get a solution, alternative i need to write my own srt delay server or something? I dont't know. I can't be the only one who wants to have a delay between two OBS sessions. xD

P.S. since @YorVeX didn't chime in yet. Check out https://github.com/YorVeX/xObsBeam which is the big brother of Teleport. It may have the features you are looking for.

Currently i only see render delay limit, Maybe you can play with the buffer? I'll try it out too :).

Although it uses AI images :( :( :(

Yes, but only on the readme page. Generally not a fan of it either, but not a neck breaker either.

lublak commented 1 month ago

Perhaps after you have set it up you need to disable/enable the Teleport stream once. after disabling and enable it again it works, only for the first setup it doesn't work perfect

Maybe you can play with the buffer? I'll try it out too :). The Buffer works also perfect (now i need to test which option is more stable. Especially if obs itself has already caused problems at the beginning

But i think i can close this issue here as: Not planned.

YorVeX commented 1 month ago

P.S. since @YorVeX didn't chime in yet. Check out https://github.com/YorVeX/xObsBeam which is the big brother of Teleport. It may have the features you are looking for.

Sorry for taking so long, I was a bit busy 😛

Currently i only see render delay limit, Maybe you can play with the buffer? I'll try it out too :).

It's applied to audio too, and since it's both kept on the same feed there should be no A/V desync issues with it. Being unable to achieve a stable sync with OBS delay filters was exactly one of the reasons I implemented it.

Although it uses AI images :( :( :(

Yes, but only on the readme page. Generally not a fan of it either, but not a neck breaker either.

Ah, don't mind @fzwoch , he's just mocking me with that 1 star review Beam got for using AI images that aren't even in the plugin 😄 But he's allowed to, I owe him a lot and Beam probably wouldn't even exist without him ❤️