Feature request: VCE

Status
Not open for further replies.

kaellar

New Member
With QSV and NVENC already implemented, it leaves me, an AMD card owner, out of that magical GPU encoding migration that eliminates the CPU usage.
C'mon, guys! I want a holiday on my street too :)
I think, its the first feature that should be added to OBS after NVENC is finalized.
Thank ya :)
 

Boildown

Active Member
Well Palana apparently added Quicksync and BtbN apparently added NVENC, so now all you gotta do is find someone who can add VCE. Maybe if you can find out where all the VCE people hang out, you can recruit one of them.
 

kaellar

New Member
From not that much of an info that I could find about the VCE, it's activated via OpenVideo Encode library, which is used over standard OpenCL commands. OpenCL is implemented in OBS already, right? Maybe the guy who did that, could take a look at the VCE?
 

Videophile

Elgato
Does anyone have any statistics on GPU encoding?

I have always heard it takes 10% off the CPU.

Maybe AMD's implementation can take off more? Maybe compositing can be done in GPU?

Also, I wonder what the percentage would be between say a 7970 and an R9-290x.

Just food for thought.

-Shrimp

PS: I use a 7970.
 

Videophile

Elgato
kaellar said:
It actually leaves around 10% total, not takes that 10% off.
What do you mean by this? That only 10% is left for the CPU to encode? That would be crazy awesome.

-Shrimp
 

Krazy

Town drunk
LtRoyalShrimp said:
kaellar said:
It actually leaves around 10% total, not takes that 10% off.
What do you mean by this? That only 10% is left for the CPU to encode? That would be crazy awesome.

-Shrimp
.....?

Hardware encoders offload all CPU load from encoding. Anything left is what the game itself, and other programs running will take up. The tradeoff, obviously, is quality loss.
 

Boildown

Active Member
seronx said:
The tests I have seen with Hardware Encoders the CPU for encoding never goes above 10% usage for Intel and AMD. When you broadcast a game only the game is using more than 10% CPU usage.

Current status of VCE encoding; https://mega.co.nz/#!qBRGHDAJ!tUVPoR0RZ ... QyDE0w2dJU

^-- that is mathematically lossless. (Sorry for the big size of a ~1 minute video)

From the Media Info:

Video
ID : 0
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : H264
Duration : 1mn 9s
Bit rate : 70.9 Mbps
Width : 1 600 pixels
Height : 900 pixels
Original height : 912 pixels
Display aspect ratio : 16:9
Frame rate : 60.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.820
Stream size : 591 MiB (98%)

Nearly 71Mbps for 1600x900. It better be nearly lossless. That's approaching FRAPS territory.

Saying something is lossless or nearly lossless isn't impressive without knowing the bitrate. Any decent encoder can make a nearly lossless file with a high enough bitrate. What can VCE do at 3.5 Mbps (20 times less than that video)?
 

vbdkv

Member
I've been asking for AMD GPU support for years in various apps I use, but none of them seem willing to actually implement it. Either it's an awful SDK AMD came up with or the nvidia stuff is just easier to do, I dont know what the holdup is to be honest (not aimed specifically at the OBS team).
 

dodgepong

Administrator
Community Helper
The holdup is that there a lot of other higher-priority things that the main developers have been working on. The only reason NVENC support was added is because an independent developer, BtbN, came along and decided that he wanted to add NVENC support, so he did. If another enterprising developer wants to do the same with VCE, it would be warmly welcomed.
 

Bensam123

Member
Also been waiting for VCE as a AMD user and have requested it a few times. The OBS team didn't do QuickSync of NVENC as far as I know, someone from the outside did everything and they added it on (I don't thin NVENC is officially supported by OBS yet due to licensing).

I don't think it's necessarily harder from what I've heard, it's just there is more interest and more people using Nvidia hardware. Almost all streaming rigs I see have a Nvidia graphics card.

VCE is on par with Quicksync and NVENC from what I've seen, which means you'll have to add like 30% more bitrate to get the same quality as using the CPU encoder with veryfast
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Technically it was written by the OBS team, unless when you refer to the OBS team you mean me just because I did the majority of the code. Palana wrote quicksync support and has since contributed a large number of other features as well, such as deinterlacing along (together with paibox), the new log stuff in the help menu, and a number of other improvements and bug fixes. He's a life saver. He's coded a ton of stuff, without him I would have had all that stuff piling up, and they were some of the more painful things to write.

BtbN wrote nvenc only just recently but has been sticking around as well. He also set up a build server for obs-studio. I believe nvenc is now fine to use with the nvidia beta drivers, they seem to have taken out the whole license key BS.
 

Krazy

Town drunk
New WHQL drivers this week include the required dll as well, so looks like NVENC is freely available to everyone from here on out.

Anyway, the point is someone simply has to be willing/able to put it in. Anyone is free to contribute!
 

Bensam123

Member
Wasn't trying to deliver credit. Last I knew they weren't part of the development team, apparently they are now... Was just an example of community contributions.

Someone should be awesome and make a VCE version...
 
Status
Not open for further replies.
Top