22

Openwrt homelede 3865U开启emby 4K硬解

 2 years ago
source link: https://www.silencetime.com/archives/271/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Openwrt homelede 3865U开启emby 4K硬解

什么时候需要硬解?

  • 不支持原格式播放设备
  • 非网页端(网页端不支持硬解)
  • 已经是会员或者破解
  • 不以原分辨率播放

以上步骤其实也是需要转码的条件,如果没有集显参与解码,直接使用软件解码会导致CPU使用过高导致卡顿。

硬件解码需要openwrt编译时,把显卡驱动编译好,我使用的是homelede十月三号的版本,已经编译好了,CPU是3865U,使用docker安装的emby。

查看你的硬件和驱动是否已支持硬件解码:

ls /dev/dri
card0       renderD128

HD610以上才支持4K硬解,3865U是个很独特的U,核显是HD610的刚好支持,不过是双核的,解码效率不高,但是个人用感觉也够了。

要支持H265硬解和全系列解码,那就需要七代及以上CPU

  • HD610
  • UHD610
  • HD630
  • UHD630
  • UHD620

核心与线程数当然最好是4核4线程。

附完美支持H265和VP9编码8K 10Bit视频硬解的英特尔核显列表:

就说明可以硬件解码,我们只需要使用/dev/dri/:/dev/dri/把显卡共享进emby的docker里即可。

emby docker配置
emby docker配置

此时就完成了集显参与的解码,CPU使用率大幅降低。

验证emby是否已加载集显

在转码里,选择高级,如果出现首选硬件则表示成功,建议选择QuickSync

emby硬解配置
emby硬解配置

在使用上述方法始终无法在转码里出现首选硬件,在docker里也看到了显卡,折腾重启emby/docker/路由无果后,突发奇想是不是没权限调用?一看果然没读写权限。

解决的方式有3个,

  • 如果是群晖,直接改UID,GID,GIDLIST为0即可,0就是root,
  • openwrt下的docker好像改不了,只能修改card0 renderD128这2个的权限为777即可。
  • 或者重新安装,用root用户安装,格式为name|uid[:group|gid],比如root|0[:0|0],查看root用户的id使用id root即可查询

我是直接暴力改权限777

cd /dev/dri
chmod -777 card0
chmod -777 renderD128

美滋滋,ALLINONE又省下一个nas的钱。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK