# jellyfin安装设置使用散记

jellyfin安装设置使用散记

文章目录

  • jellyfin安装设置使用散记
    • 0 软件简介
    • 1 安装
    • 2 视频转码问题
      • 2.1 局域网转码情况测试(不同网段)
      • 2.2 局域网jellyfin app默认转码问题解决
      • 2.3 外网转码情况测试
    • 3 一些坑
    • 4 插件
      • 4.1 【控制台】--【插件】说明
      • 4.2 我装的一些插件
    • 5 最后

0 软件简介

Jellyfin 是一个自由的软件媒体系统,用于控制和管理媒体和流媒体。它是 emby 和 plex 的替代品,它通过多个应用程序从专用服务器向终端用户设备提供媒体。Jellyfin 属于 Emby 3.5.2 的下一代完全开源实现。完全免费。可以作为Kodi的后端资源库(Kodi上安装jellyfin客户端)

  • 特性:
    Movies:保存所有电影集,并会显示对应的海报
    TV Shows:收集电视节目,并让它们自动分组
    Music:音乐收藏,制作播放列表
    Live TV & DVR:观看现场电视和设置自动录音,以扩大你的媒体库
    Jellyfin 目前正在主要的网络浏览器上工作。当使用 Google Chrome (桌面) 或 Android 时,支持 Chromecast。

1 安装

官方有多种安装方式,请看https://jellyfin.org/docs/general/installation/,我选择的是Container,因为最简单,用docker-compose方式.

  • docker-compose.yml如下:
version: '3.5'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    restart: 'unless-stopped'
    user: 0:0
    network_mode: 'host'
    #ports:
    #  - 8096:8096
    #  #- 8920:8920
    #  - 7359:7359/udp
    #  - 1900:1900/udp
    volumes:
      - ./conf/config:/config
      - ./data/cache:/cache
      - ./data/media:/media
      #- ./data/media/movie:/media/movie
      #- ./data/media/music:/media/music
      #- ./data/media/picture:/media/picture
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://192.168.11.16:8096
    # Optional - may be necessary for docker healthcheck to pass if running in host network mode
    extra_hosts:
      - "host.docker.internal:host-gateway"

user: 0:0 :代表容器内部程序运行在root账户下(这样不好,但我懒)

./conf/config:/config :确保user有写的权限

./data/cache:/cache :确保user有读的权限

./data/media:/media :确保有读的权限

这样设置权限更牛逼: setfacl -MU:jellyfin:rx /media/xxx

  • 现在只需要up起来就好了(你得先安装docker,略):
docker-compose up -d
  • 第一次打开网站需要设置一些参数,包含语言与用户密码之类,媒体可以稍后设置,网址是http://你的ip:8096,比如我的http://192.168.11.16:8096。里面有很多设置国家和语言的要注意下,每个名字可能不一样,参考如下:
1 国家:
  China
  People`s Republic of China
2 语言:
  汉语(简化字)
  chinese

在【设置】–>【播放】–>【视频质量】中可以设置网络质量、转码码率相关参数

在【控制台】–>【联网】–>【LAN网络】中可以设置局域网范围,比如192.168.0.0/16, 172.30.5.0/24

在【控制台】–>【DLNA】–>【启用 DLNA 服务器】

等等

  • 手机端app、电视端app等自行去官方下载

2 视频转码问题

2.1 局域网转码情况测试(不同网段)

情况如下:

  1. 用jellyfin app播放视频时默认会进行转码,这对服务器性能要求很高(我的服务器不支持硬件加速,CPU还很垃圾),这样根本没法用

  2. 用浏览器播放视频不会转码

  3. 用第三方app findroid 播放视频不会转码

2.2 局域网jellyfin app默认转码问题解决

  • 问题分析:(用jellyfin app播放视频时)
  1. 如果设置用的是Web player,则会转码;

  2. 如果用的是Ingegrated player,则不会转码;

  3. 如果使用的是External player(like MX、VLC),会不会转码不清楚,没试

  • 问题解决:
  1. 方法1:【设置】–>【客户端设置】–>【Video player type】,选择【Ingegrated player】即可

  2. 方法2:【设置】–>【客户端设置】–>【Video player type】,选择【External player】,此时可能需要在下面设置【External player app】,我没测试

    **注:**服务器端设置局域网地址范围并不能使他不转码

2.3 外网转码情况测试

从外网访问是否会转码,目前不清楚,没有测试。

从外网连接Vpn的状态下,网段已加入LAN网络,依然会转码(可能自动识别带宽吧);用第三方app findroid不会转码。

3 一些坑

  • 媒体目录不能使用软链接,因为他会把它当成文件处理,提示日志如下:
jellyfin    | [09:14:22] [ERR] [28] Emby.Server.Implementations.IO.ManagedFileSystem: Reading the file size of the symlink at /media/movie/lnnn failed. Marking the file as not existing.
jellyfin    | System.IO.FileNotFoundException: Could not find file '/media/movie/lnnn'.
  • 视频扫描不出来问题

    如果目录下只有一个视频文件,则此目录的子目录里面的视频是不会被扫描的(即不会被显示出来)。
    如果目录下没有视频文件,则此目录的子目录(或子子目录)里面的视频会被正常扫描。
    所以切记,如果是多级目录管理视频文件,确保不要只有一个视频文件,否则会扫描不到文件。
    如果目录下只有一个视频文件,则扫描出来显示的名字是目录名,如果有多个视频文件,则显示为视频文件名,这应该是为了让一个文件夹放一个电影及电影周边的特别设计吧。
    
  • 关于目录权限问题

    config及cache需要你设定的用户有读写权限,比如运行在容器下的【user: 1000:1000】,因为程序需要进行添加与修改
    媒体目录权限只要有读和执行的权限,且媒体文件只要有读的权限就可以了,不需要有owner相关权限
    

4 插件

4.1 【控制台】–【插件】说明

  1. 【存储库】是插件仓库,【Jellyfin Stable】是官方仓库,还可以添加第三方的

  2. 【目录】是【存储库】里面的插件列表,选择需要的进行安装

  3. 【我的插件】是已经安装的插件

4.2 我装的一些插件

  • Jellyscrub:进度条预览,可以生成“trickplay”(Roku .bif)文件,然后由客户端解释并用于无缓冲清理图像预览。 项目地址https://github.com/nicknsy/jellyscrub,安装方法:

    1. 【控制台】–【插件】–【存储库】,添加:https://raw.githubusercontent.com/nicknsy/jellyscrub/main/manifest.json
    2. 在【目录】中点击【Jellyscrub】进行安装;
    3. 在【我的插件】中点击【Jellyscrub】进行设置;

5 最后

img

爱你!

你可能感兴趣的:(IT,音视频,容器,linux,docker)