dagdag 0 Posted October 8, 2024 Posted October 8, 2024 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?
Carlo 4560 Posted October 8, 2024 Posted October 8, 2024 (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 October 8, 2024 by Carlo
dagdag 0 Posted October 8, 2024 Author Posted October 8, 2024 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.
Carlo 4560 Posted October 9, 2024 Posted October 9, 2024 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now