折腾 Jellyfin 以及解决字体无法显示或者显示为方框的问题
本文最后更新于 457 天前,其中的信息可能已经有所发展或是发生改变。

我真的非常喜欢Jellyfin,开源好用。在有了家里云以后我就开始研究如何把让它做更多的事情。AMD 300U 有一块 Vega 3 的显卡,我首先想到的就是让它作为我的媒体库来提供视频转码等功能。

视频硬解和转码

受限于性能,使用 CPU 转码是不现实的。我知道 Plex 有提前离线通过 CPU 或者 GPU 转码为适合在线播放的多个版本的功能,但可惜的是 Jellyfin 并没有这方面的实现。

对于 Linux 设备,不论是 Intel 还是 AMD 的显卡 Jellyfin 官方都推荐使用 VAAPI 来作为硬件加速的设备。Video Acceleration API (VAAPI) 是一个开源的视频加速 API 实现。在 Linux 上由于厂商对于显卡驱动的不重视导致第三方开源实现经常能够获得比官方驱动更好的效果和体验。就比如在生成进度条预览图时,AMD 显卡只有通过 VAAPI 才能够启用硬件加速的 MJPEG 编码。

设置硬件转码

在设置硬件转码之前,请确认自己的显卡是否支持所选的解码格式,如果解码的时候选择到了自己的显卡所不支持的格式在播放的时候会发生错误。并且有可能导致系统崩溃。

下面的两个选项是用于配置用于渲染的 API 和设备的,如果系统只有一张显卡使用默认即可。

启用硬件解码可以设置允许使用硬件加速的视频格式。如果视频的格式不在你所选择的格式范围内,当需要解码时,系统会使用 CPU 来进行解码。

在硬件编码选项中启用硬件编码能够让需要转码的视频在上面被 GPU 或者 CPU 解码之后再使用 GPU 转码为默认 H264 的格式。除了 H264 外,还可以通过允许以 HEVC 格式编码让编码器将视频转换为 HEVC 格式。通常在相同比特率的情况下,HEVC 拥有比 H264 更好的视频质量。同样这里也需要确认你的显卡是否支持对应的格式。如果不支持 Jellyfin 在播放时会报错。

色彩映射选项默认是关闭的,它的作用是把 HDR/杜比视界 的视频在转码过程中通过特定的算法转换为适合 SDR 显示器(即不支持 HDR 的显示器)可以正常显示颜色的状态(在不受支持的设备播放 HDR视频或者转码 HDR 视频的时候不打开这个选项会导致视频偏色如发灰/发绿)。色调映射的算法如果没有特殊需求选择默认即可。

与之相对的是针对多声道音频的立体声降混算法的设置。它的作用是将5.1或者更多声道数据的声音通过算法转化为能直接通过双声道耳机聆听的音频。我推荐选择 AC-4 算法,这个算法是针对杜比全景声开发的,能够得到非常不错的效果。启动 VBR 音频编码则是能够让音频在转码过程中自动更具复杂性来调整带宽使用量。

编码预设决定了视频编码的质量和速度。通常情况下自动即可,根据网络上有人的测试信息,H264默认会使用 very fast 的设置。如果有特别的需求,可以将这个设置调整到 fast 这是一个比较合适选项。

不同显卡的解码格式的支持列表

下面的表格来自 https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/amd.htmlhttps://bluesky-soft.com/en/dxvac/deviceInfo/decoder/intel.html 它们分别收集了 AMD 和 Intel 几乎所有的显卡对应支持的解码格式。

如果你是 Nvidia 用户,可以在这个链接查看编解码的支持情况:https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new

AMD 显卡

[table id=1 /]

Intel 显卡

[table id=4 /]

进度条预览图使用硬件加速

如果在媒体库中启用了生成进度条预览图,Jellyfin会在晚上的时候自己生成视频的预览图。如果不使用硬件加速,这会花费大量的时间。

我们可以通过打开硬件加速来加快这个过程。和转码相同,预览图生成的设置是被归类到播放里的。打开下图中的启动硬件解码的设置即可在生成预览图的时候使用硬件加速。如果你使用的是 SV,VA-API,VideoToolbox 或 RKMPP,你还可以使用硬件加速的 MJPEG 编码。如果对进度条的精度要求不高,可以使用仅从关键帧生成图像,这会大大加快进度条的生成速度。

常见问题

字体无法不显示或者显示为方框

这是由于 Linux 自带的中文字体不足导致的,最简单的解决办法就是在 Jellyfin 中设置备用字体。这里的字体推荐使用针对网络优化的 woff2 格式的字体。Jellyfin 官方推荐在 Google Fonts 上查找。经过我的测试,最适合的字体是 Noto Sans Simplified Chinese 这个字体。点击下载我整理好的文件

我们需要下载这个字体,然后将文件夹里面的所有字体文件复制到一个文件夹中,源文件应如下。你需要将 static 文件夹中的字体和主字体复制到同一个文件夹中。

复制到一起以后如下

在这之后将文件复制到服务器中。在播放-转码中设置备用字体的位置和启用备用字体即可。

评论

  1. 2 周前
    2026-7-12 21:36:25

    Hahahaha You are so good

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇