OBS branch with AMD VCE support.

dping

Active Member
Hey. First of, love this thing. I read on the first few pages that some people had issues with a green line at the bottom. Also read that there was a fix for it. Said file is no longer available. My problem is that I have the green line on the vertical axis. As seen here (the solid green line to the right):

kfSOfqW.png


The thing is, this line only happens when I'm streaming. If I use OBS with the exact same settings to record to a local file, this doesn't happen. As can be seen here (this is all recorded):

JLSN2BN.png


So I'm not entirely sure where the issue is here. It's not a super big deal, but if there was a fix for it, that would be super dandy.

I may add that I play on a 21:9 monitor (2560x1080) that gets downscaled to 1706x720 when streaming.

Have you tried the same two settings with x264?
 

dping

Active Member
@halsoy, that might be a jackun question as I dont know how VCE handles translating 21:9 aspect ratio.

On another note, anyone else try win10 tech preview? :D I'm downloading it now and gonna try it with VCE after I'm done. well maybe try OBS tomorrow.

EDIT: the good news is that everything still "works". the bad news is that no matter what resolution I put it at, it drops my game down to 50fps (from 300fps). this isn't an OBS thing because x264 does the same even at really low resolutions, nor a VCE/AMF thing, its a driver compatibility I'm sure.
 
Last edited:

jackun

Developer
I may add that I play on a 21:9 monitor (2560x1080) that gets downscaled to 1706x720 when streaming.

Atleast mplayer and vlc work with streaming, so a case of flash player not understanding things properly probably. AMF crops it to 1704x720 so if you haven't already, try to set video size to that. Usually a good thing to keep sizes in multiples of 16 or 8.
 

dping

Active Member
2015-02-08 [32bit] [64bit]: Update to release Media SDK 1.1. AMF: rework getting initial SPS/PPS nals.

http://devgurus.amd.com/thread/169647
Seems that "ExtraData" parameter returned crap SPS/PPS. Copying from bitstream and re-initing encoder seems to work and has fixed streaming with B-frames (nginx rtmp + vlc atleast).
Wow, so this version enabled multiprocessing so multi gpu or apu+gpu
Code:
For example, if an APU + discrete GPU (dGPU) are available,
two sessions can work in parallel, one on the APU and one on
the dGPU. Similarly, if the hardware configuration is CPU + 
dGPU + dGPU, two sessions can work in parallel (one on each
dGPU). This approach delivers better performance as well as
optimal device utilization.

Jackun, if you get this working, I am buying a second card :D
 

jackun

Developer
@dping If I understand the D3DMultiEncoder sample correctly, you just pass appropriate D3D device handle to AMF. So if the device shows up in D3D device enumeration, it should be usable.
 
Last edited:

dping

Active Member
@dping If I understand the MultiD3DEncoder sample correctly, you just pass appropriate D3D device handle to AMF. So if the device shows up in D3D device enumeration, it should be usable.
So my understanding of parallel is incorrect. both cards cant work on the same stream?
 

lksaar

New Member
Hello,
firstly thanks for your amazing work, everything works quiet nicely, but I got a couple of questions:

1. I am using OBS for local recording at the moment following this guide (https://obsproject.com/forum/threads/how-to-make-high-quality-local-recordings.12600/). It recommends to set a CFR of 10-20. CFR seems to be called Constrained QP? 50-51 QP looks really great, does it equal 10 cfr?

2. I have to displays with 1200p (1920x1200), but it seems like VCE can't encode more than 1080p60. (http://devgurus.amd.com/message/1299383, http://www.amd.com/Documents/UVD3_whitepaper.pdf [Page 10]). Is there anyway to still play in 1200p and only scale the video down to 1080p? I found this (https://obsproject.com/forum/threads/resolution-downscale-1440p-to-1080p-and-any.24195/ ) thread, but it seems like the rescaling happens after the encoding. Any other way to downscale it?

Thanks for your time.
 

jackun

Developer
1.) CFR is a x264 setting and doesn't affect VCE. But uncheck CBR, then QP is calculate as
Code:
40 - ("Quality Balance" * 5) / 2
6 or 7 should be good enough. Check from log window (under Help menu) what it is set to or check out custom VCE settings.
2.) Set video size in "Settings > Video" tab and then either CTRL+F to fit game capture layer to video size or click "Edit scene" (click Preview stream to activate the button) and move/resize the game capture layer.
 
Last edited:

dping

Active Member
Hello,
firstly thanks for your amazing work, everything works quiet nicely, but I got a couple of questions:

1. I am using OBS for local recording at the moment following this guide (https://obsproject.com/forum/threads/how-to-make-high-quality-local-recordings.12600/). It recommends to set a CFR of 10-20. CFR seems to be called Constrained QP? 50-51 QP looks really great, does it equal 10 cfr?

2. I have to displays with 1200p (1920x1200), but it seems like VCE can't encode more than 1080p60. (http://devgurus.amd.com/message/1299383, http://www.amd.com/Documents/UVD3_whitepaper.pdf [Page 10]). Is there anyway to still play in 1200p and only scale the video down to 1080p? I found this (https://obsproject.com/forum/threads/resolution-downscale-1440p-to-1080p-and-any.24195/ ) thread, but it seems like the rescaling happens after the encoding. Any other way to downscale it?

Thanks for your time.
you mean CRF, Constant Rate Factor. for local recording you want to enable one of the VBR options.

@jackun, did you ever fix the issue with people usings VBR under the VCE tab couldn't have access to the quality balance value in the encoding tab?
 

jackun

Developer
you mean CRF, Constant Rate Factor. for local recording you want to enable one of the VBR options.

@jackun, did you ever fix the issue with people usings VBR under the VCE tab couldn't have access to the quality balance value in the encoding tab?

There was/is an issue? There was a little misunderstanding of me misreading CFR as CRF (ha) that when checked and CBR unchecked, enabled VBR but now you can override "Encode" tab method setting from custom settings.
 

lksaar

New Member
1.) Yea, my bad. I meant CRF. QP seems to be the CRF equivalent ( if I understood it corretly [see post #6 in this thread]).

2.) I can't preview the stream, will get the following error:" Encoder initialization failed: Unsupported resolution. Maximum is 1920 by 1080". I don't find an option to resize the game source directly. I can resize it in the Video options, but it only offers fixed values (1536x960 in my case)
 

dping

Active Member
1.) Yea, my bad. I meant CRF. QP seems to be the CRF equivalent ( if I understood it corretly [see post #6 in this thread]).

2.) I can't preview the stream, will get the following error:" Encoder initialization failed: Unsupported resolution. Maximum is 1920 by 1080". I don't find an option to resize the game source directly. I can resize it in the Video options, but it only offers fixed values (1536x960 in my case)
custom under video.
 

lksaar

New Member
Oh, thanks a lot, I got it to work. I also had to check "Stretch image to screen" and "Ignore aspect ratio" in "Game Capture".
 

dping

Active Member
There was/is an issue? There was a little misunderstanding of me misreading CFR as CRF (ha) that when checked and CBR unchecked, enabled VBR but now you can override "Encode" tab method setting from custom settings.
Yeah, the override doesn't un-grey the quality balance.

With any VBR option checked in VCE tab, you have to go back and uncheck CBR from Encode to change quality balance. but when you press ok then go back in, CBR is rechecked and QB is grey'd again
 

dping

Active Member
Hey i'm very new and i have no idea how to how to install this :/
there are instructions on the front page of what is required. if you've never setup OBS before I would recommending trying that first as it is a requirement to have the main version installed first anyway. then install this fork from another folder
 
Top