mirror of
https://github.com/jellyfin/jellyfin-ffmpeg.git
synced 2026-09-02 21:03:08 +03:00
Page:
Features
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This page summarizes the key differences and additions in Jellyfin‑FFmpeg that matter for Jellyfin users. The focus is on practical playback usability, reliability and performance for home media servers.
Dolby Vision & HDR
- Dolby Vision remux support into HLS (both fMP4 and MPEG‑TS), preserving side data for client playback where supported.
- Improved DV RPU handling and related bitstream filter flows to keep more metadata intact during demux/remux.
- HDR to SDR tone mapping improvements:
- CUDA tonemap implementation for NVIDIA GPUs.
- OpenCL tonemap with extra BT.2390 EETF, a 3D-LUT based code path and a major refactor for quality and speed.
- Videotoolbox and Metal tonemap for Apple platforms.
tonemapxsoftware filter with SIMD optimizations for high performance CPU based tone mapping.
Hardware Acceleration Pipeline
General
- Cross‑API interop glue to reduce copies and enable full hardware pipelines:
- D3D11/OpenCL interop for AMD and Intel QSV paths on Windows.
- Vulkan pipeline fixes and backports for more stable import/export.
- VAAPI helper filters (e.g.,
hwuploadand scaling defaults) and driver workarounds. - QSV VPP improvements, better device handling, and safer low‑power fallbacks.
- Performance tuning:
- Smarter defaults for async depth, buffer queues, and scaler algorithms.
- Avoiding extra copies (e.g., DXVA/QSV alignment tweaks) to keep data on GPU.
Intel (QSV/VPL/D3D11/OpenCL)
- QSV VPP improvements (scaling/tonemap), safer low‑power fallback behavior.
- Better device init flows with VPL and legacy MSDK paths.
- D3D11/OpenCL interop paths to keep frames on GPU and avoid expensive mapping.
NVIDIA (CUDA/NVENC)
- CUDA tonemap implementation for fast HDR→SDR.
- Enhanced CUDA pixel format conversion and transpose filters to reduce copies.
- NVENC HEVC HDR metadata support to preserve HDR signaling where applicable.
AMD (AMF/D3D11/OpenCL/Vulkan)
- AMF fixes/tunings and D3D11↔OpenCL interop for full hardware pipelines.
- Vulkan pipeline stability improvements (image usage, linear formats where needed).
Apple(VideoToolbox/Metal)
- Videotoolbox filters for overlay, transpose/flip, bwdif deinterlacing.
- AV1 VT backports, 12‑bit decode where supported, and MJPEG encoder.
- Hardware tonemap with Videotoolbox and format controls in
vt_scaleand a Metal based tonemap filtertonemap_videotoolbox.
Rockchip (RKMPP/OpenCL)
- End‑to‑end hardware pipeline (decode→process→encode) tailored for RK3588.
- Practical patches to make overlays, scaling, and colorspace steps work together.
Streaming, Muxing, and Containers
- Segment muxer improvements and HLS demuxer fixes for better client compatibility.
- Pass Dolby Atmos (EAC‑3 with additional BSI) through
movwhere applicable. - Fixes for libx265 fMP4 HLS playback on Safari.
- ID3v2 improvements (multiple values, embedded artwork like WebP) for better tagging.
Subtitles & Filters
- PGS subtitle overlay support in hardware filters, improving end‑to‑end HW pipelines.
- YADIF/BWDIF implementations with GPU acceleration to keep deinterlacing in hardware paths where possible.
sub2videoperformance improvements and warnings noise reduction.
Codecs & Utilities
- AC‑4 decoder (useful for ATSC 3.0 material).
- Practical CLI additions:
- Pause support in the
ffmpegCLI for controlled workflows. ffprobeoptiononly_first_vframeto return only the first video frame info quickly.
- Pause support in the
Philosophy
We implement changes that directly improve Jellyfin media server scenarios: HDR/DV handling, stable HW acceleration, and fewer client‑side surprises. Many items are backports, fixes, or targeted features that are slow to land upstream or not aligned with upstream priorities.