Jump to content

Zwei unterschiedliche Grafikkarten im System


UnknownSettler

Recommended Posts

UnknownSettler

Hallo zusammen, mich würde interessieren wie es sich verhält, wenn ich zu meiner vorhandenen GTX 970 (die ich für Spiele usw. nutze) noch eine GTX 760/960 für das Transcording usw. in den Rechner stecke. Würde Emby diese auch erkennen und nutzen? 

Danke im Voraus 

-------------------------------------------------------

Hi at all, I would be interested to know how it would behave if I put a GTX 760/960 in addition to my existing GTX 970 (which I use for gaming etc) for transcording.

Would Emby recognize and use these as well? 

Thanks in advance 

Edited by UnknownSettler
Link to comment
Share on other sites

Hi, we don't yet support load balancing between multiple cards, but you can configure the priority in emby server transcoding settings and give the one you want Emby Server to use the highest priority. Please let us know if this helps. Thanks.

Link to comment
Share on other sites

  • 8 months later...
nireins1981

Hi Luke,

ist es mitlerweile möglich, das Emby zwei unterschiedliche Grafikkarten erkennt bzw. als Lastenausgleich (load balancing) nutzt?

In meinem Video Server nutze ich aktuell eine Quadro RTX 4000 und möchte gerne das System mit einer GTX 1070 Ti erweitern, damit jegliche Videodatei in das pasende Format transkodiert wird.

Aktuell ist es so, dass wenn ein Video (MKV HEVC) transkodoert wird, bei spulen im Video es unheimlich lange dauert, bis das Video an der Stelle wiedergegeben wird. Meistens bricht sogar der Stream komplett ab und dabei ist es egal ob ich den Browser oder die Emby App verwende.

Mir kam nun die Idee, wenn ich das System mit einer weiteren Grafkikkarte ausstatte, dass Emby dann automatisch die Last auf die andere Grafikkarte legt und der Transkodierungsvorgang viel schneller ausgeführt wird.

Oder liegt es vielleicht an was anderem? @cayars

Link to comment
Share on other sites

Emby does support multiple GPUs in the system but is not optimized to use them as such. There really hasn't been a demand for this. It's something we will probably add in the future but let me explain what you would see today.

Here's a picture taken off my high end notebook which is also my dev system. It has both GPUs built in, QuickSync on the i7 and RTX 2070 on MB chipset.

Here's my decoders for MPEG2 and VC-1 (changed for the screenshot).  Here I'm making use of the QuickSync for MPEG2 which on my system is basically OTA and Cable TV as I have no videos in any libs using this other than a recording that I haven't processed yet.
image.png

Here are my settings for AVC & HEVC:

image.png

These will use the RTX NVIDIA NVDEC as the main source for decoding.

These are my choices for Encoders
image.png

Here you may notice I only show 2 choices. HEVC can be used when doing conversions but for real-time transcoding it's going to be using AVC at present.  Encoding is also more resource heavy than Decoding so it's really the main factor to look for here.  

This is the part that you want to understand and a general overview (some exceptions can happen and not be 100% GPU based). No matter what I setup the Nvidia GPU will be used for the encode unless it fails and uses the next item on the list.  So if you go back and look at the first picture I showed with QuickSync as the default you should realize I did this just for testing and the screenshot, but leave it set to also use NVENC NVIDIA for real use. If I do both decode and encode on the same GPU it's "off line" you could say.  If a decode happens on one GPU but encoding on another GPU then the CPU and MB chipsets are going to be involved more in the process keeping the QuickSync GPU filled with data to process as well as receiving the data from QuickSync pushing it over to the Nvidia to encode which isn't optimal as CPU resources will higher.

So I can more or less control what GPU is used to decode but will always be using one specific GPU for encoding. In the future we could possibly have an option to force the use of the decoding GPU to also do the encoding if possible or to roll over to the 2nd GPU after X amount of streams are in use or similar to that.

Typically I just have Emby setup to use the Nvidia GPU and then setup windows itself to use QuickSync. Same with any playback clients (QuickSync) so I get use of multiple GPUs based on function this way.

-----------------------------

Picking a GPU for transcoding is a bit different then picking a GPU for gaming or rendering. We're interested in the hardware setup/ram which for transcoding gives almost exact specs across a GPU chipset unlike the other parts of the GPU which can have different cores, speeds/freqs, etc... Knowing this you can often buy the "underdog" of the family that's less popular for gaming but every bit as good for transcoding at a nice discount. :)

Diving a bit deeper, the 1070 TI (assuming 8MB) and RTX 4000 are going to perform very similar for Emby.  Here's a table showing a few select GPUs and number of potential streams each can handle. These are all 8bit files.

GPU Architecture/Model 1080p 10Mbit to 720 4Mbit 1080p 10Mbit to 1080p 8Mbit 4K 68Mbit to 720 4Mbit 4K 68Mbit to 1080p 8Mbit
GeForce 1070 TI 4GB (3) Pascal GP104 14 13 3 3
GeForce 1070 TI 8GB (3) Pascal GP104 22 22 7 6
Quadro RTX 4000 8GB (u) Turning TU104 27 26 7 6

GeForce GTX 1660 6GB or
GeForce GTX 1650 6GB (3) *

Turning TU116 20 19 5 5
GeForce RTX 2070 8GB (3) Turning TU106 23 23 7 6
Quadro RTX 5000 16GB (U) Turning TU104 46 26 13 13
GeForce Titan RTX 16GB (3) Turning TU102 46 26 13 13

* The GTX 1650 is available with Volta or Turning chipset.  Do not choose the Volta for Emby use! The early GTX 1650s were replaced with a new model (volta) and then returned as the GTX 1660 with the Turning chipset.  Thus some of the early GTX 1650s for transcoding are the same as GTX 1660s.

Notice a pattern looking first at memory first? Generally speaking, it's your first clue to number of transcodes (assumes same chipset).

That chart has mixed consumer (GeForce) and commercial (Quadro) GPUs listed so prices could be wildly different for what appears to be similar cards. For transcoding purposes the hardware is the same but drivers are different.  Consumer drivers have a limit of 3 streams while commercial is unlimited. A google search and 5 to 10 minutes implementation will remove this difference for home use. :)

-----------------

For specifics to your system.  You won't really benefit adding a 2nd GPU unless the computer is being used for multiple purposes and the 2nd GPU is used elsewhere. I have 99% of my library converted to HEVC/h.265 to save on disk space as well as bandwidth when not needing to be transcoded.  For playback on certain systems and browsers it will need transcoding to AVC/h.264) so Nvidia GPU is needed. On any of my Emby test servers using Nvidia (1050, 1660, 2070) GPUs the playback is very quick.  It could be a setting or two that needs adjustment on your system. You may need to reorder the choices for each codec to be optimal for your files.  Your problem could be as simple as the top choice and first decode hitting a snag and erroring out. Emby then starts again using the 2nd choice and so on until there is nothing left to use but CPU or it finds something that works.

A quick way to see if this is happening is to watch the log files being generated during playback.  If you see multiple ffmpeg logs generated it errored out and tried again. So you would want to see what it used that didn't work and what did work and change your ordering/priority (as shown in my first pics).  I typically test each variation looking at the framerate ordering them that way, then if the top choice has an issue move it down the list.

Try the simple test I just mentioned playing back something that requires a transcode looking to see how many ffmpeg logs are generated for the playback.  If you need help upload any/all logs generated from the playback including the top choice which is always the Emby Server log file.  We should be able to see what's going on and help you correct this for fast starting playback.

If need be I could remote in and help you correct this pretty quickly as well.

Carlo

 

  • 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...