OBS branch with AMD VCE support.

dping

Active Member
I should mention that I am using a 2PC setup with a capture card.

I don't have monitor capture enabled. Here is a new log when I am using AMF, still screen tearing and bad FPS: http://pastebin.com/2qGVJf9E

And additionally I am starting to furiously fucking hate AMD because whenever the capture card is on and I minimize CSGO, Catalyst control center changes my main monitor to my second monitor, so all icons are moved to the secondary monitor, and it also switches the monitor's position so everything fucks up completely. I have to go into Windows screen resolution control panel shit and switch the position of the monitors back and then drag all the desktop icons back from the secondary monitor to the main monitor. Every. Fucking. Time.

I am also using lightboost and I can't turn it off if the capture card is on. Those things are driving me insane and right now I am furiously angry.
So you are capturing to a fictitious monitor which outputs to a capture card. Seems like the capture card is the source of the extra issues.

Ttry 54fps (108 IDR/54GOP) this will sync better with 60Hz than 50 will.

If that is too high, move fps to 48fps. both of those sync 9/10 and 4/5 fps respectively to 60hz. 48fps also syncs with well with 144hz monitors as well to which 2/3rd of the frames sync.

Both the above work well with AMF/MFT only. OVE seems to only like 24, 25, 30, 50, and 60fps.
 

Lucil

Member
to continue my delema

http://www.hitbox.tv/video/381282

this is based on dpings suggestion and everyone's
I love the low cpu useage but the quality is very terrible

is there no way to make vce focus more on the motion then still?
or at least detail the center of the screen and blurry the outside like x264 does?
the quality is subpar even to h264 @ 2000
 
Last edited:

Darker

Member
So you are capturing to a fictitious monitor which outputs to a capture card. Seems like the capture card is the source of the extra issues.

Ttry 54fps (108 IDR/54GOP) this will sync better with 60Hz than 50 will.

If that is too high, move fps to 48fps. both of those sync 9/10 and 4/5 fps respectively to 60hz. 48fps also syncs with well with 144hz monitors as well to which 2/3rd of the frames sync.

Both the above work well with AMF/MFT only. OVE seems to only like 24, 25, 30, 50, and 60fps.

Yep, from the gaming computers GPU I have an active DP->HDMI adapter that goes into the capture card. I then have a DVI-D from the GPU to my gaming monitor (144 Hz) and then I duplicate the signals.

I think OBS is the main issue and not the capture card, because if I record the CSGO gameplay with AVerMedia RECentral, it will look okay.

I tried to play CSGO with the settings above and with 54fps (108 IDR/54GOP) and I still get much screen tearing and bad FPS.

http://pastebin.com/R9ntpbqQ

48 FPS looks so much better because it barely has no screen tearing, but the FPS is still very low.

Actually I use 121 Hz (Lightboost) on my main monitor, not 144. But the capture card gets 60 Hz so I guess it doesn't matter what I use on my main monitor.
 
Last edited:

jackun

Developer
@Darker hmm, this tearing is in vanilla OBS too (or I missed a post)? I mean, if it is directshow source effing it up then I can't help you there probably. Complain to @Jim ;)

the quality is subpar even to h264 @ 2000
Yep, nothing to do for now anyway. VCE looks something like x264 with "very fast" preset. But maybe AMF is setting some crap settings behind the scene.
 

dping

Active Member
Yep, from the gaming computers GPU I have an active DP->HDMI adapter that goes into the capture card. I then have a DVI-D from the GPU to my gaming monitor (144 Hz) and then I duplicate the signals.

I think OBS is the main issue and not the capture card, because if I record the CSGO gameplay with AVerMedia RECentral, it will look okay.

I tried to play CSGO with the settings above and with 54fps (108 IDR/54GOP) and I still get much screen tearing and bad FPS.

http://pastebin.com/R9ntpbqQ

48 FPS looks so much better because it barely has no screen tearing, but the FPS is still very low.

Actually I use 121 Hz (Lightboost) on my main monitor, not 144. But the capture card gets 60 Hz so I guess it doesn't matter what I use on my main monitor.

I've played with lightboost, on my ASUS 144Hz, it works at 100, 120Hz and the default of 121Hz to turn it off. Anyway, I just use 144Hz now on mine.

So you end up with two versions of OBS running, please post both logs and label which is which.

Do you sync the resolution and frame rate of both instances of OBS?
or

Do you use the highest resolution/fps supported by the capture card on the gaming PC's OBS and downscale your stream PCs OBS to what you what your output? just curious.
Do you have CFR checked on both PCs? have you played around with vsync at all? I know it sucks because it would need to be enabled on everything on the game PC

All this sounds like you need to change up to a single PC config. Not that it isn't possible, but screen tearing is a result when your source and destination fps/Hz rate aren't syncing up like you would have a production environment via an ATI S400. In this case, might be right, its OBS but being caused by 2 video cards, a capture card, and a virtual monitor not completely syncing the frames/Hz etc.


The whole point of a capture card for PC games is to take the workload off the main PC; IMO, the capture card is unnecessary
 
Last edited:

Darker

Member
I've played with lightboost, on my ASUS 144Hz, it works at 100, 120Hz and the default of 121Hz to turn it off. Anyway, I just use 144Hz now on mine.

So you end up with two versions of OBS running, please post both logs and label which is which.

Do you sync the resolution and frame rate of both instances of OBS?
or
Do you use the highest resolution/fps supported by the capture card on the gaming PC's OBS and downscale your stream PCs OBS to what you what your output? just curious.
Do you have CFR checked on both PCs? have you played around with vsync at all? I know it sucks because it would need to be enabled on everything on the game PC

All this sounds like you need to change up to a single PC config. Not that it isn't possible, but screen tearing is a result when your source and destination fps/Hz rate aren't syncing up like you would have a production environment via an ATI S400. In this case, might be right, its OBS but being caused by 2 video cards, a capture card, and a virtual monitor not completely syncing the frames/Hz etc.


The whole point of a capture card for PC games is to take the workload off the main PC; IMO, the capture card is unnecessary

What? Why do you think I am using two OBS? I have a standard 2PC setup where I only have OBS running on the streaming PC, which handles the encoding. The only thing my gaming PC does is to mirror my main monitor to the capture card.
 

Darker

Member
@Darker hmm, this tearing is in vanilla OBS too (or I missed a post)? I mean, if it is directshow source effing it up then I can't help you there probably. Complain to @Jim ;)


Yep, nothing to do for now anyway. VCE looks something like x264 with "very fast" preset. But maybe AMF is setting some crap settings behind the scene.

The screen tearing is pretty much gone (at least a lot less of it) when I use 48fps (108 IDR/54GOP). But the recording video is defenitely not 48 FPS. It's 30 at max.
 

dping

Active Member
The screen tearing is pretty much gone (at least a lot less of it) when I use 48fps (108 IDR/54GOP). But the recording video is defenitely not 48 FPS. It's 30 at max.
for 48fps use gop 48/idr 96
The only thing my gaming PC does is to mirror my main monitor to the capture card.
Some people use OBS to mirror their gaming monitor to the capture card "monitor" I was just curious about that obs setup.
 

Darker

Member
for 48fps use gop 48/idr 96
Some people use OBS to mirror their gaming monitor to the capture card "monitor" I was just curious about that obs setup.

Oh I see what you mean. I did that before, but it gave me performance loss so I bought a DP->HDMI converter so I could mirror the signal to the capture card.

FPS still super bad with 48fps gop 48 / idr 96.

Also, whenever I duplicate my main monitor with the capture card, lightboost turns on and I cannot turn it off. Very annoying.
 

dping

Active Member
Oh I see what you mean. I did that before, but it gave me performance loss so I bought a DP->HDMI converter so I could mirror the signal to the capture card.

FPS still super bad with 48fps gop 48 / idr 96.

Also, whenever I duplicate my main monitor with the capture card, lightboost turns on and I cannot turn it off. Very annoying.

I didn't know you could mirror with different refresh rates... I used this utility to enable/disable lightboost. If you want to completely disable lightboost, use the setup utility and take out all refresh rates that work with lightboost and enable only 144hz and 121Hz, etc.

Anyway, back on topic: when you enable your monitor, Catalyst re-detects all displays.


Also, what capture card you using? I know Avermedia Livegamer HD will select 1080@60 input, but only capture/record at 1080@30 from your gaming rig which even if your end video is at 720@48, the end result will be much more less than even 30fps

I almost feel that this entire convo is going to go kind-of off topic to put in the center of a 70page thread. Lets start a new one with your issue and link me to it; we'll talk about your setup.

I still think you should just cut the capture card piece or use x264 if you want to keep the 2PC setup.
 
Last edited:

Darker

Member
I didn't know you could mirror with different refresh rates... I used this utility to enable/disable lightboost. If you want to completely disable lightboost, use the setup utility and take out all refresh rates that work with lightboost and enable only 144hz and 121Hz, etc.

Anyway, back on topic: when you enable your monitor, Catalyst re-detects all displays.


Also, what capture card you using? I know Avermedia Livegamer HD will select 1080@60 input, but only capture/record at 1080@30 from your gaming rig which even if your end video is at 720@48, the end result will be much more less than even 30fps

I almost feel that this entire convo is going to go kind-of off topic to put in the center of a 70page thread. Lets start a new one with your issue and link me to it; we'll talk about your setup.

I still think you should just cut the capture card piece or use x264 if you want to keep the 2PC setup.

I have made a new thread, but one last question in this one; How would I benefit from a 2PC setup if I cut the capture card?

https://obsproject.com/forum/thread...-tearing-and-bad-fps-on-obs-recordings.23618/
 

dping

Active Member
Last edited:

Siavash

New Member
when using AMD AMF (checking "Use AMD AMF instead of OVE"), and Video > FPS set to 30, when I play the stream or a recording, source filter shows 15.17 fps. The video is still fine, I think, and the metadata shows 30 fps, but it does make some problems when I transcode/dump/stream. Source filters show correct fps w/ OpenCL for NV12 checked or no optional VCE settings checked. 2015-01-07 64-bit build, win 8.1, crossfire r9 290, intel cpu.
 

dping

Active Member
when using AMD AMF (checking "Use AMD AMF instead of OVE"), and Video > FPS set to 30, when I play the stream or a recording, source filter shows 15.17 fps. The video is still fine, I think, and the metadata shows 30 fps, but it does make some problems when I transcode/dump/stream. Source filters show correct fps w/ OpenCL for NV12 checked or no optional VCE settings checked. 2015-01-07 64-bit build, win 8.1, crossfire r9 290, intel cpu.

what does the twitch analyzer say? r-1.ch/analyzer/
 

jackun

Developer
@Siavash Change file ending to mp4 if it isn't already. FFDshow shows 15 fps with FLV regardless of actual fps. Maybe something is off with h264 bitstream, meh.
 

Daranah

New Member
Hello guys!
I had a 7850 as primary card and for encode, never tried the AMF before. Recently bought an Nvidia card**, but I want to use the 7850 as a secondary only to encode and reduce any load from primary card, like avermedia game capture, so far worked perfectly in VCE plugin for Dxtory (vfw) and the "Use OpenCL for NV12 conversion" in OBS. At this point is all working good and I'm happy =)

But, when I try to use the AMF, the OBS says "Encoder initialization failed!" in the log have this message "AMFCreateComponent(encoder) failed. 35", I saw in this thread that the problem can be solved with a drivers reinstall (DDU + newest catalyst) and did that, also check and reinstall all visual c++ libraries. So, i need to ask, is prereq to install the AMD Media SDK to AMF works or maybe don't works cause the card wasn't processing the game? I tried both OBS 32 and 64 version.

Sorry by my bad english and I want to say thanks for the great work done in this VCE support!

**Nvidia card = unfortunately Nvidia are very cheaper than AMD here in Brazil, it broke my heart :(
 

Attachments

  • Log Window.txt
    10.1 KB · Views: 40
Top