Question / Help Game capture gives black screen in everything but FTL

Laivasse

New Member
Hello

I've recently started experimenting with streaming and have only had any success through OBS with window capture. Any attempt to stream a game through game capture results in a black screen preview. The sole exception to this rule is FTL, which coincidentally is a game known not to work in window capture at all.

My system is:
2x GTX 570 in SLI (experimented with 2 different sets of drivers)
i5 2500k@4.3Ghz
Windows 7 64-bit
Single monitor setup

I've tried all I can think of, including running OBS as admin, trying OBS 32- and 64-bit, disabling various overlays such as Steam in-game overlay and Uplay overlay, turning off MSI Afterburner (with which I never used the overlay anyhow), trying different game window resolutions and disabling SLI. Nothing changed the end result.

Below is my latest log in which I attempted to run KOF13, Spelunky, FarCry 3 and FTL. Only FTL succeeded in game capture. The rest gave a black screen in game capture but worked in window capture.

Code:
16:30:59: Open Broadcaster Software v0.625b - 64bit ( ^ω^)
16:30:59: -------------------------------
16:30:59: CPU Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
16:30:59: CPU Speed: 3309MHz
16:30:59: Physical Memory:  16367MB Total, 13170MB Free
16:30:59: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
16:30:59: monitor 1: pos={0, 0}, size={1920, 1080}
16:30:59: Windows Version: 6.1 Build 7601 S
16:30:59: Aero is Enabled
16:30:59: -------------------------------
16:30:59: OBS Modules:
16:30:59: Base Address     Module
16:30:59: 000000003F040000 OBS.exe
16:30:59: 00000000F2500000 OBSApi.dll
16:30:59: 00000000FA2C0000 DShowPlugin.dll
16:30:59: 00000000FA290000 GraphicsCapture.dll
16:30:59: 00000000FA260000 NoiseGate.dll
16:30:59: 00000000FA230000 PSVPlugin.dll
16:30:59: ------------------------------------------
16:30:59: Adapter 1
16:30:59:   Video Adapter: NVIDIA GeForce GTX 570
16:30:59:   Video Adapter Dedicated Video Memory: 1292304384
16:30:59:   Video Adapter Shared System Memory: 2953113600
16:30:59:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
16:30:59: =====Stream Start: 2014-07-14, 16:30:59===============================================
16:30:59:   Multithreaded optimizations: On
16:30:59:   Base resolution: 1920x1080
16:30:59:   Output resolution: 1280x720
16:30:59: ------------------------------------------
16:30:59: Loading up D3D10 on NVIDIA GeForce GTX 570 (Adapter 1)...
16:30:59: ------------------------------------------
16:30:59: Audio Format: 48000 Hz
16:30:59: ------------------------------------------
16:30:59: Audio Channels: 2 Ch
16:30:59: Playback device {0.0.0.00000000}.{e6c2e7d9-f196-45a4-8e1b-18a5d0350ee3}
16:30:59: ------------------------------------------
16:30:59: Using desktop audio input: Headset Earphone (Razer Kraken 7.1)
16:30:59: Global Audio time adjust: 0
16:30:59: ------------------------------------------
16:30:59: Using auxilary audio input: Headset Microphone (Razer Kraken 7.1)
16:30:59: Mic time offset: 0
16:30:59: ------------------------------------------
16:30:59: Audio Encoding: AAC
16:30:59:     bitrate: 128
16:30:59: Scene buffering time set to 700
16:30:59: ------------------------------------------
16:30:59: Video Encoding: x264
16:30:59:     fps: 30
16:30:59:     width: 1280, height: 720
16:30:59:     preset: veryfast
16:30:59:     profile: main
16:30:59:     keyint: 60
16:30:59:     CBR: yes
16:30:59:     CFR: yes
16:30:59:     max bitrate: 2000
16:30:59:     buffer size: 2000
16:30:59: ------------------------------------------
16:31:00: Audio timestamp for device 'Headset Microphone (Razer Kraken 7.1)' was behind target timestamp by 13606936
16:31:10: Using graphics capture
16:31:10: Trying to hook process: kofxiii.exe
16:31:25: Using Window Capture
16:32:10: Using graphics capture
16:32:10: Trying to hook process: farcry3_d3d11.exe
16:32:59: Using graphics capture
16:32:59: Trying to hook process: farcry3_d3d11.exe
16:33:20: Using Window Capture
16:34:06: Using graphics capture
16:34:06: Trying to hook process: Spelunky.exe
16:34:20: Using Window Capture
16:34:53: Using graphics capture
16:34:53: Trying to hook process: FTLGame.exe
16:34:53: SharedTexCapture hooked
16:35:09: Total frames encoded: 7480, total frames duplicated: 154 (2.06%)
16:35:09: Total frames rendered: 7371, number of late frames: 5 (0.07%) (it's okay for some frames to be late)
16:35:09: 
16:35:09: Profiler time results:
16:35:09: 
16:35:09: ==============================================================
16:35:09: video thread frame - [100%] [avg time: 1.46 ms] [children: 59.1%] [unaccounted: 40.9%]
16:35:09: | scene->Preprocess - [50%] [avg time: 0.73 ms]
16:35:09: | GPU download and conversion - [9.11%] [avg time: 0.133 ms] [children: 5%] [unaccounted: 4.11%]
16:35:09: | | flush - [3.36%] [avg time: 0.049 ms]
16:35:09: | | CopyResource - [1.51%] [avg time: 0.022 ms]
16:35:09: | | conversion to 4:2:0 - [0.137%] [avg time: 0.002 ms]
16:35:09: Convert444Threads - [100%] [avg time: 0.336 ms] [children: 99.1%] [unaccounted: 0.893%]
16:35:09: | Convert444toNV12 - [99.1%] [avg time: 0.333 ms]
16:35:09: encoder thread frame - [100%] [avg time: 0.605 ms] [children: 0.165%] [unaccounted: 99.8%]
16:35:09: | sending stuff out - [0.165%] [avg time: 0.001 ms]
16:35:09: ==============================================================
16:35:09: 
16:35:09: 
16:35:09: Profiler CPU results:
16:35:09: 
16:35:09: ==============================================================
16:35:09: video thread frame - [cpu time: avg 0.139 ms, total 1029.61 ms] [avg calls per frame: 1]
16:35:09: | scene->Preprocess - [cpu time: avg 0.002 ms, total 15.6 ms] [avg calls per frame: 1]
16:35:09: | GPU download and conversion - [cpu time: avg 0.048 ms, total 358.803 ms] [avg calls per frame: 1]
16:35:09: | | flush - [cpu time: avg 0.031 ms, total 234.002 ms] [avg calls per frame: 1]
16:35:09: | | CopyResource - [cpu time: avg 0.002 ms, total 15.6 ms] [avg calls per frame: 1]
16:35:09: | | conversion to 4:2:0 - [cpu time: avg 0.004 ms, total 31.2 ms] [avg calls per frame: 1]
16:35:09: Convert444Threads - [cpu time: avg 0.356 ms, total 5241.63 ms] [avg calls per frame: 2]
16:35:09: | Convert444toNV12 - [cpu time: avg 0.35 ms, total 5148.03 ms] [avg calls per frame: 2]
16:35:09: encoder thread frame - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:35:09: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:35:09: ==============================================================
16:35:09: 
16:35:09: =====Stream End: 2014-07-14, 16:35:09=================================================


Last game capture log:
2014-07-14, 16:34:53: we're booting up: 
16:34:53: CaptureThread: attached to process FTLGame.exe
16:34:53: D3D9 Present
16:34:53: DXGI Present
16:34:53: GL Present
16:34:53: (half life scientist) everything..  seems to be in order
16:34:53: SwapBuffers(2852198497) Called
16:34:53: NV Capture available
16:34:53: FBO available
16:34:53: setting up gl data
16:34:53: share device: 36081592
16:34:53: share texture: 199579616
16:34:53: share device handle: 3336781294
16:34:53: share texture handle: 3246138234
16:34:53: DoGLGPUHook: success
16:34:53: wglSwapBuffers(2852198497) Called
16:35:08: stop requested, terminating gl capture
16:35:08: ---------------------- Cleared OpenGL Capture ----------------------
16:35:08: wglSwapBuffers(2852198497) Called
16:35:08: setting up gl data
16:35:08: SwapBuffers(2852198497) Called

As you can see the game capture log comes from FTL alone. When I attempt to game capture a game like KOF13, the game capture log merely looks like this:

Code:
Last game capture log:
2014-07-14, 15:48:01: we're booting up: 
15:48:01: CaptureThread: attached to process kofxiii.exe
15:48:01: D3D9 Present
15:48:01: DXGI Present
15:48:01: GL Present
15:48:01: (half life scientist) everything..  seems to be in order
 

Laivasse

New Member
This is still an issue. Only way I can use OBS is to stream from dxTory and capture that as a video source.
 

Laivasse

New Member
I discovered that game capture only stays black for direct3d games. A game like Euro Truck Sim 2 can be game captured successfully in OpenGL mode. Might that shed any light on what is causing this? DirectX 11 is already installed (by necessity, for games like FarCry 3).
 
Top