OBS branch with AMD VCE support.

dping

Active Member
You said before that QP 0 is uncompressed. Is it possible to use an uncompressed video of a benchmark to compare to compressed runs with different settings using freely available video analysis tools like Moscow State University's Video Quality Measurement Tool? I can't tell from looking at two sources unless one is clearly inferior, if the video quality is same. What is the best (resource wise) way to record uncompressed video using OBS?

The problem is if I record the same exact benchmark with different settings, each run will be slightly different (in terms of fps dips, frame times etc.) than the previous one which might make the comparison invalid as the frames won't be identical. Now, my question is can OBS record from an uncompressed video file being played on a media player for exact comparison purposes? If so are there any caveats I should be looking for?



Ok, I'll make sure to avoid it in the future. BTW, can you also take a look at the question I directed at dping? I am trying to achieve some sort of benchmarking method that is not dependent on my poor eyes.
I didn't say uncompressed, I said lossless, but yeah, you wont be able to tell much of a difference from lossless to some compression. this is why h264 is here. it attempts to compress the parts of the scene that aren't discernible by the eye.

I would:
1. open case and turn fans to 100% for tests (this way thermal throttling aren't an issue
2. use the same scene as a benchmark. some games have demos. I used CS:S as a demo that this works as long as you use the full demo. obviously crank up the settings and unlock the frames to see the clear difference between them (cl_showfps 3 or 4)
3. each run is not going to be identical but run through it three times and use the delta between three runs.
4. welcome to benchmarking.
 

ufster

New Member
I didn't say uncompressed, I said lossless, but yeah, you wont be able to tell much of a difference from lossless to some compression. this is why h264 is here. it attempts to compress the parts of the scene that aren't discernible by the eye.

I would:
1. open case and turn fans to 100% for tests (this way thermal throttling aren't an issue
2. use the same scene as a benchmark. some games have demos. I used CS:S as a demo that this works as long as you use the full demo. obviously crank up the settings and unlock the frames to see the clear difference between them (cl_showfps 3 or 4)
3. each run is not going to be identical but run through it three times and use the delta between three runs.
4. welcome to benchmarking.


Sorry, yes lossless... I was using Metro 2033 Redux Benchmark, same scene for all settings but it's not consistently the same frame rate. It fluctuates half a frame to a full frame between different settings.

Here is what I am doing currently. Maybe I am way off but it seems to make sense. I have recorded the Metro 2033 Benchmark lossless via 0 QP using Quicksync encoder. It's a 1 minute file with 1GB in size. I'm now playing the file in MPC HC and recording the file in MPC HC with different VCE settings. I'll use the resulting files and push them into MUS VQMT for a computational analysis of the video quality to see which ones give the best result for the bitrate and make a decision accordingly. Given the freely available tools to regular users, I think this is my best bet at a scientific-ish comparison. I'll post the results as I get them.
 
How can CQP and QP min/max set to 0 be lossless? a 3minute encode resulted in a file size of 134MB avg bitrate 6mbps. Using handbrake with CRF 15 the 3 minute file is now 231MB with 10mbps avg bitrate. qp is not the same as crf. Am i missing something?
 
Last edited:

dping

Active Member
How can CQP and QP min/max set to 0 be lossless? a 3minute encode resulted in a file size of 134MB avg bitrate 6mbps. Using handbrake with CRF 15 the 3 minute file is now 231MB with 10mbps avg bitrate. Am i missing something?
What is your bitrate set to? There currently isn't a setting to force 0 buffer so it might be taking the bitrate/ buffer settings that you use
 

ufster

New Member
How can CQP and QP min/max set to 0 be lossless? a 3minute encode resulted in a file size of 134MB avg bitrate 6mbps. Using handbrake with CRF 15 the 3 minute file is now 231MB with 10mbps avg bitrate. qp is not the same as crf. Am i missing something?

Ok, I have spent some considerable time on trying different settings with OBS over the past few days and I have came across this little program called A's Video Converter which has support for AMD's VCE and has decent configuration options. In fact I'm using videos converted with that application to make video quality tests. You can, for testing, capture a lossless file with x264 and encode it using that program with your desired settings to see if it is actually lossless. I believe it uses the same VCE libraries as OBS.
 

Kobata

Member
How can CQP and QP min/max set to 0 be lossless? a 3minute encode resulted in a file size of 134MB avg bitrate 6mbps. Using handbrake with CRF 15 the 3 minute file is now 231MB with 10mbps avg bitrate. qp is not the same as crf. Am i missing something?
VCE may not be able to fully handle a lossless encode (at least in HD) -- I did a couple (1080p30) on x264 for testing a while ago using rather slow (and smaller) settings, and the final bitrate was 248 Mbps, VCE's docs say 100Mbps is the highest it will let you set in bitrate mode.

Ok, I have spent some considerable time on trying different settings with OBS over the past few days and I have came across this little program called A's Video Converter which has support for AMD's VCE and has decent configuration options. In fact I'm using videos converted with that application to make video quality tests. You can, for testing, capture a lossless file with x264 and encode it using that program with your desired settings to see if it is actually lossless. I believe it uses the same VCE libraries as OBS.
I think that program is using the MFT encoder, although that may be using AMF itself depending on what AMD wrote it to do.
 

ufster

New Member
I think that program is using the MFT encoder, although that may be using AMF itself depending on what AMD wrote it to do.

Does this mean the resulting files with similar VCE settings between OBS and A's VC won't be comparable? I've been testing video quality with the files encoded by this application, with good results I may add. Could it be that the difference in quality/bitrate won't be drastic if it were to use MFT instead of AMF?
 

Kobata

Member
Does this mean the resulting files with similar VCE settings between OBS and A's VC won't be comparable? I've been testing video quality with the files encoded by this application, with good results I may add. Could it be that the difference in quality/bitrate won't be drastic if it were to use MFT instead of AMF?
It's the same hardware, so there's a limit on how much any API can change it. The main difference I'm aware of is the MFT encoder exposes less options.
 

Dellon

New Member
Hey guys, I just upgraded to windows 10 today and wanted to try streaming csgo,but my fps in csgo drop to 40 and in the obs i see "VCE too slow" in left bottom corner. I used DDU and installed drivers for win 10, but it didn't help. Can anyone solve my problem ? Here is the log from the last streaming: https://gist.github.com/246f0ab2ef83171cd9ce
 

ufster

New Member
It's the same hardware, so there's a limit on how much any API can change it. The main difference I'm aware of is the MFT encoder exposes less options.

Oh, I just remembered I was on Catalyst 15.7 drivers. That means it has to be using AMF, right? IIRC, MFT was dropped with 15.7 drivers.
 

dping

Active Member
Hey guys, I just upgraded to windows 10 today and wanted to try streaming csgo,but my fps in csgo drop to 40 and in the obs i see "VCE too slow" in left bottom corner. I used DDU and installed drivers for win 10, but it didn't help. Can anyone solve my problem ? Here is the log from the last streaming: https://gist.github.com/246f0ab2ef83171cd9ce
Uninstall Razer Synapse or remove any overlay or recording function in that program.

I would also make sure raptr (gaming evolved) isn't installed either. If you still have issues after uninstalling, and restarting windows, change from DX11 to host and try playing with disabling "D3D interop"
 

Dellon

New Member
So I tried what you advised and I ended up getting this:
- game capture full screen 60 fps menu and in game
- window capture borderless 140fps menu and in game
Tried even changit to host and disabling D3D interop and it didn't really help. I am really curious what happened to it, as on 8.1 I was getting stable fps(250), but the drivers crashed then.
 

dping

Active Member
So I tried what you advised and I ended up getting this:
- game capture full screen 60 fps menu and in game
- window capture borderless 140fps menu and in game
Tried even changit to host and disabling D3D interop and it didn't really help. I am really curious what happened to it, as on 8.1 I was getting stable fps(250), but the drivers crashed then.
Disable the xbox gamedvr function. click start, type xbox, select xbox app, click the gear (settings) click gamedvr tab, turn it off. try game capture again.

Post another log.
 

Dellon

New Member
Here it is. When I set OBS to 60 fps i get 40 fps in game,but when I set OBS to 30 fps i have >60 fps in game
 

Attachments

  • 2015-07-30-0046-48.log
    22 KB · Views: 20

dping

Active Member
Here it is. When I set OBS to 60 fps i get 40 fps in game,but when I set OBS to 30 fps i have >60 fps in game
change to host mode then make a monitor capture in a different scene and set your game to windowed no border. fps should peak out then. This issue seems to affect only source games. VCE or x264 doesn't matter.
 

Dellon

New Member
Looks like, I tried and it went pretty much fine...it is fine when the fps in game is >144. Could I also use window capture instead of monitor capture ? Log in case you need it
 

Attachments

  • 2015-07-30-0113-30.log
    20.2 KB · Views: 18

Kobata

Member
Oh, I just remembered I was on Catalyst 15.7 drivers. That means it has to be using AMF, right? IIRC, MFT was dropped with 15.7 drivers.
There were three before, OVE is the one that got removed. MFT is the newer Windows standard video API.

Hey guys, I just upgraded to windows 10 today and wanted to try streaming csgo,but my fps in csgo drop to 40 and in the obs i see "VCE too slow" in left bottom corner. I used DDU and installed drivers for win 10, but it didn't help. Can anyone solve my problem ? Here is the log from the last streaming: https://gist.github.com/246f0ab2ef83171cd9ce
In my experience so far Win10/Win10 drivers are randomly extremely slow when trying to encode some games. I've noticed it in Kerbal Space Program particularly myself (as it loads fairly fast and has a 3D main menu so it's an easy performance check), but other games like Dark Souls II SotFS would record fine.
 

dping

Active Member
Can you tune up the quality manually even more or is it the best possible quality when pressing the "Quality" button?
Manually? Yes, dropping max QP a little (I use 41), This doesn't process it at a higher quality, it just forces the encoder to work harder on scenes.
 
Top