Question / Help Is it possible to force an Elgato HD60 to use VCE.

MrTeaTime

New Member
Ok so first of all before we get into this discussion, yes ive already gone through many variables, tried different codecs etc, And yes my vce is working fine in obs.

So onto the problem, i noticed very recently that i can pull literally any source from the recording pc and get sub 10% cpu usage while using vce, but the mere SECOND i add an elgato to the scene? instant 50-60% cpu usage in the preview screen alone, jumping up to 90% (which puts me above 100% in task manager (well it would if it went above 100%)) as soon as i hit record, which causes frame drops in 60fps, 30fps is still fine but it can barely handle 60fps at the quality settings i use.

Now I will be upgrading my cpu eventually as its a bottleneck regardless (its an old 1151 i3, but itl have to do me until i have the cash to rip the guts out of my capture pc and replace it all)

Now at first i thought my gpu was being overloaded, but then i realised "no i have a 7870 in this thing, i can handle 1080p60 with its hands behind its back because its not even being uesd to game" So i had another revelation.

I remember back awhile ago when they added vce support to the game capture hd software it only worked for normal mode, and it hated stream command mode. Was it a coincidence that Obs Also didnt benefit from that patch, even when using the vce fork.

Its obviously possible for the elgato to use vce encoding for the output stream to the capture software otherwise the official software wouldnt be able to do that. So im wondering if theres a driver hack or the like out there that could unlock that feature for other programs?

Or am I just straight out of luck till i do this upgrade.
 

Harold

Active Member
VCE doesn't help on decoding. If the drivers aren't coded to do hardware decoding of the elgato output then you're stuck there.

Ultimately, you're going to need to bump the priority of your capture pc upgrade up a bit.

And the elgato being a usb 2.0 device increases the processor requirement. You're probably better off getting a decent pci-e capture card.

The encoding you're thinking is happening at a specific point in the process is actually happening at an earlier point and can't benefit from VCE.
 

dping

Active Member
Ok so first of all before we get into this discussion, yes ive already gone through many variables, tried different codecs etc, And yes my vce is working fine in obs.

So onto the problem, i noticed very recently that i can pull literally any source from the recording pc and get sub 10% cpu usage while using vce, but the mere SECOND i add an elgato to the scene? instant 50-60% cpu usage in the preview screen alone, jumping up to 90% (which puts me above 100% in task manager (well it would if it went above 100%)) as soon as i hit record, which causes frame drops in 60fps, 30fps is still fine but it can barely handle 60fps at the quality settings i use.

Now I will be upgrading my cpu eventually as its a bottleneck regardless (its an old 1151 i3, but itl have to do me until i have the cash to rip the guts out of my capture pc and replace it all)

Now at first i thought my gpu was being overloaded, but then i realised "no i have a 7870 in this thing, i can handle 1080p60 with its hands behind its back because its not even being uesd to game" So i had another revelation.

I remember back awhile ago when they added vce support to the game capture hd software it only worked for normal mode, and it hated stream command mode. Was it a coincidence that Obs Also didnt benefit from that patch, even when using the vce fork.

Its obviously possible for the elgato to use vce encoding for the output stream to the capture software otherwise the official software wouldnt be able to do that. So im wondering if theres a driver hack or the like out there that could unlock that feature for other programs?

Or am I just straight out of luck till i do this upgrade.


the 7870 is a VCE 1.0 card. which means in order to do 1080@60, the balanced or speed preset must be used. but is not ideal for streaming anyway. its to hard on the encoder and/or to much bitrate is needed for it to look good, which will affect viewers as well.

https://obsproject.com/forum/threads/obs-branch-with-amd-vce-support.13996/

reread the front page for further instructions. I helped modify the front page for clarification of multiple configurations and VCE versioning.

as of now. only GCN 1.2 and up can do 1080@60 in which quality preset is used by default.


Also note that the version of VCE used in OBS MP is MFT, which does not do well with streaming bitrates (and CBR) as it will spike at fast moving scenes.
 

MrTeaTime

New Member
VCE doesn't help on decoding. If the drivers aren't coded to do hardware decoding of the elgato output then you're stuck there.

Ultimately, you're going to need to bump the priority of your capture pc upgrade up a bit.

And the elgato being a usb 2.0 device increases the processor requirement. You're probably better off getting a decent pci-e capture card.

The encoding you're thinking is happening at a specific point in the process is actually happening at an earlier point and can't benefit from VCE.
Well part of the upgrade will include the new hd60 Pro which is the internal version of the HD60.

Frankly i have no need for a 4k card or the like atm so the elgato does what I need.

But still its a bummer that something like that doesn't exist, Like honestly if the elgato has to use the cpu at some point its either encoding or decoding the stream from the device, and amd has chips for both those functions, and like i mentioned the official software can do it so looks to me like its just elgato being stingy and trying to push users to their software (which is horrible might i add).

Regardless ill just make do till I do those upgrades.

the 7870 is a VCE 1.0 card. which means in order to do 1080@60, the balanced or speed preset must be used. but is not ideal for streaming anyway. its to hard on the encoder and/or to much bitrate is needed for it to look good, which will affect viewers as well.

https://obsproject.com/forum/threads/obs-branch-with-amd-vce-support.13996/

reread the front page for further instructions. I helped modify the front page for clarification of multiple configurations and VCE versioning.

as of now. only GCN 1.2 and up can do 1080@60 in which quality preset is used by default.


Also note that the version of VCE used in OBS MP is MFT, which does not do well with streaming bitrates (and CBR) as it will spike at fast moving scenes.

I shouldve mentioned I actually use OBS for local recordings not streaming, dang straya net down here is too slow for that. So really none of that applied to me apart from the VCE version number.

Granted I actually record in the high profile with a CQP of 0 0 0 to mp4, because i have to re-encode the video in handbreak before i can use it in premiere and the only way to not lose a crap ton of quality doing that is to overshoot the mark in the actual recording.

Regardless as i said the issue was not with VCE itself, i can record a 1080p60 file just fine if i use a local source, its only if i use the elgato that i get the frame skipping and intense cpu usage.

Edit - That and im actually using OBS MP not the vce fork, its just MP doesnt have a questions and help section and none of the sections it does have really felt ok for me to post this in.
 

dping

Active Member
Well part of the upgrade will include the new hd60 Pro which is the internal version of the HD60.

Frankly i have no need for a 4k card or the like atm so the elgato does what I need.

But still its a bummer that something like that doesn't exist, Like honestly if the elgato has to use the cpu at some point its either encoding or decoding the stream from the device, and amd has chips for both those functions, and like i mentioned the official software can do it so looks to me like its just elgato being stingy and trying to push users to their software (which is horrible might i add).

Regardless ill just make do till I do those upgrades.



I shouldve mentioned I actually use OBS for local recordings not streaming, dang straya net down here is too slow for that. So really none of that applied to me apart from the VCE version number.

Granted I actually record in the high profile with a CQP of 0 0 0 to mp4, because i have to re-encode the video in handbreak before i can use it in premiere and the only way to not lose a crap ton of quality doing that is to overshoot the mark in the actual recording.

Regardless as i said the issue was not with VCE itself, i can record a 1080p60 file just fine if i use a local source, its only if i use the elgato that i get the frame skipping and intense cpu usage.

Edit - That and im actually using OBS MP not the vce fork, its just MP doesnt have a questions and help section and none of the sections it does have really felt ok for me to post this in.
I'd really like to see your last logfile from your local recording.
 

MrTeaTime

New Member
I'd really like to see your last logfile from your local recording.

Just went to grab my logs but there isnt any in the folder.

Regardless i dont Think you quite understand. There isnt ANY problem with obs itself. Obs is working perfectly.

The issue stems from a limitation with the elgato driver.

The reason i asked here is because the driver question is in the context of using it with obs, and the fact that there is elgato staff that peruse this forum occasionally.

I will repeat myself again.

I can record, perfect 1080p60 fps with my current quality settings if i dont include the elgato as a source.

The second the elgato driver is initiated obs will suddenly increase in cpu usage because the elgato driver does not support hardware encoding outside of its official software.

So the chain goes elgato -> software encode -> obs -> vce

because of this the elgato is creating an overhead that if there was a driver hack that forced vce support in obs *cough cough* my original question that you skimmed *cough* wouldnt exist.

Thats as clear as im going to be able to make it, but the point is, no amount of log file reading will fix this, because its an issue that is completely out of the hands of the obs devs.

Edit: Sorry for the grammar and if that comes across a bit rash its 6am down here and im only just getting to bed.
 
Last edited:

dping

Active Member
Just went to grab my logs but there isnt any in the folder.

Regardless i dont Think you quite understand. There isnt ANY problem with obs itself. Obs is working perfectly.

The issue stems from a limitation with the elgato driver.

The reason i asked here is because the driver question is in the context of using it with obs, and the fact that there is elgato staff that peruse this forum occasionally.

I will repeat myself again.

I can record, perfect 1080p60 fps with my current quality settings if i dont include the elgato as a source.

The second the elgato driver is initiated obs will suddenly increase in cpu usage because the elgato driver does not support hardware encoding outside of its official software.

So the chain goes elgato -> software encode -> obs -> vce

because of this the elgato is creating an overhead that if there was a driver hack that forced vce support in obs *cough cough* my original question that you skimmed *cough* wouldnt exist.

Thats as clear as im going to be able to make it, but the point is, no amount of log file reading will fix this, because its an issue that is completely out of the hands of the obs devs.

Edit: Sorry for the grammar and if that comes across a bit rash its 6am down here and im only just getting to bed.
@LtRoyalShrimp

he's the elgato rep around here.

As for your logs, with OBS open, click help, then logs then upload a link to the log from there. make sure it is a log where you used your elgato.
 

FerretBomb

Active Member
Just about anything can record 1080p@60fps, if you leave on VBR and set the buffer to 0 to unlock the bitrate. It just throws a massive bucket of bits at the problem. It'll take a huge bite out of your hard drive, but if you're already doing a re-encode that would probably be a better option than VCE anyway, and should help to streamline somewhat.

The problem is that to fit over USB 2.0 in nearly-realtime, the Elgato has to compress it on-device, squirt it over the USB bus, then your CPU gets to decode it back into a usable video stream at 1080@60. That decoding point is most likely what's dropping the lead bricks on your i3. A PCIe card will eliminate that step. You can also do a piecemeal-upgrade; nothing says you can't take the HD60Pro out of this system and put it into the new one when it's done. Assuming that 'this system' isn't a laptop/SFF/AIO.

Also, record to FLV, not MP4. You can remux it super-quick after the fact if you need MP4, but FLV doesn't turn into a pile of useless digital garbage in the event of a crash or abnormal termination like MP4 does. FLV just loses the last 3-5 seconds off the end, give or take.

VCE is there to primarily serve as an encoder. OBS isn't going to 'hack' a manufacturer's drivers... or in this case, completely rewrite them if it's even possible, to fit an edge-case scenario like that. You'd want to take that up with Elgato. But let's be frank here... with you and a handful of others that would see (or notice) a benefit from that implementation, it'd be pretty supremely hard to justify from a business sense of resource allocation. Doubly-so when you're already planning an upgrade that will render the implementation next to pointless again. But asking them about it on their forums, or sending them an email couldn't do any harm, even with that in mind.
 
Last edited:

MrTeaTime

New Member
Just about anything can record 1080p@60fps, if you leave on VBR and set the buffer to 0 to unlock the bitrate. It just throws a massive bucket of bits at the problem. It'll take a huge bite out of your hard drive, but if you're already doing a re-encode that would probably be a better option than VCE anyway, and should help to streamline somewhat.

The problem is that to fit over USB 2.0 in nearly-realtime, the Elgato has to compress it on-device, squirt it over the USB bus, then your CPU gets to decode it back into a usable video stream at 1080@60. That decoding point is most likely what's dropping the lead bricks on your i3. A PCIe card will eliminate that step. You can also do a piecemeal-upgrade; nothing says you can't take the HD60Pro out of this system and put it into the new one when it's done. Assuming that 'this system' isn't a laptop/SFF/AIO.

Also, record to FLV, not MP4. You can remux it super-quick after the fact if you need MP4, but FLV doesn't turn into a pile of useless digital garbage in the event of a crash or abnormal termination like MP4 does. FLV just loses the last 3-5 seconds off the end, give or take.

VCE is there to primarily serve as an encoder. OBS isn't going to 'hack' a manufacturer's drivers... or in this case, completely rewrite them if it's even possible, to fit an edge-case scenario like that. You'd want to take that up with Elgato. But let's be frank here... with you and a handful of others that would see (or notice) a benefit from that implementation, it'd be pretty supremely hard to justify from a business sense of resource allocation. Doubly-so when you're already planning an upgrade that will render the implementation next to pointless again. But asking them about it on their forums, or sending them an email couldn't do any harm, even with that in mind.
Ah so it is indeed the decoding process well that invalidates half my post haha.

But yeah only reason im not just going out and dropping 300 on the hd60 (prices for hardware get jacked up a bit here because higher minimum wage) is the currrent rig is based in my old itx system so only one pcie slot.

Ill be moving onto an 8350 for the native 8 cores so i should be able to encode on the cpu alone at that point and drop the gfx card, but ill keep the card in until i get the hd60 pro just incase the cpu shits itself from decoding and encoding at the same time.

Edit: actually i just had a thought, would this mean the pro is serving me uncompressed video? because harddrive space is negligible for me considering i have like a billion terrabyte drives lying around and a few ssd scratch disks so itd be cool if i could just record straight uncompressed then reencode it in handbreak to get rid of the vfr so i can have a near uncompressed source file for premiere
 

FerretBomb

Active Member
That or just dealing with handling a 1080@60 video stream through DirectShow. I'm really not sure, but compression and decompression can be heavy depending on how they handle it, so it's a very likely bottleneck point. I was doing tests and had three capture cards running 1080@60 on my i7-920, and just recording locally on Ultrafast almost pegged it out.

$300? So order online? It's $200 on Amazon.
http://www.amazon.com/Elgato-superior-technology-hardware-encoding/dp/B014MQIVPS/

Though I'd still kind of recommend the SC512, as SabrePC sells one under the Yuan brand at the same price point, and it does RGB24 color (HD60P does YV12 color sampling) plus can take component, s-video, vga, and composite in addition to HDMI with audio (DVI is HDMI with a different plug, effectively).
http://www.sabrepc.com/yuan-sc512-n1-l-dvi-single-channel-dvi-capture-card.html

That said, Elgato has MUCH better support and community response; Yuan/Micomsoft don't do English support, so it's kind of left up to the English-speaking community to fend for ourselves, and a lot of the time if a weird problem crops up you may not get an answer. Elgato generally will always get right back and help nail it down. Plus the SC512 can come into stock kind of erratically; looks like they're out at the moment, but tend to get restocked every few weeks, give or take. Elgato has plenty of product on-hand.

AMD isn't really used by a lot of longer-term streamers as the performance can be spiky a lot of the time; Intel tends to deliver more consistent performance, even if they two can work out about the same in the end when working on video re-encoding on a finished (non ongoing datastream) video file. In a real-time environment though, consistent delivery is important.
 

MrTeaTime

New Member
That or just dealing with handling a 1080@60 video stream through DirectShow. I'm really not sure, but compression and decompression can be heavy depending on how they handle it, so it's a very likely bottleneck point. I was doing tests and had three capture cards running 1080@60 on my i7-920, and just recording locally on Ultrafast almost pegged it out.

$300? So order online? It's $200 on Amazon.
http://www.amazon.com/Elgato-superior-technology-hardware-encoding/dp/B014MQIVPS/

Though I'd still kind of recommend the SC512, as SabrePC sells one under the Yuan brand at the same price point, and it does RGB24 color (HD60P does YV12 color sampling) plus can take component, s-video, vga, and composite in addition to HDMI with audio (DVI is HDMI with a different plug, effectively).
http://www.sabrepc.com/yuan-sc512-n1-l-dvi-single-channel-dvi-capture-card.html

That said, Elgato has MUCH better support and community response; Yuan/Micomsoft don't do English support, so it's kind of left up to the English-speaking community to fend for ourselves, and a lot of the time if a weird problem crops up you may not get an answer. Elgato generally will always get right back and help nail it down. Plus the SC512 can come into stock kind of erratically; looks like they're out at the moment, but tend to get restocked every few weeks, give or take. Elgato has plenty of product on-hand.

AMD isn't really used by a lot of longer-term streamers as the performance can be spiky a lot of the time; Intel tends to deliver more consistent performance, even if they two can work out about the same in the end when working on video re-encoding on a finished (non ongoing datastream) video file. In a real-time environment though, consistent delivery is important.
Yeah after currency conversion thats roughly $300 Australian, its only like $5-10 cheaper than pccasegear which has its warehouses literally a few hours from my house haha.


Ive seen the Micomsoft cards around but frankly the extra effort id have to put in just doesnt really reward me as much. I appreciate the RGB24 capture, infact its literally the only thing about the elgato that pisses me off that isnt related to the usb, some of the colors are slightly off, but i can live with that for peace of mind haha, that and all the other port types i have no need for, all my consoles have a hdmi output and my pc is using the hdmi out anyway because im running two monitors in the dvi ports. All in all though feature wise ill be good with the elgato pcie card for a looooong time, ive barely broken 20 subs on my channel so im nowhere near big enough to go spend $2k on a display port card, which is really the only upgrade id make from the elgato, so until they start making consumer 4k DP 1.2 capture cards ill be golden.

And im interested to hear about the spiking, while i wont be streaming until the nbn rollout hits me here (so a year or two id say) so in the meantime it wont really affect me the point still stands that id like to stream at some point (most likely after ive gained enough confidence and commentating skill from my youtube channel) so this raises the question.

What would be a good intel cpu, that i could get around the same pricepoint as the 8350 (i say the 8350 because all the 9000 series chips are the same cpu overclocked) that could stream 1080p30 at a decent preset, and record uncompressed 1080p60 (which id take it would use alot less cpu due to not having to compress as much), im guessing a mid range i5 from skylake could manage it on say superfast or maybe fast (id also assume medium would be pushing my luck but hey) i can pick up a 6600k for around $100 more than the 8350 but the real question is the performance difference worth the price.

Edit: Nvm didnt factor in Bitrate constraint.

8350 should be perfectly fine for 720p30 or if im lucky or do some finangling 720p60 i guess its just a matter of which preset i can run, then I can just use a gpu encoder to do the local recording (because at that point bitrate doesnt matter so i can pump that sucker full of bitrate till it looks perfect)
 
Last edited:
Top