Skip to content

community/jellyfin-ffmpeg: closer alignment with debian package

Gil Pedersen requested to merge kanongil/aports:jellyfin-ffmpeg-fixes into master

The main goal of this MR is to make the compiled version function more like intended, by aligning it with debian/rules.

  • fdk-aac allows much higher quality AAC encoding when transcoding.
  • harfbuzz allows better hardcoded subtitle rendering.
  • svt-av1 allows transcoding video to AV1 for better compression on low-bitrate links.
  • libxml2 allows demuxing DASH streams.

This also changes the TLS engine from openssl to gnutls, which I don't really have any opinion on, and mostly added for completeness.

A number of flags (amf ffnvcodec cuda cuda-llvm cuvid nvdec nvenc) are still omitted, relating to hardware encoding/decoding using proprietary drivers. They should not really be needed for modern systems, which can use Vulkan decode and VA-API to do the same.

Only one relevant feature flag is still missing, namely zvbi, which is needed to decode/transcode teletext subtitles from certain DVB recordings. This is because the dependent lib is not part of Alpine, not even in testing. I have made an attempt to rectify this in !76475 (merged), which will need to be promoted to community before it can be included here.

This rework also changes the output to use dynamic libs, rather than the current static ones, which are compiled into the two packaged binaries (ffmpeg & ffprobe). The static compilation has the unfortunate side effect of almost doubling the size of the package, since the libs are linked into both binaries. Note that I took care to use the abuild somask variable to not include the dynamic libs in the traced provides-so list.

Edited by Gil Pedersen

Merge request reports

Loading