Question / Help Stream quality not soo good, choppy

Stnq

New Member
Hello,
I am new in streaming. I want to stream League of legends and I got OBS set but the stream is a bit laggy/choppy on the viewers end ( I have perfect framerate + stable, 20ms ping). I have no idea what to change, I tuned a bit avdanced settings (from superfast to slower etc).

My download/upload rate is 50mb/s // 2.4mb/s

Computer specs:
Amd FX 8150 (8 core 3.6 GHz)
8 GB RAM ddr3
Radeon 6970 HD
No idea if you need any more specs( hdds? powersupply?) to help out :)

Im posting a log:

Code:
04:04:17: Open Broadcaster Software v0.592b - 32bit (´・ω・`)
04:38:02: -------------------------------
04:38:02: CPU Name: AMD FX(tm)-8150 Eight-Core Processor
04:38:02: CPU Speed: 3607MHz
04:38:02: Physical Memory:  4095MB Total, 4095MB Free
04:38:02: stepping id: 2, model 1, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 8, total cores 4
04:38:02: monitor 1: pos={0, 0}, size={1920, 1080}
04:38:02: Windows Version: 6.1 Build 7601 S
04:38:02: Aero is Enabled
04:38:02: -------------------------------
04:38:02: OBS Modules:
04:38:02: Base Address     Module
04:38:02: 01040000         OBS.exe
04:38:02: 6E1F0000         OBSApi.dll
04:38:02: 6DD70000         DShowPlugin.dll
04:38:02: 6E680000         GraphicsCapture.dll
04:38:02: 6E730000         NoiseGate.dll
04:38:02: 6DD50000         PSVPlugin.dll
04:38:02: 6DD30000         scenesw.dll
04:38:02: ------------------------------------------
04:38:02: Adapter 1
04:38:02:   Video Adapter: AMD Radeon HD 6900 Series
04:38:02:   Video Adapter Dedicated Video Memory: 2134593536
04:38:02:   Video Adapter Shared System Memory: 2160308224
04:38:02:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
04:38:02: Using fixed low latency mode, factor 20
04:38:02: =====Stream Start: 2014-01-28, 04:38:02===============================================
04:38:02:   Multithreaded optimizations: On
04:38:02:   Base resolution: 1920x1080
04:38:02:   Output resolution: 1280x720
04:38:02: ------------------------------------------
04:38:02: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
04:38:02: ------------------------------------------
04:38:02: Audio Format: 48000hz
04:38:02: Playback device Default
04:38:02: ------------------------------------------
04:38:02: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
04:38:02: ------------------------------------------
04:38:02: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
04:38:02: ------------------------------------------
04:38:02: Audio Encoding: AAC
04:38:02:     bitrate: 128
04:38:02: Using graphics capture
04:38:02: Scene buffering time set to 200
04:38:02: ------------------------------------------
04:38:02: Video Encoding: x264
04:38:02:     fps: 60
04:38:02:     width: 1280, height: 720
04:38:02:     preset: veryfast
04:38:02:     profile: main
04:38:02:     keyint: 120
04:38:02:     CBR: yes
04:38:02:     CFR: yes
04:38:02:     max bitrate: 1900
04:38:02:     buffer size: 3000
04:38:02: ------------------------------------------
04:38:02: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
04:38:02: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
04:38:02: SharedTexCapture hooked
04:38:03: Using RTMP service: Twitch / Justin.tv
04:38:03:   Server selection: rtmp://live-ams.justin.tv/app
04:38:03:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
04:38:03: Completed handshake with rtmp://live-ams.justin.tv/app in 358 ms.
04:38:03: GraphicsCaptureSource::NewCapture:  eliminating old capture
04:38:03: SharedTexCapture hooked
04:38:04: SO_SNDBUF was at 8192
04:38:04: SO_SNDBUF is now 65536
04:38:04: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 24467 / 259072)
04:39:21: Exit signal received, terminating capture
04:39:27: Total frames encoded: 5096, total frames duplicated: 25 (0.49%)
04:39:27: Total frames rendered: 5098, number of late frames: 3 (0.06%) (it's okay for some frames to be late)
04:39:27: RTMPPublisher::SocketLoop: Graceful loop exit
04:39:27: Average send payload: 4393 bytes, average send interval: 17 ms
04:39:27: Number of times waited to send: 0, Waited for a total of 0 bytes
04:39:27: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
04:39:27: Number of bytes sent: 21091152
04:39:27: 
04:39:27: Profiler time results:
04:39:27: 
04:39:27: ==============================================================
04:39:27: video thread frame - [100%] [avg time: 1.271 ms] [children: 43%] [unaccounted: 57%]
04:39:27: | scene->Preprocess - [0.236%] [avg time: 0.003 ms]
04:39:27: | GPU download and conversion - [42.8%] [avg time: 0.544 ms] [children: 39.5%] [unaccounted: 3.3%]
04:39:27: | | flush - [37.4%] [avg time: 0.475 ms]
04:39:27: | | CopyResource - [1.42%] [avg time: 0.018 ms]
04:39:27: | | conversion to 4:2:0 - [0.708%] [avg time: 0.009 ms]
04:39:27: Convert444Threads - [100%] [avg time: 0.995 ms] [children: 98.8%] [unaccounted: 1.21%]
04:39:27: | Convert444toNV12 - [98.8%] [avg time: 0.983 ms]
04:39:27: encoder thread frame - [100%] [avg time: 1.653 ms]
04:39:27: ==============================================================
04:39:27: 
04:39:27: 
04:39:27: Profiler CPU results:
04:39:27: 
04:39:27: ==============================================================
04:39:27: video thread frame - [cpu time: avg 0.253 ms, total 1294.81 ms] [avg calls per frame: 1]
04:39:27: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
04:39:27: | GPU download and conversion - [cpu time: avg 0.045 ms, total 234.003 ms] [avg calls per frame: 1]
04:39:27: | | flush - [cpu time: avg 0.024 ms, total 124.803 ms] [avg calls per frame: 1]
04:39:27: | | CopyResource - [cpu time: avg 0.021 ms, total 109.2 ms] [avg calls per frame: 1]
04:39:27: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
04:39:27: Convert444Threads - [cpu time: avg 1.067 ms, total 10842.1 ms] [avg calls per frame: 2]
04:39:27: | Convert444toNV12 - [cpu time: avg 1.061 ms, total 10779.7 ms] [avg calls per frame: 2]
04:39:27: encoder thread frame - [cpu time: avg 1.377 ms, total 7004.45 ms] [avg calls per frame: 1]
04:39:27: ==============================================================
04:39:27: 
04:39:27: =====Stream End: 2014-01-28, 04:39:27=================================================

From what I noticed is odd - OBS sees only 4 gb of my ram? Is that related?

Btw. I worked around settings thats why this log is so short - I turned it off and on again as I changed settings, this is the lastest (and the best) one.
Thanks for all the help :)
 
The log is reporting 4GB of RAM because you're using the 32bit version. The 64bit version should be installed to C:\Program Files\OBS.

As for the stream quality, you should first remove your custom buffer, and leave your buffer at 1900. Second 1900kbps might be a little on the low side for a 720p60 stream, so you might want to lower the frame rate to 30.

Outside of those issues, though, the log seems to indicate that the stream is fine. Can you post a link to a video that demonstrates the choppiness?
 
Your stream was only 77 seconds long. In my testing, this is not long enough to produce consistent results in the log file. Do a stream of at least five minutes of the most complicated and quickly changing scenes your game has to offer (and the longer the better), then post that log file.
 
I have the new log, about 5 minutes long stream :
Code:
13:30:15: Open Broadcaster Software v0.592b - 64bit ( ^ω^)
13:30:15: -------------------------------
13:30:15: CPU Name: AMD FX(tm)-8150 Eight-Core Processor
13:30:15: CPU Speed: 3607MHz
13:30:15: Physical Memory:  8175MB Total, 5615MB Free
13:30:15: stepping id: 2, model 1, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 8, total cores 4
13:30:15: monitor 1: pos={0, 0}, size={1920, 1080}
13:30:15: Windows Version: 6.1 Build 7601 S
13:30:15: Aero is Enabled
13:30:15: -------------------------------
13:30:15: OBS Modules:
13:30:15: Base Address     Module
13:30:15: 000000003F480000 OBS.exe
13:30:15: 00000000E3490000 OBSApi.dll
13:30:15: 00000000E3450000 DShowPlugin.dll
13:30:15: 00000000E53E0000 GraphicsCapture.dll
13:30:15: 00000000E53C0000 NoiseGate.dll
13:30:15: 00000000E53A0000 PSVPlugin.dll
13:30:15: 00000000E3430000 scenesw.dll
13:30:15: ------------------------------------------
13:30:15: Adapter 1
13:30:15:   Video Adapter: AMD Radeon HD 6900 Series
13:30:15:   Video Adapter Dedicated Video Memory: 2134593536
13:30:15:   Video Adapter Shared System Memory: 4017743872
13:30:15:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
13:30:15: =====Stream Start: 2014-01-28, 13:30:15===============================================
13:30:15:   Multithreaded optimizations: On
13:30:15:   Base resolution: 1920x1080
13:30:15:   Output resolution: 1280x720
13:30:15: ------------------------------------------
13:30:15: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
13:30:16: ------------------------------------------
13:30:16: Audio Format: 48000hz
13:30:16: Playback device Default
13:30:16: ------------------------------------------
13:30:16: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
13:30:16: ------------------------------------------
13:30:16: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
13:30:16: ------------------------------------------
13:30:16: Audio Encoding: AAC
13:30:16:     bitrate: 128
13:30:16: Using Window Capture
13:30:16: Scene buffering time set to 200
13:30:16: ------------------------------------------
13:30:16: Video Encoding: x264
13:30:16:     fps: 60
13:30:16:     width: 1280, height: 720
13:30:16:     preset: veryfast
13:30:16:     profile: main
13:30:16:     keyint: 120
13:30:16:     CBR: yes
13:30:16:     CFR: yes
13:30:16:     max bitrate: 1900
13:30:16:     buffer size: 3000
13:30:16: ------------------------------------------
13:30:16: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
13:30:16: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
13:30:18: Total frames encoded: 108, total frames duplicated: 0 (0.00%)
13:30:18: Total frames rendered: 115, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
13:30:18: 
13:30:18: Profiler time results:
13:30:18: 
13:30:18: ==============================================================
13:30:18: video thread frame - [100%] [avg time: 0.877 ms] [children: 59.5%] [unaccounted: 40.5%]
13:30:18: | scene->Preprocess - [50.9%] [avg time: 0.446 ms]
13:30:18: | GPU download and conversion - [8.67%] [avg time: 0.076 ms] [children: 7.64%] [unaccounted: 1.03%]
13:30:18: | | flush - [6.04%] [avg time: 0.053 ms]
13:30:18: | | CopyResource - [1.03%] [avg time: 0.009 ms]
13:30:18: | | conversion to 4:2:0 - [0.57%] [avg time: 0.005 ms]
13:30:18: Convert444Threads - [100%] [avg time: 0.752 ms] [children: 99.5%] [unaccounted: 0.532%]
13:30:18: | Convert444toNV12 - [99.5%] [avg time: 0.748 ms]
13:30:18: encoder thread frame - [100%] [avg time: 1.444 ms]
13:30:18: ==============================================================
13:30:18: 
13:30:18: 
13:30:18: Profiler CPU results:
13:30:18: 
13:30:18: ==============================================================
13:30:18: video thread frame - [cpu time: avg 0.406 ms, total 46.8 ms] [avg calls per frame: 1]
13:30:18: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:30:18: | GPU download and conversion - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:30:18: | | flush - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:30:18: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:30:18: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:30:18: Convert444Threads - [cpu time: avg 0.964 ms, total 187.2 ms] [avg calls per frame: 2]
13:30:18: | Convert444toNV12 - [cpu time: avg 0.964 ms, total 187.2 ms] [avg calls per frame: 2]
13:30:18: encoder thread frame - [cpu time: avg 1.137 ms, total 109.2 ms] [avg calls per frame: 1]
13:30:18: ==============================================================
13:30:18: 
13:30:18: =====Stream End: 2014-01-28, 13:30:18=================================================
13:31:40: Settings::Video: Enabling Aero
13:32:17: =====Stream Start: 2014-01-28, 13:32:17===============================================
13:32:17:   Multithreaded optimizations: On
13:32:17:   Base resolution: 1920x1080
13:32:17:   Output resolution: 1280x720
13:32:17: ------------------------------------------
13:32:17: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
13:32:17: ------------------------------------------
13:32:17: Audio Format: 48000hz
13:32:17: Playback device Default
13:32:17: ------------------------------------------
13:32:17: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
13:32:17: ------------------------------------------
13:32:17: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
13:32:17: ------------------------------------------
13:32:17: Audio Encoding: AAC
13:32:17:     bitrate: 128
13:32:17: Using Window Capture
13:32:17: Scene buffering time set to 200
13:32:17: ------------------------------------------
13:32:17: Video Encoding: x264
13:32:17:     fps: 30
13:32:17:     width: 1280, height: 720
13:32:17:     preset: veryfast
13:32:17:     profile: main
13:32:17:     keyint: 60
13:32:17:     CBR: yes
13:32:17:     CFR: no
13:32:17:     max bitrate: 1900
13:32:17:     buffer size: 1900
13:32:17: ------------------------------------------
13:32:17: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
13:32:17: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
13:32:23: Total frames encoded: 149, total frames duplicated: 0 (0.00%)
13:32:23: Total frames rendered: 154, number of late frames: 1 (0.65%) (it's okay for some frames to be late)
13:32:23: 
13:32:23: Profiler time results:
13:32:23: 
13:32:23: ==============================================================
13:32:23: video thread frame - [100%] [avg time: 1.286 ms] [children: 65.6%] [unaccounted: 34.4%]
13:32:23: | scene->Preprocess - [55.9%] [avg time: 0.719 ms]
13:32:23: | GPU download and conversion - [9.64%] [avg time: 0.124 ms] [children: 8.63%] [unaccounted: 1.01%]
13:32:23: | | flush - [7.31%] [avg time: 0.094 ms]
13:32:23: | | CopyResource - [0.7%] [avg time: 0.009 ms]
13:32:23: | | conversion to 4:2:0 - [0.622%] [avg time: 0.008 ms]
13:32:23: Convert444Threads - [100%] [avg time: 0.774 ms] [children: 99.4%] [unaccounted: 0.646%]
13:32:23: | Convert444toNV12 - [99.4%] [avg time: 0.769 ms]
13:32:23: encoder thread frame - [100%] [avg time: 1.446 ms]
13:32:23: ==============================================================
13:32:23: 
13:32:23: 
13:32:23: Profiler CPU results:
13:32:23: 
13:32:23: ==============================================================
13:32:23: video thread frame - [cpu time: avg 0.101 ms, total 15.6 ms] [avg calls per frame: 1]
13:32:23: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:32:23: | GPU download and conversion - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:32:23: | | flush - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:32:23: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:32:23: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:32:23: Convert444Threads - [cpu time: avg 0.812 ms, total 234 ms] [avg calls per frame: 2]
13:32:23: | Convert444toNV12 - [cpu time: avg 0.812 ms, total 234 ms] [avg calls per frame: 2]
13:32:23: encoder thread frame - [cpu time: avg 1.2 ms, total 171.601 ms] [avg calls per frame: 1]
13:32:23: ==============================================================
13:32:23: 
13:32:23: =====Stream End: 2014-01-28, 13:32:23=================================================
13:32:28: Using fixed low latency mode, factor 20
13:32:28: =====Stream Start: 2014-01-28, 13:32:28===============================================
13:32:28:   Multithreaded optimizations: On
13:32:28:   Base resolution: 1920x1080
13:32:28:   Output resolution: 1280x720
13:32:28: ------------------------------------------
13:32:28: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
13:32:28: ------------------------------------------
13:32:28: Audio Format: 48000hz
13:32:28: Playback device Default
13:32:28: ------------------------------------------
13:32:28: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
13:32:28: ------------------------------------------
13:32:28: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
13:32:28: ------------------------------------------
13:32:28: Audio Encoding: AAC
13:32:28:     bitrate: 128
13:32:28: Using Window Capture
13:32:28: Scene buffering time set to 200
13:32:28: ------------------------------------------
13:32:28: Video Encoding: x264
13:32:28:     fps: 30
13:32:28:     width: 1280, height: 720
13:32:28:     preset: veryfast
13:32:28:     profile: main
13:32:28:     keyint: 60
13:32:28:     CBR: yes
13:32:28:     CFR: no
13:32:28:     max bitrate: 1900
13:32:28:     buffer size: 1900
13:32:28: ------------------------------------------
13:32:28: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
13:32:28: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
13:32:30: Using RTMP service: Twitch / Justin.tv
13:32:30:   Server selection: rtmp://live-ams.justin.tv/app
13:32:30:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
13:32:30: Completed handshake with rtmp://live-ams.justin.tv/app in 345 ms.
13:32:31: SO_SNDBUF was at 8192
13:32:31: SO_SNDBUF is now 65536
13:33:09: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
13:33:09:   New Scene
13:33:09: Using graphics capture
13:33:18: SharedTexCapture hooked
13:33:59: GraphicsCaptureSource::NewCapture:  eliminating old capture
13:33:59: SharedTexCapture hooked
13:39:48: Exit signal received, terminating capture
13:39:49: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
13:39:49:   New Scene
13:39:49: Using Window Capture
13:39:52: Total frames encoded: 13296, total frames duplicated: 29 (0.22%)
13:39:52: Total frames rendered: 13285, number of late frames: 6 (0.05%) (it's okay for some frames to be late)
13:39:52: RTMPPublisher::SocketLoop: Socket error, send() returned -1, GetLastError() 10038
13:39:52: Average send payload: 12726 bytes, average send interval: 50 ms
13:39:52: Number of times waited to send: 0, Waited for a total of 0 bytes
13:39:52: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
13:39:52: Number of bytes sent: 111852600
13:39:52: 
13:39:52: Profiler time results:
13:39:52: 
13:39:52: ==============================================================
13:39:52: video thread frame - [100%] [avg time: 1.503 ms] [children: 54.6%] [unaccounted: 45.4%]
13:39:52: | scene->Preprocess - [4.26%] [avg time: 0.064 ms]
13:39:52: | GPU download and conversion - [50.4%] [avg time: 0.757 ms] [children: 34.7%] [unaccounted: 15.7%]
13:39:52: | | flush - [33.3%] [avg time: 0.501 ms]
13:39:52: | | CopyResource - [0.931%] [avg time: 0.014 ms]
13:39:52: | | conversion to 4:2:0 - [0.399%] [avg time: 0.006 ms]
13:39:52: Convert444Threads - [100%] [avg time: 0.925 ms] [children: 98.7%] [unaccounted: 1.3%]
13:39:52: | Convert444toNV12 - [98.7%] [avg time: 0.913 ms]
13:39:52: encoder thread frame - [100%] [avg time: 1.349 ms]
13:39:52: ==============================================================
13:39:52: 
13:39:52: 
13:39:52: Profiler CPU results:
13:39:52: 
13:39:52: ==============================================================
13:39:52: video thread frame - [cpu time: avg 0.2 ms, total 2667.62 ms] [avg calls per frame: 1]
13:39:52: | scene->Preprocess - [cpu time: avg 0.002 ms, total 31.201 ms] [avg calls per frame: 1]
13:39:52: | GPU download and conversion - [cpu time: avg 0.051 ms, total 686.405 ms] [avg calls per frame: 1]
13:39:52: | | flush - [cpu time: avg 0.034 ms, total 452.404 ms] [avg calls per frame: 1]
13:39:52: | | CopyResource - [cpu time: avg 0.008 ms, total 109.2 ms] [avg calls per frame: 1]
13:39:52: | | conversion to 4:2:0 - [cpu time: avg 0.002 ms, total 31.2 ms] [avg calls per frame: 1]
13:39:52: Convert444Threads - [cpu time: avg 1.086 ms, total 28844.6 ms] [avg calls per frame: 2]
13:39:52: | Convert444toNV12 - [cpu time: avg 1.083 ms, total 28766.6 ms] [avg calls per frame: 2]
13:39:52: encoder thread frame - [cpu time: avg 1.095 ms, total 14554.9 ms] [avg calls per frame: 1]
13:39:52: ==============================================================
13:39:52: 
13:39:52: =====Stream End: 2014-01-28, 13:39:52=================================================
Before that stream I removed custom buffer, changed fps to 30 and turned off CFR(no idea why it was on). Stream seems choppy and by choppy I mean - on my side everything is golden, a bit fps drop (from 180 to 110 or so) no lags, but on the viewer side when my character moves - it seems like it loses 1 or 2 frames in theprocess, a bit of stutter is a good explanation. When my character stays in one place there is no such thing. I have no idea why, I think my computer/internet should handle a 720p stream. Any ideas? :)

Thanks for your time !

P.S I have no idea how to make twitch save my stream so I can post it to you :/ I could upload a file though, on uploaded.net or something?

P.S 2 I just ordered new internet speed that will come in ~1-2 days, 100mb/s download and 5mb/s upload. Is this enough to stream? I think that 3000 kb/s should be enough for streaming right?
 
You should keep CFR on, not off. You've got your buffer size correct in the last new log, but as said, keep it less than or equal to your bitrate.

To get Twitch to save your broadcasts, make sure you're logged in first, then go here: http://www.twitch.tv/settings/channel , and check "Automatically archive my broadcasts" under the "Archive Broadcasts" heading. If you make a highlight from a saved archive, it'll be saved "forever" (who knows if that's true), otherwise Twitch will delete it in a few days.

Your log otherwise looks good. Duplicated frames are at .22%, which is usually perceived to be fine as long as they're kept under 1%. Try again with CFR on, as having it turned off is cheating things a bit.

One change you could make is to set all your audio devices to the same samples per second you set OBS to. So set everything to 44100 instead of having a mix of 44100 and 48000. This should save OBS from having to translate it from one to the other, making it do less work. But this is a small matter and shouldn't affect much in any case.

A lot of people have trouble streaming League of Legends, and I'm not sure why. I think its the tendency to have LoL run at super high framerates, higher than your monitor can actually show. I have no idea why this is important, perhaps try setting your upper rate lower, like 120 instead of 200?

Oh, you mention your upload is only 2.4 Mb/s and you're streaming at 1.9. Usually with a huge buffer. That buffer means you might burst well over your maximum upload. I don't see any problem in the log file, but as a test, try setting your buffer to lower than your bitrate, like 1200.
 
I have a video of what I mean :) thanks for the suggestion about archives.
http://www.twitch.tv/stnq/b/498880288
So this is on my test streaming acc. As you can see quality is kinda meh (would love to be better, is there a way?) but the thing is if you look at the screen you can notice small kind off "jumps" or stutters or something.
Problem is mostly visible when stream is viewed on full screen, when its not - its kind off better. Also when Im not moving my character and for example little guys (minions) are moving, they look great, but as soon as the screen starts to change (im moving, so enviroment is changing etc) it all goes to hell :(

I have turned CFR on. I will try to do next sample with audio on the same samples, but can you tell me what is wrong with my setup based on the video and logs?
I have Resolution downscale set up on 1.5 and filter is lanczos - 36 samples.
I have no idea how to make it better, tried everything I could find.
THanks for all the help guys :)

EDIT: this is the log from the stream.
Code:
16:05:11: Open Broadcaster Software v0.592b - 64bit ( ^ω^)
16:05:11: -------------------------------
16:05:11: CPU Name: AMD FX(tm)-8150 Eight-Core Processor
16:05:11: CPU Speed: 3607MHz
16:05:11: Physical Memory:  8175MB Total, 6139MB Free
16:05:11: stepping id: 2, model 1, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 8, total cores 4
16:05:11: monitor 1: pos={0, 0}, size={1920, 1080}
16:05:11: Windows Version: 6.1 Build 7601 S
16:05:11: Aero is Enabled
16:05:11: -------------------------------
16:05:11: OBS Modules:
16:05:11: Base Address     Module
16:05:11: 000000003F1E0000 OBS.exe
16:05:11: 00000000ED360000 OBSApi.dll
16:05:11: 00000000FB7D0000 DShowPlugin.dll
16:05:11: 00000000FB7A0000 GraphicsCapture.dll
16:05:11: 00000000FB780000 NoiseGate.dll
16:05:11: 00000000FB760000 PSVPlugin.dll
16:05:11: 00000000FB740000 scenesw.dll
16:05:11: ------------------------------------------
16:05:11: Adapter 1
16:05:11:   Video Adapter: AMD Radeon HD 6900 Series
16:05:11:   Video Adapter Dedicated Video Memory: 2134593536
16:05:11:   Video Adapter Shared System Memory: 4017743872
16:05:11:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
16:05:11: =====Stream Start: 2014-01-28, 16:05:11===============================================
16:05:11:   Multithreaded optimizations: On
16:05:11:   Base resolution: 1920x1080
16:05:11:   Output resolution: 1280x720
16:05:11: ------------------------------------------
16:05:11: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
16:05:11: ------------------------------------------
16:05:11: Audio Format: 48000hz
16:05:11: Playback device Default
16:05:11: ------------------------------------------
16:05:11: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
16:05:11: ------------------------------------------
16:05:11: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
16:05:11: ------------------------------------------
16:05:11: Audio Encoding: AAC
16:05:11:     bitrate: 128
16:05:11: Using Window Capture
16:05:11: Scene buffering time set to 200
16:05:11: ------------------------------------------
16:05:11: Video Encoding: x264
16:05:11:     fps: 30
16:05:11:     width: 1280, height: 720
16:05:11:     preset: veryfast
16:05:11:     profile: main
16:05:11:     keyint: 60
16:05:11:     CBR: yes
16:05:11:     CFR: yes
16:05:11:     max bitrate: 1900
16:05:11:     buffer size: 1900
16:05:11: ------------------------------------------
16:05:11: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
16:05:11: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
16:05:42: Total frames encoded: 927, total frames duplicated: 0 (0.00%)
16:05:42: Total frames rendered: 931, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
16:05:43: 
16:05:43: Profiler time results:
16:05:43: 
16:05:43: ==============================================================
16:05:43: video thread frame - [100%] [avg time: 1.224 ms] [children: 68.5%] [unaccounted: 31.5%]
16:05:43: | scene->Preprocess - [60%] [avg time: 0.735 ms]
16:05:43: | GPU download and conversion - [8.42%] [avg time: 0.103 ms] [children: 7.27%] [unaccounted: 1.14%]
16:05:43: | | flush - [6.05%] [avg time: 0.074 ms]
16:05:43: | | CopyResource - [0.817%] [avg time: 0.01 ms]
16:05:43: | | conversion to 4:2:0 - [0.408%] [avg time: 0.005 ms]
16:05:43: Convert444Threads - [100%] [avg time: 0.693 ms] [children: 99.3%] [unaccounted: 0.722%]
16:05:43: | Convert444toNV12 - [99.3%] [avg time: 0.688 ms]
16:05:43: encoder thread frame - [100%] [avg time: 1.175 ms]
16:05:43: ==============================================================
16:05:43: 
16:05:43: 
16:05:43: Profiler CPU results:
16:05:43: 
16:05:43: ==============================================================
16:05:43: video thread frame - [cpu time: avg 0.301 ms, total 280.801 ms] [avg calls per frame: 1]
16:05:43: | scene->Preprocess - [cpu time: avg 0.016 ms, total 15.6 ms] [avg calls per frame: 1]
16:05:43: | GPU download and conversion - [cpu time: avg 0.033 ms, total 31.2 ms] [avg calls per frame: 1]
16:05:43: | | flush - [cpu time: avg 0.033 ms, total 31.2 ms] [avg calls per frame: 1]
16:05:43: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:05:43: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:05:43: Convert444Threads - [cpu time: avg 0.812 ms, total 1497.61 ms] [avg calls per frame: 2]
16:05:43: | Convert444toNV12 - [cpu time: avg 0.812 ms, total 1497.61 ms] [avg calls per frame: 2]
16:05:43: encoder thread frame - [cpu time: avg 0.897 ms, total 826.805 ms] [avg calls per frame: 1]
16:05:43: ==============================================================
16:05:43: 
16:05:43: =====Stream End: 2014-01-28, 16:05:43=================================================
16:05:46: Using fixed low latency mode, factor 20
16:05:46: =====Stream Start: 2014-01-28, 16:05:46===============================================
16:05:46:   Multithreaded optimizations: On
16:05:46:   Base resolution: 1920x1080
16:05:46:   Output resolution: 1280x720
16:05:46: ------------------------------------------
16:05:46: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
16:05:46: ------------------------------------------
16:05:46: Audio Format: 48000hz
16:05:46: Playback device Default
16:05:46: ------------------------------------------
16:05:46: Using desktop audio input: AMD HDMI Output (AMD High Definition Audio Device)
16:05:46: ------------------------------------------
16:05:46: Using auxilary audio input: FrontMic (Realtek High Definition Audio)
16:05:46: ------------------------------------------
16:05:46: Audio Encoding: AAC
16:05:46:     bitrate: 128
16:05:46: Using Window Capture
16:05:46: Scene buffering time set to 200
16:05:46: ------------------------------------------
16:05:46: Video Encoding: x264
16:05:46:     fps: 30
16:05:46:     width: 1280, height: 720
16:05:46:     preset: veryfast
16:05:46:     profile: main
16:05:46:     keyint: 60
16:05:46:     CBR: yes
16:05:46:     CFR: yes
16:05:46:     max bitrate: 1900
16:05:46:     buffer size: 1900
16:05:46: ------------------------------------------
16:05:46: MMDeviceAudioSource: Frequency for device 'AMD HDMI Output (AMD High Definition Audio Device)' is 384000, samples per sec is 48000
16:05:46: MMDeviceAudioSource: Frequency for device 'FrontMic (Realtek High Definition Audio)' is 352800, samples per sec is 44100
16:05:48: Using RTMP service: Twitch / Justin.tv
16:05:48:   Server selection: rtmp://live-ams.justin.tv/app
16:05:48:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
16:05:48: Completed handshake with rtmp://live-ams.justin.tv/app in 347 ms.
16:05:49: SO_SNDBUF was at 8192
16:05:49: SO_SNDBUF is now 65536
16:05:58: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:05:58:   New Scene
16:05:58: Using graphics capture
16:06:07: SharedTexCapture hooked
16:08:13: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 18269 / 259072)
16:11:44: Total frames encoded: 10712, total frames duplicated: 16 (0.15%)
16:11:44: Total frames rendered: 10712, number of late frames: 3 (0.03%) (it's okay for some frames to be late)
16:11:44: RTMPPublisher::SocketLoop: Socket error, send() returned -1, GetLastError() 10038
16:11:44: Average send payload: 12748 bytes, average send interval: 50 ms
16:11:44: Number of times waited to send: 0, Waited for a total of 0 bytes
16:11:44: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
16:11:44: Number of bytes sent: 90007039
16:11:44: 
16:11:44: Profiler time results:
16:11:44: 
16:11:44: ==============================================================
16:11:44: video thread frame - [100%] [avg time: 1.432 ms] [children: 53.2%] [unaccounted: 46.8%]
16:11:44: | scene->Preprocess - [1.54%] [avg time: 0.022 ms]
16:11:44: | GPU download and conversion - [51.7%] [avg time: 0.74 ms] [children: 43.9%] [unaccounted: 7.75%]
16:11:44: | | flush - [42.7%] [avg time: 0.611 ms]
16:11:44: | | CopyResource - [0.908%] [avg time: 0.013 ms]
16:11:44: | | conversion to 4:2:0 - [0.349%] [avg time: 0.005 ms]
16:11:44: Convert444Threads - [100%] [avg time: 0.992 ms] [children: 98.5%] [unaccounted: 1.51%]
16:11:44: | Convert444toNV12 - [98.5%] [avg time: 0.977 ms]
16:11:44: encoder thread frame - [100%] [avg time: 1.43 ms]
16:11:44: ==============================================================
16:11:44: 
16:11:44: 
16:11:44: Profiler CPU results:
16:11:44: 
16:11:44: ==============================================================
16:11:44: video thread frame - [cpu time: avg 0.136 ms, total 1466.41 ms] [avg calls per frame: 1]
16:11:44: | scene->Preprocess - [cpu time: avg 0.002 ms, total 31.2 ms] [avg calls per frame: 1]
16:11:44: | GPU download and conversion - [cpu time: avg 0.037 ms, total 405.602 ms] [avg calls per frame: 1]
16:11:44: | | flush - [cpu time: avg 0.032 ms, total 343.201 ms] [avg calls per frame: 1]
16:11:44: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:11:44: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:11:44: Convert444Threads - [cpu time: avg 1.174 ms, total 25147.4 ms] [avg calls per frame: 2]
16:11:44: | Convert444toNV12 - [cpu time: avg 1.174 ms, total 25131.8 ms] [avg calls per frame: 2]
16:11:44: encoder thread frame - [cpu time: avg 1.17 ms, total 12526.9 ms] [avg calls per frame: 1]
16:11:44: ==============================================================
16:11:44: 
16:11:44: =====Stream End: 2014-01-28, 16:11:44=================================================
 
Apart from a low scene buffering time everything else seems to be normal looking at your latest log.. OBS reported back that it had no issues capturing and outputting at full 30fps the VOD also played just fine when opened on a media player. What you're experiencing should more than likely be the cause of flash player not handling the video frame timings correctly.
 
So what you are saying is my viewers will see this video normally? Without the "jumps"? How can I improve the quality of my stream? If I will get 3000 bitrate, can I use NO reslotuion downscale? Will it help with the quality? Or is it based on my cpu/gpu, not my intewrnet?
 
I agree with Hilalpro, it played back fine. There's no issues to be found in your log file either.

Flash player has always kind of sucked, you might make sure your Flash drivers are up to date by heading to Adobe's site. If it was a bandwidth issue outbound, it would show up in the log, but it doesn't. And inbound it would buffer if the bitrate was too high, not stutter. Combined with the fact that you say its only really a problem when full screen makes me believe your computer isn't playing back the Flash sufficiently, which isn't the fault of your computer so much as the fact that Flash is shitty, but go ahead and update your Flash to the latest anyways, if it isn't.
 
Well I do believe it is better when not on full screen, but hey, it might be that Im looking for the better.
Will update flash player, but could you answer my questions about quality? How can I get it better? How much more can I squeeze out of my computer?


Also, could you see the video and tell me if you see any stutter/jumps that background does( you know, like losing frames and such) ? I might be paranoid here, but I checked on another computer and it was a bit jumpy too.

And what does low buffering scene time? Should I increase it, decrease it, what I want to achieve with this?
 
Stnq said:
Well I do believe it is better when not on full screen, but hey, it might be that Im looking for the better.
Will update flash player, but could you answer my questions about quality? How can I get it better? How much more can I squeeze out of my computer?


Also, could you see the video and tell me if you see any stutter/jumps that background does( you know, like losing frames and such) ? I might be paranoid here, but I checked on another computer and it was a bit jumpy too.

And what does low buffering scene time? Should I increase it, decrease it, what I want to achieve with this?

The quality is great, there's no good reason to mess with it. If you insist on messing with it, try going from Very Fast preset to Faster. Your game frame rate will drop lower and your log file will show an increase in duplicated frames. And then you'll want to set it back, because there won't be a noticeable increase in quality of your stream. Of course I could be wrong, but because your duplicated frames aren't something like .02%, I think your stream is already well-tweaked.

And you haven't taken my advise about the audio samples per second yet.

The buffering scene time is this line:

16:05:11: Scene buffering time set to 200
I think older versions of OBS defaulted it to 400, so its strange yours is set to 200. The current version of OBS sets it to 700, but it doesn't update people's values if they're already set to something else. You can go ahead and change it to 700 if you like.
 
I tested it again on 44.1 audio samples. I changed the buffering scene time to 700 too.
http://www.twitch.tv/stnq/b/498901416
As you can see (Im talking particulary about scene from 1:43 to 1:53) the stream jumps, like it lost some frames or so. Its best seen on the right side, on the trees, where you can clearly see this. I haven't noticed in on other (even the less popular streamers without partnership) streams. Apart of the quality, which I could use (its ok) I would like to eliminate the stutter/jump.

Once again thanks for your time :)
 
I really don't see a problem from 1:43 to 1:53. 1:25 to 1:30 on the other hand seemed pretty choppy.

Here's another thing you can try: Under Settings > Advanced, check "Custom x264 Encoder Settings" and add a line "threads=x", no quotes, where x is a whole number of 12 or less. 12 is going to be the default for your CPU, set it one lower than that and see if you get less or more duplicated frames. If less, keep going one lower until duplicated frames increase again, then you're at the best number of threads. On my CPU (a 4-core / 8 with hyperthreading Intel CPU), I get best performance at 9 or 10 threads. I really don't know if this works for AMD or not.
 
And I should look for duplicated frames where?
Also, increasing fps to 60 (while I have 5mb/s upload, not 2.5 mb/s) will smooth things out right?
 
Stnq said:
And I should look for duplicated frames where?
Also, increasing fps to 60 (while I have 5mb/s upload, not 2.5 mb/s) will smooth things out right?

04:38:04: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 24467 / 259072)
04:39:21: Exit signal received, terminating capture
04:39:27: Total frames encoded: 5096, total frames duplicated: 25 (0.49%)
04:39:27: Total frames rendered: 5098, number of late frames: 3 (0.06%) (it's okay for some frames to be late)
04:39:27: RTMPPublisher::SocketLoop: Graceful loop exit

The line I bolded in your log file excerpt above.

Increasing the FPS will increase smoothness at the cost of increased CPU utilization and decreased image quality. The image quality decreases because your bits, of which you have a semi-constant amount of 1900k per second, are spread over more frames. So each frame gets fewer bits, and therefore looks worse.

Its not entirely that bad, it won't look "twice" as bad, for example, because there's some positive externalities at work. For example, more frames between Twitch's 2 second keyframes, and all the motion vectors should be about halved, etc.

On the other hand, it hits your CPU harder and probably hits Flash harder as well. If the Flash player was having trouble before, it might have an even harder time at double the framerate. No harm in experimenting, as long as you remember how to get back to what mostly-worked in the first place.
 
Thats why I wrote about 5 mb/s. I think I will give a steady 2500-3000k per second and I was asking if when I change the fps to 60 on those parameters, in theory, it should be smoother and not so choppy, right? Sorry, just throwing out ideas :) Also my CPU is fairly powerfull (I think) and I have extra 20 fps to drop in-game (since I have a steady 100+ fps i can stress it with OBS to get 80fps in game and it still will be good for me).

As for the duplicated frames - I checked my logs and the % number varies from log to log. Should I just do whats average for this and then look if it goes down based on the number of threads?
I checked all the logs and with the earlier settings (earlier logs) I had anything from 2% to even 24%. Based on latest logs I can say that I have from 0.08% to 0.56%. Now I have no idea what should I look for (when I change threads), since it varies so much.
 
Stnq said:
Thats why I wrote about 5 mb/s. I think I will give a steady 2500-3000k per second and I was asking if when I change the fps to 60 on those parameters, in theory, it should be smoother and not so choppy, right? Sorry, just throwing out ideas :) Also my CPU is fairly powerfull (I think) and I have extra 20 fps to drop in-game (since I have a steady 100+ fps i can stress it with OBS to get 80fps in game and it still will be good for me).

As for the duplicated frames - I checked my logs and the % number varies from log to log. Should I just do whats average for this and then look if it goes down based on the number of threads?
I checked all the logs and with the earlier settings (earlier logs) I had anything from 2% to even 24%. Based on latest logs I can say that I have from 0.08% to 0.56%. Now I have no idea what should I look for (when I change threads), since it varies so much.

Yeah you can also compensate for increased FPS by increasing the bitrate. I also have a 5Mb up line, and I use 3000 bitrate with 2000 buffer at 720p60. But I also play Planetside 2 which is probably more demanding on x264 encoding than LoL, so you may be able to get away with a lower bitrate than that.

As for duplicated frames, I check mine after every long play session. One or two minute encodes aren't going to ever give consistent results, but hour or two long streams are pretty reliable. I always say 5 minutes, because for diagnosing OBS problems, its usually good enough. But for fine tweaking (which is the stage you're at now) you probably want to play whole games that take a while and then look at the log file at the end of it. The longer the stream the more valid the statistics in the log file are going to be (assuming you were doing something and not staring at a static screen the whole time).

I don't know if it exists for LoL, but back in the Quake days, there existed a thing called a timedemo. Basically the game ran a scripted/recorded loop and you'd measure how long it took to play back. If you could get a 30 minute timedemo, it would give a consistent input that when recorded by OBS would enable you to reliably measure the effect of changed settings. Barring that I'd just look after every relatively long play session and make small tweaks in between.
 
I'll check with you after I'll get my new internet up and runing. Expect me in 2 days or so :) I will run a whole game stream (with archiving broadcast) just for the test and I'll see then.
Thank you for all your input, I didnt expect so much help in such short time. See you :)

Also, why do you use lower buffer than bitrate? What's the difference between 3000 buffer nad 2000 buffer in your case? The bigger the better, or smaller is better? + what he is eating (the buffer)? Internet, cpu, gpu, ram?
 
Np, it was an interesting case. The smaller the buffer the less spiky / more consistent the stream size is at the cost of lower quality. When I tried 3000/3000 and there was a complex moment in the video, x264 would use more bits with the 3000 buffer to compensate, and it would put me over my Upload limit and lag out my actual game traffic. I lowered it bit by bit and somewhere before 2000 it seemed to stop happening, and because I didn't want it to happen ever, I just made it an even 2000. I also tried 2500/2500 but that was also too spiky, somehow 3000/2000 was better.
 
So buffer basically takes whats left of your internet upload when it thinks you need, right? So if you go 3000/2000 it means you use constant 3000kb/s and when stress comes it CAN take up to 2000 more? Am I right on this?
Also, big buffer means the game itself lags and ping spikes, right? So I just need to find what work best for me, there is no guide for this (based on components/internet)? No math involved, just trial and error?

EDIT:
I got my new internet and as a result of testmy.net it has :

Download :: 13.2 Mbps 1.7 MB/s Upload :: 4.3 Mbps 544kB/s
While download stays constant I saw that when I test two or three times my upload seems to fluctuate (anything from 3 to 4.3).
Also, this means I can easily set up 3000 bitrate? It bothers me because I have 544kB/s (so its kilobytes) and bitrate is in kb (kilobits?). So 544kB/s = 544*8 = ~4352 kb/s right?

Is testmy.net reliable source of this information? Should I be worried that my upload rate fluctuates so hard?

EDIT2:
After I changed the test server to the closest to my location (Amsterdam, same as twitch server I choose to) it displays Download :: 72 Mbps 9 MB/s and my upload went up to about 4.7 Mbps. Its a lot more than the previous setting, now I have no idea wheter my internet is good or not.
 
Back
Top