Question / Help OBS doesn't record in 60 fps

DaiBi

New Member
I am using OBS to record gameplay footage and recently i start to notice that despite settings, the recording is made in much lower fps than 60. Output files properties shows 60 fps, but i can clearly see that it is not true. NVIDIA shadowplay f.e. works just fine and make true 60 fps recording. But i really like the OBS, so please help. :)

my specs:

win10, gtx970

W0k2ix9.png

fopnrZz.png

H0gTrVy.png
 

Harold

Active Member
What your game runs at and the resources OBS uses to record are separate.

Post your OBS log.
 

DaiBi

New Member
18:07:57: CLR host plugin strings not found, dynamically loading 4 strings
18:07:57: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
18:07:57: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
18:07:57: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
18:07:57: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
18:07:57: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
18:07:57: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
18:07:57: CLRHost:: Could not find/load browser settings at location C:\Users\PC\AppData\Roaming\OBS\pluginData\browser.json
18:07:57: CLRHost:: Exception: System.IO.FileNotFoundException: Файл 'C:\Users\PC\AppData\Roaming\OBS\pluginData\browser.json' не найден.
18:07:57: Имя файла: 'C:\Users\PC\AppData\Roaming\OBS\pluginData\browser.json'
18:07:57: в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
18:07:57: в 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)
18:07:57: в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
18:07:57: в CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
18:07:57: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
18:08:40: Open Broadcaster Software v0.659b - 32bit (´・ω・`)
18:08:40: -------------------------------
18:08:40: CPU Name: Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz
18:08:40: CPU Speed: 3500MHz
18:08:40: Physical Memory: 4095MB Total, 3224MB Free
18:08:40: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
18:08:40: monitor 1: pos={0, 0}, size={1920, 1200}
18:08:40: Windows Version: 10.0 Build 14393 (revision 0)
18:08:40: Aero is Enabled
18:08:40: -------------------------------
18:08:40: OBS Modules:
18:08:40: Base Address Module
18:08:40: 012D0000 OBS.exe
18:08:40: 5D490000 OBSApi.dll
18:08:40: 74350000 CLRHostPlugin.dll
18:08:40: 571C0000 DShowPlugin.dll
18:08:40: 57190000 GraphicsCapture.dll
18:08:40: 57160000 NoiseGate.dll
18:08:40: 57140000 PSVPlugin.dll
18:08:40: 57120000 scenesw.dll
18:08:40: ------------------------------------------
18:08:40: Adapter 1
18:08:40: Video Adapter: NVIDIA GeForce GTX 970
18:08:40: Video Adapter Dedicated Video Memory: 3221225472
18:08:40: Video Adapter Shared System Memory: 1073676288
18:08:40: Video Adapter Output 1: pos={0, 0}, size={1920, 1200}, attached=true
18:08:40: =====Stream Start: 2016-09-18, 18:08:40===============================================
18:08:40: Multithreaded optimizations: On
18:08:40: Base resolution: 1920x1200
18:08:40: Output resolution: 1920x1200
18:08:40: ------------------------------------------
18:08:40: Loading up D3D10 on NVIDIA GeForce GTX 970 (Adapter 1)...
18:08:40: ------------------------------------------
18:08:40: Audio Format: 48000 Hz
18:08:40: ------------------------------------------
18:08:40: Audio Channels: 2 Ch
18:08:40: Playback device Default
18:08:40: ------------------------------------------
18:08:40: Using desktop audio input: Динамики (Realtek High Definition Audio)
18:08:40: Global Audio time adjust: 0
18:08:40: ------------------------------------------
18:08:40: Using auxilary audio input: Стерео микшер (Realtek High Definition Audio)
18:08:40: Mic time offset: 0
18:08:40: ------------------------------------------
18:08:40: Audio Encoding: AAC
18:08:40: bitrate: 128
18:08:40: Using graphics capture
18:08:40: Trying to hook process: ShadowOfMordor.exe
18:08:40: Scene buffering time set to 700
18:08:40: Successfully loaded ObsNvenc.dll
18:08:40: ObsNvenc initialized successfully
18:08:40: CUDA loaded successfully
18:08:40: 1 CUDA capable devices found
18:08:40: [ GPU #0 - < GeForce GTX 970 > has Compute SM 5.2, NVENC Available ]
18:08:40: NVENC internal init finished successfully
18:08:41: NVENC supports 10 h264 presets
18:08:41: ------------------------------------------
18:08:41: Video Encoding: NVENC
18:08:41: fps: 60
18:08:41: width: 1920, height: 1200
18:08:41: preset: default
18:08:41: profile: high
18:08:41: level: autoselect
18:08:41: keyint: 30
18:08:41: rcMode: 2pass quality
18:08:41: CBR: yes
18:08:41: CFR: no
18:08:41: max bitrate: 20000
18:08:41: avg bitrate: 20000
18:08:41: buffer size: 20000
18:08:41: ------------------------------------------
18:08:41: SharedTexCapture hooked
18:09:09: FlushBufferedVideo: Flushing 45 packets over 734 ms
18:09:10: Total frames encoded: 1667, total frames duplicated: 676 (40.55%)
18:09:10: Total frames rendered: 1056, number of late frames: 535 (50.66%) (it's okay for some frames to be late)
18:09:10: Encoder closed
18:09:10: NVENC deinitialized
18:09:10:
18:09:10: Profiler time results:
18:09:10:
18:09:10: ==============================================================
18:09:10: video thread frame - [100%] [avg time: 25.014 ms] [children: 94.5%] [unaccounted: 5.54%]
18:09:10: | scene->Preprocess - [0.012%] [avg time: 0.003 ms]
18:09:10: | GPU download and conversion - [94.5%] [avg time: 23.626 ms] [children: 17.5%] [unaccounted: 77%]
18:09:10: | | flush - [11.8%] [avg time: 2.943 ms]
18:09:10: | | CopyResource - [0.592%] [avg time: 0.148 ms]
18:09:10: | | conversion to 4:2:0 - [5.11%] [avg time: 1.279 ms]
18:09:10: Convert444Threads - [100%] [avg time: 2.564 ms] [children: 99.3%] [unaccounted: 0.741%]
18:09:10: | Convert444toNV12 - [99.3%] [avg time: 2.545 ms]
18:09:10: encoder thread frame - [100%] [avg time: 7.827 ms] [children: 3.31%] [unaccounted: 96.7%]
18:09:10: | sending stuff out - [3.31%] [avg time: 0.259 ms]
18:09:10: ==============================================================
18:09:10:
18:09:10:
18:09:10: Profiler CPU results:
18:09:10:
18:09:10: ==============================================================
18:09:10: video thread frame - [cpu time: avg 0.754 ms, total 796.875 ms] [avg calls per frame: 1]
18:09:10: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
18:09:10: | GPU download and conversion - [cpu time: avg 0.236 ms, total 250 ms] [avg calls per frame: 1]
18:09:10: | | flush - [cpu time: avg 0.162 ms, total 171.875 ms] [avg calls per frame: 1]
18:09:10: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
18:09:10: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
18:09:10: Convert444Threads - [cpu time: avg 1.751 ms, total 3531.25 ms] [avg calls per frame: 2]
18:09:10: | Convert444toNV12 - [cpu time: avg 1.751 ms, total 3531.25 ms] [avg calls per frame: 2]
18:09:10: encoder thread frame - [cpu time: avg 0.375 ms, total 609.375 ms] [avg calls per frame: 1]
18:09:10: | sending stuff out - [cpu time: avg 0.105 ms, total 171.875 ms] [avg calls per frame: 1]
18:09:10: ==============================================================
18:09:10:
18:09:10: =====Stream End: 2016-09-18, 18:09:10=================================================
18:09:14: CLR host plugin instance deleted; removing dynamically loaded localization strings
18:09:14: Terminating 0x7d4


Last game capture log:
2016-09-18, 18:08:40: we're booting up:
18:08:40: CaptureThread: attached to process ShadowOfMordor.exe
18:08:40: DXGI Present
18:08:40: (half life scientist) everything.. seems to be in order
18:08:40: DXGI: Found D3D 11
18:08:40: setting up d3d11 data
18:08:40: ---------------------- Cleared D3D11 Capture ----------------------
18:08:40: found dxgi format (dx11) of: 28, size: {1920, 1200}, multisampled: false
18:08:40: DoD3D11Hook: success
18:08:41: successfully capturing d3d11 frames via GPU
18:09:10: stop requested, terminating d3d11 capture
18:09:10: ---------------------- Cleared D3D11 Capture ----------------------
 

Harold

Active Member
18:09:10: | GPU download and conversion - [94.5%] [avg time: 23.626 ms] [children: 17.5%] [unaccounted: 77%]
Your system isn't capable of recording at 60fps as long as it's not possible to get the frames off the video card in less than 16ms.

What pci-e mode is your video card running in?
What driver version are you using?
 

Harold

Active Member
the utility GPU-Z by techpowerup shows the current mode. A screenshot taken with the app's built in screenshot button is fine.
 

Harold

Active Member
But shadowplay works fine.
Means nothing because of how much back and forth OBS does between the video card and the main processor.

Have you tried using OBS Studio with the indistinguishable recording quality preset?
 

DaiBi

New Member
Thanks for advice. This is much better. Now amount of late frames is just 10%. But smoothness of recоrds is still very far from shadowplay. :( Guess i will use it then.
 

Boildown

Active Member
Preset is on default. Change it to High Quality. Try it with 2 pass on and off to see which is better. And change the key interval to auto.
 

DaiBi

New Member
Preset is on default. Change it to High Quality. Try it with 2 pass on and off to see which is better. And change the key interval to auto.

Did it. And lagged frames are reduced to 1.5%. But still the difference between smoothness of obs and shadowplay is too obvious.

Thx for advice anyway.
 

Boildown

Active Member
1.5% is still too high. You want that to be less than 1% for sure. Try High Performance preset if High Quality isn't fast enough. And post a log file from that attempt from a 5 minute or longer encode of high action gameplay.
 

DaiBi

New Member
22:22:08.623: CPU Name: Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz
22:22:08.623: CPU Speed: 3500MHz
22:22:08.623: Physical Cores: 4, Logical Cores: 4
22:22:08.625: Physical Memory: 2047MB Total, 2047MB Free (NOTE: 2 or 4 gigs max is normal for 32bit programs)
22:22:08.625: Windows Version: 10.0 Build 14393 (revision: 0)
22:22:08.625: Running as administrator: false
22:22:08.625: Aero is Enabled (Aero is always on for windows 8 and above)
22:22:08.634: OBS 0.15.4 (windows)
22:22:08.634: ---------------------------------
22:22:08.635: ---------------------------------
22:22:08.635: audio settings reset:
22:22:08.635: samples per sec: 44100
22:22:08.635: speakers: 2
22:22:08.636: ---------------------------------
22:22:08.636: Initializing D3D11..
22:22:08.636: Available Video Adapters:
22:22:08.638: Adapter 1: NVIDIA GeForce GTX 970
22:22:08.638: Dedicated VRAM: 3221225472
22:22:08.638: Shared VRAM: 1073676288
22:22:08.638: output 1: pos={0, 0}, size={1920, 1200}, attached=true
22:22:08.639: Loading up D3D11 on adapter NVIDIA GeForce GTX 970 (0)
22:22:09.090: D3D11 loaded sucessfully, feature level used: 45056
22:22:09.593: ---------------------------------
22:22:09.593: video settings reset:
22:22:09.593: base resolution: 1920x1200
22:22:09.593: output resolution: 1920x1200
22:22:09.593: fps: 60/1
22:22:09.593: format: NV12
22:22:09.595: ---------------------------------
22:22:09.596: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
22:22:09.601: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libcef.dll' not found, loading of module failed
22:22:09.602: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libEGL.dll' not found, loading of module failed
22:22:09.603: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libGLESv2.dll' not found, loading of module failed
22:22:09.603: Failed to load 'en-US' text for module: 'obs-browser.dll'
22:22:09.605: NVENC supported
22:22:09.639: VLC found, VLC video source enabled
22:22:11.843: No blackmagic support
22:22:11.876: ---------------------------------
22:22:11.876: Loaded Modules:
22:22:11.876: win-wasapi.dll
22:22:11.876: win-mf.dll
22:22:11.876: win-dshow.dll
22:22:11.876: win-decklink.dll
22:22:11.876: win-capture.dll
22:22:11.876: vlc-video.dll
22:22:11.876: text-freetype2.dll
22:22:11.876: rtmp-services.dll
22:22:11.876: obs-x264.dll
22:22:11.876: obs-transitions.dll
22:22:11.876: obs-qsv11.dll
22:22:11.876: obs-outputs.dll
22:22:11.876: obs-filters.dll
22:22:11.876: obs-ffmpeg.dll
22:22:11.876: obs-browser.dll
22:22:11.876: image-source.dll
22:22:11.876: coreaudio-encoder.dll
22:22:11.876: ==== Startup complete ===============================================
22:22:11.877: Service '' not found
22:22:11.878: All scene data cleared
22:22:11.878: ------------------------------------------------
22:22:11.911: WASAPI: Device 'Динамики (Realtek High Definition Audio)' initialized
22:22:11.926: WASAPI: Device 'Микрофон (ASUS Xonar Essence STX Audio Device)' initialized
22:22:11.927: Switched to scene 'Scene'
22:22:11.927: ------------------------------------------------
22:22:11.927: Loaded scenes:
22:22:11.927: - scene 'Scene':
22:22:11.927: - source: 'Game Capture' (game_capture)
22:22:11.927: ------------------------------------------------
22:22:11.935: [game-capture: 'Game Capture'] attempting to hook process: ShadowOfMordor.exe
22:22:11.945: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
22:22:12.517: Update check: last known remote version is 0.15.4
22:22:14.045: rtmp-common.c: [initialize_output] Could not find service ''
22:22:14.046: ---------------------------------
22:22:14.046: [NVENC encoder: 'recording_h264'] settings:
22:22:14.046: rate_control: CBR
22:22:14.046: bitrate: 10000
22:22:14.046: cqp: 0
22:22:14.046: keyint: 250
22:22:14.046: preset: hp
22:22:14.046: profile: main
22:22:14.046: level: auto
22:22:14.046: width: 1920
22:22:14.046: height: 1200
22:22:14.046: 2-pass: true
22:22:14.046: GPU: 0
22:22:14.046:
22:22:14.298: [Media Foundation AAC: 'Track1']: encoder created
22:22:14.298: bitrate: 160
22:22:14.298: channels: 2
22:22:14.298: sample rate: 44100
22:22:14.298: bits-per-sample: 16
22:22:14.298:
22:22:14.300: ==== Recording Start ===============================================
22:22:14.300: [ffmpeg muxer: 'adv_file_output'] Writing file 'C:/Users/PC/Videos/2016-09-20 22-22-14.flv'...
22:22:15.741: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
22:22:15.854: adding 46 milliseconds of audio buffering, total audio buffering is now 92 milliseconds
22:22:16.662: [game-capture: 'Game Capture'] d3d11 shared texture capture successful
22:22:16.692: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
22:22:16.692: [game-capture: 'Game Capture'] d3d11 shared texture capture successful
22:27:41.336: [ffmpeg muxer: 'adv_file_output'] Output of file 'C:/Users/PC/Videos/2016-09-20 22-22-14.flv' stopped
22:27:41.336: Output 'adv_file_output': stopping
22:27:41.336: Output 'adv_file_output': Total encoded frames: 19621
22:27:41.336: Output 'adv_file_output': Total drawn frames: 19622
22:27:41.336: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 436 (2.2%)
22:27:41.336: ==== Recording Stop ================================================
22:27:47.205: [game-capture: 'Game Capture'] capture window no longer exists, terminating capture
 
Top