OBS branch with AMD VCE support.

sneaky4oe

Member
it seems like running your game in full screen is causing the capture to get all 3 screens 5900 x 1080 capture at 60fps.maybe get to windowed mode to capture just one? Second your buffer is huge 15Mbit? Again why? Your get buffering issues like this because it will try and encode at 15Mbit then have to fill that only to try and squeeze the encode into 4.5Mb/s.

also, why are you only using 32bit obs?

it seems you have a great setup, you should probably have 8GB of RAM at least to go with it
I was actually playing in fullscreen windowed. My buffer at encoding section was set to automatic. Scene buffering is 700ms. 32bit obs because better compatibility with plugins in my experience.
My bitrate was peaking up to 20 mbit/s while streaming.
 

dping

Active Member
Does it work with the vanilla 0.635? Then GUI control id maybe got overwritten with code merge. Also the 15MB buffer is just OVE itself overriding the buffer size :P

In other news, I'm trying to get D3D10 + OpenCL interop working with OVE too. Excuse my french, 1080p@60 AMF went from "OMGWTFBBQ are you doing?" to "I bruise easily" (read, it got better, but only if you record desktop :/).
I'm all about your build baby :) I only have your vce builds installed, but I can try .635; is that curent? I thought current was .632b or something. Maybe I should upgrade main obs :\. Also awesome news on the amf, I actually like it better, especially since its got a future support with amd. Sorry for any misspellings, I'm on my phone at a mobile hotspot.
 

dping

Active Member
I was actually playing in fullscreen windowed. My buffer at encoding section was set to automatic. Scene buffering is 700ms. 32bit obs because better compatibility with plugins in my experience.
My bitrate was peaking up to 20 mbit/s while streaming.

as jackun wrote, that is OCL overwriting the buffer. So amf stays steady bit rate if that is what you are looking for. Apparently hes working on getting 60 fps when capturing desktop. Might try, I will as well when It comes out.

@jackun. I know some early vce tests were talking about the ability for transcoding and multi threaded streaming. I wonder if this would help with breaking the 1080 30+ fps barrier. I know its not necessarily 60fps issue but a pixel per second since I was able to stream 480p 120fps with an earlier build. Or are you his trying to find a way to query amf/ocl without a huge delay at this point?
 
Last edited:

akeera

New Member
Is there anything you want me to test too ? R9 290

Just downloaded that 64bit test build Jackun. Going to give it a whirl :)

short steam @ 3500 + audio 1564x860

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


i think the quality is above par for slightly larger than 720 (my tv/2nd monitor that i watch twitch with default is 1564 x 860 on power save)
 
Last edited:

dping

Active Member
@dping the hotkey got fixed the next day I upped my 0.632b build, heh.

D3D10+AMF interop test: 64bit for now only
It assumes that the device OBS is using also has VCE.


When doing my super secret seizure test, the bitrate shot up to double the max bitrate. from 3400 to nearly 7000.

Second, I crashed once using AMF,

Last 3 lines in the log:
21:14:27: RTMPPublisher::SocketLoop: Received FD_CLOSE, 30376 ms since last send (buffer: 0 / 532480)
21:14:27: RTMPPublisher::SocketLoop: Aborting due to FD_CLOSE, error 0
21:14:57: WARNING: Forcibly terminating a thread after 30001 ms timeout!

Crashdump:http://pastebin.com/RrabsMJr


Also, I couldn't get OCL to work at all! crash at start of stream every time no matter the settings. might be me tho, I never use it


EDIT: btw, yes the hotkey is fixed!
 
Last edited:

jackun

Developer
Last 3 lines in the log:
21:14:27: RTMPPublisher::SocketLoop: Received FD_CLOSE, 30376 ms since last send (buffer: 0 / 532480)
21:14:27: RTMPPublisher::SocketLoop: Aborting due to FD_CLOSE, error 0
21:14:57: WARNING: Forcibly terminating a thread after 30001 ms timeout!
...
Also, I couldn't get OCL to work at all! crash at start of stream every time no matter the settings. might be me tho, I never use it

Yes, only test AMF, not everything is implemented for OVE just yet in this build :P Uh, but why does it get stuck in Encode when streaming... Does local recording hang too? I've ran few local recording sessions for about 20 - 30 mins and it hasn't hanged.
 

jackun

Developer
Stupid quesiton: What exactly is new/different in the build? Stupid speak would help if you don't mind :P

AMF uses OpenCL+D3D10 interop so that everything stays on GPU. Then I can just use D3D10 texture that OBS has composited the final frame to, convert it to NV12 and pass that to AMF through OpenCL buffers. Hopefully AMF doesn't go crazy and start copying buffers through host memory making all this pointless, but so far it seems to work. For some reason AMF has DX9 and DX11 support but not DX10, but whatever, would probably need to use OpenCL anyway for NV12 conversion (or compute shaders, maybe).
 

OliverMD

Member
AMF uses OpenCL+D3D10 interop so that everything stays on GPU
All i needed to know thanks.
would probably need to use OpenCL anyway for NV12 conversion (or compute shaders, maybe).
I wonder how Raptr handles all that stuff looking at how bad the performance can get while using it
For some reason AMF has DX9 and DX11 support but not DX10
Well DX10 was a pretty big flop to begin with just like Vista so who knows ;P

EDIT: Oh boy i just realised one can finally record 48/60FPS at 1080p with AMF/MFT eh? Works well so far too.
EDIT2: Guess it really depends on the game right? JK:JA (OGL) worked perfectly but War Thunder (DX) not at all.
 
Last edited:

dping

Active Member
AMF uses OpenCL+D3D10 interop so that everything stays on GPU. Then I can just use D3D10 texture that OBS has composited the final frame to, convert it to NV12 and pass that to AMF through OpenCL buffers. Hopefully AMF doesn't go crazy and start copying buffers through host memory making all this pointless, but so far it seems to work. For some reason AMF has DX9 and DX11 support but not DX10, but whatever, would probably need to use OpenCL anyway for NV12 conversion (or compute shaders, maybe).


Thats ok, I run my L4D2 in OpenGL mode :D should I not?
 

dping

Active Member
Why the hell would you run a source game with OGL on windows?! o_O

When testing out both DX9 and OpenGL, I seem to get around 30-80 fps more with OGL in most cases. plus it feels like I have less input lag. I've been running it this way for a year with very little issues since valve ported L4D2 to Linux, its well optimized for OpenGL even for Windows.

Also, how does his post matter when AMF supports DX9 and it's L4D's only (DX) renderer?

It matters because if I use OpenGL, I'm not sure how game capture handles it. I have had no issues in the past, but was curious with the current talk of DX9/11 being supported but other types not.

@jackun I'm guessing we're talking about how the video card processes the capture/decoding process or are we talking about what game itself?
 
Last edited:

dping

Active Member
Interesting to hear that on Windows. Got an 120Hz monitor, meh set up or why the want for so much FPS?


I have a 144Hz monitor, and if I'm constantly achieving above that mark, it will continue to be smooth. If I dip below that, I tend to miss frames in my game. So I variy from 150fps to 304fps in game and since I don't use double or triple buffering each frame wont always sync up (frame tearing), so having double that works well with fast paced First-Person Shooters.
 

dping

Active Member
I guess that explains your need for OpenGL and the extra FPS
OpenGL doesn't always provide better fps just to note, but with L4D2 it does. I just wanted that clear so people aren't under the assumption that it is all around better.

Back on topic,
So the bitrate issue that is similar to the pre amf issues are back. So for now I'll stick with 09-10 #2 64bit at least for streaming
 
Top