Jump to content

Transcoding question


Recommended Posts

JuJuJurassic
Posted

I’ve put together a new Emby server, with an intel 11900k processor, 64 GB ram and a 1050ti gpu. 

My question is, I can see the transcoding when just 1 person is using Emby, this was during the initial library scan. Does Emby always use the gpu for transcoding or can I make it use the cpu for some transcoding and use the gpu when it’s heavily loaded. Or the other way round? My concern is it doesn’t seem to be using the cpu, but is that just because it isn’t loaded sufficiently yet? 

3/4 accounts will always be remote. 1 is on the local hardwired lan but moving remote. The other account will always be on the local lan. 

Is there anything an option or setting I should be using?

Thank you for your advice.

Julian 

GrimReaper
Posted (edited)
10 minutes ago, JuJuJurassic said:

Does Emby always use the gpu for transcoding or can I make it use the cpu for some transcoding and use the gpu when it’s heavily loaded. Or the other way round?

AFAIK nope, you can only enable HW acceleration (and keep it on Auto or set desired order HW encoders/decoders will be used - or disable some alltogether for certain codecs) or keep it disabled, but you can't have automatic SW>HW switch based on load. Only way that works is opposite, HW>SW, in cases when HW fails/is not supported. But why would you want SW decoding? Your CPU is QS-enabled, just put it on top of the list in the Advanced transcoding settings for HW decoders/encoders if you want it to be used. 

Edited by GrimReaper
Typo
JuJuJurassic
Posted

Thanks do that, I looked at those settings. I wonder if it's possible to select the hardware encoding for the more intensive / load based codecs, and leave the easier codecs to the CPU? I'm trying to split the load. 

Ideally an option to select hardware or software encoding based on the user would be the preferred option. I could the select the remote users to be hardware, and local to be software. The card I have supports 3 concurrent transcodes, the same number of remote users I have, well that's what it said on plex, so I guess it's similar. It's a Geoforce GTX1050ti.

Any suggestions?

Thanks

Julian

GrimReaper
Posted
1 minute ago, JuJuJurassic said:

wonder if it's possible to select the hardware encoding for the more intensive / load based codecs, and leave the easier codecs to the CPU? I'm trying to split the load. 

That's why you have options under Advanced transcoding to experiment with, transcoding plain AVC 8-bit 720p is certainly not same as transcoding 4K 10-bit HEVC HDR with tonemapping. 

3 minutes ago, JuJuJurassic said:

Ideally an option to select hardware or software encoding based on the user would be the preferred option

No such option exists that I know of, and frankly, don't see much benefit in that except another layer of complexity introduced and more micromanagement. 

 

 

GrimReaper
Posted
8 minutes ago, JuJuJurassic said:

The card I have supports 3 concurrent transcodes, the same number of remote users I have, well that's what it said on plex, so I guess it's similar. It's a Geoforce GTX1050ti.

As a sidenote, you can 'unlock' that card with a hack, it'll give you higher number of concurrent streams:

https://github.com/keylase/nvidia-patch

 

JuJuJurassic
Posted

Thanks again, I'll look into the patch it looks very interesting 🙂 

Where can I find a list of the codecs and their cpu demands? Like you say a 4k wouldn't take the same as a 720p

MPEG-2, VC-1, H.264 (AVC), H.265 (HEVC), VP9

Would you say this was the order based on load? In which case I'll disable the hardware transcoding on the MPEG-2, VC-1. I've not seen much VP-9, so I think I'll disable that too.

What do you think?

Thanks


 

 

 

GrimReaper
Posted

That surely depends on the type of media you have, there's no one-fits-all solution nor recommendation. 

You can check below link for what your QS-enabled CPU can handle, table under "Hardware decoding and encoding" section should give you a good overview per-codec historically. 

https://en.m.wikipedia.org/wiki/Intel_Quick_Sync_Video

 

JuJuJurassic
Posted

Thanks again, I'll go do some further reading

Your help is very much appreciated. Emby's support is one of the main reasons I moved from plex 🙂

  • Like 1
Posted

Is this system used for gaming or other things which require a discrete GPU? If not then you're just wasting energy and PCIe slots as your CPU/iGPU are superior to your 1050ti, you don't need the extra GPU for media and transcoding.

Get your system working with the iGPU and that's all you'll need.

 

 

JuJuJurassic
Posted

Hi Q-Droid.

Its a dedicated box, just for emby, nothing else, running ubuntu 20.04. It sits in a corner just running emby. but with a few remote users I wanted the transcoding not to be an issue, hence I bought the 1050ti.

 

Posted

If you're really talking about a few users, like 4 or 5, then without the 1050ti your server is great and actually way overbuilt. But that's fine and will be good for many years. 

If Intel graphics detection and transcoding are working then you're set. If not working yet then there are a few threads in here with help on Tiger Lake CPU detection on various Linux platforms. Tiger Lake is new so Kernel version and kernel drivers have to be tweaked sometimes.

 

JuJuJurassic
Posted

Thanks Q-Droid, I've told the users their Christmas present is the Emby server :-))

Now to work out podcasts on the tune in plug in, then IPTV......

Thanks again for your help 🙂

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