Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Latency buffering options #867

Merged
merged 9 commits into from Nov 7, 2023

Conversation

congoblue
Copy link
Contributor

@congoblue congoblue commented Mar 14, 2023

Add 3rd option to the source latency drop down to provide a middle option with OBS buffering still enabled, as frame drops prone to occur when this is disabled. Fixes #851.

NB: I have only tested this on Windows 10.

@qwertychouskie
Copy link

This looks very beneficial, thanks so much for the improvement! Hopefully it gets merged and released soon :)

@congoblue
Copy link
Contributor Author

This looks very beneficial, thanks so much for the improvement! Hopefully it gets merged and released soon :)

There is a test build of this change available at my fork of the plugin - please test and feedback how it works for you. You just need to download the appropriate "Artifacts" zip for your OS then copy the files into your OBS installation folder.
https://github.com/congoblue/obs-ndi/actions/runs/4425451666

@paulpv
Copy link
Member

paulpv commented Apr 17, 2023

I'll look at this soon.

@dbbrito
Copy link

dbbrito commented May 1, 2023

This looks very beneficial, thanks so much for the improvement! Hopefully it gets merged and released soon :)

There is a test build of this change available at my fork of the plugin - please test and feedback how it works for you. You just need to download the appropriate "Artifacts" zip for your OS then copy the files into your OBS installation folder. https://github.com/congoblue/obs-ndi/actions/runs/4425451666

Hello, I downloaded the plugin version in your fork, but in the obs it doesn't show the third buffer option, what am I doing wrong? I couldn't find the Artifacts.zip you mentioned. Another detail, is it correct to enable Use Hardware Decoding, or leave it disabled? Thanks

@congoblue
Copy link
Contributor Author

congoblue commented May 2, 2023

Hello, I downloaded the plugin version in your fork, but in the obs it doesn't show the third buffer option, what am I doing wrong? I couldn't find the Artifacts.zip you mentioned. Another detail, is it correct to enable Use Hardware Decoding, or leave it disabled? Thanks

At the bottom of the linked page there is a section titled "Artifacts". In that is a list of zip files for different operating systems. Download the zip file suitable for your operating system.

You need to copy the contents of the "data" folder in the zip into your installed obs-studio "data" folder (mine is in c:/program files (x86)/obs-studio), and you need to copy the contents of the "obs-plugins" folder in the zip into your installed "obs-plugins" folder.

You should then get the 3 options in buffering.

I've been running this test version since March 15 and it works well for me. The Hardware Decoding option makes no difference for me but it may depend on the PC hardware you are using.

@qwertychouskie
Copy link

Any updates on getting this merged? Would be extremely useful :)

@congoblue
Copy link
Contributor Author

congoblue commented Jun 27, 2023

I have been running my test version for a few months now and there is still sometimes a buffering issue.
I can't work out how deep OBS's frame buffering is, but part of the code is written so that it always takes the frames oldest first and sometimes OBS can get way behind the source (like 15 or more frames). You can only fix this by restarting OBS, or by changing the NDI source then reselecting the original one, the buffering then goes back to normal.

It would be better if the buffering was limited to a couple of frames because (at least in my application) the occasional glitch would be preferable to having the source lagging 15 frames behind.

This would require a change in the main OBS code though, as the buffering is not part of this plugin.

@paulpv paulpv self-assigned this Oct 30, 2023
@paulpv paulpv changed the base branch from master to develop November 7, 2023 23:22
@paulpv paulpv merged commit 79dc786 into obs-ndi:develop Nov 7, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Loss of frames from NDI-HX camera when "Low Latency (Experimental)" mode is selected
4 participants