Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(jellyfin): Add hardware-accelerated video decoding support for Jellyfin #2040

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Knufle
Copy link

@Knufle Knufle commented Jan 9, 2025

… server by mapping required GPU device nodes (/dev/dri, /dev/vcsm, /dev/vchiq, and /dev/video*) in the Docker Compose configuration.

Context:

The current Docker Compose configuration for the Jellyfin server does not include hardware-accelerated video decoding capabilities. This feature is essential for improving media playback performance, especially for high-definition video streams, by leveraging GPU-based transcoding.

Proposed Changes:

Modify the docker-compose.yml to include the following device mappings:

  • /dev/dri: Enables Direct Rendering Infrastructure (DRI) for GPU access.
  • /dev/vcsm and /dev/vchiq: Facilitates GPU memory and communication, particularly for Raspberry Pi systems.
  • /dev/video10, /dev/video11, /dev/video12: Grants access to video device nodes for hardware-based video encoding/decoding.

Benefits:

  • Enables hardware-based transcoding for Jellyfin, reducing CPU usage.
  • Enhances performance during media playback, particularly for high-definition and 4K content.
  • Provides compatibility with GPUs and Raspberry Pi-specific hardware.

Steps to Validate:

  1. Update the docker-compose.yml file with the proposed changes.
  2. Deploy the updated Jellyfin container.
  3. Run docker exec <container_name> ls -l /dev/ to verify the container has access to the mapped devices.
  4. Check Jellyfin's playback settings and logs to confirm that hardware acceleration is enabled and functional.

Notes:

  • Ensure the host system has the appropriate GPU drivers installed and configured.
  • Additional Jellyfin configuration may be required to enable hardware acceleration in the application itself.

…ellyfin server by mapping required GPU device nodes (/dev/dri, /dev/vcsm, /dev/vchiq, and /dev/video*) in the Docker Compose configuration.
Copy link

github-actions bot commented Jan 9, 2025

🎉   Linting finished with no errors or warnings   🎉

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
ℹ️ jellyfin/docker-compose.yml External port mapping "7359:7359/udp":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant