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、中文乱码问题

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息