找回密码
 加入我们
搜索
      
查看: 12334|回复: 12

威联通Jellyfin硬件转码教程

[复制链接]
发表于 2023-5-11 15:47 | 显示全部楼层 |阅读模式
本帖最后由 QNAP小威 于 2023-6-29 14:17 编辑

今天来给大家展示一下威联通新款NAS的解码与转码能力有多强?

本教程采用的是Nyanmisaka出品的Nyanmisaka/jellyfin。

Nyanmisaka原话:由于 Jellyfin 的 GPL 协议和 Intel 的 media-driver (iHD) Linux 驱动(部分开源)在协议上不兼容的缘故,Jellyfin 官方的 Docker 镜像:jellyfin/jellyfin 并不包含 Intel Linux 核显驱动。但是 Intel 的 QuickSync QSV 硬件加速依赖于该驱动,并且 Intel 10 代酷睿(Comet Lake)以及更新的处理器需要该驱动才能正常使用硬件加速。另外 VPP/OpenCL 色调映射也需要该驱动才能正常运作。

本次测试主要涉及2款新处理器,分别为英特尔赛扬最新一代N4505、N5105,N4505 具有 16EU 而 N5105 具有 24EU,更多的 EU(Intel 核显运算单元)有助于加快色调映射。

本篇也适用威联通新品NAS型号:TS-262C、TS-264C、TS-564、TS-464C、TS-462C、TBS-464等

目前版本是Jellyfin 10.8.0 最终版,在NAS上的体现:

1、Nyanmisaka大神给提供一个开箱即用的 Docker 镜像,包含最新的驱动、jellyfin-ffmpeg、补丁、CJK 系统字体等 。

2、此次更新主要带来的是完全基于显卡的缩放、反交错、色调映射、字幕烧录,免去使用软件滤镜造成的性能损失。另外添加了测试版 AV1 硬件解码支持。

3、最新的N4505、N5105处理器可支持实时转码,即使转码最高标准的测试视频(jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv),CPU占用也只有20%左右。

威联通NAS安装方式有2种:通过Compose命令行安装 或通过Docker安装,操作都很简单。


通过Compose命令行安装

首先打开Container Station,没有下载的可以现在下载。威联通的Container Station属于行业内最好用的Docker容器工具,没有之一。它提供 Linux 容器的下一代系统容器管理器 LXD(Linux Container Daemon),它建立在 LXC 之上,以此技术衍生的Linux station服务很惊艳,居然可以流畅运行Ubuntu并直通HDMI输出。
微信截图_20230511151718.png

然后选择“创建”,点击页面右方的“创建应用程序”。
微信图片_20230511152528.png


然后进入创建应用程序页面。
微信图片_20230511152549.png



  1. version: "2.1"
  2. services:
  3.   jellyfin:
  4.     image: nyanmisaka/jellyfin:latest
  5.     container_name: jellyfin
  6.     environment:
  7.       - PUID=0
  8.       - PGID=0
  9.       - TZ=Asia/Shanghai
  10.     volumes:
  11.       - /share/Container/jellyfin:/config
  12.       - /share:/media
  13.     ports:
  14.       - 12501:8096
  15.       - 12502:8920
  16.     devices:
  17.          - /dev/dri:/dev/dri</div>
复制代码


为了防止上传过程中出现乱码,特意提供图片辅证填写:
微信图片_20230511152749.png
完成后,进入Container Station总览页面,打开Jellyfin,可以看到链接,点击进去即可进入Jellyfin页面,如果没有出来也可以使用NASIP地址加端口号12501进入。
参考案例:192.168.1.3:12051
微信图片_20230511152848.png

进入Jellyfin需要创建用户账号、密码、创建媒体库等,这一部分就和注册新软件差不多,所以跳过。咱们直接进入主页面。
微信图片_20230511152917.png

到了这里,咱们需要进行一些转码的设置:首先进入“控制台”,选择“播放”。
微信图片_20230511152939.png

然后硬件加速选项选择“Intel QuickSync(QSV)”,下面的启用硬件解码全部勾选上,硬件编码选项,选择“启用硬件编码”。

接下来通过Jellyfin 打开1080P HEVC MKV视频进行转码测试,转码为1080P低码率视频进行播放:
微信图片_20230511153003.png

在播放之前截图资源监控器,CPU只占用到2%。下面将一个1080P蓝光视频转码为H264低码率1080P视频进行播放:
微信图片_20230511153024.png
微信图片_20230511153038.png

请注意,转码之后CPU占用率只有21%。瞬间打开,没有丝毫卡顿,非常流畅丝滑,同时拖动进度条也不会有任何延迟。

该视频播放信息如下:
播放信息
播放器:Html Video Player
播放方式:转码
协议:http
串流类型:HLS

视频信息
播放器尺寸:1920x947
视频分辨率:1920x800
丢弃的帧:5
损坏的帧:0

转码信息
视频编码:H264
音频编码:AAC
声道:2
比特率:8.0 Mbps
转码进度:46.1%
转码帧率:185 fps
转码原因:字幕编码不支持

媒体源信息
媒体载体:webm
大小:4.6 GiB
比特率:6.8 Mbps
视频编码:HEVC Main 10
视频码率:6.2 Mbps
动态范围:SDR
色彩初选:bt709
音频编码:AC3
比特率:640 kbps
声道:6
采样率:48000 Hz
接下来直接采用Jellyfish视频比特率测试文件,我们直接选择最高标准的视频。视频格式如下:

jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv

短短29秒的视频,体积是1.4GB。
微信图片_20230511153332.png

通过Jellyfin 打开转码播放:
微信图片_20230511153402.png

经过多次转码测试,CPU最高占用只能到15%。
微信图片_20230511153408.png

通过播放信息终于查到原因为什么CPU跑不起来,因为视频比特率超过限制。
播放信息
播放器:Html Video Player
播放方式:转码
协议:http
串流类型:HLS

视频信息
播放器尺寸:1920x947
视频分辨率:3840x2160
丢弃的帧:7
损坏的帧:0

转码信息
视频编码:H264
比特率:59.8 Mbps
转码原因:视频比特率超过限制

媒体源信息
媒体载体:webm
大小:1.4 GiB
比特率:400.0 Mbps
视频编码:HEVC Main 10
视频码率:400.0 Mbps
动态范围:SDR

最后又尝试了4K蓝光原盘,CPU占用率最高达到25%。
微信图片_20230511153519.png

通过Docker安装
接下来给大家讲解如何通过Docker安装。
微信图片_20230511153632.png

首先进入Container Station,没有下载的可以现在下载。选择“创建”,搜索“nyanmisaka/jellyfin”,结果出来然后直接点击安装。
微信图片_20230511153700.png

然后进入“高级设置”。点击“网络”,设置端口。
微信图片_20230511153743.png

给Jellyfin提供硬件解码,需要分配硬件,硬件名称为:Direct Rendering Infrastructure(226),不要选择错了。
微信图片_20230511153805.png

点击“共享文件夹”,把media选项直接删掉。
微信图片_20230511153828.png

然后在下方挂载本机共享文件夹再新增一个media文件夹,映射到NAS放电影的文件夹。
微信图片_20230511153852.png
最后点击创建即可,后续步骤一致。





发表于 2023-5-11 17:08 | 显示全部楼层
之前按照Docker镜像创建的方式硬件解码总是不生效,按照dockerCompose以yaml文件方式创建成功了。赞~
发表于 2023-5-27 07:16 | 显示全部楼层
请问emby可以吗,用4.8测试版,tone mapping无效,4K HDR 总是软解码
发表于 2023-6-9 17:08 | 显示全部楼层
TS-451D用硬件解码有的视频看不了:提示客户端不支持什么的
发表于 2023-6-10 12:03 | 显示全部楼层
TVS-951N 抄作业都抄不了

qnap docker error.jpg
发表于 2023-6-20 09:15 | 显示全部楼层
464c按docker模式安装成功,但转码失败。。。。。看log显示FFmpeg exited with code 1,纯软可以,但卡死。。。。。
发表于 2023-6-20 10:47 | 显示全部楼层
Alexandre 发表于 2023-6-20 09:15
464c按docker模式安装成功,但转码失败。。。。。看log显示FFmpeg exited with code 1,纯软可以,但卡死。 ...

翻了misaka大的帖子,找到原因了,在高级设置的设备里面,需要勾选“特权模式”否则显卡直通不生效,请大家注意,尤其我看前面有说docker安装不成功的,可能就是这个问题。
发表于 2023-6-21 21:41 | 显示全部楼层
466c都抄不了
发表于 2023-6-21 21:43 | 显示全部楼层
复制代码 不通过
 楼主| 发表于 2023-6-26 09:41 | 显示全部楼层
err9 发表于 2023-6-21 21:43
复制代码 不通过

格式要按照图片里的来,那边复制过来排列顺序就不对了~
发表于 2023-6-27 14:06 | 显示全部楼层
请教下问下独显要怎么设置安装?装了几次都还是使用集显,设置独显转码不成功!

发表于 2023-7-11 10:14 | 显示全部楼层
本帖最后由 witiger 于 2023-7-11 10:15 编辑

以下是我的威联通docker-compose的设置,可以参考下:

  1. version: '3'

  2. services:
  3.     jellyfin:
  4.         image: nyanmisaka/jellyfin:latest
  5.         container_name: jellyfin
  6.         privileged: true
  7.         environment:
  8.             - PUID=0
  9.             - PGID=0
  10.             - TZ=Asia/Shanghai
  11.         ports:
  12.             - 10096:8096
  13.             - 10920:8920
  14.         extra_hosts:
  15.             - "api.themoviedb.org:13.224.161.90"
  16.             - "image.themoviedb.org:104.16.61.155"
  17.             - "api.themoviedb.org:13.35.67.86"
  18.             - "www.themoviedb.org:54.192.151.79"
  19.             - "api.thetvdb.com:13.225.89.239"
  20.             - "api.thetvdb.com:13.249.175.212"
  21.             - "api.thetvdb.com:13.35.161.120"
  22.             - "api.themoviedb.org:13.226.238.76"
  23.             - "image.tmdb.org:99.84.238.101"
  24.             - "image.tmdb.org:138.199.36.9"
  25.             - "api.themoviedb.org:13.35.7.102"
  26.             - "api.themoviedb.org:13.225.103.26"
  27.             - "api.themoviedb.org:13.226.191.85"
  28.             - "api.themoviedb.org:13.225.103.110"
  29.             - "api.themoviedb.org:52.85.79.89"
  30.             - "api.themoviedb.org:13.225.41.40"
  31.             - "api.themoviedb.org:13.226.251.88"
  32.         volumes:
  33.             - /share/Multimedia:/media
  34.             - /share/Container/jellyfin/cache:/cache
  35.             - /share/Container/jellyfin/config:/config
  36.             - /share/Container/jellyfin/fonts:/usr/share/fonts
  37.         devices:
  38.             - /dev/dri/:/dev/dri/
  39.         restart: unless-stopped
复制代码
发表于 2024-3-22 21:10 | 显示全部楼层
有没在truenas里的安装方法?
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-4-30 14:38 , Processed in 0.015987 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表