Question / Help Streaming and Recording is Grainy

Here is a video on my channel as an example: https://youtu.be/N6AR6sAA--w?t=21m37s

You can see my specs here: http://pcpartpicker.com/p/sVwwLk

My OBS settings are at the bottom.


The Issue: well you can see it your self. It is very grainy video, especially when moving. It is not just in Minecraft either: H1Z1 and Skyrim too. You can, hopefully, see by my specs that I should have no problem with this. And you can see my resolution and bit rate settings are, I believe, optimal.

Now maybe your are thinking, "Your internet probably just is not as good as you think it is." But I also recorded footage with OBS and it looked EXACTLY the same. I know when you record you would generally use better settings in OBS, but it was just a test to see if it was connection related. So idk if I have something messed up or what, but it is obviously caused by OBS.

On my channel you can go look at the Xenoblade videos. They were streamed with an Elgato, great quality. And last night I tried to stream Minecraft using PC-to-PC with my Elgato and it looked amazing! I normally record PC with Shadow Play and it looks amazing! In fact I would have just forgot OBS but for some reason when I have elgato and Minecraft going together my nvidia driver crashes.

It is clearly OBS settings, please help me!


OBS settings are in a reply because of text limits.
 
Code:
13:32:37: CLR host plugin strings not found, dynamically loading 4 strings
13:32:37: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
13:32:37: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
13:32:37: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
13:32:37: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
13:32:37: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
13:32:38: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
13:32:38: CLRHost:: Could not find/load browser settings at location C:\Users\Caleb\AppData\Roaming\OBS\pluginData\browser.json
13:32:38: CLRHost:: Exception: System.IO.FileNotFoundException: Could not find file 'C:\Users\Caleb\AppData\Roaming\OBS\pluginData\browser.json'.
13:32:38: File name: 'C:\Users\Caleb\AppData\Roaming\OBS\pluginData\browser.json'
13:32:38:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
13:32:38:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean 

bFromProxy, Boolean useLongPath, Boolean checkHost)
13:32:38:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
13:32:38:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
13:32:38:    at CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
13:32:38: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
13:32:38: Failed to initialize plugin plugins/CountdownPlugin.dll
13:32:39: Server Ping plugin strings not found, dynamically loading 24 strings
13:32:39: Failed to initialize plugin plugins/VideoSourcePluginWrapper.dll
13:33:11: Open Broadcaster Software v0.657b - 64bit ( ^ω^)
13:33:11: -------------------------------
13:33:11: CPU Name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
13:33:11: CPU Speed: 4000MHz
13:33:11: Physical Memory:  8061MB Total, 4689MB Free
13:33:11: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
13:33:11: monitor 1: pos={0, 0}, size={1920, 1080}
13:33:11: monitor 2: pos={1920, -13}, size={1920, 1080}
13:33:11: Windows Version: 6.3 Build 9600 (revision 17415)
13:33:11: Aero is Enabled
13:33:11: -------------------------------
13:33:11: OBS Modules:
13:33:11: Base Address     Module
13:33:11: 00000000FB8C0000 OBS.exe
13:33:11: 00000000DAC00000 OBSApi.dll
13:33:11: 00000000DB0A0000 CLRHostPlugin.dll
13:33:11: 00000000D62F0000 DShowPlugin.dll
13:33:11: 00000000D62B0000 GraphicsCapture.dll
13:33:11: 00000000D6280000 NoiseGate.dll
13:33:11: 00000000D6250000 PSVPlugin.dll
13:33:11: 00000000D6160000 scenesw.dll
13:33:11: 00000000D5BC0000 ServerPingPlugin.dll
13:33:11: ------------------------------------------
13:33:11: Adapter 1
13:33:11:   Video Adapter: NVIDIA GeForce GTX 970
13:33:11:   Video Adapter Dedicated Video Memory: 4186443776
13:33:11:   Video Adapter Shared System Memory: 4226301952
13:33:11:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
13:33:11:   Video Adapter Output 2: pos={1920, -13}, size={1920, 1080}, attached=true
13:33:11: ------------------------------------------
13:33:11: Adapter 2
13:33:11:   Video Adapter: Intel(R) HD Graphics 4600
13:33:11:   Video Adapter Dedicated Video Memory: 0
13:33:11:   Video Adapter Shared System Memory: 1879048192
13:33:11: =====Stream Start: 2016-01-11, 13:33:11===============================================
13:33:11:   Multithreaded optimizations: On
13:33:11:   Base resolution: 1920x1080
13:33:11:   Output resolution: 1920x1080
13:33:11: ------------------------------------------
13:33:11: Loading up D3D10 on NVIDIA GeForce GTX 970 (Adapter 1)...
13:33:11: ------------------------------------------
13:33:11: Audio Format: 48000 Hz
13:33:11: ------------------------------------------
13:33:11: Audio Channels: 2 Ch
13:33:11: Playback device Default
13:33:11: ------------------------------------------
13:33:11: Using desktop audio input: Speakers (Realtek High Definition Audio)
13:33:11: Global Audio time adjust: 0
13:33:11: ------------------------------------------
13:33:11: Audio Encoding: AAC
13:33:11:     bitrate: 128
13:33:11: Using graphics capture
13:33:11: Trying to hook process: javaw.exe
13:33:11: Scene buffering time set to 400
13:33:11: Successfully loaded ObsNvenc.dll
13:33:11: ObsNvenc initialized successfully
13:33:11: CUDA loaded successfully
13:33:11: 1 CUDA capable devices found
13:33:11: [ GPU #0 - < GeForce GTX 970 > has Compute SM 5.2, NVENC Available ]
13:33:11: NVENC internal init finished successfully
13:33:11: NVENC supports 10 h264 presets
13:33:11: ------------------------------------------
13:33:11: Video Encoding: NVENC
13:33:11:     fps: 30
13:33:11:     width: 1920, height: 1080
13:33:11:     preset: llhq
13:33:11:     profile: main
13:33:11:     level: autoselect
13:33:11:     keyint: 120
13:33:11:     CBR: yes
13:33:11:     CFR: yes
13:33:11:     max bitrate: 3800
13:33:11:     avg bitrate: 3800
13:33:11:     buffer size: 3800
13:33:11: ------------------------------------------
13:33:12: SharedTexCapture hooked
13:36:28: Capture window 0x001303C4 invalid or changing, terminating capture
13:36:32: SharedTexCapture hooked
13:55:08: FlushBufferedVideo: Flushing 45 packets over 733 ms
13:55:09: Total frames encoded: 79032, total frames duplicated: 208 (0.26%)
13:55:09: Number of frames skipped due to encoder lag: 6 (0.01%)
13:55:09: Total frames rendered: 78899, number of late frames: 28 (0.04%) (it's okay for some frames to be late)
13:55:09: Encoder closed
13:55:09: NVENC deinitialized
13:55:09:
13:55:09: Profiler time results:
13:55:09:
13:55:09: ==============================================================
13:55:09: video thread frame - [100%] [avg time: 0.332 ms] [children: 65.1%] [unaccounted: 34.9%]
13:55:09: | scene->Preprocess - [0.602%] [avg time: 0.002 ms]
13:55:09: | GPU download and conversion - [64.5%] [avg time: 0.214 ms] [children: 56.6%] [unaccounted: 7.83%]
13:55:09: | | flush - [50.9%] [avg time: 0.169 ms]
13:55:09: | | CopyResource - [1.51%] [avg time: 0.005 ms]
13:55:09: | | conversion to 4:2:0 - [4.22%] [avg time: 0.014 ms]
13:55:09: Convert444Threads - [100%] [avg time: 1.042 ms] [children: 99.6%] [unaccounted: 0.384%]
13:55:09: | Convert444toNV12 - [99.6%] [avg time: 1.038 ms]
13:55:09: encoder thread frame - [100%] [avg time: 3.169 ms] [children: 0.284%] [unaccounted: 99.7%]
13:55:09: | sending stuff out - [0.284%] [avg time: 0.009 ms]
13:55:09: ==============================================================
13:55:09:
13:55:09:
13:55:09: Profiler CPU results:
13:55:09:
13:55:09: ==============================================================
13:55:09: video thread frame - [cpu time: avg 0.002 ms, total 218.75 ms] [avg calls per frame: 1]
13:55:09: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:55:09: | GPU download and conversion - [cpu time: avg 0.001 ms, total 125 ms] [avg calls per frame: 1]
13:55:09: | | flush - [cpu time: avg 0.001 ms, total 125 ms] [avg calls per frame: 1]
13:55:09: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:55:09: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
13:55:09: Convert444Threads - [cpu time: avg 0.73 ms, total 115281 ms] [avg calls per frame: 2]
13:55:09: | Convert444toNV12 - [cpu time: avg 0.728 ms, total 114875 ms] [avg calls per frame: 2]
13:55:09: encoder thread frame - [cpu time: avg 0.18 ms, total 14250 ms] [avg calls per frame: 1]
13:55:09: | sending stuff out - [cpu time: avg 0.016 ms, total 1328.13 ms] [avg calls per frame: 1]
13:55:09: ==============================================================
13:55:09:
13:55:09: =====Stream End: 2016-01-11, 13:55:09=================================================
13:55:54: CLR host plugin instance deleted; removing dynamically loaded localization strings
13:55:54: Server Ping plugin instance deleted; removing dynamically loaded localization strings
13:55:54: Terminating 0x2810


Last game capture log:
2016-01-11, 13:33:11: we're booting up:
13:33:11: CaptureThread: attached to process javaw.exe
13:33:11: GL Present
13:33:11: DirectDraw capture: Windows 8 not supported yet
13:33:11: (half life scientist) everything..  seems to be in order
13:33:11: SwapBuffers(100731336) Called
13:33:11: NV Capture available
13:33:11: FBO available
13:33:11: setting up gl data
13:33:11: share device: 587321856
13:33:11: share texture: 917736560
13:33:11: share device handle: 4040943262
13:33:11: share texture handle: 3848805602
13:33:11: DoGLGPUHook: success
13:33:11: wglSwapBuffers(100731336) Called
13:36:29: new GL DC found (2399211412, was 100731336), terminating gl capture
13:36:29: ---------------------- Cleared OpenGL Capture ----------------------
13:36:29: wglSwapBuffers(2399211412) Called
13:36:29: setting up gl data
13:36:29: share device: 587330080
13:36:29: share texture: 917739952
13:36:29: share device handle: 2847947182
13:36:29: share texture handle: 2729137682
13:36:29: DoGLGPUHook: success
13:36:29: SwapBuffers(2399211412) Called
13:36:32: DirectDraw capture: Windows 8 not supported yet
 

R1CH

Forum Admin
Developer
NVENC is pretty awful at low bitrates. If you are recording only, increase the bitrate significantly.
 
I tried to say it, the wall of text probably made it unclear, but the video you see was a stream vod. I mentioned a test recording because I did that to make sure it wasn't cause of my internet. I do not record with OBS ever, I record with Shadow Play and dxtory.
 
Your expectations are too high then.
What do you mean my expectations are too high? How does that even seem like a reply worth making?

Are you saying I won't get better quality than that with OBS, if so say so so I can look into other options, but there's no way because other streams don't look like that. Are you saying that cause my encoding rate is too low? Because I have an i7 4790 and I was under the impression that it was more than suited for that. I'm not denying that I might be wrong in any of these beliefs... they are just what I have read and think is right. If it's a fallacy say so, but don't just tell me my expectations are too high.

Is it possible that since I lock my game at 144 fps and stream in 30 fps that it causes the blur?
 
Top