Docker系列 基于jellyfin搭建自己的家庭影院系统
一、介绍
Jellyfin是一个开源的软件媒体系统,用于控制和管理媒体和流媒体。它是emby和plex的替代品,支持多平台下获取服务器中的视频。
官网介绍:https://jellyfin.org/docs/
Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!
二、安装
官方提供多种部署方式,我这里使用docker进行部署。可以参考官方资料:https://jellyfin.org/docs/general/installation/container#docker
下面是我的docker-compose配置文件:
version: '3.5'
networks:
default:
external: true
name: NPM
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 1000:1000
ports:
- "8096:8096"
- "8920:8920"
- "7359:7359/udp"
- "1900:1900/udp"
volumes:
- ./config:/config
- ./cache:/cache
- ./media:/media
restart: 'unless-stopped'
需要修改的配置:
1、user:容器运行用户,默认为root用户。
2、ports:官网默认容器的网络模式为host模块,我这里使用container模式,所以需要将使用到的端口映射出来。
jellyfin使用到的端口
8096/tcp:HTTP 服务器监听的 TCP 端口号。可以在仪表盘上修改。
8920/tcp:HTTPS 服务器监听的 TCP 端口号。可以在仪表盘上修改。
1900/udp: 用于服务的自动发现功能,例如DLNA。
7359/udp: 用于客户端在局域网的发现功能。
3、volumes:容器映射的卷,config和cache软件使用,根据实际情况修改即可。media为视频存放的路径,可以映射多个路径;另外一种方式是将整个磁盘映射到容器中。
三、使用
(1)视频信息刮削功能
在国内,如果想使用jellyfin自带信息刮削功能,需要将提供刮削信息网站对应的ip配置到容器配置文件的extra_hosts标签下。例如:
extra_hosts:
- "api.themoviedb.org:13.226.225.4"
- "image.tmdb.org:138.199.9.104"
- "api.thetvdb.org:192.241.234.54"
ip随网络环境不同而不同,需要根据实际情况配置。可以使用 https://dnschecker.org/ 网站查看刮削信息网站对应的ip。
可以是因为国内网络的问题,在使用一段时间后,发现经常出现刮削失败的情况,所以已经不再使用jellyfin自带的刮削功能。信息刮削都使用刮削工具tinyMediaManager代替了。
(2)创建媒体库
jellyfin的媒体库共有电影、音乐、节目、书籍、照片、音乐视频、混合电影和电视剧7种。一般常用的主要为电影和节目。这里也主要介绍这两种。
1、视频命名
在创建媒体库前,我们需要按照一定的规则对视频进行命名,这样可以让jellyfin和刮削工具更好的识别视频。
“节目”媒体库命名规则
视频名字需要带有SXXEXX,表示SXX第几季,EXX表示第几集,其他可以随意。目录名字可以命名为“节目名称+(年份)”。结构的话有两种,一种是在视频节目目录下先建立季文件夹“Season XX”,再放季对应的视频;第二种是直接在节目目录下放视频。特典(特别内容)用第零季表示,可以放在“Specials”或者“Season 00”文件夹下,或者用S00表示。
Shows
├── Series (2010)
│ ├── Season 00
│ │ ├── Some Special.mkv
│ │ ├── Episode S00E01.mkv
│ │ └── Episode S00E02.mkv
│ ├── Season 01
│ │ ├── Episode S01E01-E02.mkv
│ │ ├── Episode S01E03.mkv
│ │ └── Episode S01E04.mkv
│ └── Season 02
│ ├── Episode S02E01.mkv
│ ├── Episode S02E02.mkv
│ ├── Episode S02E03 Part 1.mkv
│ └── Episode S02E03 Part 2.mkv
└── Series (2018)
├── Episode S01E01.mkv
├── Episode S01E02.mkv
├── Episode S02E01-E02.mkv
└── Episode S02E03.mkv
“电影”媒体库命名规则
2、创建媒体库
3、中文乱码问题