Netnax Posted August 19, 2023 Share Posted August 19, 2023 (edited) I want to install jellyfin as a docker container on my Orange pi 5. How can I enable hardware acceleration for it? On the container page (https://hub.docker.com/r/linuxserver/jellyfin) there are instructions for various options, but orange pi 5 is not there of course. I have enabled 3D acceleration as mentioned on the armbian page for orange pi 5. Edited August 19, 2023 by Netnax 0 Quote Link to comment Share on other sites More sharing options...
Werner Posted August 20, 2023 Share Posted August 20, 2023 Just a guess but I assume it won't work anyways. It would need at least a modified ffmpeg version that supports rockchip vpu which I guess isn't default in these pre-made containers. Could be wrong though. 1 Quote Link to comment Share on other sites More sharing options...
dkg Posted August 28, 2023 Share Posted August 28, 2023 https://hub.docker.com/r/jjm2473/jellyfin-mpp 0 Quote Link to comment Share on other sites More sharing options...
Miguel González Posted October 4, 2023 Share Posted October 4, 2023 I use the 3d accelerated driver and this docker compose code: version: '3.5' services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC network_mode: 'host' devices: - '/dev/dri/card0:/dev/dri/card0' #define what gpu device is being used - '/dev/dri/card1:/dev/dri/card1' - '/dev/dri/renderD128:/dev/dri/renderD128' - '/dev/dri/renderD129:/dev/dri/renderD129' volumes: - /yourpath:/lib #library where you have jellyfin-ffmpeg6 located - /your_path:/config - /your_path:/data/tvseries - /your_path:/data/movies restart: 'unless-stopped' this code you can edit to your convenience, it seems to work for me. I have used VAAPI for transcoding, and it appears to work fine with minimum load in CPU; but i do mention that it appears that av1 doesn't run that well for now. This problem with av1 might improve in the future, I have asked the Jellyfin team to make a transcoding option for the rk3588 we just need enough votes for that dream to become a reality. 0 Quote Link to comment Share on other sites More sharing options...
Tan Posted October 15, 2023 Share Posted October 15, 2023 @Miguel González did you compile jellyfin-ffmpeg6 yourself? If yes could you share how you did it? 0 Quote Link to comment Share on other sites More sharing options...
Anderson Castro Posted October 31, 2023 Share Posted October 31, 2023 @Miguel González Hi Miguel! Wich one do you use? 0 Quote Link to comment Share on other sites More sharing options...
Miguel González Posted November 1, 2023 Share Posted November 1, 2023 Video Acceleration API, but im truly not sure if it works, I have noticed it does run better 0 Quote Link to comment Share on other sites More sharing options...
Miguel González Posted November 1, 2023 Share Posted November 1, 2023 And sorry for the late reply @Tan the ffmpeg6 I had to download it so im not really sure if its ok since I just kept searching in the net until I found something. 0 Quote Link to comment Share on other sites More sharing options...
leeson Posted December 26, 2023 Share Posted December 26, 2023 the new jellyfin docker image had released by nyanmisaka. thanks nyanmisaka https://github.com/jellyfin/jellyfin/pull/10748 docker run -d \ --name jellyfin \ --privileged \ --net=host \ --restart=unless-stopped \ --volume /path/to/config:/config \ --volume /path/to/cache:/cache \ --volume /path/to/media:/media \ `for dev in dri dma_heap mali0 rga mpp_service \ iep mpp-service vpu_service vpu-service \ hevc_service hevc-service rkvdec rkvenc vepu h265e ; do \ [ -e "/dev/$dev" ] && echo " --device /dev/$dev"; \ done` \ nyanmisaka/jellyfin:latest-rockchip 0 Quote Link to comment Share on other sites More sharing options...
LoneExile Posted December 27, 2023 Share Posted December 27, 2023 @leeson I only have `/dev/dma_heap`, will it work? if not, how can I get `rga` (Rockchip graphics acceleration?) module? I already `Enable 3D Acceleration` on the Armbian site. Armbian 23.8.1 Jammy with bleeding edge Linux 6.5.0-rc5-edge-rockchip-rk3588 0 Quote Link to comment Share on other sites More sharing options...
Werner Posted December 27, 2023 Share Posted December 27, 2023 1 hour ago, LoneExile said: 6.5.0-rc5-edge-rockchip-rk3588 never heard of that version. Current mainline is 6.7-rc Anyway the stuff mentioned on the download page works with legacy 5.10.y kernel only. 0 Quote Link to comment Share on other sites More sharing options...
leeson Posted December 29, 2023 Share Posted December 29, 2023 (edited) @LoneExile This is my process: I used 5.10.x kernel, which was already there when I installed the system as @nyanmisaka he said,download the OpenCL,then use sudo apt install ./libmali-valhall-g610-g13p0-x11-wayland-gbm_1.9-1_arm64.deb docker run -d \ --name jellyfin \ --privileged \ --net=host \ --restart=unless-stopped \ --volume /path/to/config:/config \ --volume /path/to/cache:/cache \ --volume /path/to/media:/media \ --device /dev:/dev \ nyanmisaka/jellyfin:latest-rockchip maybe need chmod 777 -R /dev (i'm not sure to run it yes or no) Edited December 29, 2023 by leeson code not show 1 Quote Link to comment Share on other sites More sharing options...
LoneExile Posted December 31, 2023 Share Posted December 31, 2023 Thanks, @Werner, I'm not sure about the build. I created the image 2 months ago. However, after rebuilding the image recently, I've obtained the modules I need. Also, thank you, @leeson, for the guidance and solution. I've got it running on my Kubernetes cluster now. And Happy New Year, guys! 🎉 0 Quote Link to comment Share on other sites More sharing options...
xsetiadi Posted January 8 Share Posted January 8 does this version of jellyfin able to play h265 smoothly? @leeson because jjm2473/jellyfin-mpp build is having hard time to play h265. and also what transcoding method you use 0 Quote Link to comment Share on other sites More sharing options...
leeson Posted January 8 Share Posted January 8 @Arif Setiadi yes,it worked very smoothly with 4K HEVC HDR 10bit,keep at 60 frames,and lowwer ram usage.about more you can see https://hub.docker.com/r/nyanmisaka/jellyfin thanks @nyanmisaka 0 Quote Link to comment Share on other sites More sharing options...
StarboardOtter Posted January 10 Share Posted January 10 First of all, thank you @leeson for pointing out that jellyfin image, transcoding seems to work. However, I also want home decoding in client app, since this board sometimes is connected to Armbian from orangepi website, hwaccel was "enabled" from their instructions, but mpv was not using it/neither did jellyfin client. When I tried to compile modified ffmpeg from nyanmisaka github the screen goes blank, and gnome session fails to start. There were error messages in journalctl about mpp, and something along these lines recently: Jan 09 22:04:01 orangepi5 gnome-shell[34647]: Running GNOME Shell (using mutter 42.9) as a Wayland display server Jan 09 22:04:01 orangepi5 gnome-shell[34647]: Added device '/dev/dri/card0' (rockchip) using atomic mode setting. Jan 09 22:04:01 orangepi5 gnome-shell[34647]: g_hash_table_destroy: assertion 'hash_table != NULL' failed Jan 09 22:04:01 orangepi5 gnome-shell[34647]: Failed to open gpu '/dev/dri/card1': No suitable mode setting backend found Jan 09 22:04:01 orangepi5 gnome-shell[34647]: g_str_has_prefix: assertion 'str != NULL' failed Jan 09 22:04:01 orangepi5 gnome-shell[34647]: g_str_has_prefix: assertion 'str != NULL' failed Jan 09 22:04:01 orangepi5 gnome-shell[34647]: g_str_has_prefix: assertion 'str != NULL' failed Jan 09 22:04:01 orangepi5 gnome-shell[34647]: Failed to get string: No error has been recorded. Jan 09 22:04:01 orangepi5 systemd[7299]: org.gnome.Shell@wayland.service: Main process exited, code=killed, status=11/SEGV Jan 09 22:04:01 orangepi5 systemd[7299]: org.gnome.Shell@wayland.service: Failed with result 'signal'. Jan 09 22:04:01 orangepi5 systemd[7299]: Failed to start GNOME Shell on Wayland. For the reference I was running Armbian 23.11.1 Jammy with Linux 5.10.160-legacy-rk35xx downloaded from the website not so long ago, not sure if this version involves all required kernel patches or not. What would be the general direction to troubleshoot? Reinstall everything gpu related, then try compiling ffmpeg again? 0 Quote Link to comment Share on other sites More sharing options...
xsetiadi Posted January 10 Share Posted January 10 so we use jellyfin server from github, and jellyfin desktop client from docker right? @leeson i will try when my setup complete. currently waiting for custom desk. 0 Quote Link to comment Share on other sites More sharing options...
leeson Posted January 10 Share Posted January 10 (edited) @StarboardOtter i had tryed with debian12,you need download the jellyfin client app, then add your server's ip or domain ,chose the quality as low, like this,it worked here is the link for jellyfin client app https://github.com/jellyfin/jellyfin-media-player/releases . In general, the Jellyfin client app works by utilizing your client device's GPU for transcoding when your client device's GPU is supported (direct play). Otherwise, it uses your server device for transcoding. Sorry, my English is not very good. I hope this helps. Edited January 10 by leeson 1 Quote Link to comment Share on other sites More sharing options...
leeson Posted January 10 Share Posted January 10 @Arif Setiadidocker image is server , client app you need download form https://github.com/jellyfin/jellyfin-media-player/releases 1 Quote Link to comment Share on other sites More sharing options...
leeson Posted January 10 Share Posted January 10 (edited) Edited January 10 by leeson 1 Quote Link to comment Share on other sites More sharing options...
StarboardOtter Posted January 13 Share Posted January 13 (edited) So with a little bit more of troubleshooting and fresh install from image: the server side with nyanmisaka image works just fine, transcodes FHD HEVC 10bit into something browsers can play easily. However, when I try to play the same file in mpv on the host machine rkmpp goes green screen, can play it without hardware decoding though. Issues begin when I install jellyfin-media-player client from flathub. Please correct me if I am wrong, but flatpaks are similar to containers in a way that they probably have their own mpv without hw acceleration and that's why results are poor? Did anyone successfully compiled a client? Github instructions seem a little outdated (python vs python3 package, it's a stupid roadblock and so far I haven't figured out how to bypass it). Second edit: I realized that leeson is selecting different quality in the client, forcing the transcode probably on the server side. Edited January 13 by StarboardOtter 0 Quote Link to comment Share on other sites More sharing options...
xsetiadi Posted January 18 Share Posted January 18 @leeson just have time to try now. but on web browser and jellyfin media client the play method is direct playing. not transcode. is it allright? from what i feel. now i can play HEVC video on web browser. on my old jellyfin this won't happen. 0 Quote Link to comment Share on other sites More sharing options...
leeson Posted January 19 Share Posted January 19 @Arif Setiadi the browser supports h264 direct playing at default,you can try 4k hevc ,it will transcode from high vedio bitrate to low vedio bitrate when you chose low vedio bitrate ,and transcode from hevc vedio codec to h264 vedio codec 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.