Question / Help Pixelated Stream

Dekonic

New Member
I've just started streaming and I have noticed that not matter what I do, 720, 1080 30-60 FPS the stream is pixelated when moving. My bitrate is anywhere from 4-7k and it's still pixelated.

Motherboard: Asus Sabertooth Z77
RAM: 32 GB of Corsair Vengeance
Processor: Intel I7 3770k 3.5 GHz
GPU: GTX 680 Super Clocked GPU.

Download: 30 Upload: 7-10

Is there something I am doing wrong?
 
Last edited:

Dekonic

New Member
http://www.twitch.tv/dekonic/c/3955917

Code:
11:44:16: No Intel graphics adapter visible in QSVHelper.exe, Optimus problem?
11:44:16: CUDA loaded successfully
11:44:16: 1 CUDA capable devices found
11:44:16: [ GPU #0 - < GeForce GTX 680 > has Compute SM 3.0, NVENC Available ]
11:47:38: Open Broadcaster Software v0.613b - 64bit ( ^ω^)
11:47:38: -------------------------------
11:47:38: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
11:47:38: CPU Speed: 3510MHz
11:47:38: Physical Memory:  32712MB Total, 26726MB Free
11:47:38: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
11:47:38: monitor 1: pos={0, 0}, size={1920, 1080}
11:47:38: Windows Version: 6.1 Build 7601 S
11:47:38: Aero is Enabled
11:47:38: -------------------------------
11:47:38: OBS Modules:
11:47:38: Base Address     Module
11:47:38: 000000003F250000 OBS.exe
11:47:38: 00000000EDB40000 OBSApi.dll
11:47:38: 00000000F0230000 DShowPlugin.dll
11:47:38: 00000000F2A60000 GraphicsCapture.dll
11:47:38: 00000000F2A40000 NoiseGate.dll
11:47:38: 00000000F2D40000 PSVPlugin.dll
11:47:38: ------------------------------------------
11:47:38: Adapter 1
11:47:38:   Video Adapter: NVIDIA GeForce GTX 680
11:47:38:   Video Adapter Dedicated Video Memory: 2087387136
11:47:38:   Video Adapter Shared System Memory: 2147807232
11:47:38:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
11:47:38: =====Stream Start: 2014-04-02, 11:47:38===============================================
11:47:38:   Multithreaded optimizations: On
11:47:38:   Base resolution: 1920x1080
11:47:38:   Output resolution: 1536x864
11:47:38: ------------------------------------------
11:47:38: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
11:47:38: ------------------------------------------
11:47:38: Audio Format: 48000 Hz
11:47:38: ------------------------------------------
11:47:38: Audio Channels: 2 Ch
11:47:38: Playback device {0.0.0.00000000}.{65fa5301-266b-45a1-a570-70044a12a8c5}
11:47:38: ------------------------------------------
11:47:38: Using desktop audio input: Speakers (Realtek High Definition Audio)
11:47:38: Using 7.1 surround speaker setup
11:47:38: ------------------------------------------
11:47:38: Using auxilary audio input: Microphone (Realtek High Definition Audio)
11:47:38: ------------------------------------------
11:47:38: Audio Encoding: AAC
11:47:38:     bitrate: 128
11:47:38: Using graphics capture
11:47:38: Scene buffering time set to 700
11:47:38: ------------------------------------------
11:47:38: Video Encoding: x264
11:47:38:     fps: 60
11:47:38:     width: 1536, height: 864
11:47:38:     preset: veryfast
11:47:38:     profile: main
11:47:38:     keyint: 120
11:47:38:     CBR: yes
11:47:38:     CFR: no
11:47:38:     max bitrate: 4000
11:47:38:     buffer size: 4000
11:47:38: ------------------------------------------
11:47:38: SharedTexCapture hooked
11:47:38: Audio timestamp for device 'Microphone (Realtek High Definition Audio)' was behind target timestamp by 181999234
11:47:40: Using RTMP service: Twitch / Justin.tv
11:47:40:   Server selection: rtmp://live-ord.justin.tv/app
11:47:40:   Interface: Intel(R) 82579V Gigabit Network Connection (ethernet, 1000 mbps)
11:47:40: Completed handshake with rtmp://live-ord.justin.tv/app in 188 ms.
11:47:40: SO_SNDBUF was at 8192
11:47:40: SO_SNDBUF is now 65536
11:47:42: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 18082 / 528384)
12:03:01: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 528384)
12:21:10: Total frames encoded: 120709, total frames duplicated: 258 (0.21%)
12:21:10: Total frames rendered: 120702, number of late frames: 17 (0.01%) (it's okay for some frames to be late)
12:21:10: RTMPPublisher::SocketLoop: Graceful loop exit
12:21:11: Average send payload: 7996 bytes, average send interval: 15 ms
12:21:11: Number of times waited to send: 0, Waited for a total of 0 bytes
12:21:11: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
12:21:11: Number of bytes sent: 1039309125
12:21:11: 
12:21:11: Profiler time results:
12:21:11: 
12:21:11: ==============================================================
12:21:11: video thread frame - [100%] [avg time: 0.706 ms] [children: 19.4%] [unaccounted: 80.6%]
12:21:11: | scene->Preprocess - [0.283%] [avg time: 0.002 ms]
12:21:11: | GPU download and conversion - [19.1%] [avg time: 0.135 ms] [children: 11.8%] [unaccounted: 7.37%]
12:21:11: | | flush - [6.94%] [avg time: 0.049 ms]
12:21:11: | | CopyResource - [4.53%] [avg time: 0.032 ms]
12:21:11: | | conversion to 4:2:0 - [0.283%] [avg time: 0.002 ms]
12:21:11: Convert444Threads - [100%] [avg time: 0.718 ms] [children: 99.4%] [unaccounted: 0.557%]
12:21:11: | Convert444toNV12 - [99.4%] [avg time: 0.714 ms]
12:21:11: encoder thread frame - [100%] [avg time: 1.522 ms] [children: 2.56%] [unaccounted: 97.4%]
12:21:11: | sending stuff out - [2.56%] [avg time: 0.039 ms]
12:21:11: ==============================================================
12:21:11: 
12:21:11: 
12:21:11: Profiler CPU results:
12:21:11: 
12:21:11: ==============================================================
12:21:11: video thread frame - [cpu time: avg 0.154 ms, total 18657.7 ms] [avg calls per frame: 1]
12:21:11: | scene->Preprocess - [cpu time: avg 0 ms, total 31.202 ms] [avg calls per frame: 1]
12:21:11: | GPU download and conversion - [cpu time: avg 0.036 ms, total 4399.23 ms] [avg calls per frame: 1]
12:21:11: | | flush - [cpu time: avg 0.021 ms, total 2589.61 ms] [avg calls per frame: 1]
12:21:11: | | CopyResource - [cpu time: avg 0.006 ms, total 811.207 ms] [avg calls per frame: 1]
12:21:11: | | conversion to 4:2:0 - [cpu time: avg 0.001 ms, total 124.8 ms] [avg calls per frame: 1]
12:21:11: Convert444Threads - [cpu time: avg 0.703 ms, total 169838 ms] [avg calls per frame: 2]
12:21:11: | Convert444toNV12 - [cpu time: avg 0.7 ms, total 169012 ms] [avg calls per frame: 2]
12:21:11: encoder thread frame - [cpu time: avg 1.037 ms, total 125160 ms] [avg calls per frame: 1]
12:21:11: | sending stuff out - [cpu time: avg 0.026 ms, total 3166.81 ms] [avg calls per frame: 1]
12:21:11: ==============================================================
12:21:11: 
12:21:11: =====Stream End: 2014-04-02, 12:21:11=================================================


Last game capture log:
2014-04-02, 11:47:38: we're booting up: 
11:47:38: CaptureThread: attached to process left4dead2.exe
11:47:38: D3D9 Present
11:47:38: D3D9EndScene called
11:47:38: D3DPRESENT_PARAMETERS {
11:47:38:     BackBufferWidth: 1920
11:47:38:     BackBufferHeight: 1080
11:47:38:     BackBufferFormat: D3DFMT_A8R8G8B8
11:47:38:     BackBufferCount: 1
11:47:38:     MultiSampleType: D3DMULTISAMPLE_4_SAMPLES
11:47:38:     MultiSampleQuality: 0
11:47:38:     SwapEffect: D3DSWAPEFFECT_DISCARD
11:47:38:     hDeviceWindow: 4394608
11:47:38:     Windowed: true
11:47:38:     EnableAutoDepthStencil: true
11:47:38:     AutoDepthStencilFormat: D3DFMT_D24S8
11:47:38:     Flags: None
11:47:38:     FullScreen_RefreshRateInHz: 0
11:47:38:     PresentationInterval: 2147483648
11:47:38: };
11:47:38: successfully set up d3d9 hooks
11:47:38: D3D9Present called
11:47:38: DoD3D9GPUHook: success
11:47:38: D3DSURFACE_DESC {
11:47:38:     Format: D3DFMT_A8R8G8B8
11:47:38:     Type: D3DRTYPE_SURFACE
11:47:38:     Usage: D3DUSAGE_RENDERTARGET 
11:47:38:     Pool: D3DPOOL_DEFAULT
11:47:38:     MultiSampleType: D3DMULTISAMPLE_4_SAMPLES
11:47:38:     MultiSampleQuality: 0
11:47:38:     Width: 1920
11:47:38:     Height: 1080
11:47:38: };
11:47:38: successfully capturing d3d9 frames via GPU
11:47:38: NV Capture available
11:47:38: FBO available
11:47:38: GL Present
11:47:38: (half life scientist) everything..  seems to be in order
12:21:10: ---------------------- Cleared D3D9 Capture ----------------------
12:21:10: D3D9EndScene called
12:21:10: D3D9Present called
[code]
 

Floatingthru

Community Helper
You are actually using more bitrate than what twitch wants, which is 3500. If you want less pixelation/blurriness downscale your resolution a bit more, and even use 30fps if you aren't happy. Don't expect a perfect stream. I personally stream at 720p30 at around 2000 bitrate give or take so people can actually watch it.
 

XtraSurs

New Member
Try around 1700 to 1900. You shouldn't have over a 2k bitrate until you are partnered by Twitch or get quality options.
 

dodgepong

Administrator
Community Helper
Just to be clear, though, there's no Twitch prohibition against streaming above 2000kbps. You can stream above that if you want.

It sounds to me like you have an unrealistic expectation from what kind of quality you can get from streaming. At 4000kbps (which, as has been mentioned, is higher than Twitch wants) a 864p60 stream should look pretty good. I'd recommend lowering to 3500kbps and run either 1080p30 or 720p60.

Streaming is inherently lossy and you will not be able to get a perfect image, especially if you're playing a high-motion game, so make sure you adjust your expectations accordingly.
 

dodgepong

Administrator
Community Helper
Yeah, after watching your VOD, you definitely have too high of an expectation of what quality can be achieved with streaming. Your stream looks absolutely fine.
 

Dekonic

New Member
My expectations are high, mainly because I want my stream to please. Many, many people are picky and expect the most ridiculous quality. Thanks anyway.
 

XtraSurs

New Member
It's just the 2k rule which was applied by LethalFrag. A lot of viewers don't have that great of a computer and/or internet. Usually you would rely on quality options to save those kind of people. If you don't have those, that is going to really effect those kind of people's experience. Reference here ->
 

vbdkv

Member
Try using a slower preset such as fast or faster, they produce far less blocky pixels, but also increase CPU load. The quality also largely depends on the game you're trying to stream, some will look beautiful even when going as low as 1400kbps @ 720p/30 while others (even after bumping up the bandwidth to 3000kbps) look awful with loads of blocks.
 

ThoNohT

Developer
I'm sorry for going offtopic a bit here, but I'd like to clear this up.

It's just the 2k rule which was applied by LethalFrag.
Note that while LethalFrag is an awesome streamer, he is by no means an authority on streaming settings. His advice is not bad, and specifically well tailored to his own personal needs. But situations differ from person to person. The support guys from this forum help different people in different situations on a daily basis, and have a very good understanding of what is appropriate under which circumstances. This is something LethalFrag does not have, because that is not his job. His job is to stream, and that video, he made just to show the setup he chose for streaming, because people just like to know that.

I could write a long rant here about how popular streamers sometimes use their authority to promote the worst ideas about stream settings (this is not such a case though, he does know what he's talking about, mostly). But I think it's better if I end here.
 
Top