Question / Help stream not smooth for viewers [appears okay now]

jught

New Member
hey, been trying to set up OBS to stream league - but no matter what I do it doesn't seem to be smooth for the viewers. Im gonna post my log here, hopefully you can help me out



Code:
01:04:32: Open Broadcaster Software v0.571b - 64bit ( ^ω^)
01:04:32: -------------------------------
01:04:32: CPU Name: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
01:04:32: CPU Speed: 2672MHz
01:04:32: Physical Memory:  16384MB Total, 12545MB Free
01:04:32: stepping id: 5, model 10, family 6, type 0, extmodel 0, extfamily 0, HTT 1, logical cores 8, total cores 4
01:04:32: monitor 1: pos={0, 0}, size={1920, 1080}
01:04:32: Windows Version: 6.1 Build 7601 S
01:04:32: Aero is Enabled
01:04:32: -------------------------------
01:04:32: OBS Modules:
01:04:32: Base Address     Module
01:04:32: 000000003F2F0000 OBS.exe
01:04:32: 00000000E5D00000 OBSApi.dll
01:04:32: 00000000F7960000 DShowPlugin.dll
01:04:32: 00000000F7930000 GraphicsCapture.dll
01:04:32: 00000000F7910000 NoiseGate.dll
01:04:32: 00000000F78F0000 PSVPlugin.dll
01:04:32: ------------------------------------------
01:04:32: Adapter 1
01:04:32:   Video Adapter: ATI Radeon HD 5800 Series
01:04:32:   Video Adapter Dedicated Video Memory: 1053655040
01:04:32:   Video Adapter Shared System Memory: 4026531840
01:04:32: =====Stream Start: 2013-10-15, 01:04:32===============================================
01:04:32:   Multithreaded optimizations: On
01:04:32:   Base resolution: 1920x1080
01:04:32:   Output resolution: 1920x1080
01:04:32: ------------------------------------------
01:04:32: Loading up D3D10 on ATI Radeon HD 5800 Series...
01:04:32: ------------------------------------------
01:04:32: Audio Format: 48000hz
01:04:32: Playback device Default
01:04:32: ------------------------------------------
01:04:32: Using desktop audio input: Højttalere (G510 Gaming Keyboard)
01:04:32: ------------------------------------------
01:04:32: Using auxilary audio input: Mikrofon (G510 Gaming Keyboard)
01:04:32: ------------------------------------------
01:04:32: Audio Encoding: AAC
01:04:32:     bitrate: 160
01:04:32: Using graphics capture
01:04:32: Using Window Capture
01:04:32: Using bitmap image
01:04:32: ------------------------------------------
01:04:32: Video Encoding: x264
01:04:32:     fps: 30
01:04:32:     width: 1920, height: 1080
01:04:32:     preset: veryfast
01:04:32:     profile: high
01:04:32:     keyint: 60
01:04:32:     CBR: yes
01:04:32:     CFR: yes
01:04:32:     max bitrate: 2700
01:04:32:     buffer size: 2700
01:04:32: ------------------------------------------
01:04:32: MMDeviceAudioSource: Frequency for device 'Højttalere (G510 Gaming Keyboard)' is 384000, samples per sec is 48000
01:04:32: MMDeviceAudioSource: Frequency for device 'Mikrofon (G510 Gaming Keyboard)' is 192000, samples per sec is 48000
01:04:34: Using RTMP service: Twitch / Justin.tv
01:04:34:   Server selection: rtmp://live-fra.justin.tv/app
01:04:34:   Interface: Realtek PCI GBE Family Controller (ethernet, 100 mbps)
01:04:35: Completed handshake with rtmp://live-fra.justin.tv/app in 469 ms.
01:04:36: SO_SNDBUF was at 8192
01:04:36: SO_SNDBUF is now 65536
01:05:45: SharedTexCapture hooked
01:07:22: Total frames encoded: 5070, total frames duplicated: 10 (0.20%)
01:07:22: Total frames rendered: 5066, number of late frames: 1 (0.02%) (it's okay for some frames to be late)
01:07:22: RTMPPublisher::SocketLoop: Graceful loop exit
01:07:22: Average send payload: 8853 bytes, average send interval: 24 ms
01:07:22: Number of times waited to send: 0, Waited for a total of 0 bytes
01:07:22: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
01:07:22: Number of bytes sent: 58805554
01:07:22: 
01:07:22: Profiler time results:
01:07:22: 
01:07:22: ==============================================================
01:07:22: video thread frame - [100%] [avg time: 0.873 ms] [children: 34.8%] [unaccounted: 65.2%]
01:07:22: | scene->Preprocess - [34.8%] [avg time: 0.304 ms]
01:07:22: GPU download and conversion - [100%] [avg time: 0.456 ms] [children: 95.4%] [unaccounted: 4.61%]
01:07:22: | flush - [93%] [avg time: 0.424 ms]
01:07:22: | CopyResource - [1.97%] [avg time: 0.009 ms]
01:07:22: | conversion to 4:2:0 - [0.439%] [avg time: 0.002 ms]
01:07:22: Convert444Threads - [100%] [avg time: 1.663 ms] [children: 99.6%] [unaccounted: 0.421%]
01:07:22: | Convert444toNV12 - [99.6%] [avg time: 1.656 ms]
01:07:22: encoder thread frame - [100%] [avg time: 2.535 ms]
01:07:22: ==============================================================
01:07:22: 
01:07:22: 
01:07:22: Profiler CPU results:
01:07:22: 
01:07:22: ==============================================================
01:07:22: video thread frame - [cpu time: avg 0.101 ms, total 514.803 ms] [avg calls per frame: 1]
01:07:22: | scene->Preprocess - [cpu time: avg 0.012 ms, total 62.4 ms] [avg calls per frame: 1]
01:07:22: GPU download and conversion - [cpu time: avg 0.046 ms, total 234.001 ms] [avg calls per frame: 1]
01:07:22: | flush - [cpu time: avg 0.036 ms, total 187.201 ms] [avg calls per frame: 1]
01:07:22: | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
01:07:22: | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
01:07:22: Convert444Threads - [cpu time: avg 1.746 ms, total 17643.7 ms] [avg calls per frame: 2]
01:07:22: | Convert444toNV12 - [cpu time: avg 1.743 ms, total 17612.5 ms] [avg calls per frame: 2]
01:07:22: encoder thread frame - [cpu time: avg 2.149 ms, total 10873.3 ms] [avg calls per frame: 1]
01:07:22: ==============================================================
01:07:22: 
01:07:22: =====Stream End: 2013-10-15, 01:07:22=================================================


Last game capture log:
2013-10-15, 01:05:39: we're booting up: 
01:05:39: D3D9 Present
01:05:39: DXGI Present
01:05:40: NV Capture available
01:05:40: FBO available
01:05:40: GL Present
01:05:40: (half life scientist) everything..  seems to be in order
01:05:45: D3D9EndScene called
01:05:45: D3DPRESENT_PARAMETERS {
01:05:45: 	BackBufferWidth: 1920
01:05:45: 	BackBufferHeight: 1080
01:05:45: 	BackBufferFormat: D3DFMT_X8R8G8B8
01:05:45: 	BackBufferCount: 1
01:05:45: 	MultiSampleType: D3DMULTISAMPLE_NONE
01:05:45: 	MultiSampleQuality: 0
01:05:45: 	SwapEffect: D3DSWAPEFFECT_DISCARD
01:05:45: 	hDeviceWindow: 787160
01:05:45: 	Windowed: true
01:05:45: 	EnableAutoDepthStencil: true
01:05:45: 	AutoDepthStencilFormat: D3DFMT_D24S8
01:05:45: 	Flags: D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 
01:05:45: 	FullScreen_RefreshRateInHz: 0
01:05:45: 	PresentationInterval: 0
01:05:45: };
01:05:45: successfully set up d3d9 hooks
01:05:45: D3D9Present called
01:05:45: DoD3D9GPUHook: success
01:05:45: D3DSURFACE_DESC {
01:05:45: 	Format: D3DFMT_X8R8G8B8
01:05:45: 	Type: D3DRTYPE_SURFACE
01:05:45: 	Usage: D3DUSAGE_RENDERTARGET 
01:05:45: 	Pool: D3DPOOL_DEFAULT
01:05:45: 	MultiSampleType: D3DMULTISAMPLE_NONE
01:05:45: 	MultiSampleQuality: 0
01:05:45: 	Width: 1920
01:05:45: 	Height: 1080
01:05:45: };
01:05:45: successfully capturing d3d9 frames via GPU
01:07:22: ---------------------- Cleared D3D9 Capture ----------------------
01:07:22: received restart event, capturing
01:07:22: DoD3D9GPUHook: success
01:07:22: D3D9EndScene called
01:07:22: D3D9Present called
was just streaming to test it and create a new log, if anything is wrong let me know and ill try again.

http://www.twitch.tv/jught/b/470265385 - link to the vod, ingame at around 1:40
 

Krazy

Town drunk
Re: stream not smooth for viewers

You aren't dropping/skipping/lagging frames. Everything is getting to Twitch just fine. For some reason, your viewers are unable to watch your chosen bitrate. I suggest downscaling to 720p and reducing bitrate until they can watch again.
 

dodgepong

Administrator
Community Helper
Re: stream not smooth for viewers

Also, try to wait at least 24 hours before bumping your own posts. If you need help right away, come to the webchat.
 

jught

New Member
Re: stream not smooth for viewers

fair enough, I got a little bored so probably bumped abit early, sorry :x

thanks ill try what you said krazy
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Re: stream not smooth for viewers

Might be 1080p 60fps causing it. Like they said see if downscaling to 720p helps at all
 

dodgepong

Administrator
Community Helper
Re: stream not smooth for viewers

Oh yeah, 1080p60 is a great way to make it impossible for viewers to watch your stream. Flash is an incredible resource hog and only the best computers will be able to watch 1080p60. Either drop to 30fps or downscale your resolution.
 

dodgepong

Administrator
Community Helper
Re: stream not smooth for viewers

...I blame Jim for making me read keyint as FPS :V
 

FerretBomb

Active Member
Re: stream not smooth for viewers

I'd also put a good bit of blame on the 2700kbps video and 160kbps audio.
Unless you're a partnered streamer, Twitch recommends not going over 2000kbps video to help mitigate stuttering. This may mean having to downscale to 720p to retain video quality/clarity, or just letting your viewers deal with the stutter being there.

Additionally, with AAC, turn your audio bitrate down to 96kbps or 128kbps at most... 160 is just using more bandwidth and is next to unnoticeable, quality-wise.
 

jught

New Member
Re: stream not smooth for viewers

hey guys, i read all ur replies and im going to try them out in 10 minutes. ill let you know how it turns out
 

jught

New Member
Re: stream not smooth for viewers

okay, i changed it a little and now it seems to be much smoother. it only stutters a little when I minimize the game which is fine so it looks to be ok now.

i changed the bitrate to 2000, the audio to 96kbs and the resolution downscale to 1280x720.

the fps is still at 60, what difference would it make if i put it to 30?
 

ThoNohT

Developer
Re: stream not smooth for viewers

Your fps was at 30, so unless you raised it to 60, it should still be at 30.

The difference between 60 and 30 would be:
1. It might look a bit less smooth if you're used to only watching 60fps streams.
2. The frames might look a bit better, because you have to encode less frames in the same amount of time/bandwidth.
3. Your pc might have a bit less of a burden encoding it.

Now in your specific case:
1. You streamed at 30fps before (and possibly still are, keyint is set automatically when you set your keyframe interval to 2 as twitch requires, which is the number that read 60), so you won't really mind I think.
2. This will still apply, but as long as you have enough bitrate, this isn't really going to matter much.
3. Your pc had no issues encoding 1080p30, so 720p60 or 720p30 both should not be a problem either.
 

jught

New Member
Re: stream not smooth for viewers

okay, i guess its fine then. i think its set to 60 right now i was messing around with it abit

thanks for ur help people :)
 

FerretBomb

Active Member
30fps = clearer video, better image fidelity, less blocking.
60fps = smoother motion, but more prone to video breakup and other image artifacting.

I'd say that sticking with 60fps is probably going to be safe unless you're playing FPS, MOBA, third-person or racing games. For those (or anything with a lot of on-screen overall movement), I'd recommend going to 30fps to ensure your image fidelity is retained. For low overall-motion games, 60fps will work OK.

Think of bitrate as if it were paint. You can either cover a wall with two coats and make it look GOOD, or cover twice as much wall with a single coat, and look kind of crappy.
 

jught

New Member
i tried with both 30 fps and 60 fps, and it really runs much smoother on 60. it starts shuttering abit if i minimize but doesnt matter. the stream seems smooth though the quality isnt really amazing

also, what does CBR do?
 

FerretBomb

Active Member
60 will give smoother motion, but 2000 is borderline too-low; I'd recommend 45fps and see if you're happy with that, it'll help retain the image quality, while still keeping some of the smoothness bump.

Minimizing the game will definitely cause stutter, but that's on the system's end. It won't refresh something minimized too often as it will automatically background its priority. Entirely expected.

CBR = Constant Bit Rate. It helps to keep the data stream amount the same, instead of spiking HIGH and dropping extra-low. Makes it easier for the ingest server to deal with, and will also help to keep your network performance fairly steady. Make sure that CBR Padding is on as well.
Also, if you don't use it, Twitch will start cutting back on things... Excellent, you'll be available on mobile/console as well as the website. Acceptable, only the website. Incompatible, your stream will be outright rejected and discarded. Here's a link to the new Twitch requirements:

http://help.twitch.tv/customer/portal/a ... quirements
 

jught

New Member
my stream shows as excellent on twitch, so i suppose its all good.

thanks alot for your help, doubt it'd be working with it :)
 
Top