OBS branch with AMD VCE support.

Benman2785

Member
@DerAwesumdude

yeah - my 7970 also works flawless in CBR ;)

if the buffersize is that low it will simple not add up bitrate to a high peak
it would be nice if you provide downloadable sample videos on a webspace (like http://benmanshafen.de/pics/OBS/IPP6.mp4)
- settings for these videos: 720p60 in Quality-Preset @3400-3500kbps + straight custom-buffer + 128aac // GOP 30 / IDR 120 / b-Frames "play around 0 or 1-4" / minQP 15-20 / maxQP 35-52 / check Disable D3D-OpenCL interoperability

so qualtiy as if you stream - that is more important than local quality (these is good even with GCN 1.0 cards)

if you dont have webspace pls upload them to share-online or mediafire or any even faster hoster ;)

ps we all could need a small webserver for personal use -> vServer+domain = 3€/month -> but you can provide fast help and people can help you faster ;)
 

Benman2785

Member
@ALL

i tried something new - and i like it -> but it give a little MORE LOAD on GPU
OBS_VCE_encoder_settings_full_me-search_30fps.jpg

now i use full "ME Search" - which result in a usually "clearer" video -> only fast scene-changes will look blurry now

here 720p30 with BALANCED
http://benmanshafen.de/pics/OBS/OBS_VCE_encoder_settings_full_me-search_30fps_balanced.mp4

here 720p30 with Quality -> as you see, we now have some sutters (on HD7970)
http://benmanshafen.de/pics/OBS/OBS_VCE_encoder_settings_full_me-search_30fps_quality.mp4

i will try it in 720p60 and provide video soon ;)

EDIT: 720p60 added -> but you see at the first minute that there r some problems - dont know if it was CPU or GPU - also had lags ingame -> will try to fix that ;)

here 720p60 with BALANCED
http://benmanshafen.de/pics/OBS/OBS_VCE_encoder_settings_full_me-search_60fps_balanced_1.mp4

here 720p60 with BALANCED second try
http://benmanshafen.de/pics/OBS/OBS_VCE_encoder_settings_full_me-search_60fps_balanced_2.mp4

here 720p60 Balanced with less load and OC
http://benmanshafen.de/pics/OBS/OBS..._full_me-search_60fps_balanced_3_lessLoad.mp4

EDIT2:

you may asked what is with half ME search - now we know ;)

OBS_VCE_encoder_settings_half_me-search_60fps.jpg

720p60 Balanced - works great ;)
http://benmanshafen.de/pics/OBS/OBS_VCE_encoder_settings_half_me-search_60fps_balanced.mp4

always have in mind it is 720p60 @3400kbps only -> that is what my 60FPS twitch-stream would look like
 
Last edited:

DerAwesumdude

New Member
- settings for these videos: 720p60 in Quality-Preset @3400-3500kbps + straight custom-buffer + 128aac // GOP 30 / IDR 120 / b-Frames "play around 0 or 1-4" / minQP 15-20 / maxQP 35-52 / check Disable D3D-OpenCL interoperability

@Benman2785 I don't know what "disable D3D-OpenCL" is, but here are my files (each video has only different b-frames):
www.awesumdude.tv/files/awesumdude/bframe0.mp4 (that file was a .flv first and I just renamed it)
www.awesumdude.tv/files/awesumdude/bframe1.mp4
www.awesumdude.tv/files/awesumdude/bframe2.mp4
www.awesumdude.tv/files/awesumdude/bframe3.mp4
www.awesumdude.tv/files/awesumdude/bframe4.mp4

All videos are based on these settings:


And what do you mean by "ps we all could need a small webserver for personal use -> vServer+domain = 3€/month -> but you can provide fast help and people can help you faster ;)"? If that was an offer - thank you, but I already got my own packages :)

Thanks again :D
 
Last edited:

Benman2785

Member
@Benman2785 I don't know what "disable D3D-OpenCL" is, but here are my files (each video has only different b-frames):
www.awesumdude.tv/files/awesumdude/bframe0.mp4
www.awesumdude.tv/files/awesumdude/bframe1.mp4
www.awesumdude.tv/files/awesumdude/bframe2.mp4
www.awesumdude.tv/files/awesumdude/bframe3.mp4
www.awesumdude.tv/files/awesumdude/bframe4.mp4

All videos are based on these settings:


And what do you mean by "ps we all could need a small webserver for personal use -> vServer+domain = 3€/month -> but you can provide fast help and people can help you faster ;)"? If that was an offer - thank you, but I already got my own packages :)

Thanks again :D
;)

wasnt meant as an offer - more kind of an advice :p

mh - you mixed GOP with IDR:

GOP has to be 1/2x or 1x FPS
IDR has to be 2x FPS

rest of your settings are ok - you may can try minQP 16 // maxQP 37 -> will result in a better frame-quality

i cant watch your videos in my webbrowser - but i downloaded them and will test them ;)


your video with 4 bframes is corrupt -> just 356bytes // maybe (as Jackun said) just 3 b-Frames supported yet

ps best video is with 3 b-frames
DerAwesumdude_b-Frames_3.jpg


just one big peak - usually a 4932kbps peak CAN MAYBE result in a dropped frame on twitch (allows ~4800-5050kbps as maximum peak)

to reduce that (but also lose quality) you need to set maxQP = 44 (in your case) -> that is because of DayZ has lots of small things that need quite some bitrate as h264 and twitch only allows ~3500kbps average what is lousy enough for 720p60

you can try to improve frame-quality when u stream in 720p48 (just dont forget that you have to properly set GOP (24) and IDR (96) & I Pic Period (6) when using 48 FPS)

60FPS vs 48FPS => every single frame while 48 FPS can be 25% larger than as if you use 60 FPS

@3500kbps
max 58,333kb per frame when 60FPS
but
max 72,916kb per frame when 48FPS
 
Last edited:

DerAwesumdude

New Member
What do you mean by semi-final? Isn't that a problem that the peaks are around 5000kbits when you say that twitch allows only ~3500kbits? And what about my viewers, that can view constantly around 3000 but now THAT much higher? :D
 

dping

Active Member
I always streamed with CBR working on my old HD7970 for about 1 year.

@Benman2785 I will try your settings. (Why is the puffer size so low?) Will reply today evening. How do you want the sample videos? Just random gameplay? Any special encoding settings? And I guess recorded gameplay has other settings than streamed one :D
I did as well but in complex scenes it always peaked above the max bitrate. I know this because my initial testing was with a 280X (VCE 1.0)
 

DerAwesumdude

New Member
For testing purposes I just tried setting the bitrate to 100 :D And it still has been the same quality as setting it to 3500.

@jackun are there no chances of fixing this without getting a new SDK? I wrote AMD on twitter but I don't think they'll respond :/
 

Benman2785

Member
pls try IPicPeriod of 6 or 10 (or 0) // 20 is a little high, but i dont know if VCE will add in i-frames between the fixed i-frames every 20 frames...

but it was nice to speak with you ;)
 

Benman2785

Member
i did some bad-paint work ;)

says most you need to know:
4_OBS_VCE_encoder_4_dummies.jpg




TEST SETTINGS 720p60
2_60fps_3400kbps.jpg

3_60fps_balanced_tweaked_encoder_settings.jpg


what do we see here?

settings for (twitch-)streaming 720p60 CBR @3400kps & customBuffer 565 (so it is strict and reduces peaks)
we use a "tweaked" Balanced-Preset with:
GOP = 1/2 FPS
IDR = 2x FPS
B-Frames = 0 (because my card doesnt support them // if GCN1.3 or newer set this to 3)
MinQP = 20 (it lowers load on GPU and just slighlty reduces video-quality)
MaxQP = 42 (sweetspot for 2500-3500kbps bitrate when in heavy-scenes -> if lowered you may get higher peaks then twitch allow)
I Pic Period = 6 = 1/5 GOP = 1/10 FPS -> now every 6th frame will be an i-Frame - will result in better image-quality (if it "flickers" use "0" or use a higher number && if used with B-Frames better use higher numbers or use "0" -> cant check it on myself now what would perform best)

AND NOW you can watch a small testvideo with that settings:
http://benmanshafen.de/pics/OBS/Tut/TEST_720p60_3400kbps.mp4

EDIT!!!

found out that on heavy-gpu-load it wont be stable at 60FPS with GCN 1.0 cards -> someone with GCN1.2+ should test it // with RX 480 (GCN1.4) it works fine ;)
 
Last edited:

Nove

New Member
Im having a hard time figuring out good settings. I have a r9 270. I want to record in 1080 60FPS. Anyone have good settings
 

Benman2785

Member
@Nove

what game you want to record - and for streaming or local recording (and may later uploading to youtube)?

have in mind R9 270 is GCN1.0 so it can maybe handle 1080p60 in Balanced and should handle it in Speed-Preset

have a look at the first picture in the post right above your post -> there you find some information about setting your VCE Encoder ;)
 

Jurigag

New Member
@Benman2785

Can you tell also how to calculate bitriate/buffer/fps ? Beacause it's pretty tough sometimes to find correct values which wont cause orange/red peaks. Like this value 3400/565/60 fps i know but if i even move it a little i got red peaks.

As i know vce on obs always add some bitrate so it's not real 3400 more like 3700 or something. Could you provide something around 1200-1300kbps with both 60 and 30 fps ?
 

Benman2785

Member
@Jurigag

if you stream with 720p60 3400/565 with correct min/maxQP and having "Half pixel ME search" checked you shouldnt have high peaks

pls forget to record 720p60 with 1200-1300kbps - it will look very shitty - even 720p30 wont look good and fast scenes will result in blurry-blocks

just to show you this i will upload a video with 720p60 1300/215

http://benmanshafen.de/pics/OBS/Jurigag_720p60-1300-215.mp4 -> shitty as i told u ;)
also have in mind that is a "slow-scene" not much movement or environment-changes
Jurigag_720p60-1300-215.jpg

here u see there r no big peaks -> minQP 20 & maxQP 51

NOW i will show you a "heavy-scene" - it will look even WORSE
http://benmanshafen.de/pics/OBS/Jurigag_720p60-1300-215-heavy-scene.mp4 -> total unusable ;)
Jurigag_720p60-1300-215-heavy-scene.jpg

again no big peaks -> this peak you see is CLEARY "strict" and wont result in a dropped frame
it occurred when i shift from low-distance-with-nearly-no-movement to high-distance-with-fast-movement -> so Encoder used more bitrate for that frame and uses less for the next one

we can talk about 720p30 2500/832 or 720p48 2500/519 or 720p60 2500/415

VCE "adds" nothing - it just needs a little higher bitrate then CPU-x264 because of VCE being an Hardware-Encoder - what adds up bandwith & peaks is audio-codec (128kbps aac is all most people need) and wrong settings for Custom-Buffersize & wrong minQP maxQP

what is you upload-speed and on what plattform do you stream? or do you record local?
 
Last edited:

lord-carlos

New Member
Just in case anyone was wondering why it's still not in the main obs-studio release:

I see people saying that the media foundation version is terrible. I am aware that the media foundation encoder is terrible. Media foundation encoders really really suck. Don't worry, I know. We were able to replace the NVENC/QSV media foundation encoders with native ones because nvidia/intel gave them compatible licenses with open source software, but we still can't just outright distribute full VCE support (merge jackun's awesome stuff) because AMD hasn't yet made it compatible. It's mostly just licensing/copyright issues at this point.

Any update on this?

Also: Why is the Media Foundation Encoder terrible?

Thank you :)
 

Benman2785

Member
Any update on this?

Also: Why is the Media Foundation Encoder terrible?

Thank you :)
Any update on this?

Also: Why is the Media Foundation Encoder terrible?

Thank you :)

i hope Jim is now in contact with AMD VCE Devs - i spoken to AMDs US CM and she told me she will get him in contact with the right guys ;)

MFE has literally no documentation and there r licensing problems yet - but as i told, i made contact to AMD

and usually this will take quiet some time - dont think that anything will happens until start of next year...
 

Nove

New Member
@Nove

what game you want to record - and for streaming or local recording (and may later uploading to youtube)?

have in mind R9 270 is GCN1.0 so it can maybe handle 1080p60 in Balanced and should handle it in Speed-Preset

have a look at the first picture in the post right above your post -> there you find some information about setting your VCE Encoder ;)
For local recording and uploading to youtube. I need 60fps for editing and doing special FX. The game I am recording is called Warface (probably never heard of it)
 
Top