Bug Report Black Screen in dx9 capture

I was recently trying to capture a bit of World of Warships gameplay.
Surprisingly, that didnt work in OBS-MP-0.10.0 , so i went and tested different streaming programs, including older OBS-MP versions. It turns out that 0.9.1 didn't work either, but 0.8.3 does.
Something in the dx game capture that was changed by then broke compatibility with some games it seems, resulting in a black screen.
0.8.3 spams the log with errors though. Ill try to get a few log snippets so you get an idea.

0.8.3 seems to uses d3d9 memory capture
0.9.1 switches to DXGI which results in a black screen
0.10.0 i have no idea what it is trying to do, but it doesnt seem to work at all

Edit: Older normal OBS works fine as well.
Edit2: added standard OBS log which shows some dx info of the game.
 

Attachments

  • 2015-05-18 17-32-57.txt
    37.2 KB · Views: 36
  • 2015-05-18 17-32-32.txt
    6 KB · Views: 18
  • 2015-05-18 17-19-39.txt
    15.9 KB · Views: 17
  • 2015-05-18-1723-40.log
    11.1 KB · Views: 20
No, i don't even have fraps on my disk.
Edit: Something weird is going on. After it stopped working in 0.8.3 i created a new scene there which didnt work either. Then i started 0.10.0 again and the freshly created scene (from 0.8.3) suddenly worked in 0.10.0...
Now i have 2 scenes with identical settings from which one works in 0.10.0 and one doesnt.

I will dig into the scenes.json file to see if they differ in any way that the GUI is hiding.

Update: apart from a few more parameters the scenes in the file are identical. The non-working scene has the following additional parameters:
Code:
                "capture_overlays": false,
                "force_scaling": false,
                "limit_framerate": false,

Update2: after restarting OBS 0.10.0 the new scene is broken as well and shows black screen for that game.

What ever i do, i seem to have problems replicating what i did and getting to the same results. OBS seems to behave randomly. Maybe a threading issue or i overlooked something.

Another update: Seems that sometimes when it fails to capture, it sets the size to 0x0. When i then set it to autoscale to fill obs just crashes.

Edit: Only thing that works reliably is the old OBS
 
Last edited:
Close Xsplit, it is hooking into the game.
It was not running before, when the problem was already present. I just had it running once to see if capture works there, which it does. It might have left hooks running, but it didn't work before either.

Edit: Added a recent log where it is still not working and Windows was freshly booted.
 

Attachments

  • 2015-05-20 16-46-48.txt
    10.9 KB · Views: 22

Osiris

Active Member
17:24:32: WARNING: Another hook is already present while trying to hook d3d9.dll, hook target is \Device\HarddiskVolume3\ProgramData\SplitMediaLabs\XSplit\Components2\fraps32.dll. If you experience crashes, try disabling the other hooking application

This is what your OBS1 log showed
 
OBS1 is clear as well currently, as i haven't touched xsplit in this session yet.
 

Attachments

  • 2015-05-20-1917-25.log
    6.9 KB · Views: 17

Ray G

New Member
So far I can tell that this is a Game Capture issue, to test this, try capturing the game using window capture or monitor capture. There is a possibility that this version may or may not be compatible with your game at this time. Also before trying the alternate method, use the 32 bit version and see if that makes a difference.
 
32 bit version doesn't make any difference in this case, i already tested it. The only way i can capture with obs-studio is when the game is in window mode and i use either window or monitor capture. None of this is an option for now, since that makes it impossible for me to record in 1080p. Until a fix is found, i will stick to the old OBS for now.
 

Saturn2888

Member
I'm having the same issue with an OpenGL game and a fullscreen game. It seems game capture isn't working properly for me. Although if I leave OBS MP open, it will sometimes hook the game while I'm playing it. Very inconsistent.
 

Attachments

  • 2015-05-21 02-52-38.txt
    8.8 KB · Views: 15

Lain

Forum Admin
Lain
Forum Moderator
Developer
..Game capture in obs-mp didn't change at all between the versions you listed, just so you're aware. I'm sensing game capture conflicts. Just my preliminary guess.
 

Saturn2888

Member
Oh like multiple things are trying to hook into the same game? Might it also be possible OBS MP has residue still running on close or crash? I remember when upgrading from 10.0 to 10.1 I couldn't upgrade all files bc one of the 64-bit graphics DLLs was in use even though nothing OBS was running. Had to restart to get a clean upgrade.
 
I can confirm, OpenGL game capture is problematic too. It made it impossible for me to capture DosBox using its OpenGLnb renderer, which is the best i had used so far. Had to work around using a different renderer and window capture.
 

Saturn2888

Member
I can confirm, OpenGL game capture is problematic too. It made it impossible for me to capture DosBox using its OpenGLnb renderer, which is the best i had used so far. Had to work around using a different renderer and window capture.
Did you have that issue with OBS MP opened before or after the game?
 
Did you have that issue with OBS MP opened before or after the game?
Interesting. On 0.10.0 it seems to be related to the order in which they are started. When Dosbox is started first you get the black screen. It seems though, as if that has been fixed in 0.10.1.
Jim said:
Game capture in obs-mp didn't change at all between the versions you listed, just so you're aware. I'm sensing game capture conflicts. Just my preliminary guess.
But there is still the capture problem with World of Warships in windows 8/10 remaining.
Now i cant even reproduce the random incident in which it worked. Maybe the game is multithreaded and OBS-MP has problems grabbing the right thread context or something. It seems to be a general incompatibility of gamecapture and the way that the game renders.
 
maybe a specific issue with that game, like i am having with my game in dx9. Sadly very few youtubers use the new obs-mp, so not many might have encountered our problems to confirm if its a general problem or something with our setup.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Just as a note, do not use the OpenGL renderer in obs-mp on windows if you can avoid it, otherwise you will reduce capture efficiency significantly. Most of the capture methods use Direct3D-specific features. That counts for capturing OpenGL games too.

There is an issue with game capture hooking in obs-mp, I made the mistake of making it use the "anti-cheat compatibility" hooking method by default instead of the way it worked in the original OBS, and it introduced some issues with hooking that I was previously unaware of, where for example the game itself has to be running at the exact same security level as obs, so if the game is running as non-admin, obs has to be run as non-admin, or if the game is being run as admin, obs has to be run as admin.

It's very annoying, and I plan to revert it back to the original hooking method and just add the anti-cheat hooking only as an option which will be disabled by default.

Other than the acquiring/hooking stuff, game capture is essentially identical in terms of the hook, was mostly just heavily refactored.

(Moral of the story, if it's isn't broken, don't fix it)
 
Top