Question / Help Glitchy streaming

Squiddit

New Member
Whenever I play a fast-paced game like Minecraft PvP, my in-game FPS is fine but whenever I try to record, it's low FPS. And whenever I stream, it's glitchy as hell which I assume is it trying to fill in the blanks for where there are FPS drops. If you'll excuse my terrible skill level in the game, I'll link a video to the stream as well as the output log, so you can see what I mean. (To skip the black screen at the beginning, go to 2:21 in the video)
https://youtu.be/TiyOuJZG7IY
https://gist.github.com/anonymous/5dc7370af6ec0dff948d3b97c9625385

Then there's the recording, which just drops the FPS. However, with some Sony Vegas magic, I can make it a bit smoother. The FPS still isn't optimal during fights, though, so help with this would be appreciated too.
https://youtu.be/2FO68eiI0kI
https://gist.github.com/02649031e46dc20d38ca425605da903b

One useful thing I just realised is that a mod I have for the game (LabyMod) shows the computer time, and so does the output log. So you can look at the time of the output log and the time in the recording and piece together what happens at which time, which may help.
Thanks for trying to help~
Squiddit
Edit: I might note that I created a thread a month or so ago, and someone posted with suggestions. I tried them, but I still get this problem (albeit not as bad as it was before I made the changes)
 
Couple of notes from your log:

17:27:16.897: [ffmpeg muxer: 'simple_file_output'] Output of file 'E:/Videos/OBS/2018-02-08 17-25-01.mp4' stopped
17:27:16.897: Output 'simple_file_output': stopping
17:27:16.897: Output 'simple_file_output': Total frames output: 7543
17:27:16.897: Output 'simple_file_output': Total drawn frames: 7115 (7814 attempted)
17:27:16.897: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 699 (8.9%)
17:27:16.898: ==== Recording Stop ================================================
17:30:53.956: [rtmp stream: 'simple_stream'] User stopped the stream
17:30:53.956: Output 'simple_stream': stopping
17:30:53.956: Output 'simple_stream': Total frames output: 20795
17:30:53.956: Output 'simple_stream': Total drawn frames: 20376 (21132 attempted)
17:30:53.956: Output 'simple_stream': Number of lagged frames due to rendering lag/stalls: 756 (3.6%)
17:30:53.957: [rtmp stream: 'simple_stream'] Freeing 1 remaining packets
17:30:53.957: Video stopped, number of skipped frames due to encoding lag: 6175/21042 (29.3%)


I see two problems here.
In your local recording you're getting video card based frame drops (~9%).
In your stream you're getting some video card based frame drops (~4%), but quite a lot of CPU based encoding frame drops (~30%).

Looking at your settings in the log we see:

17:25:01.735: [x264 encoder: 'simple_h264_stream'] preset: veryfast
17:25:01.736: [x264 encoder: 'simple_h264_stream'] settings:
17:25:01.736: rate_control: CBR
17:25:01.736: bitrate: 1200
17:25:01.736: buffer size: 1200
17:25:01.736: crf: 0
17:25:01.736: fps_num: 60
17:25:01.736: fps_den: 1
17:25:01.736: width: 1920

17:25:01.736: height: 1080

17:25:01.736: keyint: 120


You're trying to stream 1080p/60fps at 1200 bit rate. That is the reason the stream looks super "dirty" There is not near enough bitrate to produce a decent picture at that resolution and framerate.

I would try 1280x720p @ 30 FPS. Even with the same bitrate if you need it that low for any reason, will give considerable quality gains in your streaming. If you can bump the bitrate up to 2500 or 3000 that will help as well.

Also streaming at a lower resolution and fps is going to tax your CPU and GPU considerably less so you should see way less frame drops.

Since you're pushing to youtube you may be trying to do a "HD" local recording to then push to Youtube later. If that's the case we will need to make additional changes - but for now I would try what I've recommended.

-hth
Kilspent
 
Couple of notes from your log:

17:27:16.897: [ffmpeg muxer: 'simple_file_output'] Output of file 'E:/Videos/OBS/2018-02-08 17-25-01.mp4' stopped
17:27:16.897: Output 'simple_file_output': stopping
17:27:16.897: Output 'simple_file_output': Total frames output: 7543
17:27:16.897: Output 'simple_file_output': Total drawn frames: 7115 (7814 attempted)
17:27:16.897: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 699 (8.9%)
17:27:16.898: ==== Recording Stop ================================================
17:30:53.956: [rtmp stream: 'simple_stream'] User stopped the stream
17:30:53.956: Output 'simple_stream': stopping
17:30:53.956: Output 'simple_stream': Total frames output: 20795
17:30:53.956: Output 'simple_stream': Total drawn frames: 20376 (21132 attempted)
17:30:53.956: Output 'simple_stream': Number of lagged frames due to rendering lag/stalls: 756 (3.6%)
17:30:53.957: [rtmp stream: 'simple_stream'] Freeing 1 remaining packets
17:30:53.957: Video stopped, number of skipped frames due to encoding lag: 6175/21042 (29.3%)


I see two problems here.
In your local recording you're getting video card based frame drops (~9%).
In your stream you're getting some video card based frame drops (~4%), but quite a lot of CPU based encoding frame drops (~30%).

Looking at your settings in the log we see:

17:25:01.735: [x264 encoder: 'simple_h264_stream'] preset: veryfast
17:25:01.736: [x264 encoder: 'simple_h264_stream'] settings:
17:25:01.736: rate_control: CBR
17:25:01.736: bitrate: 1200
17:25:01.736: buffer size: 1200
17:25:01.736: crf: 0
17:25:01.736: fps_num: 60
17:25:01.736: fps_den: 1
17:25:01.736: width: 1920

17:25:01.736: height: 1080

17:25:01.736: keyint: 120


You're trying to stream 1080p/60fps at 1200 bit rate. That is the reason the stream looks super "dirty" There is not near enough bitrate to produce a decent picture at that resolution and framerate.

I would try 1280x720p @ 30 FPS. Even with the same bitrate if you need it that low for any reason, will give considerable quality gains in your streaming. If you can bump the bitrate up to 2500 or 3000 that will help as well.

Also streaming at a lower resolution and fps is going to tax your CPU and GPU considerably less so you should see way less frame drops.

Since you're pushing to youtube you may be trying to do a "HD" local recording to then push to Youtube later. If that's the case we will need to make additional changes - but for now I would try what I've recommended.

-hth
Kilspent
Wow, I did not realize I was recording at that high resolution xD Thanks for the help, hopefully things will work now. I'll post again if it still doesn't work out.
 
Back
Top