
I'm planning to run ffmpeg in a Docker environment, possibly with a new container per execution. I'm giving the users some options to customize how their videos are processed, which is essentially parameterize the ffmpeg command. If your Jellyfin server does not support hardware acceleration, but you have another machine that does, you can leverage rffmpeg to delegate the transcoding to another machine.I'm working on a web service that uses ffmpeg on the backend for processing user uploaded media files. The hardware acceleration is available immediately for media playback. Supported codecs need to be indicated by checking the boxes in Enable hardware decoding for and Hardware encoding options. Select a valid hardware acceleration method from the drop-down menu and a device if applicable. Hardware acceleration options can be found in the Admin Dashboard under the Transcoding section of the Playback tab. The current state of hardware acceleration support in FFmpeg can be checked on the rpi-ffmpeg repository. Jellyfin will fallback to software de/encoding for those usecases. This decision was made because Raspberry Pi is currently migrating to a V4L2 based hardware acceleration, which is already available in Jellyfin but does not support all features other hardware acceleration methods provide due to lacking support in FFmpeg.

Video Scaling & Format conversion (optional)Īs of Jellyfin 10.8 hardware acceleration on Raspberry Pi via OpenMAX OMX was dropped and is no longer available. The transcoding pipeline usually has multiple stages, which can be simplified to: Raspberry Pi Video4Linux2 (V4L2, Linux only)

Intel/AMD Video Acceleration API (VA-API, Linux only) The supported and validated video hardware acceleration (HWA) methods are: It enables the Jellyfin server to access the fixed-function video codecs, video processors and GPGPU computing interfaces provided by vendor of the installed GPU and the operating system. The Jellyfin server uses a modified version of FFmpeg as its transcoder, namely jellyfin-ffmpeg. The Jellyfin server can offload on the fly video transcoding by utilizing an integrated or discrete graphics card ( GPU) suitable to accelerate this workloads very efficiently without straining your CPU.
