OBS branch with AMD VCE support.

KaziQ

New Member
Hi guys,

What I want is not constant bitrate of FPS but variable FPS like shadowplay. Do you think it can be done?

KaziQ
 

OliverMD

Member
What I want is not constant bitrate of FPS but variable FPS like shadowplay. Do you think it can be done?
So if i understand you correctly, you want to record at 60FPS but if the FPS incame go down so does the FPS in the file or what?
For what purpose and whats the point exactly?
 

dping

Active Member
Hi guys,

What I want is not constant bitrate of FPS but variable FPS like shadowplay. Do you think it can be done?

KaziQ
Are you talking about Constant Frame Rate? Uncheck CFR, that is an OBS setting not just this fork. not usings CRF also means that any video you record, wont be as compatible when editing or maybe even uploading. Not sure, just know what I've read about CFR
 

OliverMD

Member
Am i the only one that has a very hard time in nailing good quality without blowing the bitrate/size ratio big times in VBR?
As said i changed from CBR to VBR since it can somewhat record 1080p@60FPS for some reason.

But now i sadly got the issue of not being able to nail a good quality/size ratio like with CBR.
Not sure but it seems like i find one solution that gets followed by another issue right away hehe.

To use VBR while using the Replay function seems to be a bit wonky too i think.
Guess becuase of the fact that VBR (with VCE only?) can blow up for some reason in certain scenarios.
 

dping

Active Member
Stable CBR settings:
http://imgur.com/a/iU3sI#0

720@48fps, bitrate circa 3500kb/s


as in total bits, 720@48 is just slightly less bits than 1080@30 so it would use close to the same bitrate.

720p is also nicer because most mobile and other devices can do 720 with no issues

and we've talked about 48vs60fps...

ignore the latency tuning factor. I'm having issues on my side that has caused me to look into that a little. please dont play with it as I've read its not an one-size-fits all kinda thing
 

dping

Active Member
Am i the only one that has a very hard time in nailing good quality without blowing the bitrate/size ratio big times in VBR?
As said i changed from CBR to VBR since it can somewhat record 1080p@60FPS for some reason.

But now i sadly got the issue of not being able to nail a good quality/size ratio like with CBR.
Not sure but it seems like i find one solution that gets followed by another issue right away hehe.

To use VBR while using the Replay function seems to be a bit wonky too i think.
Guess becuase of the fact that VBR (with VCE only?) can blow up for some reason in certain scenarios.

whats your target bitrate...just local record correct? or streaming as well

EDIT: I'm willing to work on 1080@60 just to apease you :) but I might try 1080@48 if that doesn't work, which would leave me to only use MFT
 

OliverMD

Member
Stable CBR settings:http://imgur.com/a/iU3sI#0
and we've talked about 48vs60fps...
Honestly i don't even know what some of those settings like GOP Size or IDR Period mean which isn't making it easier
What about Luma Search anyway, i just let it around 5x3 always really.

EDIT: I'm willing to work on 1080@60 just to apease you :) but I might try 1080@48 if that doesn't work, which would leave me to only use MFT
Just Local Recording. You could also just try 1080p@50FPS since that should work fine with OpenCL.
"just to apease you" ...okay?

EDIT: Oh hey look it reset my GPU driver again while playing for some reason :/
Must be the second or third time this happens already.
 
Last edited:

dping

Active Member
Honestly i don't even know what some of those settings like GOP Size or IDR Period mean which isn't making it easier
What about Luma Search anyway, i just let it around 5x3 always really.

Just Local Recording. You could also just try 1080p@50FPS since that should work fine with OpenCL.
"just to apease you" ...okay?

EDIT: Oh hey look it reset my GPU drive again while playing for some reason :/
Must be the second or third time this happens already.


What do you mean reset GPU drive?

I've been playing with alot here. youtube recommends a GOP half of your fps so keep that in mind. I was able to record VBR 1080@60fps with OCL but the the file sizes were huge! even at VBR qual balance of 3, set to max of 8,000 bitrate it was somewhere in the neighborhood of 500MB for a 1 minute video

I lowered it to qual balance of 2 and a max of 3,000 bitrate and buffer of 50kb
This gave me about 350MB for 1 minute of video and didn't look to horrible.
https://www.youtube.com/watch?v=RLgL-6B6hps <----1080@60fps


1080@30fps cuz it doesn't look any different when uploading to youtube! :D
https://www.youtube.com/watch?v=5xbMLLV0JB0&feature=youtu.be <----1080@30fps
I settled on these settings:
http://imgur.com/a/rKMlY#0
IDR should be the same as or double your fps (this is like setting your key frame interval to 1 or 2 (helps when searching fast fwding videos to find "key frames" and also a reference point. that is basically what IDR is. twitch and hitbox recommend this to be set to 2, and this is why (when streaming) set your IDR to double your FPS and you'll be fine.
My calculations for buffer size is (1/fps) x bitrate. so 1/30 x 3000 is 100 (I accidentally set it to 50 in the screen capture.
GOP will always be half fps(based on youtube's recommendations).
I've been using these custom x264 settings: intra-refresh=true tune=animation
Luma search, I played with a bit, but I didn't see a difference, I just set it to whatever is the highest? :P

IMO: I would not set the VBR quality balance any higher than 3 with these settings. its kind of a waste of space :S

EDIT: LMAO, I was able to do 480p @120fps recording. https://www.youtube.com/watch?v=Yn_uPQLIvm8&feature=youtu.be sadly, it doens't look much different than the rest due to lost quality in the encoding process. the 1080 is just sharper fonts and some edges. thats about it
 
Last edited:

RifleEyez

Member
What do you mean reset GPU drive?

I've been playing with alot here. youtube recommends a GOP half of your fps so keep that in mind. I was able to record VBR 1080@60fps with OCL but the the file sizes were huge! even at VBR qual balance of 3, set to max of 8,000 bitrate it was somewhere in the neighborhood of 500MB for a 1 minute video

I lowered it to qual balance of 2 and a max of 3,000 bitrate and buffer of 50kb
This gave me about 350MB for 1 minute of video and didn't look to horrible.
https://www.youtube.com/watch?v=RLgL-6B6hps <----1080@60fps


1080@30fps cuz it doesn't look any different when uploading to youtube! :D
https://www.youtube.com/watch?v=5xbMLLV0JB0&feature=youtu.be <----1080@30fps
I settled on these settings:
http://imgur.com/a/rKMlY#0
IDR should be the same as or double your fps (this is like setting your key frame interval to 1 or 2 (helps when searching fast fwding videos to find "key frames" and also a reference point. that is basically what IDR is. twitch and hitbox recommend this to be set to 2, and this is why (when streaming) set your IDR to double your FPS and you'll be fine.
My calculations for buffer size is (1/fps) x bitrate. so 1/30 x 3000 is 100 (I accidentally set it to 50 in the screen capture.
GOP will always be half fps(based on youtube's recommendations).
I've been using these custom x264 settings: intra-refresh=true tune=animation
Luma search, I played with a bit, but I didn't see a difference, I just set it to whatever is the highest? :P

IMO: I would not set the VBR quality balance any higher than 3 with these settings. its kind of a waste of space :S

EDIT: LMAO, I was able to do 480p @120fps recording. https://www.youtube.com/watch?v=Yn_uPQLIvm8&feature=youtu.be sadly, it doens't look much different than the rest due to lost quality in the encoding process. the 1080 is just sharper fonts and some edges. thats about it

This is some great information as I only Locally Record for YouTube - 1080p, 30FPS. Any more tips just for YouTube & Local Recording? I guess YouTube's shitty 8,000,000 bitrate at anything under 1080p screws everything anyway.

Just a question - if in ''Encoding'' I have ''Use OpenCL for NV12'' ticked and ''VCE MFT'' unchecked, do the custom VCE settings (GOP/IDR etc) still apply? I'm using a CBR of 35000, and in the custom VCE settings I followed yours - GOP 15, IDR I PIC both at 60 (recording at 30fps). I settled at around 100 to 80 in Quality v Speed (not 60 or whatever you example was - any reason for that?) seems fine to me? My max ref frames is 4 too. I sometimes get a warning (forget the exact term) in red that mentions something about ''CPU too high, suggest turning xx down'' but I drop no frames and my CPU use is really low, so I'm presuming that's just a false positive to do with the branch?. I'm using the test of a test build that jackun put ITT.

If VCE MFT needs to be checked and OpenCL for NV12 unchecked for the VCE settings to apply, I might try ticking that again and taking off OpenCL - but I was getting the memory leaks, even at 1080/30fps - shooting up and up till I was using like 3-4gb of RAM after 20 minutes. Luckily I have 16gb RAM for music production and tons of HDD's, but I don't know if that has an effect and I can get away with the memory leak due to my amount of RAM?
 
Last edited:

OliverMD

Member
What do you mean reset GPU drive?
youtube recommends a GOP half of your fps so keep that in mind.
VBR qual balance of 3, set to max of 8,000 bitrate it was somewhere in the neighborhood of 500MB for a 1 minute video
Ah sorry i meant GPU Driver hehe :P Ahh good to know about the GOP thanks
Yeah the VBR setting in OBS with VCE is REALLY really weird.
For me (and you) it seems to be ignoring the max bitrate you set completely and just goes with an CRF/CQP like setting.
You can see that perfectly if you turn the quality up to 7 or 10 and it goes easily in the 100k ranges depending on the game.
I lowered it to qual balance of 2 and a max of 3,000 bitrate and buffer of 50kb
This gave me about 350MB for 1 minute of video and didn't look to horrible.
Fun fact. Check the file itself after done recording ;). 350mb is WAY to much if the max bitrate is only 3k.
When i still used CBR all the way i came out around 450mb for 2(!) min and 30k bitrate easily and still do.
1080@30fps cuz it doesn't look any different when uploading to youtube! :D
Sry for my "manner of expression" but...NO SHIT CAPTAIN :D
Who said i want to upload my stuff only onto YT where the current limit is sadly 30FPS?!...
IDR should be the same as or double your fps (this is like setting your key frame interval to 1 or 2 (helps when searching fast fwding videos to find "key frames" and also a reference point. that is basically what IDR is.
Ah that might explain the issue I'm having looking through an 60FPS file for some reason


if in ''Encoding'' I have ''Use OpenCL'' ticked do the custom VCE settings (GOP/IDR etc) still apply?
They are under "Shared Settings" so yes they do apply don't worry.
so I'm presuming that's just a false positive. I'm using the test of a test build that jackun put ITT.
As long as the file is fine, and the recording FPS in OBS are what you set it on just ignore it i guess. Doing the same really.
but I don't know if that has an effect and I can get away with the memory leak due to my amount of RAM?
From what i experienced 1080p@60FPS or an too high Quality VCE setting tend to bring in the memory leaks.
And no, a leak keeps leaking obviously so somewhen even your 16GB RAM will die to it.
 

oma

New Member
dping tried ur settings mate, local recording looks ok but when streaming this is what i get.. Any ideas what i could do to get rid of this?
pixelation.jpg
 
Last edited:

dping

Active Member
Just a question - if in ''Encoding'' I have ''Use OpenCL for NV12'' ticked and ''VCE MFT'' unchecked, do the custom VCE settings (GOP/IDR etc) still apply? I'm using a CBR of 35000, and in the custom VCE settings I followed yours - GOP 15, IDR I PIC both at 60 (recording at 30fps). I settled at around 100 to 80 in Quality v Speed (not 60 or whatever you example was - any reason for that?) seems fine to me? My max ref frames is 4 too. I sometimes get a warning (forget the exact term) in red that mentions something about ''CPU too high, suggest turning xx down'' but I drop no frames and my CPU use is really low, so I'm presuming that's just a false positive to do with the branch?. I'm using the test of a test build that jackun put ITT.

If VCE MFT needs to be checked and OpenCL for NV12 unchecked for the VCE settings to apply, I might try ticking that again and taking off OpenCL - but I was getting the memory leaks, even at 1080/30fps - shooting up and up till I was using like 3-4gb of RAM after 20 minutes. Luckily I have 16gb RAM for music production and tons of HDD's, but I don't know if that has an effect and I can get away with the memory leak due to my amount of RAM?

Anytime when MFT is not checked, anything in the Media Foundation Transform settings should not apply

The max reference frames under MFT "shouldn't" affect anything in this same case, but they do seem to :/ I leave max refs at 1 or 2. valid range is 1-4.

I'll reply more when I have time time. I would recommend going back and reading the whole threat highlights what jackun's responses over time, he answers a lot of these questions.
 
Last edited:

dping

Active Member
dping tried ur settings mate, local recording looks ok but when streaming this is what i get.. Any ideas what i could do to get rid of this?
pixelation.jpg

Was this what it looked like saved or during stream? Yeah, I haven't figured out why it does this. I get the same thing during my saves yet, live, it looks alright. Its happens after fast motion. I dont know if this is because of the bitrate going heywire for moments then trying to catch back up from the fast movement or what.
 

oma

New Member
Was this what it looked like saved or during stream? Yeah, I haven't figured out why it does this. I get the same thing during my saves yet, live, it looks alright. Its happens after fast motion. I dont know if this is because of the bitrate going heywire for moments then trying to catch back up from the fast movement or what.

Yes it looks like that saved, have not checked during stream tho. Its pretty frustrating as i would really like to use VCE for streaming and then when the files are saved i could download the best clips for youtube, but for now it seems its not possible. Im reading this topic often so if u find solution dping just write it down, btw im using the latest test test version.
 

dping

Active Member
Yes it looks like that saved, have not checked during stream tho. Its pretty frustrating as i would really like to use VCE for streaming and then when the files are saved i could download the best clips for youtube, but for now it seems its not possible. Im reading this topic often so if u find solution dping just write it down, btw im using the latest test test version.


I sure will. I dont know about testing until I get to dig more in to VCE and MFT exc cuz I think that maybe we're overlooking something with the CBR or something. I dont think there is a setting that wont do what were seeing. Example is that I streamed at 2200kbs at 480p 30fps and it still peaked out on me around 3700kbs. the stream still lagged during huge movement. normally, h264 chooses to skip the quality inteligently during quick movements which helps hold the bitrate.. it seems that VCE attempts to skip frames in place of quality.
i.e. http://r-1.ch/analyzer/results/d2_ricci.d7eb95
i.e. http://r-1.ch/analyzer/results/d2_ricci.7f2ddb

both the above show dropped frames when it peaks way above the target bitrate,



Anyway, going to bed and table this til morning.
 

RifleEyez

Member
Anytime when MFT is not checked, anything in the Media Foundation Transform settings should not apply

The max reference frames under MFT "shouldn't" affect anything in this same case, but they do seem to :/ I leave max refs at 1 or 2. valid range is 1-4.

I'll reply more when I have time time. I would recommend going back and reading the whole threat highlights what jackun's responses over time, he answers a lot of these questions.

Yeah, I've read back and picked up a few tips but it seems to be a mix - some say have settings as double your recording FPS, some say have them AS your FPS, then some say have GOP at half your FPS you're recording at (so I've got I Pic IDR Period at 60 and GOP at 15. Jackun had all 3 with xxx's and said have them as your FPS you're recording at, so 30. Some have GOP even at 1. Which is the right way?

And do these specific custom VCE settings still apply if I'm using OpenCL ticked and not MFT? Should I be using MFT instead, or is there not much difference quality wise? I mainly play Arma/DayZ, so lots of greens, trees and other things.

I'm just looking for Local recording, best quality, 1080p at 30 fps to upload to YouTube. That's all I'm looking for ;) I've been trialling and error'ing myself, but I still can't really make sense of it because I'm not too educated on what 95% of these settings do or what impact they may have.
 

OliverMD

Member
Some have GOP even at 1. Which is the right way?
At the beginning i just had both at 0 cuz i had no idea what they do and it worked so yeah.
I'm just looking for Local recording, best quality, 1080p at 30 fps to upload to YouTube. That's all I'm looking for,
If you want it really simple just take OpenCL in combination with CBR 30-50k Bitrate depending on your space.
Below are the settings I'm running at the moment but with VBR and MFT since OpenCL is a bitch if you're using VBR.

OBSSettings.jpg
 

jackun

Developer
2014-08-31 build: OVE CBR had few custom settings that were not fast enough for 1080p@60. Now it just sets these like this (as buttons in settings tab):

size = mWidth * mHeight * mFps;
if (size <= 1280 * 720 * 60)
set Quality settings​
else if (size <= 1920 * 1080 * 30)
set Balanced settings​
else
set Speed settings​
 
Last edited:

jackun

Developer
dping tried ur settings mate, local recording looks ok but when streaming this is what i get.. Any ideas what i could do to get rid of this?
pixelation.jpg

Hmm, that's nasty. My upload sucks, but i'll see if I can repro this on local network with nginx. OBS probably dropping P-frames there.
 
Last edited:
Top