Question / Help Local Recordings Choppy in Video, but Clean In Game

RedPapaSmurf

New Member
Hi,
I've used OBS to record locally before and it has worked great in the past, but after my Windows 10 update my settings got reset and now local recording won't give me a clean output (it runs smoothly for 5-10 seconds and then freezes on a single frame for 3-5 seconds). I have reduced my CPU settings to UltraFast and even then I still get noticeable stuttering. I have been working on fixing this for the last few weeks and wanted to use these forums as a last resort and I think I am at that point now because I am just at a loss for what to do. A little background on what is being recorded, I am testing these settings on CSGO becuase I am assuming that if I can record a high motion game at a good quality everything else will look good to (please correct me if I'm wrong). Here is the log file from my most recent attempt...

Code:
20:30:35: CLR host plugin strings not found, dynamically loading 4 strings
20:30:35: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
20:30:35: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
20:30:35: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
20:30:35: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
20:30:35: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
20:30:35: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
20:30:35: CLRHost:: Could not find/load browser settings at location C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json
20:30:35: CLRHost:: Exception: System.IO.FileNotFoundException: Could not find file 'C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json'.
20:30:35: File name: 'C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json'
20:30:35:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
20:30:35:    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)
20:30:35:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
20:30:35:    at CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
20:30:35: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
20:30:40: CLR host plugin instance deleted; removing dynamically loaded localization strings


Last game capture log:
2015-09-21, 20:19:34: we're booting up:
20:19:34: CaptureThread: attached to process csgo.exe
20:19:35: D3D9 Present
20:19:35: (half life scientist) everything..  seems to be in order
20:19:36: D3D9EndScene called
20:19:36: D3DPRESENT_PARAMETERS {
20:19:36:     BackBufferWidth: 1366
20:19:36:     BackBufferHeight: 768
20:19:36:     BackBufferFormat: D3DFMT_A8R8G8B8
20:19:36:     BackBufferCount: 1
20:19:36:     MultiSampleType: D3DMULTISAMPLE_NONE
20:19:36:     MultiSampleQuality: 0
20:19:36:     SwapEffect: D3DSWAPEFFECT_DISCARD
20:19:36:     hDeviceWindow: 787928
20:19:36:     Windowed: false
20:19:36:     EnableAutoDepthStencil: true
20:19:36:     AutoDepthStencilFormat: D3DFMT_D24S8
20:19:36:     Flags: None
20:19:36:     FullScreen_RefreshRateInHz: 60
20:19:36:     PresentationInterval: 2147483648
20:19:36: };
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: successfully set up d3d9 hooks
20:19:36: D3D9Present called
20:19:36: DoD3D9GPUHook: success
20:19:36: D3DSURFACE_DESC {
20:19:36:     Format: D3DFMT_A8R8G8B8
20:19:36:     Type: D3DRTYPE_SURFACE
20:19:36:     Usage: D3DUSAGE_RENDERTARGET
20:19:36:     Pool: D3DPOOL_DEFAULT
20:19:36:     MultiSampleType: D3DMULTISAMPLE_NONE
20:19:36:     MultiSampleQuality: 0
20:19:36:     Width: 1366
20:19:36:     Height: 768
20:19:36: };
20:19:36: successfully capturing d3d9 frames via GPU

Thanks for your time!
 
I pasted what was in the most recent log file haha lemme try again...
Code:
20:19:32: CLR host plugin strings not found, dynamically loading 4 strings
20:19:32: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
20:19:32: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
20:19:32: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
20:19:32: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
20:19:33: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
20:19:33: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
20:19:33: CLRHost:: Could not find/load browser settings at location C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json
20:19:33: CLRHost:: Exception: System.IO.FileNotFoundException: Could not find file 'C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json'.
20:19:33: File name: 'C:\Users\dhrbl_000\AppData\Roaming\OBS\pluginData\browser.json'
20:19:33:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
20:19:33:    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)
20:19:33:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
20:19:33:    at CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
20:19:33: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
20:19:34: Open Broadcaster Software v0.655b - 32bit (´・ω・`)
20:19:34: -------------------------------
20:19:34: CPU Name: AMD A10-5750M APU with Radeon(tm) HD Graphics
20:19:34: CPU Speed: 2495MHz
20:19:34: Physical Memory:  4095MB Total, 4095MB Free
20:19:34: stepping id: 1, model 19, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 4, total cores 4
20:19:34: monitor 1: pos={0, 0}, size={1366, 768}
20:19:34: Windows Version: 10.0 Build 10240 (revision 16384)
20:19:34: Aero is Enabled
20:19:34: -------------------------------
20:19:34: OBS Modules:
20:19:34: Base Address     Module
20:19:34: 00A00000         OBS.exe
20:19:34: 60240000         OBSApi.dll
20:19:34: 604F0000         CLRHostPlugin.dll
20:19:34: 60200000         DShowPlugin.dll
20:19:34: 601D0000         GraphicsCapture.dll
20:19:34: 5FD00000         NoiseGate.dll
20:19:34: 657C0000         PSVPlugin.dll
20:19:34: 64DF0000         scenesw.dll
20:19:34: ------------------------------------------
20:19:34: Adapter 1
20:19:34:   Video Adapter: AMD Radeon HD 8650G
20:19:34:   Video Adapter Dedicated Video Memory: 771870720
20:19:34:   Video Adapter Shared System Memory: 3523031040
20:19:34:   Video Adapter Output 1: pos={0, 0}, size={1366, 768}, attached=true
20:19:34: =====Stream Start: 2015-09-21, 20:19:34===============================================
20:19:34:   Multithreaded optimizations: On
20:19:34:   Base resolution: 1366x768
20:19:34:   Output resolution: 1364x768
20:19:34: ------------------------------------------
20:19:34: Loading up D3D10 on AMD Radeon HD 8650G (Adapter 1)...
20:19:34: ------------------------------------------
20:19:34: Audio Format: 48000 Hz
20:19:34: ------------------------------------------
20:19:34: Audio Channels: 2 Ch
20:19:34: Playback device Default
20:19:34: ------------------------------------------
20:19:34: Using desktop audio input: Speakers / HP (IDT High Definition Audio CODEC)
20:19:34: Global Audio time adjust: 0
20:19:34: ------------------------------------------
20:19:34: Using auxilary audio input: Microphone (Blue Snowball)
20:19:34: Mic time offset: 0
20:19:34: ------------------------------------------
20:19:34: Audio Encoding: AAC
20:19:34:     bitrate: 128
20:19:34: Using graphics capture
20:19:34: Trying to hook process: csgo.exe
20:19:34: Scene buffering time set to 700
20:19:34: ------------------------------------------
20:19:34: Video Encoding: x264
20:19:34:     fps: 30
20:19:34:     width: 1364, height: 768
20:19:34:     preset: ultrafast
20:19:34:     profile: main
20:19:34:     keyint: 250
20:19:34:     CBR: no
20:19:34:     CFR: no
20:19:34:     max bitrate: 11000
20:19:34:     buffer size: 8000
20:19:34:     quality: 8
20:19:34: ------------------------------------------
20:19:35: Audio timestamp for device 'Microphone (Blue Snowball)' was behind target timestamp by 350449253
20:19:36: SharedTexCapture hooked
20:27:01: FlushBufferedVideo: Flushing 15 packets over 466 ms
20:27:01: Total frames encoded: 13340, total frames duplicated: 693 (5.19%)
20:27:01: Number of frames skipped due to encoder lag: 489 (3.67%)
20:27:01: Total frames rendered: 12792, number of late frames: 81 (0.63%) (it's okay for some frames to be late)
20:27:01:
20:27:01: Profiler time results:
20:27:01:
20:27:01: ==============================================================
20:27:01: video thread frame - [100%] [avg time: 2.767 ms] [children: 62.8%] [unaccounted: 37.2%]
20:27:01: | scene->Preprocess - [0.145%] [avg time: 0.004 ms]
20:27:01: | GPU download and conversion - [62.6%] [avg time: 1.733 ms] [children: 57.9%] [unaccounted: 4.7%]
20:27:01: | | flush - [56.3%] [avg time: 1.557 ms]
20:27:01: | | CopyResource - [1.23%] [avg time: 0.034 ms]
20:27:01: | | conversion to 4:2:0 - [0.434%] [avg time: 0.012 ms]
20:27:01: Convert444Threads - [100%] [avg time: 1.367 ms] [children: 98.1%] [unaccounted: 1.9%]
20:27:01: | Convert444toNV12 - [98.1%] [avg time: 1.341 ms]
20:27:01: encoder thread frame - [100%] [avg time: 6.316 ms] [children: 5.1%] [unaccounted: 94.9%]
20:27:01: | sending stuff out - [5.1%] [avg time: 0.322 ms]
20:27:01: ==============================================================
20:27:01:
20:27:01:
20:27:01: Profiler CPU results:
20:27:01:
20:27:01: ==============================================================
20:27:01: video thread frame - [cpu time: avg 0.433 ms, total 5546.88 ms] [avg calls per frame: 1]
20:27:01: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:27:01: | GPU download and conversion - [cpu time: avg 0.173 ms, total 2218.75 ms] [avg calls per frame: 1]
20:27:01: | | flush - [cpu time: avg 0.127 ms, total 1625 ms] [avg calls per frame: 1]
20:27:01: | | CopyResource - [cpu time: avg 0.019 ms, total 250 ms] [avg calls per frame: 1]
20:27:01: | | conversion to 4:2:0 - [cpu time: avg 0.004 ms, total 62.5 ms] [avg calls per frame: 1]
20:27:01: Convert444Threads - [cpu time: avg 1.01 ms, total 25812.5 ms] [avg calls per frame: 2]
20:27:01: | Convert444toNV12 - [cpu time: avg 1.002 ms, total 25593.8 ms] [avg calls per frame: 2]
20:27:01: encoder thread frame - [cpu time: avg 1.907 ms, total 25421.9 ms] [avg calls per frame: 1]
20:27:01: | sending stuff out - [cpu time: avg 0.127 ms, total 1703.13 ms] [avg calls per frame: 1]
20:27:01: ==============================================================
20:27:01:
20:27:01: =====Stream End: 2015-09-21, 20:27:01=================================================
20:30:34: CLR host plugin instance deleted; removing dynamically loaded localization strings
20:30:34: Terminating 0x1c184


Last game capture log:
2015-09-21, 20:19:34: we're booting up:
20:19:34: CaptureThread: attached to process csgo.exe
20:19:35: D3D9 Present
20:19:35: (half life scientist) everything..  seems to be in order
20:19:36: D3D9EndScene called
20:19:36: D3DPRESENT_PARAMETERS {
20:19:36:     BackBufferWidth: 1366
20:19:36:     BackBufferHeight: 768
20:19:36:     BackBufferFormat: D3DFMT_A8R8G8B8
20:19:36:     BackBufferCount: 1
20:19:36:     MultiSampleType: D3DMULTISAMPLE_NONE
20:19:36:     MultiSampleQuality: 0
20:19:36:     SwapEffect: D3DSWAPEFFECT_DISCARD
20:19:36:     hDeviceWindow: 787928
20:19:36:     Windowed: false
20:19:36:     EnableAutoDepthStencil: true
20:19:36:     AutoDepthStencilFormat: D3DFMT_D24S8
20:19:36:     Flags: None
20:19:36:     FullScreen_RefreshRateInHz: 60
20:19:36:     PresentationInterval: 2147483648
20:19:36: };
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is unknown. If you experience crashes, try disabling the other hooking application
20:19:36: successfully set up d3d9 hooks
20:19:36: D3D9Present called
20:19:36: DoD3D9GPUHook: success
20:19:36: D3DSURFACE_DESC {
20:19:36:     Format: D3DFMT_A8R8G8B8
20:19:36:     Type: D3DRTYPE_SURFACE
20:19:36:     Usage: D3DUSAGE_RENDERTARGET
20:19:36:     Pool: D3DPOOL_DEFAULT
20:19:36:     MultiSampleType: D3DMULTISAMPLE_NONE
20:19:36:     MultiSampleQuality: 0
20:19:36:     Width: 1366
20:19:36:     Height: 768
20:19:36: };
20:19:36: successfully capturing d3d9 frames via GPU
The file seems a lot longer than it used to be haha my bad.
 
That processor isn't quite powerful enough to be able to game and record on at the same time.
 
Hmm... alright thanks for your input it's worked quite well in the past, I guess I'll just have to play around with it more.
 
That APU is indeed weak, but recording is possible on almost anything, if you throw enough bitrate at it.

Set your buffer to 0, and leave it set VBR with your preferred quality setting. Putting the buffer to 0 tells OBS to use as much bitrate as it needs. It'll eat huge chunks of hard drive if you're trying to record 1080p@60 or something huge like that, but so long as you re-encode the video later with a non-realtime, multi-pass encoder to compress it down and reclaim the space, it should be fine.
 
That APU is indeed weak, but recording is possible on almost anything, if you throw enough bitrate at it.

Set your buffer to 0, and leave it set VBR with your preferred quality setting. Putting the buffer to 0 tells OBS to use as much bitrate as it needs. It'll eat huge chunks of hard drive if you're trying to record 1080p@60 or something huge like that, but so long as you re-encode the video later with a non-realtime, multi-pass encoder to compress it down and reclaim the space, it should be fine.

I'll give it a shot with the buffer settings and VBR, that is fine I have plenty of hard drive space and I'm only recording native 1366x768@30. I'm not sure I'm familiar with the re-encoding aspect, by re-encoding do you mean like running it through a editor softwares exporter like Hitfilm 3 with H.264 or do I need to look in a different direction for this process?
 
Hitfilm is a full NLE video editor. ffmpeg is a command-line tool just for handling encoding.
It's like comparing MS Word against the copy command, for saving something to a new place. Or a mechanic's shop versus a screwdriver. Sometimes you don't need a big all-encompassing suite style program to take care of a specific job.
 
Back
Top