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
424 stars 16 forks source link

Stuttering no matter what is being streamed to Teleport #61

Closed ScottVordem closed 1 year ago

ScottVordem commented 1 year ago

There seems to be some stuttering in Teleport. The output is not smooth as it could be and the stuttering is very noticeable.

I am sure it has something to do with Teleport because OBS does not display it's "encoder overloaded" warning while it is recording (the stutter is even there when OBS is not recording on the receiving machine).

I have Teleport streaming the main OBS preview (tools -> Teleport option), and two Teleport filters on audio sources, so no video is transmitted from them.

The receiving machine is what is showing the stuttering, even if I turn off the two other audio filters, the stuttering is still present. I don't really want to go under 90 for the quality, but if it will help I will.

It is streaming 2560x1440 at 60fps and my internet should be strong enough for that. The game for example, is really smooth on the transmitter machine, but the receiving machine is showing stuttering.

Note: I have ruled out OBS not being an issue, but I can't tell if either the transmitter or receiver is the problem. I only plan to record on the receiving machine. I am also sharing the internet connection from the transmitter to the receiver through the LAN ports, so the receiving machine does not have its own Wi-Fi connection.

fzwoch commented 1 year ago

I don't really want to go under 90 for the quality, but if it will help I will.

Well, does it help?

t is streaming 2560x1440 at 60fps and my internet

Internet? The LAN must be stable and give enough bandwidth.

Also try lowering the resolution to see if it makes a difference.

ScottVordem commented 1 year ago

Lowering the quality of Teleport (to 70) and lowering the resolution (all the way down to 928x522) resulted in no change. Stuttering is still present.

fzwoch commented 1 year ago

Is that still on Wifi? That could still consume a lot of bandwidth. So it may not work on that network. But no one other than you can verify this and why this is happening. It is working fine for many others.

YorVeX commented 1 year ago

Can you try to turn it around, make the sender the receiver and vice versa? If this works without stuttering it could mean that the sending machine is overloaded with encoding the stream or that on one side something with the configuration is wrong.

Also I remember I had stuttering in Teleport when I enabled low latency audio buffering so make sure this is disabled in Settings -> Audio: image

ScottVordem commented 1 year ago

I am unable to test on Ethernet at this time (as in hooking it up directly to the router/modem), but I can try getting a Wi-Fi card for the receiver machine so I won't have to share the connection with the transmitter machine through the Ethernet ports. I am thinking it is the Wi-Fi sharing part that might be causing it.

I also have Low Latency Audio Buffering mode off, I never turned that on.

fzwoch commented 1 year ago

I'm pretty sure it is the WIFI per se. You should start with a 1gbps Ethernet connection. You may still exceed this for difficult content and high resolution/framerates. You can get a low quality transmission at around 300mbps probably.. but this still requires extraordinary high quality WiFi. But that would be your own endeavor.

fzwoch commented 1 year ago

Closing, no feedback, most likely unstable network.

ScottVordem commented 1 year ago

Hello, Sorry for not getting back for so long, but I have been doing more tests since my last message (without changing my network setup, I am unable to test in an environment where both machines are hooked up via Ethernet cables as I don't have proper access to it) and have not been able to report anything new.

Recently however, I was able to resolve this issue mostly and it turns out it was not directly related to teleport but a mixture of the hardware (GPU and/or CPU) and OBS Studio itself on the receiving/recording machine.

The stuttering appears on both the preview of OBS Studio and the recorded video, so I adjusted some quality settings and was able to lessen the stuttering a little, but not by much (I already mentioned that lowering the resolution didn't help much also).

The one thing that really helped was the frame interleave filter plugin installed on the receiving machine.

I applied that filter to the Teleport receiving source and as long as I minimize OBS Studio on the receiving machine Before I start recording, the stuttering is mostly if not completely gone.

So it turns out it was just a weird issue with OBS itself and the GPU and/or CPU. The OBS preview still stutters, but not in the recorded video which what matters.

fzwoch commented 1 year ago

Sounds like toggling the preview makes a big difference on the machine? But yeah, if resources are a concern for the use case I believe little can be done.

YorVeX commented 1 year ago

@ScottVordem I also noticed a long time ago that minimizing OBS has a stronger positive effect on performance than one would expect. I figured it would be because when minimized the preview doesn't need to be rendered and indeed when I disabled the preview in OBS I got the same effect and no longer needed to minimize the window. Ever since then I made a habit out of it to always leave the preview disabled unless I need to change scene elements.

ScottVordem commented 1 year ago

Very interesting. Maybe I should disable the preview for for both the receiver and transmitter machines.

More testing does make it seem like the preview is the culprit of the stuttering and not my network (although still a possibility).

(Also, I failed to mention before that my wireless signal is 5G and I do get slightly above 300Mbps for both download and upload speed according to SpeedTest, and network usage in task manager on Windows [transmitter machine] does not go above ~160Mbps while teleport is running and quality is set to 95).