Question / Help Are there any improvements I can do for my stream?

narbes

New Member
Edit: Logfile now matches the VOD I have linked. It was reporting Window Capture and I am currently using Game Capture. 4:09 EST

Hello,

Currently trying to optimize my stream to use what I have available at it's fullest potential. Primarily streaming League of Legends and Counter-Strike.

LoL is currently set up as a Game Capture while in game.

Here is a short clip of my current quality:
http://www.twitch.tv/narbes/b/418296166

And the logfile for that stream:
Code:
15:45:10: Open Broadcaster Software v0.522b - 64bit ( ^ω^)
15:45:10: -------------------------------
15:45:10: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
15:45:10: CPU Speed: 3503MHz
15:45:10: Physical Memory:  16344MB Total, 11938MB Free
15:45:10: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
15:45:10: monitor 1: pos={0, 0}, size={1920, 1080}
15:45:10: Windows Version: 6.1 Build 7600 
15:45:10: Aero is Enabled
15:45:10: -------------------------------
15:45:10: OBS Modules:
15:45:10: Base Address     Module
15:45:10: 000000003F830000 OBS.exe
15:45:10: 00000000E6C40000 OBSApi.dll
15:45:10: 00000000F8D40000 DShowPlugin.dll
15:45:10: 00000000F8B70000 GraphicsCapture.dll
15:45:10: 00000000FB150000 NoiseGate.dll
15:45:10: ------------------------------------------
15:45:10: Adapter 1
15:45:10:   Video Adapter: AMD Radeon HD 7900 Series
15:45:10:   Video Adapter Dedicated Video Memory: 3193106432
15:45:10:   Video Adapter Shared System Memory: 4005754880
15:49:19: =====Stream Start: 2013-06-17, 15:49:19===============================================
15:49:19:   Multithreaded optimizations: On
15:49:19:   Base resolution: 1920x1080
15:49:19:   Output resolution: 1920x1080
15:49:19: ------------------------------------------
15:49:19: Loading up D3D10...
15:49:19: Playback device Default
15:49:19: ------------------------------------------
15:49:19: Using desktop audio input: Speakers (Realtek High Definition Audio)
15:49:19: ------------------------------------------
15:49:19: Using auxilary audio input: Microphone (Realtek High Definition Audio)
15:49:19: ------------------------------------------
15:49:19: Audio Encoding: AAC
15:49:19:     bitrate: 256
15:49:19: Using graphics capture
15:49:19: ------------------------------------------
15:49:19: Video Encoding: x264
15:49:19:     fps: 60
15:49:19:     width: 1920, height: 1080
15:49:19:     preset: veryfast
15:49:19:     CBR: no
15:49:19:     CFR: no
15:49:19:     max bitrate: 4500
15:49:19:     buffer size: 4500
15:49:19:     quality: 8
15:49:19: ------------------------------------------
15:49:19: SharedTexCapture hooked
15:49:20: Using RTMP service: Twitch / Justin.tv
15:49:20:   Server selection: rtmp://live-iad-backup.justin.tv/app
15:49:21: SO_SNDBUF was at 8192
15:49:21: SO_SNDBUF is now 65536
15:50:08: Total frames rendered: 2951, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
15:50:08: RTMPPublisher::SocketLoop: Aborting due to bStopping
15:50:08: Number of times waited to send: 0, Waited for a total of 0 bytes
15:50:08: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
15:50:08: =====Stream End: 2013-06-17, 15:50:08=================================================
16:07:16: 
16:07:16: Profiler results:
16:07:16: 
16:07:16: ==============================================================
16:07:16: frame - [100%] [avg time: 2.417 ms] [avg calls per frame: 1] [children: 84.4%] [unaccounted: 15.6%]
16:07:16: | scene->Preprocess - [0.0414%] [avg time: 0.001 ms] [avg calls per frame: 1]
16:07:16: | video encoding and uploading - [84.3%] [avg time: 2.038 ms] [avg calls per frame: 1] [children: 83.7%] [unaccounted: 0.621%]
16:07:16: | | CopyResource - [0.248%] [avg time: 0.006 ms] [avg calls per frame: 0]
16:07:16: | | conversion to 4:2:0 - [0.0414%] [avg time: 0.001 ms] [avg calls per frame: 0]
16:07:16: | | call to encoder - [82.8%] [avg time: 2.002 ms] [avg calls per frame: 0]
16:07:16: | | sending stuff out - [0.579%] [avg time: 0.014 ms] [avg calls per frame: 0]
16:07:16: ==============================================================
16:07:16:

I've attempted to set my x264 preset to 'faster' and found that on the VOD, my stream will hang every few seconds.

My connection:
osgRYkV.3OK8Ibh.png


My computer specs:
CPU: Intel i7-3770k
Cooler: Phanteks TC12DX_BK
GFX: HIS IceQX2 7970 3 GB
RAM: Corsair Vengeance 4x4GB 1600 Mhz
MoBo: Gigabyte Z77X-UD5H
Case: Corsair 600t
PSU: Seasonic X-650

Ultimately, should I just be content with what I'm able to produce? I see streams with very crisp output and it seems that a lot of the time the system/connection isn't as powerful as mine.

I'm willing to try everything and can provide more info if needed.

Thank you!
 

dodgepong

Administrator
Community Helper
That is a very high quality stream. Too high quality, in fact. You are excluding a lot of viewers by running 1080p60 and 4500 bit rate without CBR. Many viewers unfortunately don't have the hardware to be able to view 1080p60 video on Flash, which is a real hog with video playback, and other viewers don't have the download bandwidth to download at the requisite 4500kbps to watch your stream. Furthermore, you're not using CBR, so your stream will be prone to bandwidth spikes that will cause stuttering and lagging for viewers.

I recommend

* Downscaling by 1.25 to 864p
* Turning on CBR
* Lowering bit rate to 3500

Yes, this will result in a somewhat lower quality stream, but you will get more viewers for it, since more people can actually watch your stream.
 

narbes

New Member
That is a good point. I guess most extremely high quality streams I see are partnered and viewers have the option to lower the quality themselves.

I'll try your suggestions out and report back, thank you!
 

narbes

New Member
http://www.twitch.tv/narbes/b/418313382

I've made the changes you suggested. It's odd, while in game I feel like there is a slight amount of input lag, especially on mouse clicks. I don't experience this while streaming without the downscaling/filtering.

Code:
16:33:34: Open Broadcaster Software v0.522b - 64bit ( ^ω^)
16:33:34: -------------------------------
16:33:34: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
16:33:34: CPU Speed: 3503MHz
16:33:34: Physical Memory:  16344MB Total, 12069MB Free
16:33:34: stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
16:33:34: monitor 1: pos={0, 0}, size={1920, 1080}
16:33:34: Windows Version: 6.1 Build 7600 
16:33:34: Aero is Enabled
16:33:34: -------------------------------
16:33:34: OBS Modules:
16:33:34: Base Address     Module
16:33:34: 000000003F560000 OBS.exe
16:33:34: 00000000FA9D0000 OBSApi.dll
16:33:34: 00000000FB120000 DShowPlugin.dll
16:33:34: 00000000FA9A0000 GraphicsCapture.dll
16:33:34: 00000000FB100000 NoiseGate.dll
16:33:34: ------------------------------------------
16:33:34: Adapter 1
16:33:34:   Video Adapter: AMD Radeon HD 7900 Series
16:33:34:   Video Adapter Dedicated Video Memory: 3193106432
16:33:34:   Video Adapter Shared System Memory: 4005754880
16:33:34: =====Stream Start: 2013-06-17, 16:33:34===============================================
16:33:34:   Multithreaded optimizations: On
16:33:34:   Base resolution: 1920x1080
16:33:34:   Output resolution: 1536x864
16:33:34: ------------------------------------------
16:33:34: Loading up D3D10...
16:33:35: Playback device Default
16:33:35: ------------------------------------------
16:33:35: Using desktop audio input: Speakers (Realtek High Definition Audio)
16:33:35: ------------------------------------------
16:33:35: Using auxilary audio input: Microphone (Realtek High Definition Audio)
16:33:35: ------------------------------------------
16:33:35: Audio Encoding: AAC
16:33:35:     bitrate: 256
16:33:35: Using graphics capture
16:33:35: Using Monitor Capture
16:33:35: ------------------------------------------
16:33:35: Video Encoding: x264
16:33:35:     fps: 60
16:33:35:     width: 1536, height: 864
16:33:35:     preset: veryfast
16:33:35:     CBR: yes
16:33:35:     CFR: no
16:33:35:     max bitrate: 3500
16:33:35: ------------------------------------------
16:33:37: Using RTMP service: Twitch / Justin.tv
16:33:37:   Server selection: rtmp://live-iad-backup.justin.tv/app
16:33:37: SO_SNDBUF was at 8192
16:33:37: SO_SNDBUF is now 65536
16:34:45: Total frames rendered: 2113, number of frames that lagged: 2113 (100.00%) (it's okay for some frames to lag)
16:34:45: RTMPPublisher::SocketLoop: Aborting due to bStopping
16:34:45: Number of times waited to send: 0, Waited for a total of 0 bytes
16:34:45: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
16:34:45: =====Stream End: 2013-06-17, 16:34:45=================================================
16:38:33: 
16:38:33: Profiler results:
16:38:33: 
16:38:33: ==============================================================
16:38:33: frame - [100%] [avg time: 33.237 ms] [avg calls per frame: 1] [children: 99.1%] [unaccounted: 0.942%]
16:38:33: | scene->Preprocess - [95.1%] [avg time: 31.622 ms] [avg calls per frame: 1]
16:38:33: | video encoding and uploading - [3.92%] [avg time: 1.302 ms] [avg calls per frame: 1] [children: 3.88%] [unaccounted: 0.0361%]
16:38:33: | | CopyResource - [0.0181%] [avg time: 0.006 ms] [avg calls per frame: 0]
16:38:33: | | conversion to 4:2:0 - [0.00301%] [avg time: 0.001 ms] [avg calls per frame: 0]
16:38:33: | | call to encoder - [3.81%] [avg time: 1.266 ms] [avg calls per frame: 0]
16:38:33: | | sending stuff out - [0.0511%] [avg time: 0.017 ms] [avg calls per frame: 0]
16:38:33: ==============================================================
16:38:33:
 

FerretBomb

Active Member
Downscaling does take up a bit more CPU; as I understand it, especially at non-even multipliers like that 1.25 you've got. I'd go with a 1.5 or 2.0 (720p or 540p).
Are you keeping an eye on your CPU utilization while streaming/playing? That could definitely cause input lag... can always use the Task Manager to Set Affinity and keep OBS and your game off the same cores, so they should run independently (aside from other system busses, like memory throughput and the video card for preprocessing).

If it was my stream, I'd either go at 720p@60 (a popular streaming setting for non-partnered casters), or 1080p@30, with a 3500kbps rate. Not overly a fan of CBR myself.

LoL: 1080p@30fps, 3500kbps, VBR, quality 10 (low motion, and can already look pretty fluid at 30, without running into the Flash decoder issues)

CS: 720p@60fps, 3500kbps, CBR (High-motion FPS will benefit more from the higher framerate in terms of fluidity of motion, and CBR will keep your ping more stable than is necessary in a MOBA. I'd actually play with the framerate between 45-60; it's a tradeoff between motion fluidity and image clarity at that point, and you'll need to be subjective in what the parity point between the two really is)
 

Krazy

Town drunk
Downscaling is done on the GPU and shouldn't have any remotely noticeable impact on the game. With a 1.25 downscale and the Lanczos filter, I get MAYBE 1 or 2 FPS less.

You seem to have a monitor capture source running in that last log, could explain the input lag, especially since you have Aero enabled. Make sure you didn't accidentally add Monitor Capture as a Global Source or something, which would keep it always running.
 
Top