Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

How do you use the processor to decode HEVC h.265 in Emby? Using 6th gen Xeon

Featured Replies

Hi.  I'm using Xeon E3-1225 V6.  I'm using Emby.  I have been downloading quite a few movies with HEVC h.265 encoding.  So far, it's been using my CPU, eating up to 95% of all 4 cores.  I know this processor has built-in Quick Sync Video, ergo, won't eat a lot of processing power.  But how do you exactly enable it in Unraid, in Emby Docker (linuxserver.io)?

 

 

  • Author

Anyone?

 

I already have this in my go file:

 

#Setup drivers for hardware transcoding in Plex
modprobe i915
chown -R nobody:users /dev/dri
chmod -R 777 /dev/dri

 

In Emby settings:

 

Under Hardware acceleration, I have:

 

Video Acceleration API (VA API)

You need to pass the device through to the emby container.

Add a new device and use /dev/dri for both host and container fields.

 

If you are using our emby container, I suggest you change it to the official as we haven't released ours and probably never will. 

 

If you have passed through the device for Plex, then you either need to stop that container or remove the device I think.

Edited by saarg

  • Author

Hi.  Noted on the using the official one.  I just recently saw it.  

 

 

How do you "Add a new device and use /dev/dri for both host and container fields."  Where do you put this?

 

I can stop plex.  Not sure whether what I've done is passed through the internal gpu.  I wanted to use the internal gpu Iris Pro 630 to transcode the shows.

  • Author

Hi!  Any more instructions to let Emby process HEVC content?  Still no progress up to today.

  • 5 months later...
On 7/7/2018 at 1:49 AM, jang430 said:

Hi!  Any more instructions to let Emby process HEVC content?  Still no progress up to today.

Ever get anywhere with this? I'm at the same point and not savvy with Linux.

Edit your docker and at the bottom it says add x,x,x, and devices and do what he said

  • Community Expert
46 minutes ago, Taddeusz said:

On your Emby Docker add "--device /dev/dri" to the Extra Parameters.

FYI, Devices were added into the configuration in one of the updates this year(ish?).

No more messing with extra params for  devices :)

 

image.png.ef9e2975af3aa5b61f8a9386f6ed2973.png

 

image.png.fc834f064801a808ead7de0a37e4b8dd.png

I'm a little confused on how to do this.

So I have to go and add a config text file to the GO directory (where is this?). Then create a device for the hw transcoder and after that just go to the emby docker, click on add another device. and fill out as above.

 

Is there more to do?

Edited by Heciruam

  • Modify your /boot/config/go file and add the following in between the first line and the last. You will need to reboot for these changes to take affect but you can also run both those after editing your go file so you won't have to reboot.
modprobe i915
chmod 777 /dev/dri/*
  • Add the device /dev/dri to your Emby Docker.

That's all you need to do. I actually have two Dockers, Plex and HandBrake, that both use Quick Sync. I've used Emby before and it works fine this way.

I did forget that for Emby to properly use Quick Sync you need to set it to use the VA API.

6 hours ago, Taddeusz said:

I did forget that for Emby to properly use Quick Sync you need to set it to use the VA API.

How do you tell that it's using it? Besides that it uses less of the processor. Like an official way tell through logs.

 

Thanks!

AshranPewter

5 hours ago, AshranPewter said:

How do you tell that it's using it? Besides that it uses less of the processor. Like an official way tell through logs.

 

Thanks!

AshranPewter

I'm not sure. I tried Emby very briefly. I find it ugly and too rough around the edges for my family's needs. 

I have got this all working, here is a guide. This will only work with intel iGPU on unraid. I have an E3-1275 V5 CPU. This guide is based on Emby 4.0

 

You need an Intel CPU with iGPU and quick sync video support. https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

 

The assumption is that nothing else is using the integrated video from your CPU (no VM's)

 

Mine is Skylake so I am limited to HEVC, (no 10 bit, that will be software transcode instead), If I upgrade to a Kaby Lake Xeon I would have full support for HEVC 10-BIT

 

I grabbed info from this thread and info from the Emby docker page, if you run into trouble with below check out that thread.

 

Any experts on this please feel free to chime in and I can update it.

 

This is what I did to make it work:

 

Step 1

 

Edit your go file with a text editor (I use EditPad Lite) 

 

You can share your flash file as hidden and give your self access. (Click on the flash drive in the main tab to find this setting)

 

image.png.183c5a4865a63028183e386d86552836.png

 

 

Locate the go file:

 

flash\config\

 

Edit the go file with a text editor and add the following: (put this in below anything already in your go file)

#Setup drivers for hardware transcoding in Emby
modprobe i915
chown -R nobody:users /dev/dri
chmod -R 777 /dev/dri

Restart your unRaid system

 

Step 2

 

Click on the terminal screen on unRAID on the top menu.

image.png.be8bc6d6f66d54859e8e574aa7b4ca66.png

 

and type / paste:

getent group video | cut -d: -f3

Note what the output is (mine was 18) as seen below

 

image.png.aef386c6823af51a84f7769b75f90ef6.png

 

Step 3

 

I am using the official Emby Docker:

 

https://hub.docker.com/r/emby/embyserver/

 

Here is the link to the templates. You need to add this manually, this won't be found in Community Applications.

https://github.com/MediaBrowser/Emby.Build/tree/master/unraid-templates/emby

 

Emby 4.0 now has a nice little logo to confirm hardware transcoding

 

image.png.e4e5fa3fdbda85f7bdfd53a7863350e0.png

 

Here is what I have in my docker template, you will need to add extra parameters over the default. If you already have Emby, you will need to modify your template to add extra parameters.  This is easy to do with the "+Add another Path, Port, Variable, Label or Device" when editing your install.

 

My Settings:

Repository: emby/embyserver:latest

Network Type: Host

Console shell command: Shell

Privileged: Off

Port 1: 8096 Container Port: 8096 (for http)

Port 2: 8920 Container Port: 8920 (options if using https)

Path 1: /mnt/user/appdata/emby/ Container Path: /config

Path 2: /mnt/user (change as required to your media share, i leave it as user, makes it easier to add new shares with out remapping) Container Path: /mnt

Variable 1: Key: APP_UID Value: 99

Variable 2: Key: APP_GID Value: 100

Variable 3: Key: GIDLIST Value: (Change to your output from Step 2) 

 

Here is an example of Variable 1

 

image.png.6b369814304b28b724a6f2747e8c969f.png

 

Now click on Advance View and under "Extra Parameters" add the following:

 

--device /dev/dri/renderD128

image.png.24dd98c1d22068c58d22d13513093a41.png

 

I have also attached my template (my-EmbyServer.xml) that you can edit and add it your flash drive. You will have to edit this so you grab latest instead of beta.

 

Place the template here:

flash\config\plugins\dockerMan\templates-user

 

my-EmbyServer.xml

 

Step 4

 

Start Emby.

 

Checkout the transcode section just in chase, click advanced and it will show you what was detected.

image.thumb.png.5979adc321f4742ab7de0533f2e05245.png

 

 

 

Edited by Lebowski
Updated as Emby 4.0 is standard and no longer beta

  • 2 weeks later...
On 1/11/2019 at 10:43 PM, Lebowski said:

I have got this all working, here is a guide. This will only work with intel iGPU on unraid. I have an E3-1275 V5 CPU......

 

Lebowski,

I have a similar setup to yours.  If you would like to see your iGPU utilization during transcode you can use a docker container.  Definitely helps when you're trying to figure out a bottleneck between CPU, disk, network, or iGPU.  Info here: 

 

  • 1 year later...
On 1/12/2019 at 4:43 AM, Lebowski said:

Step 1

 

Edit your go file with a text editor (I use EditPad Lite) 

 

You can share your flash file as hidden and give your self access. (Click on the flash drive in the main tab to find this setting)

 

image.png.183c5a4865a63028183e386d86552836.png

 

 

Locate the go file:

 

flash\config\

Where do I find the smb setting for flash?

On the Main page, simply click on Boot Device Flash.

  • 2 months later...

I got one more question. Can I add this to multible Docker containers? So Emby, jellyfin and Plex. So they all can use the iGPU at the same time?

20 minutes ago, Heciruam said:

I got one more question. Can I add this to multible Docker containers? So Emby, jellyfin and Plex. So they all can use the iGPU at the same time?

In theory, yes.  I have not tried transcoding in multiple Media management systems simultaneously; however, I have successfully used Plex and HandBrake (added /dev/dri to both docker containers) at the same time doing media transcoding.

Thanks, I'll guess I will give it a go.

1 minute ago, Heciruam said:

Thanks, I'll guess I will give it a go.

You cannot use a discrete Nvidia GPU simultaneously in multiple VMs, but you can use an iGPU simultaneously in multiple docker containers.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.