Jump to content


Photo

Will adding a GPU benefit me?

Hardware GPU Transcoding

  • Please log in to reply
8 replies to this topic

#1 jaspils OFFLINE  

jaspils

    Newbie

  • Members
  • 8 posts
  • Local time: 02:35 PM

Posted 01 April 2020 - 04:06 AM

Currently running Emby on a virtual machine (ESXi) with the following specs:

  • 8 CPUs from the 2 Xeon E5520 @ 2.27GHz in the host
  • 8GB of RAM
  • a 40GB disk on SSD for the OS and app
  • Media content through a SMB-share (over Gbit network, mostly 100MB/s+ read/write speeds)
  • Debian Buster
  • Emby Premiere subscription

 

Most content gets streamed fine. However, when something needs to be transcoded, it gets tricky. Especially high-quality stuff like 4K is simply not possible to watch through Emby. Also, subtitle burn-in hardly ever works.

 

So my question would be:

- Will adding a GPU benefit my setup, and what kind?

 

I would probably add the GPU to the virtual machine through DirectPath I/O PCI passthrough.

 

Of course adding a RTX Titan would probably improve it, but I just want something cheap. I was looking at used GPU's like the GTX950 of GTX960, mainly because they don't draw too much power from my server and would only cost me like €60.

 

So does anyone know wheter this could help me, or perhaps suggest an alternative? 

 

Thanks!

 

@Doofus

@arrbee99

@cayars



#2 cayars OFFLINE  

cayars

    Advanced Member

  • Alpha Testers
  • 3375 posts
  • Local time: 08:35 AM

Posted 01 April 2020 - 02:21 PM

It may work but I've not tried it under ESXi.  I personally try to stay away from virtual systems for the actual media server.

 

Is it not possible to run your Emby Server on bare metal instead of virtual?

 

You can see what features are available on the different GTX board here:

https://developer.nv...-support-matrix

Keep in mind the consumer GTX boards can only support 2 transcode streams at a time which may or may not be a problem for your system depending on how often things need to get transcoded and how many people use your system at the same time.

 

Hopefully others may comment to give you more information.



#3 arrbee99 OFFLINE  

arrbee99

    Advanced Member

  • Members
  • 3577 posts
  • Local time: 12:35 AM
  • LocationNew Zealand

Posted 01 April 2020 - 04:50 PM

Virtual machines, Linux, SMB shares all beyond me. GPUs pretty much the same. Can't add anything that I guess isn't obvious, check what it is you're going to transcode and check any that a card can do it, especially an older card you happen to pick up.

 

Have seen something about a hack for GTX cards that removes that 2 transcode stream limit.

 

Do you need to transcode 4K ? I can direct play it fine generally in windows to the TV via Shield. Do you need to burn in subs. Was reading the below (post#8 ?) about what Emby does with subs that might be useful.

 

https://emby.media/c...i-need-help-on/

 

Sorry, this is probably pretty useless.



#4 jaspils OFFLINE  

jaspils

    Newbie

  • Members
  • 8 posts
  • Local time: 02:35 PM

Posted 02 April 2020 - 05:45 AM

Virtual machines, Linux, SMB shares all beyond me. GPUs pretty much the same. Can't add anything that I guess isn't obvious, check what it is you're going to transcode and check any that a card can do it, especially an older card you happen to pick up.

 

Have seen something about a hack for GTX cards that removes that 2 transcode stream limit.

 

Do you need to transcode 4K ? I can direct play it fine generally in windows to the TV via Shield. Do you need to burn in subs. Was reading the below (post#8 ?) about what Emby does with subs that might be useful.

 

https://emby.media/c...i-need-help-on/

 

Sorry, this is probably pretty useless.

 

Every response is usefull for me, thanks.

 

I'm not really sure about how this limit works. Some people say that they can stream a lot more than the limit for their card, but does that mean they have to hack it first? Is that a custom driver, or do I need to do something with the firmware of the GPU? Is this 'session-limit' really a limit for how much movies can be transcoded at once (say 1 simultanuous movie transcode = 1 session)?

 

And well yes, I think I do need to transcode 4K. I have my server running at my parent's place (because there's fiber over there), and stream a lot of content over WAN for that reason. This basicly means the GPU should support H265 (HEVC) as well, since most 4K movies come in that format. Unsure what it does to HDR, but my TV (LG OLED55B6V) should support it. Although I also don't know how the Emby app on LG handles it.

 

I also have a Kodi-based media player (Vero 4K+) that should be able to stream 4K HDR with Atmos or such. There has been a EmbyCon plugin, but last I used that device, the plugin was gone because it was broken or something. Haven't checked since. That's been a few months to be honest.

 

 

It may work but I've not tried it under ESXi.  I personally try to stay away from virtual systems for the actual media server.

 

Is it not possible to run your Emby Server on bare metal instead of virtual?

 

You can see what features are available on the different GTX board here:

https://developer.nv...-support-matrix

Keep in mind the consumer GTX boards can only support 2 transcode streams at a time which may or may not be a problem for your system depending on how often things need to get transcoded and how many people use your system at the same time.

 

Hopefully others may comment to give you more information.

 

Well, for me it's not really possible to run it bare-metal. The host I run it on is a hypervisor with around 20 virtual machines for different purposes. Emby runs fine for simple streaming of Full HD content when not a lot of transcoding is needed. But I just want to up my game for all 4K content and to serve more streams at once. So of course I understand that a virtual GPU in VMware is terrible for Emby, but when I use PCI passthrough, the machine should have the entire GPU for itself as if it was directly connected to it. So I guess in that case it shouldn't really matter wheter the machine is virtual or not.



#5 vinceflynow OFFLINE  

vinceflynow

    Newbie

  • Members
  • 2 posts
  • Local time: 05:35 AM

Posted 02 April 2020 - 04:51 PM

I have emby server running on Ubuntu 18.04 VM on top of ESX 6.7 with a GTX 1080 pass through.  Running with patched driver unlocks unlimited nvenc streams.

 

The benefit to me, is that I'm able to real-time transcode more video streams. I've seen 8+ simultaneous stream with a modest amount of VM resources (I'm using a VM with 8 CPU, 16GB mem).

 

I would say the best bang for the buck GPU for transcoding, is a used GTX 1070, which is going for around $200-$250.  The GTX 1070 and 1080 have two nvenc processors, and can handle more simultaneous nvenc streams.

From a high, level this is what I had to do to get GPU transcoding working with Ubuntu and VMWare,

1.  VMWare config:
- Enable pass through of both GPU and Audio PCI.
- Assign both GPU and Audio PCI devices to passthrough to the Ubuntu VM.
- Set hypervisor.cpuid.v0 = FALSE in the VM advanced setting.
- Reserve all the memory in the VM settings

2. Ubuntu VM config:
- Uninstall the opensource nvidia drivers
- Install the keylase patched nvidia drivers, https://github.com/k...se/nvidia-patch
- This video describes how to config the drivers,

3. Run emby-server with premier key to unlock hardware transcoding


  • chef and jaspils like this

#6 Jdiesel OFFLINE  

Jdiesel

    Advanced Member

  • Members
  • 2935 posts
  • Local time: 06:35 AM
  • LocationRegina, SK

Posted 02 April 2020 - 05:13 PM

Go with a 1050 over a 950 or 960 if possible. There are some generational improvements that and very helpful. They can be found cheap used on ebay.


Edited by Jdiesel, 02 April 2020 - 05:14 PM.

  • cayars likes this

#7 chef OFFLINE  

chef

    Advanced Member

  • Developers
  • 4730 posts
  • Local time: 08:35 AM
  • LocationPeterborough, Canada

Posted 02 April 2020 - 06:03 PM

I have a 1660 running with the Nvidia patch and it works great!

#8 jaspils OFFLINE  

jaspils

    Newbie

  • Members
  • 8 posts
  • Local time: 02:35 PM

Posted 06 April 2020 - 04:30 AM

I have emby server running on Ubuntu 18.04 VM on top of ESX 6.7 with a GTX 1080 pass through.  Running with patched driver unlocks unlimited nvenc streams.

 

The benefit to me, is that I'm able to real-time transcode more video streams. I've seen 8+ simultaneous stream with a modest amount of VM resources (I'm using a VM with 8 CPU, 16GB mem).

 

I would say the best bang for the buck GPU for transcoding, is a used GTX 1070, which is going for around $200-$250.  The GTX 1070 and 1080 have two nvenc processors, and can handle more simultaneous nvenc streams.

From a high, level this is what I had to do to get GPU transcoding working with Ubuntu and VMWare,

1.  VMWare config:
- Enable pass through of both GPU and Audio PCI.
- Assign both GPU and Audio PCI devices to passthrough to the Ubuntu VM.
- Set hypervisor.cpuid.v0 = FALSE in the VM advanced setting.
- Reserve all the memory in the VM settings

2. Ubuntu VM config:
- Uninstall the opensource nvidia drivers
- Install the keylase patched nvidia drivers, https://github.com/k...se/nvidia-patch
- This video describes how to config the drivers,

3. Run emby-server with premier key to unlock hardware transcoding

 

This is really helpfull.

 

So with patched drivers, the stream-limit is simply ignored?

 

I will have to look into the used-GPU market in my country (I prefer to buy it from someone in my country - the Netherlands). But I will also have to look at the power usage, since my server doesn't have much more headroom on the PSU's. Or I have to upgrade those.. Either way, I have to decide how much money I can smash on this new project.


  • cayars likes this

#9 vinceflynow OFFLINE  

vinceflynow

    Newbie

  • Members
  • 2 posts
  • Local time: 05:35 AM

Posted 06 April 2020 - 01:43 PM

The patched drivers will ignore the artificial limit of 2, imposed by the official nvidia drivers.  The real limit depends on the input/output video, and GPU.  You can look at the Plex Media Server: nVidia Hardware Transcoding Calculator for Plex Estimates for some useful benchmark of achieved simultaneous transcodes with various stream quality and hardware with patched drivers.

 

If power consumption is a concern, @chef's recommendation of a GTX 1660 looks very good.


Edited by vinceflynow, 06 April 2020 - 01:44 PM.






Also tagged with one or more of these keywords: Hardware, GPU, Transcoding

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users