Jellyfin 10.7+ 开启VPP色彩映射,核显映射速度也能上天!

2021-03-30 19:02:41 135点赞 846收藏 168评论

创作立场声明:Jellyfin用户,没用过Emby,Plex等。欢迎大家在评论区互相友好交流,谢谢!

大家好呀!
这是我第一篇文章,写的不好请大家多多包涵。

相信大家很多人都升级到了jellyfin 10.7。 我本人也是一直在关注10.7什么时候上市,因为想体验一下浏览器或者jellyfin官方手机app播放HDR。众所周知Jellyfin 10.6.4是不支持HDR->SDR的颜色映射的。那个效果,用过的都知道,HDR视频都是灰蒙蒙的一片。当我迫不及待的升级到10.7,并且打开了OpenCL颜色映射的时候,我人直接傻了。4K HDR HEVC -> 720p 4Mbps你告诉我只有18fps。这看个毛线啊。Jellyfin控制台里还有一个选项是VPP颜色映射,但我当时是docker里跑的jellyfin/jellyfin镜像生成的容器,打开这个选项就不能播放了。没办法,我当时也懒得折腾,反正大多是情况都是电视上Kodi硬解,或者iOS上用infuse播放,jellyfin只负责一个刮削的功能。等到了10.7.1我又升级了,结果还是十几fps。经过不断地折腾,看官方的documentation和reddit上找资料,我终于折腾出来了VPP颜色映射,4K HDR HEVC -> 1080p 20Mbps可以有50+fps,外网播放从此非常的舒服。下面废话不多说,直接开始教程。

设备介绍:
服务器: QNAP TS-453Dmini (CPU J4125 核显应该是UHD600吧), 威联通开启Container Station的docker,linuxserver/jellyfin:latest镜像,portainer/portainer:latest (可选)。所以本教程适用于大部分x86-64带核显NAS设备。

具体步骤:
1. 首先安装linuxserver/jellyfin。如果你像我一样以前使用的是jellyfin/jellyfin镜像因为linuxserver/jellyfin镜像开启硬件加速转码会花屏,请不要担心,本教程切换到linuxserver/jellyfin后会在打开VPP映射的同时,解决屏幕花屏。这一步有一下两种变式:

a. 如果是使用jellyfin/jellyfin镜像并且有portainer的朋友,并且之前配置了tmdb的host不想重建的可以直接在portainer的edit/duplicate里将镜像改为linuxserver/jellyfin然后deploy。

Jellyfin 10.7+ 开启VPP色彩映射,核显映射速度也能上天!

b. 想重新安装/新安装的方法。
在威联通的Container目录下新建一个叫jellyfin的文件夹。如果这里之前有这个文件夹的话把它清空。使用这段命令安装:

docker run -d --name jfl --add-host=image.tmdb.org:65.8.49.12 --add-host=image.tmdb.org:65.8.49.19 --add-host=image.tmdb.org:65.8.49.49 --add-host=image.tmdb.org:65.8.49.128 --add-host=api.themoviedb.org:54.230.18.34 --add-host=api.themoviedb.org:54.230.18.44 --add-host=api.themoviedb.org:54.230.18.80 --add-host=api.themoviedb.org:54.230.18.129 --device=/dev/dri:/dev/dri --restart always -e PUID=$UID -e PGID=$GID -p 8096:8096 -p 8920:8920 -v /share/Container/jellyfin:/config -v [你资视频资源库的路径]:/media linuxserver/jellyfin:latest

这里我加上了themoviedb最新的ip地址,这样可以使得themoviedb正常刮削。如果设置完成之后发现不能刮削,去ipaddress.com搜索上面两个网址最新的ip地址,将上面的ip进行替换。

2.安装好jellyfin之后,我们需要手动更新intel的核显驱动,解决花屏和打开VPP。

a. 有portainer的朋友按这个方法进入容器的终端:

点击这里点击这里

确认是/bin/bash之后点击connect确认是/bin/bash之后点击connect

达到这个界面达到这个界面

b. 没有portainer的朋友,先ssh到NAS。输入这个命令去打开这个container的终端:

docker exec -it jfl /bin/bash

如果提示没有权限,请在这句话最前面加上sudo。如果你的容器的名字不是jfl,请将jfl替换成你容器的名字。

完成后的效果完成后的效果

这一步之后不管你是portainer还是内置终端都已经到了容器的终端,所以后面的步骤都一样。

一句一句的执行下面的命令(不要输入两行之间的东西,那些是说明这个命令是干嘛的,或者告诉你要等到什么时候)。

echo 'deb http://archive.ubuntu.com/ubuntu hirsute main' > /etc/apt/sources.list.d/hirsute_main.list

echo 'deb http://archive.ubuntu.com/ubuntu hirsute universe multiverse' > /etc/apt/sources.list.d/hirsute_universe.list

这两步是添加两个ubuntu的源,这样才可以下载驱动

apt update

更新源的目录,等更新完再执行下一步

apt install -y intel-media-va-driver-non-free vainfo

下载安装驱动

完成之后输入vainfo,查看是否是这个效果

版本应该是21.1.1版本应该是21.1.1

到这里就已经差不多完成了,接下来进入jellyfin进行设置。新安装jellyfin的用户可以参考其他人的教程把jellyfin的普通设置设置好。

接下来进入控制台->播放。如果你也是J4125的话可以和我一样把这些全部钩上。其他带核显的CPU要自行判断自己的U可以解码那些格式,或者也可以全部钩上,有东西播放不了再勾掉。

最重要的是VPP,这个钩上才可以正常HDR->SDR颜色映射最重要的是VPP,这个钩上才可以正常HDR->SDR颜色映射

其实也可以选择VAAPI,但是国外论坛上说Intel Quick Sync应该是快一些。VAAPI的话不要勾选 启用色调映射, 只勾选 启用VPP色调映射。(不能启用色调映射因为linuxserver/jellyfin镜像缺少两个驱动。在jellyfin/jellyfin镜像下可以开启,但是核显的效果非常的差,720p只能18fps的样子)。

VAAPI设置VAAPI设置

至此,你就可以快乐地在SDR屏幕上通过转码播放HDR视频了,给大家看几张转码效率的图

1080p 20Mbps,外网观看主要姿势,电信上传带宽是30Mbps1080p 20Mbps,外网观看主要姿势,电信上传带宽是30Mbps


4k 80Mbps! 不知道有什么用。4k 80Mbps! 不知道有什么用。

720p 8Mbps 外网省流量姿势720p 8Mbps 外网省流量姿势

写在最后:
目前Jellyfin还是有些bug的,比如部分4K视频无法进行转码,

比如这个等级是150的无法转码,但是153的(大部分4KHDR电影都是153)好像都可以转,然后有些150的也可以转,就很奇怪比如这个等级是150的无法转码,但是153的(大部分4KHDR电影都是153)好像都可以转,然后有些150的也可以转,就很奇怪

然后每次re-deploy容器(升级jellyfin呀或者themoviedb无法刮削了 更新了host)都需要重新更新那个驱动,一直到linuxserver/jellyin镜像自带21.1.1的驱动为止。

如果对你有帮助的话,希望可以点个赞再走,这样我也可以知道我帮助了多少人Jellyfin 10.7+ 开启VPP色彩映射,核显映射速度也能上天! 。有啥问题欢迎在评论区交流。

给好奇的人:
为啥要用linuxserver/jellyfin?
linuxserver/jellyfin 基于的是Ubuntu 20.04的环境。目前全网只有Ubuntu源有3个intel-media-va-driver-non-free的驱动。jellyfin/jellyfin的环境是基于某种debian的,debian那边只有两个unstable的intel-media-va-driver-non-free,我安装过都不能正常转码,然后安装ubuntu的也不行,所以除非你能自己编译intel-media-va-driver-non-free,还是建议转到linuxserver/jellyfin。貌似有些什么值得买上的文章使用的是其他的驱动(有一篇基于proxmax的),那个可能也行。

sources:
jellyfin官方教程
reddit


展开 收起
168评论

  • 精彩
  • 最新
  • 这个才是关于硬解的好帖子,很多教程根本没有讲明白。还有一个要注意的是最新10.7.1版的官方docker安装说明,要仔细看,好像说vaapi的硬解,需要ffmpeg4.3.1-1版本以上。

    校验提示文案

    提交
    嗯 这个linuxserver里的ffmpeg是满足的 就是那个intel的驱动有点老 不知道为什么

    校验提示文案

    提交
    收起所有回复
  • 感谢作者。顺便问一下10.7那个字幕问题解决了吗?,还会不会出现方块和串流也要转码问题。

    校验提示文案

    提交
    ASS字幕还是需要转码 在设置 字幕 语言偏好选chinese 烧录字幕选择所有复杂格式字幕可以解决大部分字幕方框 实在没字体可以去jellyfin贴吧里有一篇解决方框的帖子

    校验提示文案

    提交
    10.7已经可以支持,外挂字体了,在播放设置里面有备用字体设置,输入路径,里面放上字体文件就可以了

    校验提示文案

    提交
    还有8条回复
    收起所有回复
  • 这个解码免费吗

    校验提示文案

    提交
    嗯 jellyfin就是硬解是免费的所以很好

    校验提示文案

    提交
    收起所有回复
  • jellyfin就是搜刮好费劲 [喜极而泣]

    校验提示文案

    提交
    确实 经常得改host

    校验提示文案

    提交
    可以用TMM单独管理片库

    校验提示文案

    提交
    收起所有回复
  • 相比之下plex的折腾成本要低一些

    校验提示文案

    提交
    jellyfin确实挺折腾的 但折腾起来也挺好玩的 就当省了plex的emby的会员费吧 [高兴]

    校验提示文案

    提交
    是的...700多要了老命了

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • portainer从jellyfin/jellyfin镜像转到inuxserver/jellyfin镜像后,用户就没法登录进去了

    校验提示文案

    提交
    吧浏览器缓存清除一下

    校验提示文案

    提交
    清了缓存能进去但是必须重新创建账户
    之前的配置不兼容直接读取不了
    用jellyfin/jellyfin: lastest 就能无缝升级
    不知道是为什么

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 不知道有没有UNraid下jellyfin的教程

    校验提示文案

    提交
    unraid没用过诶 但如果unraid也是docker 显卡做了直通 那在容器内部的设置应该差不多

    校验提示文案

    提交
    在unraid中更新jellyfin 10.7.1,可以直接开启VPP,很简单

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 改了host,路由器有梯子,装了豆瓣削刮,三管齐下,偶尔还是刮不出来。不用docker,jellyfin直接装在win10笔记本上,群晖现在就当个远程硬盘和photostation在用。可惜笔记本的独显是ati的有点老,不支持,只能用核显530,但是驱动方便。

    校验提示文案

    提交
    那有点奇怪 我改完host刮电影还是挺好的

    校验提示文案

    提交
    WIN不支持VPP 不过你的集显有点老,也许无所谓

    校验提示文案

    提交
    收起所有回复
  • 先mark了,因为我是套件版安装的,我要重新研究镜像版

    校验提示文案

    提交
    套件版要靠别人更新 docker版可以一直体验最新版 [阴笑]

    校验提示文案

    提交
    我找不到docker怎么安装

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • jellyfin的app就是个套壳 没法直接串流 导致我用起来每次播放缓冲时间很长 30g的要缓冲个5分钟 plex和emby都是几秒钟就打开了

    校验提示文案

    提交
    感觉就是浏览器 [哭泣]

    校验提示文案

    提交
    最新的10.7以上的服务器+ios jellyfin app已经可以调用ios内置原生播放器解码播放了,不用在服务器端转码了。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 这个要收费吗

    校验提示文案

    提交
    jellyfin硬解和转码都是免费的

    校验提示文案

    提交
    收起所有回复
  • 深夜看到大佬的文章,瞬间睡意全无,设置好后效果拔群!亲测有效!

    校验提示文案

    提交
    哈哈 很高兴能帮到你

    校验提示文案

    提交
    收起所有回复
  • 求教容器的默认名字是什么呀,怎么在ssh下看?我fyl搜不到

    校验提示文案

    提交
    docker ps -a

    校验提示文案

    提交
    好的谢谢,我还发现linuxserver/jellyfin,设置卷里面把视频文件夹设置成/media但是jellyfin里面添加文件夹的时候搜不到,换成jellyfin/jellyfin就没得问题,大佬有解决方案吗

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 编译两个驱动还是不难的,我在编译完之后,(i5 8400 hd630)几乎所有的视频都可以(除了AV1和hevc 12bit等)

    校验提示文案

    提交
    大佬nb 啥时候出个编译驱动的教程 我想学 [口水]

    校验提示文案

    提交
    这两天有空了,更新到我的博客上,去看看,需要个脚本来编译驱动,到时候附上。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 坐着用的什么CPU?J1900转码压力大不?

    校验提示文案

    提交
    j4125

    校验提示文案

    提交
    收起所有回复
  • 驱动打上了,就是开启VPP后播放HDR视频一直转圈圈,不知道是不是显卡性能不够的原因

    校验提示文案

    提交
    我的直接报格式不兼容

    校验提示文案

    提交
    报格式不兼容应该是现在最新的qvs驱动和容器内的jellyfin-ffmepg版本不兼容导致的,容器内的jellyfin-ffmepg版本刚好会破坏qvs驱动硬件,升级下jellyfin-ffmepg的版本就行了

    校验提示文案

    提交
    还有12条回复
    收起所有回复
  • 我点了VPP后直接报格式错误,如果开色彩映射的话卡成PPT,这个要怎么弄,我是群晖的DS920

    校验提示文案

    提交
    按照教程打上新的驱动了吗

    校验提示文案

    提交
    驱动已经打上了 Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.3

    校验提示文案

    提交
    还有29条回复
    收起所有回复
  • 哥们,全网就你这篇解决了我的问题。
    NUC8, ESXI 6.7下的群晖918+,docker跑jellyfin
    实现VPP. 奇怪的是,我这么强的GPU, 居然转4K HDR也就35fps, 和你的渣渣GPU差不多? 另外虽然是VPP,但感觉和VAAPI下不选VPP,只选最后一项tone mapping的速度差不多,功耗也差不多。

    校验提示文案

    提交
    可能核显差不多吧 英特尔核显一直到10代都没有什么大改动

    校验提示文案

    提交
    收起所有回复
  • 感谢,尝试了一下,播放速度瞬间提示了几个度,体验一下好了,VAAPI改成Intel Quick Sync,有用

    校验提示文案

    提交
    嘿嘿 有用就好 [龇牙]

    校验提示文案

    提交
    收起所有回复
  • 请问,您的为联通是单通道还是双通道内存

    校验提示文案

    提交
    我是非对称双通道

    校验提示文案

    提交
    谢谢指点。我现在单通道 plex还行,远程1080,15mb码率。

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

低级折腾怪

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
846
扫一下,分享更方便,购买更轻松