OBS branch with AMD VCE support.

RifleEyez

Member
Hi guys,

As you know - DayZ got a huge update to fuck over hackers. Who doesn't love that. Problem is, because a lot of is injection it fucks with my OBS setup. Hicks, the producer, says 0.63 and 0.64 are supported himself on twitter, IIRC, but even with the 0.64b version jackun himself uploaded a couple pages back the anti-cheat hooking doesn't work for me.

https://twitter.com/hicks_206/status/560949023197368322 (TWEET FROM THE PRODUCER)

But it's working for someone with 0.638b (which I presume is the latest ''stable'' build) on YouTube, proven. Not for me on 0.64b. Am I just being stupid here?

Is there anything that can be done quick? Drop in a file, something obvious my naive brain can't comprehend, or am I just truly fucked right now till they sort it out their end of jackun updates OBS even further - to say 0.64, or is it always gonna be this way based on the experimental/fork nature? Bit annoying considering I was planning on getting a part out of my DayZ Series which is doing pretty well.

Raptr or whatever it called works - I'm scared I might have to go to that. Is Raptr that bad? I was told to uninstall it as it fucked with some settings in this branch - but is it THAT bad for 1080p, 30FPS, relatively high quality bitrates for however long I need it (some sessions are...lengthy. like hour, 2 hour recordings). Just till this works. Apparently it shat on Action! too and some others.

Anything at ALL I can do this end - like I said, it might be something simple. Might be a complete re-write of a shit ton of stuff beyond you fucking geniuses who have enabled me to record this game at an acceptable FPS, till today. Everything else works fine.

For any interested, it works here on 0.638b

https://www.youtube.com/watch?v=cKabG01nPDI (not my video)
 
Last edited:

Smear__

New Member
I already added the OBS into the Cataclyst. I've also played around with a lot of settings, but still I've got nothing.


I posted a second log just in case the first one was bugged or something :)
 

Attachments

  • 2015-02-21-1215-01.log
    5.8 KB · Views: 33

jackun

Developer
@Smear__ Like you said, at some point it seemed to have worked kinda. But log says OBS is complaining about Raptr also having its hooks in the game. Try quitting Raptr first. Another thing causing black screen could be that OBS is using your Intel graphics while AMF runs on AMD card. Disable OpenCL interop. and select "Host" engine type to force data to pass through system memory.

@RifleEyez You can try using vanilla OBS and then copy these files from VCE branch:
  • obs.exe
  • all the amf* dlls (32 or 64 bit)
  • ObsVCEAMF.dll
  • ObsVCE.dll
  • locale/en.txt
But I've no idea if it helps any so good luck. It may help if they to some MD5 sum checks etc against OBS' dlls.

@Beasway Crashed while playing Hearthstone? Tonga's VCE should be faster than Hawaii and should go through 1024x768@60 easily but it still complains about being too slow, hmm.

In other news:
But I got (half-bake) obs-studio build for brave souls to test: obs-studio 2015-02-21 windows build
Under Output > Output Mode, select Advanced. Then you should be able to select AMF from "Encoder".
 
Last edited:

Beasway

New Member
@jackun If hes trying to record csgo then the game crashes. Heroes of the storm then both the game and obs sometimes completely crash. Quakelive its either the game or obs. Hearthstone he managed to fix by settings AMF setting to host instead of dx11. If you will need some kind of logs feel free to ask. Maybe there are some kind of problems with r9 285 video drivers from amd side?
 

jackun

Developer
@jackun If hes trying to record csgo then the game crashes. Heroes of the storm then both the game and obs sometimes completely crash. Quakelive its either the game or obs. Hearthstone he managed to fix by settings AMF setting to host instead of dx11. If you will need some kind of logs feel free to ask.

See if you can get dump files (Help > Open Log Folder, go up a folder and to crashDumps folder).
 

Smear__

New Member
@jackun I tried disabling the Raptr but I still got the error message with the encoding.

However, when I try to start the OBS using the host engine the I can get the stream going, however I still get the black screen even if I disable the OpenCL interop. or not.

I can stream and get a picture if I do as I did before using the window capture mode and play the games in boarderless window. But that kind of puts me where I was from the beginning.

A little side note though is that when I first installed OBS on my computer I actually got a monitor capture that was working and I had a clear picture, I never tried using the game capture mode during this time though. Slightly after I did some changes wich I cannot recall, but that's when I first got the black screen and I cannot remember what I changed.
It's kind of wierd though since OBS has never been able to use my AMD card, so I am suprised that I actually had a picture to begin with.

Some people have upgraded their BIOS to make it work changing the video configuration into a "fixed" mode. I cannot do this even if I upgrade my BIOS according to Sager themselves. They don't have that option apparently.

I added another log with the changed you proposed :)
 

Attachments

  • 2015-02-21-2153-21.log
    41.9 KB · Views: 31

jackun

Developer
@Smear__
21:54:16: Loading up D3D10 on Intel(R) HD Graphics 4000 (Adapter 1)...
21:54:17: DX11: List of adapters:
21:54:17: Invalid Adapter ID Error: AMF_INVALID_ARG

.....

21:54:43: Loading up D3D10 on Intel(R) HD Graphics 4000 (Adapter 1)...
21:54:43: ------------------------------------------
21:54:43: Audio Format: 48000 Hz
21:54:44: Capabilities:
21:54:44: Accel type: HARDWARE
21:54:44: Max bitrate: 100000000

As I don't have access to an AMD base laptop I have to rely on you too :P So the difference between 21:54:17 and 21:54:44 is that you ran a game in borderless mode? Point is, before there was no Direct3D11 device with AMD vendor id and then at 21:54:44 there was (atleast) one. The device enumerator filters out any non-AMD card. Actually, with host, AMF initializes its devices itself.

Edit: So AMF doesn't seem to init any devices (atleast doesn't expose them to outside). Trying to hack around this by letting AMF allocate D3D11 texture (and then get the device pointer from texture) returns AMF_NO_DEVICE error, crap.

Run the game again and see if OBS detects the AMD card under Video settings and then switch OBS to that. So as @dping said before you'll probably have to try to get Catalyst to run OBS on the AMD Radeon card (as seen here). Or OBS just doesn't work with (AMD) switchable graphics as Jim said.

Or for lulz put one instance of OBS to preview at 720x480@5fps with empty scene, open another OBS and see if any change ;P
 
Last edited:

dping

Active Member
@jackun I tried disabling the Raptr but I still got the error message with the encoding.

However, when I try to start the OBS using the host engine the I can get the stream going, however I still get the black screen even if I disable the OpenCL interop. or not.

I can stream and get a picture if I do as I did before using the window capture mode and play the games in boarderless window. But that kind of puts me where I was from the beginning.

A little side note though is that when I first installed OBS on my computer I actually got a monitor capture that was working and I had a clear picture, I never tried using the game capture mode during this time though. Slightly after I did some changes wich I cannot recall, but that's when I first got the black screen and I cannot remember what I changed.
It's kind of wierd though since OBS has never been able to use my AMD card, so I am suprised that I actually had a picture to begin with.

Some people have upgraded their BIOS to make it work changing the video configuration into a "fixed" mode. I cannot do this even if I upgrade my BIOS according to Sager themselves. They don't have that option apparently.

I added another log with the changed you proposed :)
you need to uninstall raptr if you dont use it. not sure about the setting that would cause block screen besides sometimes I have to remake my game capture if there is issues.
 

Smear__

New Member
@jackun The problem is that I've already done every configuration possible regarding the Cataclyst.

There is no way for OBS to detect my AMD card because of how AMD's system is made. It has something to do with OpenGL if I remember correctly.

A fix for this was the BIOS thing that I spoke about before, but Sager doesn't include that option even in the newer verisons of BIOS. But the fix included to make the AMD card the primary one wich allowed OBS to detect it.
If I would've had an Nvidia based system I could just right click on OBS and force it to start with the Nvidia card, but AMD doesn't have that option because the Cataclyst does everything automaticly with some "lesser cpu based systems". And apparently OBS is one of them :/

So even if I change anything in the Cataclyst the results will still be the same unless Sager in the future include that change in the BIOS system. At least that's what I've been able to figure out so far :)



But if I run the game (Let's say Dota 2), in boarderless window mode and put OBS to window capture and choose the Dota 2 window the screen becomes black as well.... However, if I go to the properties of that window and check the box "compability mode" the screen starts to work as it should, just that it's forced to run on the Intel card instead.

So the problem has always been for me that the game runs on the AMD card and OBS only records everything based on the Intel card. Because of this I am forced to run a window capture on OBS and all the games I wanna play on a boarderless window mode wich takes more power from my CPU.

So I've tried all the fixes possible to make this work but because I have an AMD laptop and a Sager shit based BIOS I cannot do any of those fixes. I posted a last log just so you could see the results of the game capture mode :)

@dping I uninstalled raptr but it didn't work either :/
 

Attachments

  • 2015-02-22-0044-57.log
    19.3 KB · Views: 30

Smear__

New Member
Edit: My last option was to make quicksync work. But it only get an error message regarding the exe file. Despite setting everything up accordingly

Edit : A question by the way, Since I can use the AMD VCE coding instead of the x264 even though if I select "host" on the engine type, will that make it easier for my CPU in any way?
 
Last edited:

dping

Active Member
Edit: My last option was to make quicksync work. But it only get an error message regarding the exe file. Despite setting everything up accordingly

Edit : A question by the way, Since I can use the AMD VCE coding instead of the x264 even though if I select "host" on the engine type, will that make it easier for my CPU in any way?
Yes. make sure you disable in-home streaming and broadcast function in Steam as well. overwolf if you have it as well
 

Smear__

New Member
The in-home streaming was actually activated so I disabled that.

I also disabled the broadcast function in Steam.

By overwolf do you mean overlay? Under the in game settings?

What will this do for me exactly though?
 

Smear__

New Member
@dping

I just tried streaming some for fun with the AMD VCE but using my old ways using the boarderless window capture etc.

I also turned of all the things that you told me to in steam and I can actually stream with all programs etc online with a pretty much constant fps of 100+, with the old x264 encoder I had problems even keeping it up at 60.

So I just wanna say a personal thanks to you Sir and also @jackun for making this possible :)

Maybe I wasn't able to use the game capture but this works just as fine since I get good results and the quality of the stream is really nice as well :) So thank you so much!
 

dping

Active Member
The in-home streaming was actually activated so I disabled that.

I also disabled the broadcast function in Steam.

By overwolf do you mean overlay? Under the in game settings?

What will this do for me exactly though?
it should cause less in-game studder. no, overwolf is a saparate overlay program that is kind of useless if you ask me. its a novelty program. no worries if you dont have it, its not as common.
 

jackun

Developer
@Beasway Other than OBS complaining about Raptr's hooks it might as well be driver/hardware issue. @Ilyas has/had something similar that OpenCL interop. forced GPU clocks to max allowed etc and then crashed.
 
Top