本文介绍如何在TrueNAS中开启plex硬件转码功能。

通过互联网观看家中的plex视频的时候,由于网速限制,需要对视频进行转码,转换成低码率以便能够流畅播放。但是转码时候会占用大量CPU资源。不过从TrueNAS 12.0开始,已经可以支持硬件转码了。先看一下效果:

未开启硬解
未开启硬件转码
开启硬件转码
开启硬件转码

同一个视频,同样从1080 p转到720 p,上图未开启硬件转码功能,CPU使用率超过70%,而下图中开启硬件转码功能,CPU使用率未超过10%,应该说效果比较明显。

怎样看当前是否启用硬件转码呢?在plex播放视频的时候,点击右上角的“心跳”图标,再点击“面板”就可以看到正在播放的视频。图中红色框部分“转码”后面如果有“(hw)”是指开启了硬件转码。

接下来介绍一下开启硬解过程。

一、限制条件

1、你的CPU必须有核显。对于1080p转码,需要Intel gen 4(Haswell)或更高版本;对于4k转码,则需要Intel gen 7(Kaby Lake)或更高版本。

2、主板支持iGPU,并在BIOS中开启了iGPU。

3、plex账号需要PlexPass订阅。

二、开启硬解过程

1、安装好plex。请参考《FreeNas 11.3插件教程之二:plex服务器安装、配置和使用》,同样适用于TrueNAS 12.0。

2、在TrueNAS主机中使用命令行进行如下操作:

mkdir /root/scripts
nano /root/scripts/plex-ruleset.sh
//然后将下面两条横线之间的内容复制进去并保存
//---------------------------------------------------------------
#!/bin/sh

echo '[devfsrules_bpfjail=101]
add path 'bpf*' unhide

[plex_drm=10]
add include $devfsrules_hide_all
add include $devfsrules_unhide_basic
add include $devfsrules_unhide_login
add include $devfsrules_jail
add include $devfsrules_bpfjail
add path 'dri*' unhide
add path 'dri/*' unhide
add path 'drm*' unhide
add path 'drm/*' unhide' >> /etc/devfs.rules

service devfs restart

kldload /boot/modules/i915kms.ko
//-----------------------------------------------------------------

chmod +x /root/scripts/plex-ruleset.sh
/root/scripts/plex-ruleset.sh

3、打开TrueNAS的web界面进行如下操作:

打开【任务】-【初始化/关闭脚本】-【添加】,按下图所示填写

4、在【监狱】页面中找到plexmediaserver,点击【命令行】,运行下面这句:

pw groupmod -n video -m plex

5、关闭插件。在【监狱】页面中找到plexmediaserver,点击【编辑】,将“监狱属性”中“devfs_规则集”改为10,并保存。如下图:

修改插件属性
修改插件属性

然后开启插件。

6、测试

在【监狱】页面中找到plexmediaserver,点击【命令行】,运行下面这句:

ls /dev/d*

如果能够看到“ dri”和“ drm”两个目录,就是成功了:

7、 打开plex管理页面,在【设置】-【转码器】中,勾选“Use hardware acceleration when available”开启硬件转码:

在plex中开户硬件转码
在plex中开户硬件转码

到这里就全面设置完成了,打开一个试试吧!

本文参考:FreeNAS-Quicksync,感谢作者!