OBS branch with AMD VCE support.

https://obsproject.com/forum/threads/latest-windows-test-build-0-8-2.23342/
Have you seen this?
There is an option to use custom encoder, but I don't know how to use it. I put ObsVCE.dll and all that stuff to application folder, but when I type ObsVCE it doesn't work...

Is it simple that I can make it to work myself, or it's something you'd have to do Jackun? I don't want to rush you, I'm just curious ;)

BTW, great work, I can now record 1080p60 ^^ and I think that quality got better! :D
 

dping

Active Member
You have to add code to OBS-studio that interacts with AMF dlls etc. ;)
But ok, I'll see how far I'll get tomorrow.
It is really early in the beta process for obs studio. I dont know if they've been keeping quicksync, and NVENC out of the picture for a reason. but since we all know its a beta, I wont complain whatever you can accomplish! gl!
 
Wow, now I see that my CPU can handle VCE too! :D
Can I do a trick and use APU for OBS and my dedicated GPU for games? Is it possible to have both GPU enabled?
 

halsoy

New Member
Wow, now I see that my CPU can handle VCE too! :D
Can I do a trick and use APU for OBS and my dedicated GPU for games? Is it possible to have both GPU enabled?

If you have dual graphics (list of cards/APU's supporting dual graphics: http://www.amd.com/en-us/innovations/software-technologies/dual-graphics#desktop) running, that may be possible? I am running two 7970's in crossfire, and OBS always use the second GPU for VCE. So if I'm not using crossfire in a game, the primary GPU runs the game, and secondary GPU does the streaming. This way I have literally zero impact on performance. Maybe it's possible to get the same thing using dual graphics?
 

jackun

Developer
@TheReaperV11 Currently I'm using the same adapter index as OBS, but I'll try to add a separate selector.

From obs-studio side so far, most (too much) time went to getting some settings stuff in place. Now to add code to pass stuff to encoder and get something back.

E: Does anyone still use Vista? I ask because obs-studio dx11 renderer uses dx11 API calls supported by win7 or newer.
 
Last edited:

Jamesc359

New Member
I realize I'm in the minority here, but I still use Vista. I don't have any intentions of upgrading before Windows 10 comes out, this close to launch it just doesn't make much sense. If you can no longer support Vista, then I'll most likely just continue on using the last working version you've provided. :-)
 

dping

Active Member
I realize I'm in the minority here, but I still use Vista. I don't have any intentions of upgrading before Windows 10 comes out, this close to launch it just doesn't make much sense. If you can no longer support Vista, then I'll most likely just continue on using the last working version you've provided. :-)
i think any version that says mft instead of amf should work. Ove w or wo opencl should as well
 

jackun

Developer
For the past week, I've been working on adding VCE AMF support to obs-studio. If jackun or anyone else wants to take a look it's at github.com/audiohacked/obs-studio!
Did you get it to work? One thing is GetPts() seemed to be returning some VCE's internal PTS and it differed from OBS' pts causing video to play green blobs. So probably pass obs' pts with AMFSurface::SetProperty(). I'll commit my try at this then too :-P Nah, GetPts() is fine, may have forgotten to convert 100th-nanoseconds back to millis.
 
Last edited:

grib

New Member
hello everyone , new user here
first of all special thanks to obs team in general and jackun in particular, as your project(s) are freaking awesome!

as stated before i am a bit of a new user. i had tried obs for recording a year ago or so but been recently trying to do some streaming (trying to get the max out of 930 kb/s) with that vce encoder, which again is awesome.

i have done some intensive testing, trying about every settings, and i keep crashing and getting a BSOD when checking QP settings. does it ring a bell to anyone?
also, is it worth trying to compile last commit?
 

dping

Active Member
hello everyone , new user here
first of all special thanks to obs team in general and jackun in particular, as your project(s) are freaking awesome!

as stated before i am a bit of a new user. i had tried obs for recording a year ago or so but been recently trying to do some streaming (trying to get the max out of 930 kb/s) with that vce encoder, which again is awesome.

i have done some intensive testing, trying about every settings, and i keep crashing and getting a BSOD when checking QP settings. does it ring a bell to anyone?
also, is it worth trying to compile last commit?

You shouldn't have to compile anything. he posts the files on the main OP. post your logfile, and maybe crashdump for jackun
tbh, you probably shouldn't touch the QP settings if you only have 930 kb/s. VCE's quality vs x264 per bitrate is a little lower, so if you have the CPU but dont have the bandwidth, I would stick with low resolution x264 (i.e. 480p@30fps) if you dont have the CPU either, I would just try the VCE 540p@30fps unless you are only playing slow paced games, then you could go up to 720p@30fps
 

audiohacked

New Member
I just tested Jackun's plugin and it works just fine on my machine. Thanks Jackun. Only reason I started was 1) I was bored and 2) jackun hadn't pushed any code to do it.
 

jackun

Developer
At some point I broke B-frames while trying to get threading going, dammit :) "ExtraData" property should give SPS/PPS but new AMF dlls say it is empty/null and with old ones they were apparently also incorrect.

E: Ok, fixed that, heh.
 
Last edited:

anticeraphim

New Member
If you have dual graphics (list of cards/APU's supporting dual graphics: http://www.amd.com/en-us/innovations/software-technologies/dual-graphics#desktop) running, that may be possible? I am running two 7970's in crossfire, and OBS always use the second GPU for VCE. So if I'm not using crossfire in a game, the primary GPU runs the game, and secondary GPU does the streaming. This way I have literally zero impact on performance. Maybe it's possible to get the same thing using dual graphics?

Hold the BOAT!! OBS will use your unused video card? So If I have an R9 290X and R9 280X I can get OBS to utilize the 280X for encoding?? I had thought I read previously that it doesn't work this way?
 

jackun

Developer
2015-02-17: [32bit] [64bit] : experimental secret adapter index setting (see here)
Power user-ish: to use another VCE capable device/card, open profile ini and add "AdapterID=n" under "VCE Settings" where n is some number. See log window for device indexes. Custom settings has to be also checked. Disabling OpenCL interop. may also be needed, but maybe driver takes care of some buffer migration from one device to another.
 
Last edited:

anticeraphim

New Member
2015-02-17: [32bit] [64bit] : experimental secret adapter index setting (see here)
Power user-ish: to use another VCE capable device/card, open profile ini and add "AdapterID=n" under "VCE Settings" where n is some number. See log window for device indexes. Custom settings has to be also checked. Disabling OpenCL interop. may also be needed, but maybe driver takes care of some buffer migration from one device to another.

Amazing! Now the question is ... does this really make a difference? Or is i not worth it?
 

halsoy

New Member
Hold the BOAT!! OBS will use your unused video card? So If I have an R9 290X and R9 280X I can get OBS to utilize the 280X for encoding?? I had thought I read previously that it doesn't work this way?
Well, in my case, yes it only uses GPU 2. But that's probably down to how crossfire works. Same thing with OpenCL acceleration on stuff like Sony Vegas. The 290x and 280x can't crossfire though. At least as far as I know, since teh 290's and 280's (7000-series) use different cores.

But with crossfire turned on, my secondary GPU is idle until an application either asks for dual GPU usage, or OpenCL/AMD VCE use. So whenever i play and stream Planetside 2 i.e. I only use 1 GPU for the game (crossfire doesn't really help, it's more about the CPU) and the second GPU does all the coding.
 

anticeraphim

New Member
Well, in my case, yes it only uses GPU 2. But that's probably down to how crossfire works. Same thing with OpenCL acceleration on stuff like Sony Vegas. The 290x and 280x can't crossfire though. At least as far as I know, since teh 290's and 280's (7000-series) use different cores.

But with crossfire turned on, my secondary GPU is idle until an application either asks for dual GPU usage, or OpenCL/AMD VCE use. So whenever i play and stream Planetside 2 i.e. I only use 1 GPU for the game (crossfire doesn't really help, it's more about the CPU) and the second GPU does all the coding.

The good news is that the 280 and 290 are groovy together :) I believe the only difference is that the 280 will need the crossfire cable while if I used 2 290's then I wouldn't need a cable.
 
Top