Question / Help 720@60 stuttering and quality issue.

Hister

New Member
Hey guys, Im trying to stream a high motion game such as COD Ghosts, BF4 at 720p@60 but it seems like im experiencing some quality and occasion stutters on the stream. Ive tried various bitrate/buffer sizes and looked through this forum for different settings from people with similar issues but nothing seems to work for me. My net speed according to testmy.net is 51 down 5.1 up, an I going to need more upload to successfully do this? Ive got my bitrate/buffer at 3500/3500 but dont I need a lower buffer so I dont run into issues with people having trouble viewing my stream? I checked the analyzer and its telling me there are no issues, but as you can see in the video something isnt right. Im guessing its on my end but id like confirmation before I settle with 720@30.

Heres a quick video of my latest settings in action. http://www.twitch.tv/shroomyz/b/507353350

Heres the log.

Code:
10:11:35: Open Broadcaster Software v0.612b - 32bit (´・ω・`)
10:11:35: -------------------------------
10:11:35: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
10:11:35: CPU Speed: 3500MHz
10:11:35: Physical Memory:  4095MB Total, 3487MB Free
10:11:35: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
10:11:35: monitor 1: pos={0, 0}, size={1920, 1080}
10:11:35: monitor 2: pos={-1680, 0}, size={1680, 1050}
10:11:35: Windows Version: 6.2 Build 9200 
10:11:35: Aero is Enabled
10:11:35: -------------------------------
10:11:35: OBS Modules:
10:11:35: Base Address     Module
10:11:35: 00A80000         OBS.exe
10:11:35: 569B0000         OBSApi.dll
10:11:35: 5B760000         DShowPlugin.dll
10:11:35: 70070000         GraphicsCapture.dll
10:11:35: 64080000         NoiseGate.dll
10:11:35: 5CE50000         PSVPlugin.dll
10:11:35: ------------------------------------------
10:11:35: Adapter 1
10:11:35:   Video Adapter: NVIDIA GeForce GTX 780
10:11:35:   Video Adapter Dedicated Video Memory: 3124551680
10:11:35:   Video Adapter Shared System Memory: 1170350080
10:11:35:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
10:11:35:   Video Adapter Output 2: pos={-1680, 0}, size={1680, 1050}, attached=true
10:11:35: =====Stream Start: 2014-03-01, 10:11:35===============================================
10:11:35:   Multithreaded optimizations: On
10:11:35:   Base resolution: 1920x1080
10:11:35:   Output resolution: 1280x720
10:11:35: ------------------------------------------
10:11:35: Loading up D3D10 on NVIDIA GeForce GTX 780 (Adapter 1)...
10:11:35: ------------------------------------------
10:11:35: Audio Format: 44100hz
10:11:35: Playback device {0.0.0.00000000}.{00678a5f-fff9-4e95-83e5-5f027371288f}
10:11:35: ------------------------------------------
10:11:35: Using desktop audio input: Speakers (Turtle Beach PX21 Headset)
10:11:35: ------------------------------------------
10:11:35: Using auxilary audio input: Microphone (Turtle Beach PX21 Headset)
10:11:35: ------------------------------------------
10:11:35: Audio Encoding: AAC
10:11:35:     bitrate: 128
10:11:35: Using graphics capture
10:11:35: Using graphics capture
10:11:35: Using graphics capture
10:11:35: Using graphics capture
10:11:35: Scene buffering time set to 700
10:11:35: ------------------------------------------
10:11:35: Video Encoding: x264
10:11:35:     fps: 60
10:11:35:     width: 1280, height: 720
10:11:35:     preset: veryfast
10:11:35:     profile: main
10:11:35:     keyint: 120
10:11:35:     CBR: yes
10:11:35:     CFR: yes
10:11:35:     max bitrate: 3500
10:11:35:     buffer size: 3500
10:11:35: ------------------------------------------
10:11:35: SharedTexCapture hooked
10:11:37: Using RTMP service: Twitch / Justin.tv
10:11:38:   Server selection: rtmp://live-iad.justin.tv/app
10:11:38:   Interface: Intel(R) Ethernet Connection I217-V (ethernet, 1000 mbps)
10:11:38: Completed handshake with rtmp://live-iad.justin.tv/app in 458 ms.
10:11:39: SO_SNDBUF was at 65536
10:11:39: SO_SNDBUF is now 65536
10:11:40: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 0 / 463872)
10:12:59: RTMPPublisher::SocketLoop: Stalled for 1530 ms to write 460740 bytes (buffer: 0 / 463872), unstable connection?
10:13:07: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 463872)
10:15:02: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 524288 (buffer: 0 / 463872)
10:15:28: Total frames encoded: 13886, total frames duplicated: 1333 (9.60%)
10:15:28: Number of frames skipped due to encoder lag: 96 (0.69%)
10:15:28: Total frames rendered: 13448, number of late frames: 113 (0.84%) (it's okay for some frames to be late)
10:15:28: RTMPPublisher::SocketLoop: Graceful loop exit
10:15:28: Average send payload: 7496 bytes, average send interval: 16 ms
10:15:28: Number of times waited to send: 2, Waited for a total of 8194 bytes
10:15:28: Number of b-frames dropped: 9 (0.066%), Number of p-frames dropped: 0 (0%), Total 9 (0.066%)
10:15:28: Number of bytes sent: 103778590
10:15:28: 
10:15:28: Profiler time results:
10:15:28: 
10:15:28: ==============================================================
10:15:28: video thread frame - [100%] [avg time: 2.238 ms] [children: 23.9%] [unaccounted: 76.1%]
10:15:28: | scene->Preprocess - [0.134%] [avg time: 0.003 ms]
10:15:28: | GPU download and conversion - [23.8%] [avg time: 0.532 ms] [children: 16.7%] [unaccounted: 7.1%]
10:15:28: | | flush - [5.72%] [avg time: 0.128 ms]
10:15:28: | | CopyResource - [10.7%] [avg time: 0.24 ms]
10:15:28: | | conversion to 4:2:0 - [0.223%] [avg time: 0.005 ms]
10:15:28: Convert444Threads - [100%] [avg time: 1.448 ms] [children: 99%] [unaccounted: 1.04%]
10:15:28: | Convert444toNV12 - [99%] [avg time: 1.433 ms]
10:15:28: encoder thread frame - [100%] [avg time: 4.677 ms] [children: 1.8%] [unaccounted: 98.2%]
10:15:28: | sending stuff out - [1.8%] [avg time: 0.084 ms]
10:15:28: ==============================================================
10:15:28: 
10:15:28: 
10:15:28: Profiler CPU results:
10:15:28: 
10:15:28: ==============================================================
10:15:28: video thread frame - [cpu time: avg 0.68 ms, total 9156.25 ms] [avg calls per frame: 1]
10:15:28: | scene->Preprocess - [cpu time: avg 0.004 ms, total 62.5 ms] [avg calls per frame: 1]
10:15:28: | GPU download and conversion - [cpu time: avg 0.121 ms, total 1640.63 ms] [avg calls per frame: 1]
10:15:28: | | flush - [cpu time: avg 0.076 ms, total 1031.25 ms] [avg calls per frame: 1]
10:15:28: | | CopyResource - [cpu time: avg 0.02 ms, total 281.25 ms] [avg calls per frame: 1]
10:15:28: | | conversion to 4:2:0 - [cpu time: avg 0.004 ms, total 62.5 ms] [avg calls per frame: 1]
10:15:28: Convert444Threads - [cpu time: avg 1.132 ms, total 30359.4 ms] [avg calls per frame: 2]
10:15:28: | Convert444toNV12 - [cpu time: avg 1.128 ms, total 30250 ms] [avg calls per frame: 2]
10:15:28: encoder thread frame - [cpu time: avg 1.988 ms, total 27531.3 ms] [avg calls per frame: 1]
10:15:28: | sending stuff out - [cpu time: avg 0.018 ms, total 250 ms] [avg calls per frame: 1]
10:15:28: ==============================================================
10:15:28: 
10:15:28: =====Stream End: 2014-03-01, 10:15:28=================================================
10:16:26: CUDA loaded successfully
10:16:26: 1 CUDA capable devices found
10:16:26: [ GPU #0 - < GeForce GTX 780 > has Compute SM 3.5, NVENC Available ]
 

AndehX

Member
I know this issue very well. It isn't down to your system or the way you have anything setup, its a twitch issue. I have no idea how their network works, or what they've done over the past year, but the quality of the service twitch gives has plummeted downhill. I don't bother streaming to twitch at 60fps anymore. It's pointless because of the stuttering and frame dropping.

If you want to test my theory, go make an account at hitbox.tv, and do a 60fps stream there. You'll noticed its much much smoother, and the delay is much lower.
 

Hister

New Member
That sucks, does it just depend on the user? I mean many streamers stream at 720@60 and it looks pretty good.
 

Sapiens

Forum Moderator
AndehX said:
its a twitch issue.
10:15:28: Total frames encoded: 13886, total frames duplicated: 1333 (9.60%)

That is not a Twitch issue. The Twitch VOD player is indeed crappy, especially for playing back 60 FPS video, but 10% duplicate frames is something on the streamer's end.
 

Hister

New Member
Thanks for pointing that out Sapiens.

I turned off CFR and here is the difference.
http://www.twitch.tv/shroomyz/b/507405786

Still not as clear and 1 stutter that I seen....Would going down to faster or fast on my x264 CPU preset fix the quality anymore?

With CFR on
10:15:28: Total frames encoded: 13886, total frames duplicated: 1333 (9.60%)
10:15:28: Number of frames skipped due to encoder lag: 96 (0.69%)
10:15:28: Total frames rendered: 13448, number of late frames: 113 (0.84%)


With CFR off

14:10:31: Total frames encoded: 17356, total frames duplicated: 231 (1.33%)
14:10:31: Number of frames skipped due to encoder lag: 13 (0.07%)
14:10:31: Total frames rendered: 17285, number of late frames: 9 (0.05%)
 

vbdkv

Member
Also wondering why you're not using the 64bit version of OBS, it performs better and has access to more memory. Oh and keep CFR on ..
 

Hister

New Member
Good question, for some reason I thought I was, I just built this rig a day ago so simple mistake on my end,
 

Hister

New Member
Using the 64 bit version does seem to help a ton. Not sure why but the video just doesnt seem as clear as others streamers ive watched. Ive tried lowering the x264 cpu preset to faster but it goes all to hell.

Code:
14:37:28: Open Broadcaster Software v0.612b - 64bit ( ^ω^)
14:37:28: -------------------------------
14:37:28: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
14:37:28: CPU Speed: 3500MHz
14:37:28: Physical Memory:  8130MB Total, 3858MB Free
14:37:28: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
14:37:28: monitor 1: pos={0, 0}, size={1920, 1080}
14:37:28: monitor 2: pos={-1680, 0}, size={1680, 1050}
14:37:28: Windows Version: 6.2 Build 9200 
14:37:28: Aero is Enabled
14:37:28: -------------------------------
14:37:28: OBS Modules:
14:37:28: Base Address     Module
14:37:28: 0000000073A20000 OBS.exe
14:37:28: 000000002C2C0000 OBSApi.dll
14:37:28: 000000003DEA0000 DShowPlugin.dll
14:37:28: 000000003D710000 GraphicsCapture.dll
14:37:28: 000000003D790000 NoiseGate.dll
14:37:28: 000000003D6F0000 PSVPlugin.dll
14:37:28: ------------------------------------------
14:37:28: Adapter 1
14:37:28:   Video Adapter: NVIDIA GeForce GTX 780
14:37:28:   Video Adapter Dedicated Video Memory: 3124551680
14:37:28:   Video Adapter Shared System Memory: 4262529024
14:37:28:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
14:37:28:   Video Adapter Output 2: pos={-1680, 0}, size={1680, 1050}, attached=true
14:37:28: =====Stream Start: 2014-03-01, 14:37:28===============================================
14:37:28:   Multithreaded optimizations: On
14:37:28:   Base resolution: 1920x1080
14:37:28:   Output resolution: 1280x720
14:37:28: ------------------------------------------
14:37:28: Loading up D3D10 on NVIDIA GeForce GTX 780 (Adapter 1)...
14:37:28: ------------------------------------------
14:37:28: Audio Format: 44100hz
14:37:28: Playback device {0.0.0.00000000}.{00678a5f-fff9-4e95-83e5-5f027371288f}
14:37:28: ------------------------------------------
14:37:28: Using desktop audio input: Speakers (Turtle Beach PX21 Headset)
14:37:28: ------------------------------------------
14:37:28: Using auxilary audio input: Microphone (Turtle Beach PX21 Headset)
14:37:28: ------------------------------------------
14:37:28: Audio Encoding: AAC
14:37:28:     bitrate: 128
14:37:28: Using graphics capture
14:37:28: Using graphics capture
14:37:28: Using graphics capture
14:37:28: Using graphics capture
14:37:28: Scene buffering time set to 700
14:37:28: ------------------------------------------
14:37:28: Video Encoding: x264
14:37:28:     fps: 60
14:37:28:     width: 1280, height: 720
14:37:28:     preset: veryfast
14:37:28:     profile: main
14:37:28:     keyint: 120
14:37:28:     CBR: yes
14:37:28:     CFR: yes
14:37:28:     max bitrate: 3500
14:37:28:     buffer size: 3500
14:37:28: ------------------------------------------
14:37:28: SharedTexCapture hooked
14:37:30: Using RTMP service: Twitch / Justin.tv
14:37:30:   Server selection: rtmp://live-iad.justin.tv/app
14:37:30:   Interface: Intel(R) Ethernet Connection I217-V (ethernet, 1000 mbps)
14:37:31: Completed handshake with rtmp://live-iad.justin.tv/app in 413 ms.
14:37:32: SO_SNDBUF was at 65536
14:37:32: SO_SNDBUF is now 65536
14:37:33: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 0 / 463872)
14:39:29: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 463512 / 463872)
14:39:29: RTMPPublisher::SocketLoop: Stalled for 1550 ms to write 463512 bytes (buffer: 0 / 463872), unstable connection?
14:39:29: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 524288 (buffer: 202542 / 463872)
14:41:50: Total frames encoded: 15638, total frames duplicated: 108 (0.69%)
14:41:50: Total frames rendered: 15580, number of late frames: 7 (0.04%) (it's okay for some frames to be late)
14:41:50: RTMPPublisher::SocketLoop: Graceful loop exit
14:41:50: Average send payload: 7239 bytes, average send interval: 15 ms
14:41:50: Number of times waited to send: 2, Waited for a total of 8208 bytes
14:41:50: Number of b-frames dropped: 7 (0.045%), Number of p-frames dropped: 0 (0%), Total 7 (0.045%)
14:41:50: Number of bytes sent: 117093415
14:41:50: 
14:41:50: Profiler time results:
14:41:50: 
14:41:50: ==============================================================
14:41:50: video thread frame - [100%] [avg time: 1.047 ms] [children: 15.1%] [unaccounted: 84.9%]
14:41:50: | scene->Preprocess - [0.287%] [avg time: 0.003 ms]
14:41:50: | GPU download and conversion - [14.8%] [avg time: 0.155 ms] [children: 10.1%] [unaccounted: 4.68%]
14:41:50: | | flush - [7.93%] [avg time: 0.083 ms]
14:41:50: | | CopyResource - [1.91%] [avg time: 0.02 ms]
14:41:50: | | conversion to 4:2:0 - [0.287%] [avg time: 0.003 ms]
14:41:50: Convert444Threads - [100%] [avg time: 1.273 ms] [children: 99.6%] [unaccounted: 0.393%]
14:41:50: | Convert444toNV12 - [99.6%] [avg time: 1.268 ms]
14:41:50: encoder thread frame - [100%] [avg time: 2.613 ms] [children: 2.6%] [unaccounted: 97.4%]
14:41:50: | sending stuff out - [2.6%] [avg time: 0.068 ms]
14:41:50: ==============================================================
14:41:50: 
14:41:50: 
14:41:50: Profiler CPU results:
14:41:50: 
14:41:50: ==============================================================
14:41:50: video thread frame - [cpu time: avg 0.372 ms, total 5796.88 ms] [avg calls per frame: 1]
14:41:50: | scene->Preprocess - [cpu time: avg 0.001 ms, total 15.625 ms] [avg calls per frame: 1]
14:41:50: | GPU download and conversion - [cpu time: avg 0.076 ms, total 1187.5 ms] [avg calls per frame: 1]
14:41:50: | | flush - [cpu time: avg 0.049 ms, total 765.625 ms] [avg calls per frame: 1]
14:41:50: | | CopyResource - [cpu time: avg 0.01 ms, total 156.25 ms] [avg calls per frame: 1]
14:41:50: | | conversion to 4:2:0 - [cpu time: avg 0.002 ms, total 31.25 ms] [avg calls per frame: 1]
14:41:50: Convert444Threads - [cpu time: avg 1.077 ms, total 33468.8 ms] [avg calls per frame: 2]
14:41:50: | Convert444toNV12 - [cpu time: avg 1.073 ms, total 33359.4 ms] [avg calls per frame: 2]
14:41:50: encoder thread frame - [cpu time: avg 1.348 ms, total 21031.3 ms] [avg calls per frame: 1]
14:41:50: | sending stuff out - [cpu time: avg 0.025 ms, total 390.625 ms] [avg calls per frame: 1]
14:41:50: ==============================================================
14:41:50: 
14:41:50: =====Stream End: 2014-03-01, 14:41:50=================================================
 

Sapiens

Forum Moderator
You should leave the Enable CFR box checked. Is vsync enabled? If not, try turning it and see if that makes a difference.
 

Hister

New Member
So what would be an acceptable level for Total frames encoded, total frames duplicated? Ive tried just about every setting I know and I cant seem to get it below 1% in high motion games like COD and around .50% in games like Diablo anywhere from 120 frames duplicated to 60.
 
Top