Jump to content

Set Up an Emby Docker on RPI 4 with Rocky 9 and HW Acceleration


Recommended Posts

Posted

Hi everyone,

I need some help with setting up an Emby Docker container on my Raspberry Pi 4 running Rocky Linux 9. I'm using the following docker-compose.yml:

services:
  emby:
    image: emby/embyserver_arm64v8:4.9.0.30
    environment:
      - UID=1000
      - GID=998
      - GIDLIST=39,998
    volumes:
      - ./config:/config
      - /mnt/extdrivea:/mnt/extdrive
      - ./test:/mnt/test
    ports:
      - 8096:8096
      - 8920:8920
    devices:
      - /dev/dri:/dev/dri
      - /dev/vchiq:/dev/vchiq # MMAL/OMX on Raspberry Pi
    restart: unless-stopped

I found that the GID for the video and render groups are as follows:

getent group video | cut -d: -f3

39
getent group render | cut -d: -f3

998

However, I'm having an issue where I don't see the hardware acceleration option in the Emby menu. This is what I see in the Transcoding log:

 

The issue is that I don't see the hardware acceleration option in the Emby menu. Can anyone please advise me on what might be wrong? What settings should I check to ensure that hardware acceleration is working correctly?

>>>>>> Processing Plan
Name                CanDoInHW   WillDoInHW   Reason
Copy video stream   >> False      False        Software Codec
VideoInput         >> False      False        Not a hardware decoder
VideoOutput        >> False      False        Not a hardware encoder
Copy video stream   >> False      False        Software Codec

 

I have purchased a subscription for this feature, and I want to ensure that hardware acceleration works properly. Can anyone please advise me on what might be wrong? What settings should I check to ensure that hardware acceleration is functioning correctly?

Posted (edited)

Hi,

This doesn't answer your question, but I wanted to ask why not install Emby directly on the Pi negating the need to run docker and dealing with issues/headaches associated with file/folder access mapping, networking, direct access to file system of Emby, passthrough hardware, etc?

While docker overhead isn't huge, the Pi is on the lower end of the hardware scale for a media server, so anything you can do to improve performance is going to be beneficial. Any CPU cycles used for running docker, its virtual mapping, file systems, networking, are small bottlenecks that wouldn't be present if running Emby directly on the Pi.

Carlo

Edited by Carlo
Posted

I have several rpi4 under management and I am benefiting from the benefits of containerization. I want to have a uniform and sustainable environment and save time on maintenance. I have automation already written in Ansible. I have also been using Emby for 3 years as a container. Now I decided to try the paid features, which also includes hw acceleration. I definitely want to stay with containerization. I followed the official instructions and image and according to everything there should be support. But I don't see it in the settings unfortunately.

Posted

Makes sense from an administration standpoint.

You might need to load additional drivers or might find out the OS or ffmpeg build doesn't support HW decoding on the PI4. Emby added the needed support for HW transcoding on the Pi for users to test and experiment with 4 or 5 years ago, but I don't think it's ever been officially supported. I did some testing with a Pi4 w 8GB ram and NVMe for storage and found it could handle one 1080 AVC to 720 AVC stream with a single audio track and no other embedded tracks to deal with. As the source bitrate or complexity of tracks increased the chance of transcoding at real-time speeds dropped quite a bit.  I think that was only AVC files. Transcoding HEVC 1080 to AVC 720 was never able to achieve real-time speed.

Most all testing and experimenting on the Pis was done with Emby directly installed on the OS using a Debian based Linux.  I know a couple people got hardware transcoding working in docker on a PI4 but most used a direct install. 

 

If I were you, I'd try do a fresh OS install without docker. Then install Emby Server directly to see if Emby finds your GPU or if you need to load addition driver or make other OS changes to get the GPU to show and be available for Emby Server to use for HW transcoding. If you can't get it to work on Rocky you could try an Ubuntu container and follow the setup here https://docs.linuxserver.io/images/docker-emby/ which covers GPI HW transcoding on the RP4.  This could possibly help you figure out what's needed to be done for Rocky Linux.

Hopefully, someone else will be able to jump in with more info and experience using a Red Hat based Linux running docker with HW passthrough and Emby running in a container.

Carlo

 

  • 2 weeks later...

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