Question / Help When OBS Studio will be fixed?

Gradus

Member
The below findings from my test stream with OBS Studio today. My internet line quality is pretty good and I can stream perfectly with OBS Classic. However when I use OBS Studio I get terrible frame drops. I added below twitch alayzer report from Rich's website. My internet bandwith results and OBS log. Funny thing is OBS Studio even don't show any frame drops :) The log system of the application is already corrupted. It doesn't understand that I streamed just now.

OBS Studio Log:

https://gist.github.com/anonymous/142a6f330cce1bdfb88f01be838c6c8e

Rich's Analyzer Link for the same stream:
http://imgur.com/vMKLJ4s

Rich's BW Analyzer
http://imgur.com/a/El1rW

Please advise.

Thanks.
 

XeiZ

Member
16:30:36.639: [x264 encoder: 'simple_h264_stream'] preset: slow

do i have to say more or will you now say "i used the same in classic"? To which i would reply that you prove that first.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Anyway, hi, please show an example of the problem (a video, specifically)
 

Gradus

Member
Hi Jim,

Many thanks for replying the topic. As I mentioned above I can stream with OBS Classic without any issue (no frame drops etc). However Lanczos filter quality of the OBS Classic is pretty choppy comparing to OBS Studio. I believe OBS Studio has much better sharpness about the filtering. That's why I would like to use to OBS Studio.

When the frame drops starts at OBS Studio the log file shows that my internet connection is not sufficient. However I also cross check the stream with Rich's analyzer that it shows no any frame drops. I also test my connection quality with Rich's software and I don't see any problem. The issues indicates me that OBS Studio network features are not complete or it's broken. Please let me know how can I assist you in order to find the problem or the solution.

The below log belongs to another stream with OBS Studio. Again it shows network issue but Rich's website test tool didn't show any.

https://gist.github.com/anonymous/13ea59dfbaae5a60c33cf9c0b44b0f41
 

Gradus

Member
Also please let me know if there is a way to use OBS Studio's Lanczos filtering with OBS Classic. It would also help me. I am just looking for a better sharpness.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
What's the "Buffering" setting set to in the properties of the source for the elgato?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Additionally, let me see the classic log file. It's possibly that the settings were not actually identical, so that's one thing to check.

However, I also noticed you're using 50 FPS here as well rather than 60 -- this seems unusual. This is definitely contributing to some problems in terms of loss of frames. You shouldn't be running at an uncommon framerate like that in conjunction with a device. It really should be either 30 or 60 -- although you can set any framerate you want in the program, other framerates don't really make sense in this case. The log file doesn't indicate any encoding/rendering issues at all, so that's not the problem.

My suspicion would the buffering setting on the elgato in conjunction with the unusual framerate obs is set to. The framerate of the elgato is set to 60, while the framerate of obs is set to 50. This is going to result in frames being ignored in the output.

The obs render framerate should always match the framerate of the capture device you use, and buffering should be set to auto/on for the capture device to ensure that frames are never missed otherwise.
 

Gradus

Member
Additionally, let me see the classic log file. It's possibly that the settings were not actually identical, so that's one thing to check.

However, I also noticed you're using 50 FPS here as well rather than 60 -- this seems unusual. This is definitely contributing to some problems in terms of loss of frames. You shouldn't be running at an uncommon framerate like that in conjunction with a device. It really should be either 30 or 60 -- although you can set any framerate you want in the program, other framerates don't really make sense in this case. The log file doesn't indicate any encoding/rendering issues at all, so that's not the problem.

My suspicion would the buffering setting on the elgato in conjunction with the unusual framerate obs is set to. The framerate of the elgato is set to 60, while the framerate of obs is set to 50. This is going to result in frames being ignored in the output.

The obs render framerate should always match the framerate of the capture device you use, and buffering should be set to auto/on for the capture device to ensure that frames are never missed otherwise.

Jim,

Please see the required info below.

OBS Classic Log:
https://gist.github.com/anonymous/cd32727fd17b0d05bbf74ec88fd70f80

The video link (OBS Classic):
https://www.twitch.tv/gradus123/v/102063646

Rich's Analyze: (OBS Classic)
http://imgur.com/a/xRcE9

OBS Studio Log:
https://gist.github.com/ce67c6d9277a4849678d8b1eea3be823

The video link (OBS Studio):
https://www.twitch.tv/gradus123/v/102067472

Rich's Analyze (OBS Studio):
http://imgur.com/a/p2vEI
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
There we go, now see that 50FPS thing was most likely why the playback didn't seem smooth. Now that you've changed the settings for studio, the video for studio looks smooth like it should.

However, you did get frame drops due to network issues of some sort:
Code:
Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 1006 (9.5%)

This is network related. It doesn't have anything to do with rendering or processing. While studio's dropped frames mechanism is different than classic, it does not drop frames unless there are some actual stalls in the network connection itself (meaning this is not the fault of studio -- it's coming from the connection itself). One thing that people don't know is that OBS classic if anything was a bit insensitive and would often buffer frames rather than stall, causing increasing delay. I can probably add some adjusters in to the program to adjust how sensitive the frame drop mechanism is, but it doesn't really change the fact that ultimately there is some stalling on the connection for whatever reason. This is not a bug or anything. It only reacts and does this when there is some actual stalling in the network connection going on. Stalling just meaning insufficient or unstable/inconsistent upload bandwidth for whatever reason.

What's your internet upload speed? I notice you're at 2500kb/s.
 

Gradus

Member
Thanks for the clarification about OBS Classic vs OBS Studio.

From my understanding OBS Studio is more vulnerable to frame drops if you don't have "very very very" much stable connection to RTMP server. Otherwise frame drop issue is inevitable. However I believe you should also consider even if streamer has great connection to RTMP server, the server itself may have issues internally (extensive load, internal load balancing issue etc.) That the reason why frame drop tolerance should be more flexible even if connection stalls. Moreover it would be really nice if we could have an option to tolerate frame drops at OBS Studio as like OBS Classic (which I doubt due to core development changes) :)

I also tried to stream to Youtube with higher settings (4500kbit). No any single frame drop occured.

https://gist.github.com/anonymous/3e17502d8b370705aee9e68411bc0667
 

darthclide

Member
Thanks for the clarification about OBS Classic vs OBS Studio.

From my understanding OBS Studio is more vulnerable to frame drops if you don't have "very very very" much stable connection to RTMP server. Otherwise frame drop issue is inevitable. However I believe you should also consider even if streamer has great connection to RTMP server, the server itself may have issues internally (extensive load, internal load balancing issue etc.) That the reason why frame drop tolerance should be more flexible even if connection stalls. Moreover it would be really nice if we could have an option to tolerate frame drops at OBS Studio as like OBS Classic (which I doubt due to core development changes) :)

I also tried to stream to Youtube with higher settings (4500kbit). No any single frame drop occured.

https://gist.github.com/anonymous/3e17502d8b370705aee9e68411bc0667
So what I am gathering from this thread is that Classic had systems in place to be prepared for network problems. In Classic the stream would just get more and more delayed. In Studio it simply "jumps" for a split second when there are some frames dropped.

It appears the scapegoat here is Twitch? (what a surprise) I do wish however that you would add this functionality from classic into studio. I would rather my stream get more delayed than people watching "video freezes" every 5 minutes or so. The funny thing is, when I did a highlight the other night, I noticed these jumps only affect video. My audio (music in this case) remained untouched. I am fortunate this is the case, because I feel audio interruptions are far more noticeable than a small 1 second jump in the video feed.

Glad to know that small non partnered streams get so much love from Twitch these days...
 

darthclide

Member
Here are my dropped frames so far tonight. :(
 

Attachments

  • DroppedFrames.PNG
    DroppedFrames.PNG
    1.8 KB · Views: 90
Top