OBS branch with AMD VCE support.

xtinct16

New Member
can someone elaborate this more
GOP will be something to play with but needs to be a multiple of the FPS, this will aid with lagging recording at lower settings. Below is an example based on 30fps recording:
GOP 15, 30, or 60 (the higher, the better compression/quality but more use on the GPU)

I am recording at 60FPS and if I set the GOP size to something ridiculous like 960 or higher will that theoretically have better compression/quality?

I tried 960 but it doesn't seem to have any performance impact at all while gaming.



my computer specs:
Intel Core i7 5820k @ 4.5Ghz
AMD Radeon R9 290 4GB
16GB Quad Channel DDR4 2400
960GB SSD (OS and programs) and 512GB SSD (recording)
Windows 10 Professional x64
 

dping

Active Member
can someone elaborate this more


I am recording at 60FPS and if I set the GOP size to something ridiculous like 960 or higher will that theoretically have better compression/quality?

I tried 960 but it doesn't seem to have any performance impact at all while gaming.



my computer specs:
Intel Core i7 5820k @ 4.5Ghz
AMD Radeon R9 290 4GB
16GB Quad Channel DDR4 2400
960GB SSD (OS and programs) and 512GB SSD (recording)
Windows 10 Professional x64
Yes and no. for GOP there doesn't seem to be a max. it just means that more frames can refer to each-other within that range. so one would assume that the larger the GOP the bigger to encoding buffer would need to be. GOP is not really needed past 2 seconds (120frames) tbh, GOP sets the range in which a P frame or an B frame can be referenced.

IDR on the other hand max is around 6000. IDR frames take up more bandwidth since they are uncompressed frames (which are also used for seek points on videos and new streamers will wait on the IDR before they show the picture.
 
Last edited:

xtinct16

New Member
Can anyone help confirm this by looking at my video or replicating the test? I think OBS AMD VCE is bugged where it says it is recording at a solid 60FPS while it is not (recorded video playback is stuttering even though OBS under AMD VCE says it is always 60FPS on status bar while recording).

I have captured 4 different encoding setting
1. using x264 encoder at 10mb/s 720p Lanczos 60FPS all default (the benchmark for smoothness)
https://www.youtube.com/watch?v=UEuP_0PHhI0
notes: records 60FPS without any dips according to OBS and video plays smoothly. In game (while playing and recording is smooth)


2. using x264 encoder at 10mb/s 1080p 60FPS all default
https://www.youtube.com/watch?v=GG49Bod3Tuc
notes: records 60FPS with dips (45FPS to 60FPS or 50FPS Average) according to OBS and video plays not smoothly. In game (while playing and recording is smooth)


3. using AMD AMF VCE at 10mb/s 1080p 60FPS Speed Profile, Latency Constrained VBR, 60 GOP size (OBS status bar while recording always says 60FPS without any dips)
https://www.youtube.com/watch?v=XpiakCdlSok
notes: records 60FPS according to OBS but video plays not smoothly (very visible stuttering). Also video quality is not as good as x264 (visible artifacts like the clouds). In game (while playing and recording is smooth)


4. using AMD AMF VCE at 10mb/s 1080p 60FPS Balanced Profile, Latency Constrained VBR, 60 GOP size (OBS status bar while recording always says 60FPS without any dips)
https://www.youtube.com/watch?v=kFK3nIBLLKE
notes: records 60FPS according to OBS but video plays not smoothly (very visible stuttering). Also video quality is not as good as x264 (visible artifacts like the clouds). In game (while playing and recording is smooth)



EDIT: on all test in game FPS is very smooth and never drops below 100FPS while gaming and recording at the same time
 
You may want to try using MadVR or whatever the name is for the Video Renderer.

In my tests i noticed that AMD VCE recordings, no matter the framerate, always looked extremely stuttering when using EVR.
When i use MadVR it looks fine.
EVR seems to only be able to keep up like 45 fps for some reason when it's 60 on AMD VCE.

How you are able to keep 1080p/60 is a mystery to me, on my r9 380 i can't do that if the game isn't super easy to run.
And even then it's not on this OBS version, but only certain editions of the encoder.


EDIT:

Though if it's on Youtube the video should be smooth anyhow as it's re-encoded.
Though none of the videos above currently is 60fps at this moment.
 
Last edited:

WeSbO

New Member
Hello everyone,

I've been looking for a good capture program for my AMD car for along time now without any luck, OBS seems to be it, but it crashes all the time for me. First i'll start with my specs :

AMD FX 8320 @ 4.7 ghz
8gb of RAM
Fury X crimson 15.12 drivers
Sound card focusrite scarlett 6i6
Windows 10 pro TH1
4K LG TV

I'm trying to record assetto corsa. I've followed the tuto in the OP, i'm using the 0.67B 64bits, set on balanced, 1080p 60fps, push on start recording, when i've finished my run, I exit then push stop recording (tried with hotkeys also). When I push stop recording OBS crashes (OBS not responding). What am I doing wrong ?... There is a file that is created but it's 0kb. OBS is ran as administrator. The recording doesn't seem to want to initialize (no FPS hit).

I also play in VSR 4K (waiting for that pesky DP to HDMI 2 cable still)

Anyways I'd be gratefull if someone could help me, as I have yet to find a viable solution to record with my Fury X :-(

Thanks for reading.
 
Wes
Hello everyone,

I've been looking for a good capture program for my AMD car for along time now without any luck, OBS seems to be it, but it crashes all the time for me. First i'll start with my specs :

AMD FX 8320 @ 4.7 ghz
8gb of RAM
Fury X crimson 15.12 drivers
Sound card focusrite scarlett 6i6
Windows 10 pro TH1
4K LG TV

I'm trying to record assetto corsa. I've followed the tuto in the OP, i'm using the 0.67B 64bits, set on balanced, 1080p 60fps, push on start recording, when i've finished my run, I exit then push stop recording (tried with hotkeys also). When I push stop recording OBS crashes (OBS not responding). What am I doing wrong ?... There is a file that is created but it's 0kb. OBS is ran as administrator. The recording doesn't seem to want to initialize (no FPS hit).

I also play in VSR 4K (waiting for that pesky DP to HDMI 2 cable still)

Anyways I'd be gratefull if someone could help me, as I have yet to find a viable solution to record with my Fury X :-(

Thanks for reading.

I would suggest trying OBS Studio, in my tests it works better, though it's weird that it doesn't work at all for you.
But as it uses Microsofts version of AMD VCE (i think) it has a higher chance of stability i would say.
 

jackun

Developer
H265 is just a standard.

So how can I test it with OBS? Any way to do that currently? The point I was making was, to my knowledge, VCE doesn't offer any new benefits to H264 after 1.2. Is that incorrect?

AMD has to release new Media SDK with H265 support. It should be easy then to just add a selector for H264 or H265 and set it to AMFVideoEncoderVCE_HEVC or something.

Also, I'll have to check, but adding Realtime option might be a simple enough.

Also, I know OVE supported setting the device through its Index and DeviceID, but does AMF actually have something like that?

Not for now. It is easier to keep track of things and faster if game, OBS and VCE use/are on the same GPU.

@xtinct16 messing around with TestAMFVFW I've come to a conclusion that something in AMF is that-c-word-blocking the heck out of it. The buffer-to-encoder submission call processing time hovers around 5 milliseconds alone. Waiting for VCE1.1 to finish encoding a 1080p frame is around 13ms. 60fps is 16.(6)ms per frame. 5+13 is a bit more than 16.(6) unfortunately. Inb4 I'm doing everything wrong, which is always a possibility.
 
Last edited:
@xtinct16 messing around with TestAMFVFW I've come to a conclusion that something in AMF is that-c-word-blocking the heck out of it. The buffer-to-encoder submission call processing time hovers around 5 milliseconds alone. Waiting for VCE1.1 to finish encoding a 1080p frame is around 13ms. 60fps is 16.(6)ms per frame. 5+13 is a bit more than 16.(6) unfortunately. Inb4 I'm doing everything wrong, which is always a possibility.

This, i wonder ain't it possible to just let it record several frames and not overuse the buffer-to-encoder submission?

I mentioned something similar here: https://github.com/jackun/TestAMFVFW/issues/8

Perhaps that's already done though as it's a buffer per say.
But going by what you say, the encoder isn't the real issue, it's the overhead, if i understand things right.
 

DarrenRainey

New Member
Hi in having problems with this fork I can record fine but when I go to stream it will work for around 15 minutes and then it will freeze an image and crash when I try to restart it here is my log file :
https://gist.github.com/d342fcba758eb87cf4fd

I am using the latest version of this fork (2015-12-12: [32bit][64bit] : Update to v0.657b+ JC3 fix mostly.) and am trying to stream at 1080p 30fps and 1080p 60fps but both fail however local recording is fine

I also get very low fps and studdering in the preview
 
Last edited:

dping

Active Member
Hi in having problems with this fork I can record fine but when I go to stream it will work for around 15 minutes and then it will freeze an image and crash when I try to restart it here is my log file :
https://gist.github.com/d342fcba758eb87cf4fd

I am using the latest version of this fork (2015-12-12: [32bit][64bit] : Update to v0.657b+ JC3 fix mostly.) and am trying to stream at 1080p 30fps and 1080p 60fps but both fail however local recording is fine

I also get very low fps and studdering in the preview
So with those exact settings on a local recording you don't have this issue? you might check your ISP's upload speed. I know this is the twitch test but it should give an idea of what is going on http://www.teamliquid.net/forum/tech-support/478845-twitchtest-twitch-bandwidth-tester
 

chummy

Member
I changed from Nvidia to AMD recently and just found how AMD VCE is bad to recording. Shadowplay/Nvenc will cause max 3fps drop recording in 1080p/60fps, while AMD VCE impact something like 10-15fps recording in 1080/30 only.

I just dont know what is the cause of this, is the hardware encoder which is too weak to process better or is the AMD software which cant do the job properly, like in their famous DX11 drivers overhead.
 
I changed from Nvidia to AMD recently and just found how AMD VCE is bad to recording. Shadowplay/Nvenc will cause max 3fps drop recording in 1080p/60fps, while AMD VCE impact something like 10-15fps recording in 1080/30 only.

I just dont know what is the cause of this, is the hardware encoder which is too weak to process better or is the AMD software which cant do the job properly, like in their famous DX11 drivers overhead.

Well i got an AMD r9 380 cause of AMD VCE 3.0, and well the Nvidia counterpart was 960 which performance wise isn't that appealing for me.

And i am extremely disappointed that i can't record 1920x1200@60 at all basically (which is almost 1080p60).
I thought it would be flawless as 3.0 is supposedly superfast and can even do 4k.

But looking at the weird performances i am quite convinced that a huge part is the drivers/software.
Cause all the different encoder versions (OBS (both versions), VCE AMF with MSI Afterburner and Raptr.
They all behave very differently and cause different impact. All except Raptr is useless for me in 60fps though if it's a bit GPU Intense, which is why i make that assumption, it must be the overhead thingy Jackun talks about.

Well no one is surprised that the AMD software sucks, and i guess the SDK only goes that far,
you can't play around with the structure, you only get the already done system. Then again i might be completely off:P
 

chummy

Member
Well i got an AMD r9 380 cause of AMD VCE 3.0, and well the Nvidia counterpart was 960 which performance wise isn't that appealing for me.

Nvidia show some nice functions like encoder load and it clock speed, in AMD i cannot see this.

I feel than even using other encoder methods has bigger fps drop than i had using Nvidia, probably AMD drivers is causing this.
 

dping

Active Member
Nvidia show some nice functions like encoder load and it clock speed, in AMD i cannot see this.

I feel than even using other encoder methods has bigger fps drop than i had using Nvidia, probably AMD drivers is causing this.
not as much drivers as it is SDK development. It wouldn't be impossible to add those things in. I do not know for sure the encoder load, but I do know that jackun does monitor something to find out if the encoder is being pushed to far, but it could be set to go off above 1080@60 quality preset which I thought he removed the restrictions awhile back on those.
 

Shafski

Member
Hi.

I'm trying to stream game capture. However, no matter what settings I use, unless I tick Disable D3D10 interopability, or run it on something other than Direct 11, whenever I switch to the game capture the frame just freezes on that frame and my OBS FPS drops to 1, my kbs goes to like 20,000 (even though I have max bitrate as 3.5k) and i either get "Warning, to high encoding" or "VCE too slow" error, the latter more commonly.

Any ideas why?

Streaming with a Radeon HD 8570D with 15.7 drivers. Using 720p 30 fps.

If I tick it off, it works fine but my ingame just runs insanely choppy.

bump
 

masafi

New Member
Hi. Can you help me? I'm not quite enough good at English.
Can i run, and what settings do i need to capture 1080p60, if i can't, 720p60 of 1080p30 at least
i5-2500K
Radeon r9 290 (15.30 driver)
8 gb ram
I find some settings for 1080p30, but when i trying to capture 1080p60, it's... brokes..
https://youtu.be/yi_bYY7wdgA
Thanks =)

/////
Bandicam with AMD App can record 1080p60 without lags, so i think i can record 1080p60 with obs too

Solution:
i've just set SPEED option and all works fine...
 
Last edited:
I increased my fps from like 16 to 200 in most of my games by disabling the Realtek High Definition audio driver. I use a usb headset anyway. wow.
 

chummy

Member
Doing a test with MSI afterburner encoder benchmark, my Kepler Nvenc h264 give same result to r9 390 VCE, 82fps at 1080p. So thats increase the believe than problem with AMD is driver related while gaming and recording.
 
Top