Jump to content

Hardware Transcoding Graphic Card


breezytm

Recommended Posts

breezytm

Hey guys @@Waldonnis

 

Can anyone please give me some idea on what kind of graphic card I would need to take advantage of this feature. Never used it but I have been eyeballing it for a while now. I think it is time to dive in. Recommendations and how many concurrent streams I can get out of it would be nice too. 

 

Thanks for the help. 

  • Like 1
Link to comment
Share on other sites

puithove

If you are OK with a max of 2 concurrent streams, any of the latest gen Nvidia cards would be fine.  Nvidia artificially limits their consumer cards to 2 concurrent streams.

 

If you want more than 2 streams running at the same time, your best bet is using Intel's integrated graphics.  Kaby Lake in particular has a very capable video decode/encode engine built in.  There's no fixed max number of streams, you're only limited by the performance (meaning if you're doing less intensive / smaller video dimension streams, you'll be able to do more concurrently vs larger / more instensive - 720p low quality vs 4k high quality).

Link to comment
Share on other sites

nagetech

I've wanted to try this out too, but my server doesn't have Intel Quick Sync built into it, and i dont want to change the server just for that. Bummer Nvidia only allows 2 streams :( Be nice if there was a way around it.

Link to comment
Share on other sites

puithove

There may or may not be via firmware hacks... but I haven't seen anyone mention being successful in doing so.

 

Their Pro (workstation) cards such as Quadro don't have that restriction.

Link to comment
Share on other sites

breezytm

I have an Intel NUC. Sounds like it may be the best possible solution. I am currently using my old Dell Windows box with an AMD Athlon II X64 635 Processor 2.90 GHz and 6GB of RAM. Not the best hardware but getting the job done. I wonder if it is worth configuring the NUC as a server instead (Intel® Core i5-4250U CPU 1.30 GHz, 4GB of RAM, Intel® HD Graphics 5000). Any thoughts?

Link to comment
Share on other sites

puithove

Well, could be worth a shot depending on how many streams you want to do.  If nothing else it'll be a fun experiment, right?  :D

Link to comment
Share on other sites

Waldonnis

I have an Intel NUC. Sounds like it may be the best possible solution. I am currently using my old Dell Windows box with an AMD Athlon II X64 635 Processor 2.90 GHz and 6GB of RAM. Not the best hardware but getting the job done. I wonder if it is worth configuring the NUC as a server instead (Intel® Core i5-4250U CPU 1.30 GHz, 4GB of RAM, Intel® HD Graphics 5000). Any thoughts?

 

Worth a shot and I'd bet it performs rather well. Haswell's QuickSync performance is actually better than my Ivy Bridge (and a touch better in capability), so it should handle the video encoding part rather easily.  Audio transcoding will still hit the processor, but that shouldn't be bad depending on how many streams you are dealing with.  Of course, demux/audio decoding/etc will also be processor-bound, but the heavy lifting is really the video encoding and I believe that Emby is using hardware decoding for compatible codecs (doubt you'll see sources use something other than AVC and maybe MPEG2 in most cases - and note that HEVC en/decoding is not supported in hardware with that processor generation).

 

VA-API may be an option to try as well on the Athlon system, but Linux is needed for that rather than Windows (if you're comfy with Linux, it's worth trying and I'm curious to find out how well it works).  I keep waiting to see when ffmpeg adds support for AMD hardware en/decoders for Windows, but have only seen experimental patches so far unfortunately.  Hopefully, AMD will contribute some code for that soon since their new processors are quite tempting for software encoding already.  Hardware encoding support would make them even moreso.

 

As others have said, consumer nVidia cards (GeForce line) are limited to two simultaneous streams for a host of reasons that have been beaten to death in conversations all over the net (whether or not they're artificially limited depends heavily on the card's architecture, apparently).  They're still not a bad option if you can live with the limitation, as you can get a 1050 for relatively cheap these days, which can handle HEVC Main10 as well as everything your Haswell NUC can do.  Radeons don't appear to be limited, but like AMD's processors, ffmpeg support for them just isn't there right now outside of VA-API/Linux.

 

No matter what choice you make, it is still entirely possible to saturate hardware encoders with enough encoding tasks - but (at least in theory) the processor-based implementations probably have a better shot at handling more simultaneous streams for a number of reasons that I won't get into.  I'd personally give the NUC a shot and see how it works for your needs.  Software video encoding would be rough on it for more than a couple of streams, but with the hardware encoding, it should be quite a nice little server.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...