OBS branch with AMD VCE support.

Napsterbater

New Member
Stability wise is almost good enough for a stream. Just depends how much static-to-motion scenes you're doing. Switching from menus to gameplay for example produces a short term spike. But for through and through motion i think it handles a reasonable steady bitrate.

Here's an upload i just streamed to twitch.

I'm using an R9 290 (VCE 2.0. Not sure if OBS can detect/make better use of each version)

Video was streamed to twitch in OBS at 1080 / 30fps / 3500kb

As you can see, for the most part its a nice steady bitrate. Just a few frame drops / spikes when loading into the maps at start of a round. I have V-sync on in-game and pretty much everything on full settings wise. Not sure if that affects anything.

http://www.twitch.tv/akeeratv/c/4630002


Looks very nice. Did you use custom settings in the VCE settings area?

What other settings? CBR? OpenCL for NV12? MFT? CFR?

Thanks
 

n00pe

New Member
Heres a link for settings i was using. For local recordings i pretty much leave it the same, just bump bitrate to 35k

http://imgur.com/oiAHHNe
These settings seems to be working just fine, but each time I close OBS I get "OBS has stopped working" error. Any idea?

Also what's the point of changing the x264 CPU preset and scene buffering time?
 

jackun

Developer
Ok, i've been messing with padding and MFT low latency mode.
Use MFT, select CBR and CBR padding. In VCE settings, enable 'Enable custom settings' and check 'Low latency mode'.
Try if stream still stays uncorrupted: https://dl.dropboxusercontent.com/u/235773/obsvce-MFT_low_latency_n_padding_test.7z

Edit: Blah, nvm, random corruption abound.

@n00pe, if you use MFT, it seems to crash when statically linked with msvcrt (std::locale::~locale usually). May indicate memory corruption, but it crashes even when just opening encoding settings and exiting OBS :S This test build's MFT is dynamically linked for now.
 
Last edited:

Alcatrax

New Member
Why is it that when I try to record anything, my games freeze upon pressing the start recording button? When I click in the game it goes back to normal and when I stop recording and try to look at my recordings, there are absurdly small files of few kb and that's all?

I only use the VCE, because my CPU is not the best and I don't want to strain it that much. Also started using the program just yesterday and it wasn't that hard to setup, but the scenes and stuff are not working properly. Some games go totally black and nothing I change seems to affect it. It doesn't do it all the time, I was just trying out some less intensive games like Audiosurf, Minecraft and Binding of Isaac, before I would really use it in other games for example like Battlefield 3, Planetside 2 or Euro Truck Simulator 2, which I haven't tried it with them at all.

If anyone can help, please do because streaming is great and the quality also, but the recordings are broken for me and whichever settings I change, it doesn't seem to do anything.
EDIT: It was custom settings that were screwing it up. And I left them at default too! What a shame...
 
Last edited:

Bensam123

Member
Looking good Jackun! Getting closer to ditching my capture card... I bought... two months ago ><... All we need now is lan encoding support in OBS.
 

Fawkes

Member
hey jackun it has been a while but i-am still enjoying your work very very much!
i hope to read about some updates soon.
thankyou jackun :D
 

jackun

Developer
@Fawkes i'm trying to but now I have weird memory leak with MFT, but maybe just my comp's fault. Memory usage creeps to about 1gb after about half hour recording, sigh.

I've added code to add filler NALs if padding is enable to keep minimum bitrate up, but that needs testing that it doesn't confuse h264 decoders too much as VCE encoder has no idea it is being added (maybe MF has a HRD option somewhere though :P) MPC with ffdshow/LAV, VLC etc seem to work fine.
 

Fawkes

Member
@Fawkes i'm trying to but now I have weird memory leak with MFT, but maybe just my comp's fault. Memory usage creeps to about 1gb after about half hour recording, sigh.

I've added code to add filler NALs if padding is enable to keep minimum bitrate up, but that needs testing that it doesn't confuse h264 decoders too much as VCE encoder has no idea it is being added (maybe MF has a HRD option somewhere though :P) MPC with ffdshow/LAV, VLC etc seem to work fine.
awesome,
just wondering tough, you could take a look at the code that Raptr's game DVR uses? and implement some of that?
or just look how they solve problems.
i-am not sure if it's allowed to use some of their code but you can always look at it to help you out ;)

and maybe it won't be usefull at all but those are my two cents
also i'll check my ram usage next time i start streaming and report back to you
 

Snowknight26

New Member
Any chance of adding another downscaling factor, such as 4/3 (~1.33)?

Currently those of us with 2560x1440 can't record at native resolutions (VCE can't do more than 1920x1080 @ 60Hz), yet the current downscaling factors leave us with weird resolutions. 1.25 = 2048x1152, 1.50 = 1706x960, etc.

Ideally, downscaling shouldn't have a factor but a text field that lets you choose which resolution you want to downscale to (keeping the aspect ratio correct while bounding the video to the requested resolution).
 

Snowknight26

New Member
Awesome, that was fast.

It works fine at 1080p30 but at 1080p60 the UI just freezes and has to be force closed. The resulting MP4 can't be played because the headers are missing from the end of the MP4, sadly.
 

jackun

Developer
Awesome, that was fast.

It works fine at 1080p30 but at 1080p60 the UI just freezes and has to be force closed. The resulting MP4 can't be played because the headers are missing from the end of the MP4, sadly.
For some reason. When i added some sleep() calls, then the Stop recording etc buttons even kinda worked.
MFT defaults to 50% QualityVsSpeed, usually it is low enough, but try lowering it in VCE settings tab. Still does hang?
 

Snowknight26

New Member
For some reason. When i added some sleep() calls, then the Stop recording etc buttons even kinda worked.
MFT defaults to 50% QualityVsSpeed, usually it is low enough, but try lowering it in VCE settings tab. Still does hang?

Yeah, any higher than 50% causes the UI to freeze after hitting Start Recording.
 
Last edited:

quickshot101

New Member
What are you working on for OBS vce atm? Or are you holding off till obsstudio? This fork is so close to being 100% usable. The only real issue I see atm are some cbr issues and stability issues. Quality wise it looks great, and when its not crashing/freezing the performance results are fantastic.
 

jackun

Developer
The only real issue I see atm are some cbr issues and stability issues. Quality wise it looks great, and when its not crashing/freezing the performance results are fantastic.
CBR issue is kinda weird. MSDN says that H264 MFT buffer size is HRD (hypothetical reference decoder) buffer size in bytes, but Media SDK samples etc set is as MPEG2 VBV buffer sizes in bits. So in that respect to VBV, VCE probably works as it should (temporary bitrate peaks).

New Media SDK should be released soon hopefully.

Last few crashes i've got were some weird recursions in OBS's logging exhausting stack, so removed/replaced most logging code.

And one weird thing, OVE capability query reports max picture size 14400 macroblocks with my R9-290, so 16x16 pixel blocks? That makes 2560x1440 :S
 
Last edited:
Well, I tested this CBR padding test version and it worked fine when recording. I don't have time to stream. Sometimes it spiked around 10k but after a while it went down to 3k which is what I set :)
 

quickshot101

New Member
Streamed for about 2 hours non stop with the latest version. MUCH MUCH more stable, love it.

Quality wise for RTS/MOBA/MMO/2.5d @ 3500 bitrate it looks pretty good (considering how little performance is lost). But in FPS games (arma 2,3/fast motion with grass) it blurs/pixels/blocks out most of the environment. Are there any ways to turn up fast motion quality?

This is my current setup
http://i.imgur.com/G84PaPO.png http://i.imgur.com/Hp0Tjgd.png NO custom settings for vce atm
 

Wishdream

New Member
Is it possible to have the VCE use the APU instead of the GPU? It kind of makes my APU's VCE useless since my card is VCE unsupported.
My card is a R7 240 and my APU is a A10-58k

I tried it before with my APU only and it works fine but now with the GPU on, it can't.
 
Last edited:
Top