Question / Help Is low ping to the ingest server required for a stable stream?

AlexJ

New Member
I'm asking this because I've been stuck with < 1mbps upload speed for years now and I'm finally thinking about biting the bullet and getting Exede satellite service which has ~3 mbps upload. There is no other choice for me nor will there ever be unless I move. Satellite is obviously going to give me a minimum ping of 500-700ms, so I would only be using this connection for video streaming. Will high pings to Twitch's servers cripple my stream? Or is a stable upload speed the bigger factor?
 

AlexJ

New Member
Bumping this in case any network savvy cool people are around to notice this thread ;) I sent a mail to Twitch support as well but they seem pretty slow at responding to things.

I should also point out that this satellite connection would be a second connection - I'd still have my current DSL in addition to this, and use the satellite exclusively for streaming. I know the pitfalls of trying to use it for anything else.
 
No, you don't need a low latency to stream; OBS adapts automatically. Uplink stability affects your stream, however, which is why streaming over wireless is not recommended. Can the connection sustain 3 mbps? Will it drop below 3 mbps for even a second? How about during bad weather conditions? There are many external factors that are out of your control when dealing with wireless connections.
 

R1CH

Forum Admin
Developer
Be sure to check the fine print. Satellite providers are notorious for throttling, eg you get 3mbps for a maximum of one hour per day or something.

In theory OBS should adapt to the high latency, you can also set a custom TCP window size through the .ini options if OBS doesn't auto adjust. However satellite can be quite spotty, clouds and other things can affect the stability so it may not be up to the task of streaming.

I'd honestly prefer moving over trying to live with satellite internet.
 

AlexJ

New Member
I got this explanation from Reboot on IRC:
Reboot said:
tcp send buffers can be up to 64kB, with a bitrate of about 750kbit/s that would be filled in 700ms, so that would be the theoretical maximum upload speed that would allow the server to response before the buffer is full

After reading this I had the idea of trying to throttle my current connection to simulate high latency, and try some test streams. I found this really helpful tool: http://jagt.github.io/clumsy/

Using Clumsy I forced a ~700 ms ping on myself, and tried a couple test streams on my current < 1mbps connection. Both results looked like this: http://www.twitch.tv/xephtest/b/584705384 - a lot of choppiness at the beginning, but eventually settling down and becoming smooth. My stream was behind live by about 60 seconds each time (I streamed for 2 minutes on that video, but Twitch only caught 1 minute of it). So, I'm wondering if going above 750 kbps on the new connection would kinda force me back into the 750 kbps realm no matter what, based on what Reboot said.

As for the stability and throttling etc. of the satellite connection, they have a meter-free time zone of 12am - 5am every day where there is no throttling or data usage counting at all, which is when I would plan on streaming with this. Other users with the service have reported higher than average speeds in a lot of cases - the company advertises 12down/3up, and many people have been getting 20+down/4+up. I know it varies, but I'm willing to take the speed and stability risk as long as there is no technical reason why OBS or Twitch would drop all my frames due to huge latency.

I know satellite sucks and the only reason I'm considering this is due to the major speed advancements they've made in the past couple years, combined with the fact that I just can't move right now. I won't be dropping my existing connection, they would both be living side-by-side.

Thanks for the responses guys! Any more info or experience on this topic is greatly appreciated.
 
I got this explanation from Reboot on IRC:

This is not correct. The send window can be however large you want it to be. Its purpose is to limit memory usage. 64 KiB just happens to be the starting value in some implementations.

After reading this I had the idea of trying to throttle my current connection to simulate high latency, and try some test streams. I found this really helpful tool: http://jagt.github.io/clumsy/

Using Clumsy I forced a ~700 ms ping on myself, and tried a couple test streams on my current < 1mbps connection. Both results looked like this: http://www.twitch.tv/xephtest/b/584705384 - a lot of choppiness at the beginning, but eventually settling down and becoming smooth. My stream was behind live by about 60 seconds each time (I streamed for 2 minutes on that video, but Twitch only caught 1 minute of it). So, I'm wondering if going above 750 kbps on the new connection would kinda force me back into the 750 kbps realm no matter what, based on what Reboot said.

As for the stability and throttling etc. of the satellite connection, they have a meter-free time zone of 12am - 5am every day where there is no throttling or data usage counting at all, which is when I would plan on streaming with this. Other users with the service have reported higher than average speeds in a lot of cases - the company advertises 12down/3up, and many people have been getting 20+down/4+up. I know it varies, but I'm willing to take the speed and stability risk as long as there is no technical reason why OBS or Twitch would drop all my frames due to huge latency.

I know satellite sucks and the only reason I'm considering this is due to the major speed advancements they've made in the past couple years, combined with the fact that I just can't move right now. I won't be dropping my existing connection, they would both be living side-by-side.

Thanks for the responses guys! Any more info or experience on this topic is greatly appreciated.

Neat tool.

The initial choppiness is expected. By design, TCP starts with a small congestion window and increases it with each acknowledged packet. With such a high response time, it takes much longer to scale up the window.
 

AlexJ

New Member
Ok, so this is looking pretty possible then. Just got a response from Twitch support about it - Xangold told me that low latency is preferred, but not required. The only problem would be extremely unstable ping or 3000+ ms timeouts. He also said that they don't have much, if any experience with users on this subject - I guess I'll have to be the guinea pig!
 

AlexJ

New Member
Quick update here. I went ahead and got the satellite service. I average 750-850 ms ping, and 4.8 mbps upload. Streaming to Twitch at ~3500 - 4000 kbps works absolutely perfectly. Not a single dropped frame, no weird buffering or anything like that.

Thanks for all info in this thread guys!
 
Top