Question / Help Window Capture fails to record properly

Perihelion

New Member
Hello, I have what seems to be an unusual problem.

I was creating a small program in Java to serve as a counter to be shown on screen during my recordings - nothing spectacular, press one button to increment, press another to decrement. I tested it with my setup and everything worked. At least to the point when I made a slightly updated version of the program, with only the used font changed. I know, for now it sounds nothing like a problem that would require any attention on a support forum for OBS.
However, it made it so Window Capture assigned to that window (and cropped to a smaller subregion) stops capturing the subregion properly - instead, whenever I click inside the program's window or highlight one of the buttons by mouseover, part of its source in the recording (usually above half, sometimes the entire area) gets replaced with a region from the game that serves as another, main source. It only goes back to showing properly when the source list is right-clicked for some unknown reason or when the program's set in front of the game or in front of the OBS window (the former very unwanted due to preventing me from sending any input to the game, the latter unwanted due to very inaesthetic effects happening when switching scenes). The previous version of the same program also refuses to work properly after testing the newer one, and neither do any other programs I wrote in Java and saved as runnable .jar files.
The problem doesn't happen with any other type of program, at least as far as I checked.
Included in the spoiler below there are screenshots of the preview before and after any interaction with the program during preview (recording yields the same results).
Before:
33m3g2r.jpg

After:
24f9udu.jpg

The screenshots show the older version of my program, which, as seen above, OBS doesn't capture properly anymore either.
My version of OBS is as seen on the screenshots, the programs written with Java 8, the system is Windows 7.
 

dping

Active Member
Hello, I have what seems to be an unusual problem.

I was creating a small program in Java to serve as a counter to be shown on screen during my recordings - nothing spectacular, press one button to increment, press another to decrement. I tested it with my setup and everything worked. At least to the point when I made a slightly updated version of the program, with only the used font changed. I know, for now it sounds nothing like a problem that would require any attention on a support forum for OBS.
However, it made it so Window Capture assigned to that window (and cropped to a smaller subregion) stops capturing the subregion properly - instead, whenever I click inside the program's window or highlight one of the buttons by mouseover, part of its source in the recording (usually above half, sometimes the entire area) gets replaced with a region from the game that serves as another, main source. It only goes back to showing properly when the source list is right-clicked for some unknown reason or when the program's set in front of the game or in front of the OBS window (the former very unwanted due to preventing me from sending any input to the game, the latter unwanted due to very inaesthetic effects happening when switching scenes). The previous version of the same program also refuses to work properly after testing the newer one, and neither do any other programs I wrote in Java and saved as runnable .jar files.
The problem doesn't happen with any other type of program, at least as far as I checked.
Included in the spoiler below there are screenshots of the preview before and after any interaction with the program during preview (recording yields the same results).
Before:
33m3g2r.jpg

After:
24f9udu.jpg

The screenshots show the older version of my program, which, as seen above, OBS doesn't capture properly anymore either.
My version of OBS is as seen on the screenshots, the programs written with Java 8, the system is Windows 7.
you might need to rebuild your scenes.
 

Perihelion

New Member
@Harold
Right, sorry.
21:30:21: Open Broadcaster Software v0.656b - 32bit (´・ω・`)
21:30:21: -------------------------------
21:30:21: CPU Name: Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
21:30:21: CPU Speed: 2394MHz
21:30:21: Physical Memory: 4095MB Total, 4095MB Free
21:30:21: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 2
21:30:21: monitor 1: pos={0, 0}, size={1600, 900}
21:30:21: Windows Version: 6.1 Build 7601 (revision 18409)
21:30:21: Aero is Disabled
21:30:21: -------------------------------
21:30:21: OBS Modules:
21:30:21: Base Address Module
21:30:21: 00EC0000 OBS.exe
21:30:21: 62410000 OBSApi.dll
21:30:21: 675F0000 DShowPlugin.dll
21:30:21: 6FB50000 GraphicsCapture.dll
21:30:21: 675C0000 NoiseGate.dll
21:30:21: 67260000 PSVPlugin.dll
21:30:21: 636F0000 scenesw.dll
21:30:21: ------------------------------------------
21:30:21: Adapter 1
21:30:21: Video Adapter: AMD Radeon HD 6650M
21:30:21: Video Adapter Dedicated Video Memory: 1057275904
21:30:21: Video Adapter Shared System Memory: 3237625856
21:30:21: Video Adapter Output 1: pos={0, 0}, size={1600, 900}, attached=true
21:30:21: =====Stream Start: 2015-11-04, 21:30:21===============================================
21:30:21: Multithreaded optimizations: On
21:30:21: Base resolution: 800x600
21:30:21: Output resolution: 800x600
21:30:21: ------------------------------------------
21:30:21: Loading up D3D10 on AMD Radeon HD 6650M (Adapter 1)...
21:30:21: ------------------------------------------
21:30:21: Audio Format: 48000 Hz
21:30:21: ------------------------------------------
21:30:21: Audio Channels: 2 Ch
21:30:21: Playback device Default
21:30:21: ------------------------------------------
21:30:21: Using desktop audio input: Speakers (2 — Realtek High Definition Audio)
21:30:21: Global Audio time adjust: 0
21:30:21: ------------------------------------------
21:30:21: Using auxilary audio input: Mikrofon (2 — Realtek High Definition Audio)
21:30:21: Mic time offset: 0
21:30:21: ------------------------------------------
21:30:21: Audio Encoding: AAC
21:30:21: bitrate: 128
21:30:21: Using Window Capture
21:30:21: Using Window Capture
21:30:21: Scene buffering time set to 700
21:30:21: ------------------------------------------
21:30:21: Video Encoding: x264
21:30:21: fps: 30
21:30:21: width: 800, height: 600
21:30:21: preset: veryfast
21:30:21: profile: high
21:30:21: keyint: 250
21:30:21: CBR: yes
21:30:21: CFR: yes
21:30:21: max bitrate: 1000
21:30:21: buffer size: 1000
21:30:21: ------------------------------------------
21:31:36: Using Window Capture
21:32:01: FlushBufferedVideo: Flushing 10 packets over 300 ms
21:32:01: Total frames encoded: 2988, total frames duplicated: 55 (1.84%)
21:32:01: Total frames rendered: 2961, number of late frames: 7 (0.24%) (it's okay for some frames to be late)
21:32:01:
21:32:01: Profiler time results:
21:32:01:
21:32:01: ==============================================================
21:32:01: video thread frame - [100%] [avg time: 4.242 ms] [children: 54.9%] [unaccounted: 45.1%]
21:32:01: | scene->Preprocess - [50%] [avg time: 2.12 ms]
21:32:01: | GPU download and conversion - [4.9%] [avg time: 0.208 ms] [children: 4.34%] [unaccounted: 0.566%]
21:32:01: | | flush - [3.61%] [avg time: 0.153 ms]
21:32:01: | | CopyResource - [0.377%] [avg time: 0.016 ms]
21:32:01: | | conversion to 4:2:0 - [0.354%] [avg time: 0.015 ms]
21:32:01: Convert444Thread - [100%] [avg time: 0.38 ms] [children: 98.2%] [unaccounted: 1.84%]
21:32:01: | Convert444toNV12 - [98.2%] [avg time: 0.373 ms]
21:32:01: encoder thread frame - [100%] [avg time: 0.869 ms] [children: 0.69%] [unaccounted: 99.3%]
21:32:01: | sending stuff out - [0.69%] [avg time: 0.006 ms]
21:32:01: ==============================================================
21:32:01:
21:32:01:
21:32:01: Profiler CPU results:
21:32:01:
21:32:01: ==============================================================
21:32:01: video thread frame - [cpu time: avg 1.659 ms, total 4914.03 ms] [avg calls per frame: 1]
21:32:01: | scene->Preprocess - [cpu time: avg 0.985 ms, total 2917.22 ms] [avg calls per frame: 1]
21:32:01: | GPU download and conversion - [cpu time: avg 0.1 ms, total 296.404 ms] [avg calls per frame: 1]
21:32:01: | | flush - [cpu time: avg 0.057 ms, total 171.602 ms] [avg calls per frame: 1]
21:32:01: | | CopyResource - [cpu time: avg 0.015 ms, total 46.801 ms] [avg calls per frame: 1]
21:32:01: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:32:01: Convert444Thread - [cpu time: avg 0.419 ms, total 1232.41 ms] [avg calls per frame: 1]
21:32:01: | Convert444toNV12 - [cpu time: avg 0.419 ms, total 1232.41 ms] [avg calls per frame: 1]
21:32:01: encoder thread frame - [cpu time: avg 0.036 ms, total 109.2 ms] [avg calls per frame: 1]
21:32:01: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:32:01: ==============================================================
21:32:01:
21:32:01: =====Stream End: 2015-11-04, 21:32:01=================================================


Last game capture log:
2015-05-08, 22:10:55: we're booting up:
22:10:55: CaptureThread: attached to process osu!.exe
22:10:56: D3D9 Present
22:10:56: D3D9EndScene called
22:10:56: D3DPRESENT_PARAMETERS {
22:10:56: BackBufferWidth: 1600
22:10:56: BackBufferHeight: 900
22:10:56: BackBufferFormat: D3DFMT_A8R8G8B8
22:10:56: BackBufferCount: 1
22:10:56: MultiSampleType: D3DMULTISAMPLE_NONE
22:10:56: MultiSampleQuality: 0
22:10:56: SwapEffect: D3DSWAPEFFECT_DISCARD
22:10:56: hDeviceWindow: 9635522
22:10:56: Windowed: true
22:10:56: EnableAutoDepthStencil: true
22:10:56: AutoDepthStencilFormat: D3DFMT_D24X8
22:10:56: Flags: None
22:10:56: FullScreen_RefreshRateInHz: 0
22:10:56: PresentationInterval: 2147483648
22:10:56: };
22:10:56: successfully set up d3d9 hooks
22:10:56: D3D9Present called
22:10:56: DXGI Present
22:10:56: DoD3D9GPUHook: success
22:10:56: (half life scientist) everything.. seems to be in order
22:10:56: D3DSURFACE_DESC {
22:10:56: Format: D3DFMT_A8R8G8B8
22:10:56: Type: D3DRTYPE_SURFACE
22:10:56: Usage: D3DUSAGE_RENDERTARGET
22:10:56: Pool: D3DPOOL_DEFAULT
22:10:56: MultiSampleType: D3DMULTISAMPLE_NONE
22:10:56: MultiSampleQuality: 0
22:10:56: Width: 1600
22:10:56: Height: 900
22:10:56: };
22:10:56: successfully capturing d3d9 frames via GPU
22:11:54: ---------------------- Cleared D3D9 Capture ----------------------
22:11:54: D3D9EndScene called
22:11:54: D3D9Present called

@dping
By that do you mean rebuilding the scene which uses that source or all scenes in the collection? Because if the former, then I've already done it several times before posting here.
 

Perihelion

New Member
It seems to have solved the issue (at least that's what multiple tests now suggest), thank you very much. I'm still curious about why it was that selective about what worked properly and what didn't... but I guess I wouldn't really comprehend the details anyway.
 

Harold

Active Member
Short version: aero on windows 7 affects window layering. It doesn't work right at the layer OBS captures at if you don't have it on.
 
Top