docker搭建jellyfin部署视频库、私人电视

admin 2023年11月20日21:25:16评论60 views字数 4006阅读13分21秒阅读模式

自述

giegie,我没有群晖nas怎么办?

哈!你小呆呆啊,这不有树莓派、电脑、手机么

你真以为电视盒子不是装了一套嵌入式系统而已啊(如今的电视也嵌入了系统)

把你废旧的设备拿出来,又是一台新功能的电视了

再也不怕被发现硬盘里有xiao电影了,555~

版本的选择

  目前在官方的 Docker 仓库里,有三个主流的Jellyfin的容器,分别是 jellyfin/jellyfin、linuxserver/jellyfin和nyanmisaka/jellyfin。

  • jellyfin/jellyfin 为官方镜像,貌似仅限 x86/amd64 平台;

  • linuxserver/jellyfin 镜像,根据说明,可以使用在 x86/amd64 平台上,也可以使用在 ARM 的平台上; 

  • nyanmisaka/jellyfin 的镜像,也是只能用在x86/amd64平台上,但该镜像集成了显卡驱动和字体,可直接使用,无需配置,可以直接跳到 Jellyfin 系统设置章节;

镜像下载

根据自己的情况,个人选择官方版本

1、jellyfin/jellyfin 官方镜像下载:

$ sudo docker pull jellyfin/jellyfin:latest

2、 linuxserver/jellyfin 镜像下载:

$ sudo docker pull linuxserver/jellyfin:latest

3、 nyanmisaka/jellyfin 即插即用镜像下载:

$ sudo docker pull nyanmisaka/jellyfin:latest

容器的创建与启动

创建共享文件夹

  • /config

  • /cache

  • /media

  • /dev/dri

mkdir -p C:UsersqingjiegongDesktopdatajellyfinconfig

创建与启动jellyfin容器

docker run -itd --name=Jellyfin -p 8096:8096 -v C:UsersqingjiegongDesktopdatajellyfin:/config -v C:UsersqingjiegongDesktopdatajellyfin/cache:/cache -v C:UsersqingjiegongDesktopdatajellyfin/media:/media -e TZ=Asia/Shanghai -e PUID=0 -e PGID=0 --device=/dev/dri:/dev/dri --restart unless-stopped jellyfin/jellyfin:latest

--name=Jellyfin 将容器名定义为 Jellyfin

-p 端口映射(主机端口:容器端口)

-v 共享文件夹,配置映射

-e TZ=Asia/Shanghai -e PUID=0 -e PGID=0#将容器的时区设为上海,使用窗口在运行时使用root权限

--device=/dev/dri:/dev/dri #直通显卡给 Docker 容器,用于硬解

⭐--add-host=api.themoviedb.org:13.224.161.90 #为容器增加 host 指向,加速海报与影视元数据的搜刮

--restart unless-stopped在容器退出时总是重启容器,但是 Docker 守护进程启动之前就已经停止运行的容器不算在内

docker搭建jellyfin部署视频库、私人电视

端口说明:

部署容器时需要部署的端口映射

端口号 用途 可选项
8096 默认http端口号 必须
8920 默认https端口号 可选
7359 让同一局域网中的客户端设备自动发现 可选
1900 DLNA的端口 可选

docker-compose

version: '3.5'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 0:0
network_mode: 'host'
volumes:
- C:UsersqingjiegongDesktopdatajellyfinconfig:/config
- C:UsersqingjiegongDesktopdatajellyfin:/config/cache:/cache
- C:UsersqingjiegongDesktopdatajellyfin:/config/media:/media
- C:UsersqingjiegongDesktopdatajellyfin:/config/dejavu:/usr/share/fonts/truetype/dejavu
restart: 'unless-stopped'
ports:
- 8096:8096
devices:
- /dev/dri:/dev/dri
extra_hosts:
- "api.themoviedb.org:13.224.161.90"
- "api.themoviedb.org:13.35.8.65"
- "api.themoviedb.org:13.35.8.93"
- "api.themoviedb.org:13.35.8.6"
- "api.themoviedb.org:13.35.8.54"
- "image.tmdb.org:138.199.37.230"
- "image.tmdb.org:108.138.246.49"
- "api.thetvdb.org:13.225.89.239"

jellyfin-setup:
image: jellyfin/jellyfin
command: >
bash -c "apt-get update && apt-get install -y fonts-noto-cjk-extra intel-media-va-driver"
depends_on:
- jellyfin

系统环境调试

进入 Jellyfin 的 Bash 模式:

docker exec -it Jellyfin /bin/bash

#之后是容器内的命令行环境
root@Jellyfin# apt update #更新容器内 debain 仓库信息

docker搭建jellyfin部署视频库、私人电视

字体安装:

root@Jellyfin# apt install fonts-noto-cjk-extra

docker搭建jellyfin部署视频库、私人电视

Intel核心显卡直通确认与驱动安装:

#显卡直通确认
root@Jellyfin# apt ls /dev/dri

docker搭建jellyfin部署视频库、私人电视

#驱动安装
root@Jellyfin# apt install intel-media-va-driver
#解码支持确认
root@Jellyfin# /usr/lib/jellyfin-ffmpeg/vainfo

docker搭建jellyfin部署视频库、私人电视

VAProfile输出的多少,视显卡而定


Jellyfin系统设置

启动并初始化Jellyfin

Jellyfin的容器已经在Docker里创建、启动和调试好了,接下来可以打开浏览器,输入Jellyfin服务器地址加端口号打开Jellyfin的页面

http://localhost:8096/

docker搭建jellyfin部署视频库、私人电视

docker搭建jellyfin部署视频库、私人电视

账:qingjiegong

密:qingjiegong

可自定义,为何放出来?因为存放到自己的docker仓库了,方便大家拉取

docker pull qingjiegong/jellyfin

媒体库设置:

菜单 -> 控制台 -> 媒体库

docker搭建jellyfin部署视频库、私人电视

添加媒体库:

  • 内容类型:电影内容选“电影”;电视剧选“节目”;

  • 显示名称:自定义:

  • 点击 “文件夹” 旁边的加号,分别添加电影或电视剧内容所在的文件夹;

  • 首选语言选择“Chinese”,国家/地区选择“People's Republic of China”;

  • 元数据下载器里:只保留“TheMovieDb”;

  • 图片获取程序:只保留 “TheMovieDb”;

  • 没提到的,则根据情况自行选择;

全部设置完点“确定”,之后系统便会自动生成电影和电视剧的海报列表,完成的速度和你使用的网络环境相关。

docker搭建jellyfin部署视频库、私人电视

网络设置:

  • 打开“控的制台”,在“高级”里选择“联网”;

  • 设置“监听的本地网络地址”,设为 Jellyfin 服务器所在的网址;

  • 设置“LAN网络”,设置为你的局域网地址,比如:192.168.1.0/255.255.255.0,如果有多个局域网网段,则用“逗号”隔开;

  • 最后点”确定“完成网络配置。

视频硬解设置:

  • 打开”控制台“,在”服务器“里选择”播放“;

  • 硬件加速这里:下拉选择”Video Acceleartion API(VAAP)“或者”Intel QuickSync(QSV)“,不是太老的CPU/显卡,建议选QSV;

  • 启用硬件解码:根据显卡支持的解码进行选择,Intel J3455及以上的CPU,即UHD500及以上的显卡可以全选;

  • 首选系统原生DXVA或VA-API硬件解码器:不选;

  • 硬件编码选项:只选择“启用硬件编码”,“启用VPP色调映射,没有提到的均不选;

  • 最后根据实际情况选中”允许实时提取字幕“和”限制转码速度“;

  • 没有提到的选择项均不选,其他参数均使用默认值;

  • 最后确定完成设置。

注意,千万不要选择”启用色调映射“,这是个坑,选中后,很多HEVC/HDR的片子在播放时会报错,提示没有合适的容器,最终无法播放。

字体乱码解决

默认情况下jellyfin的中文字幕及封面会出现乱码,我们需要通过替换字体的方式来解决。

docker run的时候把字体目录挂载了出来(/dejavu:/usr/share/fonts/truetype/dejavu),接下来只需要将中文字体放入该目录即可。

中文字体可以从windows的字体文件夹(C:WindowsFonts)内随便复制一个,复制六份,分别修改为以下名字。

DejaVuSans.ttf
DejaVuSans-Bold.ttf
DejaVuSansMono.ttf
DejaVuSansMono-Bold.ttf
DejaVuSerif.ttf
DejaVuSerif-Bold.ttf

重新启动jellyfin

进入设置,设置语言偏好为中文,选择烧录所有复杂格式字幕

docker搭建jellyfin部署视频库、私人电视

至此,字幕乱码问题解决完成


原文始发于微信公众号(qingjiegong):docker搭建jellyfin部署视频库、私人电视

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月20日21:25:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   docker搭建jellyfin部署视频库、私人电视https://cn-sec.com/archives/2220829.html

发表评论

匿名网友 填写信息