硬件转码与播放客户端
转码到底在转什么
播放设备不支持视频的格式、或者带宽带不动原文件的码率时,NAS 就要先把视频转成设备能播的格式再发出去,这就是转码。转码分两种:转格式(容器、编码切换)和降画质(降分辨率、降码率)。前者影响兼容性,后者利好外网播放。
转码的成本全在 CPU 或 GPU 上。一部 4K HEVC 电影软解转码,能把一台中端 NAS 的 CPU 拉满十分钟;换成 Intel QuickSync 硬件转码,同样的活计只是核显的常规操作,CPU 几乎不动。有没有硬件转码,决定了 NAS 是「家庭影音中心」还是「暖气片」。判断机器扛不扛得住,先看有没有核显、核显支不支持目标编码格式。

群晖机型的硬件转码能力
Intel 核显的 Quick Sync Video 是主流方案。群晖 Plus 系列大多是 Intel CPU,J 系列部分型号也有核显但性能孱弱,AMD 机型走另一套接口。下面是大致的分档,具体到每个 CPU 型号建议查 QuickSync 支持列表确认 HEVC 支持:
| 机型代表 | CPU 平台 | 1080P 转码 | 4K 转码 |
|---|---|---|---|
| J 系列 | Intel 低端 | 单路可以 | 基本不行 |
| DS220+ 类 | Intel Celeron | 2 路 | 单路 4K 可 |
| DS920+ 类 | Intel Celeron | 3 到 4 路 | 单路 4K 流畅 |
| DS1522+ 类 | AMD Ryzen | 靠 AMF 接口 | 驱动支持有限 |
| DS423+/DS923+ 类 | 新 Intel 或 AMD | 多路 | 看具体芯片 |
部分新机型(DS425+、DS225+ 一代)砍掉了某些核显驱动,DSM 里硬件加速会失效,需要社区补丁把驱动加回来。买二手 NAS 想玩转码的,一定先查清楚目标型号的核显在当前 DSM 版本里是否正常工作。
Video Station 的硬件加速
官方套件的硬件加速是所有方案里最好开的:套件设置里勾上硬件加速,DSM 自己就把核显通路处理好。Video Station 转码用同一套 QuickSync 接口,外网播放时按客户端带宽自动降码率。这一套可以理解为「零配置」,不需要折腾权限。套件用户的唯一功课是在「转码」设置里选好设备档位预设,以及确认套件更新后开关没被重置。
Jellyfin 容器的硬件转码
容器里跑 Jellyfin 要多走两步:把核显设备传进容器,再把权限给够。核显设备在 NAS 里是 /dev/dri/renderD128,compose 里这样传:
devices:
- /dev/dri:/dev/dri
group_add:
- "937"
937 是群晖上 videodriver 组的 GID,可以用 SSH 登录后 grep video /etc/group 查实际值替换。某些 DSM 版本里 render 设备的权限是 600,容器用户读不到,需要加一条开机计划任务:
chmod 666 /dev/dri/renderD128
事件选「开机」,以 root 身份运行。重启后容器也能拿到设备权限。Jellyfin 控制台的「播放、转码」页面里把硬件加速选成 Intel QuickSync(VA-API 也行),设备填 /dev/dri/renderD128,勾上 H.264 和 HEVC 的硬件解码,保存后重启容器。
验证转码生效最快的方法:播放一部视频时强制降低码率,打开容器详情的 CPU 曲线,占用平稳就是硬解在工作;CPU 冲到 90% 以上就是软解,回头检查设备挂载和权限。ffmpeg 进程的命令行里也能直接看到是否带 -hwaccel qsv 参数。

客户端选择与直连优先原则
转码是兜底方案,不是日常手段。家里局域网看片,客户端能直连就别转码:Apple TV、Shield 试,大部分 4K HEVC 都能硬解播放;移动端解码能力差一档,外网看片时降画质是常态。客户端选型的核心是看本地解码能力,解码强的客户端 NAS 才清闲。
| 客户端 | 直连解码 | 备注 |
|---|---|---|
| Apple TV 4K | 4K HEVC 强 | iOS 客户端功能完整 |
| Nvidia Shield | 4K HEVC 强 | 音频直通口碑好 |
| Android 盒子 | 看芯片 | 买前查 H.265 支持 |
| iOS App | 1080P 稳 | 4K 看机型 |
| 网页端 | 依赖浏览器 | IE 类浏览器别考虑 |
客户端的坑主要在音频:DTS、AC3 这类环绕声格式在手机上普遍不支持,播放器会触发音频转码,CPU 无声地转起来。在意资源占用的可以在库里把不兼容音轨的视频提前转成 AAC。
转码相关的故障清单
转出问题对号入座:播放卡缓冲,看 NAS 端 CPU 占用,满载就是带不动,降码率或者换硬解;转码直接失败,日志里报 device init failed,八成是 /dev/dri 没传进容器;花屏绿屏,多半是硬件加速的编码格式没勾对,关掉 HEVC 10-bit 试试;容器转码正常但套件不行,通常是 DSM 更新丢了 chmod 666,重新跑一遍计划任务。
转码缓存的清理也顺手做了。Jellyfin 的 cache 目录几十 GB 是常态,空间紧张时直接清空转码子目录,不影响任何配置。Video Station 的转码缓存同理,套件设置里有缓存上限的设置项,开着自动清理比较省心。两类缓存都只是临时产物,清掉不可惜。
码率与画质的账
转码降画质不是想降多少降多少,是有理论底线的。视频码率决定每一帧的数据量,1080P 的高码率视频每秒十几兆比特,压到 2 Mbps 以下马赛克就压不住了。带宽是硬约束,画质是软约束,转码器的工作是在两者之间找平衡。外网播放时客户端画质档位是可调的,调到「自动」让服务器按上行带宽估算,比一刀切固定码率更不容易卡。
| 分辨率 | 建议码率 | 家用上行带宽要求 |
|---|---|---|
| 720P | 2 到 4 Mbps | 5 Mbps 起步 |
| 1080P | 5 到 8 Mbps | 10 Mbps 起步 |
| 4K | 15 到 25 Mbps | 30 Mbps 起步 |
外网多人观看时要按「每人一份码率」算总账。家里 20 Mbps 上行,两个人各自看 8 Mbps 的 1080P 就满了,第三人要么排队要么降画质。明确这个账之后,家庭共享的规矩就好定:高峰期限 2 路 1080P,或者统一降 720P。路由器的 QoS 设置也能帮上忙,见路由器相关的内容。
多人同时观看的工程
转码能力直接决定同时观看的路数。硬解 Ivy 之后的 Intel 核显,抱 3 路 1080P 转码问题不大;J 系列软解一路就喘。算路数的方法很直接:单路转码占核显多少性能,跑一次看曲线,余量除以单路占用就是最大路数。多人家庭建议留一半余量,别榨干。
另一个常被问的问题:能不能边看边下载。下载是磁盘 I/O,转码是 GPU 和 CPU,两者资源不冲突,但都会占网络带宽。限速下载给观影留带宽,是家庭和平的传统智慧。想深入做带宽管理的同学,QoS 的概念在 计算机网络基础 里有展开。
硬件加速的进阶开关
调通基础硬解之后还有两个开关值得试。一个是「硬件解码生效时优先使用」,勾上之后能省一部分编码开销;另一个是硬件编码档位,画质要求高的选最高档,只求流畅的选默认。这两个参数对不同代际核显的效果差别很大,建议小变化对比测试:同一部片子、同一段高动态画面,用客户端截屏对比两次的画质。
10-bit HEVC 的硬件支持是分水岭,较老的核显只能 8-bit。库里有 HDR 资源的话,外网播放前可以把这类文件提前转成 8-bit SDR 的版本,免得客户端不支持触发软解。Jellyfin 的库里给这些转好的版本标记成同一个条目的不同版本,播放时客户端按能力自己选档。
转码设置里还有「音频直通」的开关。家庭影院接功放的玩家务必打开,声音品质保真;移动端不用管——反正它会转 AAC。直通的代价是兼容性,给家人分享的库建议还是关掉直通保兼容。
延伸阅读
- Jellyfin 部署与影视库搭建:转码配置的容器基础
- 外网观影:带宽、转发与客户端:转码真正的主战场
- 性能调优与资源监控:看懂 CPU 曲线的门道
