Huge stream delay with lowest settings

Allisonthinks

New Member
Hello everyone, I am new and I just registered, this is my first post!

Straight to the point: I have a mediocre (if not low) computer, I occasionally stream but the delay is really bad, sometimes it reaches even 10-11 seconds. This is happening since I recently upgraded my Monitor.

I had a 1300x768 (or something like that) TV/Monitor, the delay was about 3-5 seconds so I was okay with that, but having this TV for PC using was burning my eyes, so I decided to buy a proper Monitor for PC full HD 1920x1080 with HDMI.

Since then, the stream went very bad, I mean apparently I don't see huge differences from my OBS software, but watching my own stream from other devices, including my my own PC, will result in a 10-11 seconds delay. Viewers confirmed the delay aswell, they noticed it got increased somehow.

I didn't touch any of the settings of OBS, and I always have 0 lost frames and green rectangle on the bottom right, and on statistics, less than 0,1% lost frames due to encoding, there are no yellow or red alerts, it seems like perfect (but its not)

I am using a x264 codec, ultrafast preset, output 1024x768 @30fps, 1200Kbps.
As you can see the quality of stream is very low but I can't afford better with this computer

CPU is a Ryzen3 3200G 4core @3GHz
GPU is a Sapphire RX550 4GB DDR5
RAM Corsair 16GB DDR4
HDD Seagate 1TB (not SSD)

I mean, with old TV I was doing fine, I repeat same hardware and same OBS settings, and 3-5 seconds delay, now with 1920x1080 resolution the stream keeps getting delayed, despite the OBS stats pretty good, if not optimal I would say, considering the low bitrate and resolution.

Is there something I can do to fix this? I am no really expert so any help is appreciated!

Thanks to you all, and have a nice Christmas/Holidays!
Greetings
 

Lawrence_SoCal

Active Member
Speed of light (including Internet traffic) isn't that fast. really
Streaming from OBS to Facebook, then viewing on a device is normally a 15-45 second delay... this is normal.
Want faster? don't use a free service like YouTube, Twitch, Facebook, etc

Computationally there is a lot on the service provider end to receive, then re-encode, then distribute your video. A delay is normal/expected

No, if you are talking about a delay from action in video camera to being visible in OBS, that is a different issue. See pinned post about posting a log for assistance
 

Allisonthinks

New Member
Hey thanks for the reply. The fact is with the old TV (not HD) I was getting a stable 3-5 seconds delay, on every device, and every viewer had the same experience for months, and since I changed the Monitor with a full HD 1920x1080 I have a 10-11 seconds delay everytime, but the output of the stream is always at the same resolution (568p @1300kbps 30ps)

As already said, the bandwith isn't clogged and there are no missing frames but I am wondering if its an issue of the GPU that can't handle the "resolution gap" somehow. It may sound stupid? But with old TV there was little difference between what I was seeing and what I was broadcasting, now I am seeing my desktop at full HD but broadcasting at a different, lower resolution, maybe the GPU/CPU is kinda busy doing the 1920x1080 output and thus failing at broadacasting properly? I don't know if I am using the correct words and if you can understand me.

The only way to reset the delay is stop the stream and re-start it, but after a while it starts to get delayed again, so I don't know if my GPU is too busy giving the full HD output on my desktop and putting in second place the stream (this is my theory, it can be wrong though). I would prioritize the stream rather than my desktop to be honest.
 

Allisonthinks

New Member
UPDATE: I found this topic:


In my case there are no frame drops, but rather CPU/GPU usage, that will lead to latency in the stream, I realized that the delay will start once I do something else in addition to streaming (example, opening youtube or Sony Vegas and stuff), basically putting some extra work in the computer.
Now that being said, I guess my only alternative is NOT to open Photoshop, Sony Vegas and other "heavy" programs when I am streaming.
I thought my pc could handle this, but apparently, it doesn't. I don't know if its CPU, GPU or RAM, but well, the pc can't handle this. (If you have some tip Im all ears)

The main problem, that kinda bothers me, is OBS that instead of saying "oh you lagged a bit, let me still record what you lagged and try to broadcast it", it should say "oh you lagged, I think its better to skip those frames and broadacast exactly what you are doing right now, because buffering the delayed frames makes literally no sense and kills the stream".

From my understanding, the only way is to stop streaming and restart, which yes it resets the delay, but also it kills all the viewers usually.

Is there a future implementation of this feature, like ignoring the delayed frames and broadcast what is happening, instead of keep buffering the "past frames"?

Sorry for my poor tech language I hope you understand what I mean.

Thanks!
 

FerretBomb

Active Member
It doesn't work like that.
If a frame can't be completed on-time to be sent to the encoder, the frame is skipped.
Likewise, if the encoder can't encode all the frames it should on-time, it will simply skip those frames. Both will cause a jump or hitch in the video.
Likewise, if your network connection is too slow or weak, the packets for that encoded video will simply be dropped (dropped frames).
What you are doing on your computer may make the stream stuttery, but it will not cause your viewers' delay to increase.

Your viewers' video delay is based on a few things; the speed of the ingest server, the time it takes to chunk and repackage your videostream, replicate the ingested video to each of the regional video delivery servers, and your viewers' connection to the video delivery servers. If their connection is weak or flaky, the player will buffer more video to try to ensure smooth playback, but this buffered time will be added latency.

Livestreaming is NOT a peer-to-peer VoIP call. There's a LOT of infrastructure on the back end that has to take place.
To keep your latency-to-viewer low, using less bitrate can help to expedite the whole process. But it does not guarantee it, and will make your image quality worse unless you use a commensurately lower resolution and framerate.
Even so, Twitch has been fighting to reduce it. "Normal latency" for the longest time was 30 seconds to 2 minutes. Recently, they've managed to push the minimum time down below 12 seconds.

But there's also a point of 'managing expectations' here that needs to be addressed. It isn't magic. It isn't going to be instant.
 

Allisonthinks

New Member
Thanks for the help, I did several tests and its confirmed that a overload of processes in my computer will result in frames delayed (not lost).

Like, in the bottom it says always 0 frame skipped, but in the statistics "jumped frames due to encoding" it changes from 0.0%-0.1% to 0.3%-0.4% or more and the text becomes yellow/red (if I do nothing is usually white)
And when this ,the stream gets inevitabely delayed as I described, from 3-4 seconds to 12 seconds, depending on how much I stressed the computer during that period of time.

So okay let's say lesson learned, I just wanted to know where could possibly be the issue, like is the CPU or the GPU, or both? At least if I need to replace one component I replace the one with highest priority.

The main programs that trigger the delay are Photoshop and Sony Vegas 13, if this can help. I was thinking of a CPU problem since its more outdated compared to the GPU but again, Im no expert so I can't say for sure that upgrading the CPU will reduce this problem.
 

Lawrence_SoCal

Active Member
So okay let's say lesson learned, I just wanted to know where could possibly be the issue, like is the CPU or the GPU, or both? At least if I need to replace one component I replace the one with highest priority.
My recommendation is to learn how to use Task Manager (Performance Tab) and/or Resource Monitor
Unless you know someone who knows this tech, or are willing to pay someone, you are likely going to have to learn the basics of hardware utilization (RAM, CPU. GPU, disk and network I/O)... not that hard to learn the basics, which would be sufficient for identifying bottlenecks. I'm just guessing that you are running out of RAM and/or CPU.. RAM usually being the easiest/cheapest to upgrade (as the others entail the more expensive replacement approach, usually)
 
Top