# jellyfin安装设置使用散记

jellyfin安装设置使用散记

文章目录

  • jellyfin安装设置使用散记
    • 0 软件简介
    • 1 安装
    • 2 视频转码问题
      • 2.1 局域网转码情况测试(不同网段)
      • 2.2 局域网jellyfin app默认转码问题解决
      • 2.3 外网转码情况测试
    • 3 一些坑
    • 4 插件
    • 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 外网转码情况测试

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

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 插件

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

    【控制台】–【插件】–【存储库】,添加:https://raw.githubusercontent.com/nicknsy/jellyscrub/main/manifest.json

5 最后

img

爱你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/44658.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

专项练习-04编程语言-03JAVA-01

1. 以下有关构造方法的说法,正确的是:() A 一个类的构造方法可以有多个 B 构造方法在类定义时被调用 C 构造方法只能由对象中的其他方法调用 D 构造方法可以和类同名,也可以和类名不同 正确答案:A 官方解析…

智能井盖:科技赋能城市脚下安全

在智能化飞速发展的今天,智能井盖作为城市基础设施的一部分,正逐渐走进人们的视野。它利用现代科技手段,实现了对城市井盖的实时监控、及时响应和高效管理,为城市管理、市民出行等方面带来了诸多便利。 城市中井盖数量庞大&#x…

【ribbon】Ribbon的使用与原理

负载均衡介绍 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同…

[Cotex-M3学习教程]-0.1-Cortex-M3概述

目录 1 Cortex-M3概述 1.1 ARM 处理器 1.2 cortex-M3介绍 1.3 cortex-M3结构概览图 1.4 cortex-M3组件 1.4.1 内核系统 1.4.2 NVIC 1.4.3 寄存器组 控制寄存器(CONTROL) 程序计数寄存器(PC:R15) 堆栈指针寄存器&#xf…

Raki的读paper小记:LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

Abstract&Introduction&Related Work 研究任务 对大模型进行部分微调 已有方法和相关工作 现有技术通常通过扩展模型深度引入推理延迟(Houlsby 等人,2019;Rebuffi 等人,2017),或通过减少模型可用序…

28.JavaWeb-Elasticsearch

1.Elasticsearch概述 Elasticsearch 是一个分布式的全文检索引擎。采用Java语言开发,基于Apache协议的开源项目,具有实时搜索,稳定,可靠,快速的特点。 1.1 全文检索引擎 分为通用搜索引擎(百度、谷歌&…

基于Java+SpringBoot+vue前后端分离在线商城系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

java项目之人事管理系统(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的人事管理系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架&…

【MySQL进阶(一)】MySQL在Linux中的配置信息和数据备份工具

MySQL在Linux中安装的话可以看这篇博客:MySQL在Linux中的安装,我觉得总结的很好。 my.cnf 中的配置信息 当 MySQL 启动的时候,会从安装目录中加载软件数据,即使用 mysqld 工具初始化设置的 --basedir,会从数据目录中…

【iOS】—— block,KVC,KVO,Category等问题解答

文章目录 block1.block的原理是怎样的?本质是什么?2.__block的作用是什么?有什么使用注意点?3.block的属性修饰词为什么是copy?使用block有哪些使用注意?4.block在修改NSMutableArray,需不需要添…

不止工具:音视频开发「利器」的新机遇

Boxing的制胜关键是快、准、稳,与“音视频开发”有异曲同工之妙。 数字化浪潮席卷、视频化形态加速、终端性能挑战加剧、端侧算力遭遇瓶颈...... 是否存在一种可能性,让所有企业从复杂的音视频开发工程中抽身,重新回归业务本身? …

消息队列总结(3)- RabbitMQ Kafka RocketMQ高可用方案

目录 1. 什么是高可用? 1.1 常见的高可用方法 1.2 消息队列的高可用 2. RabbitMQ的高可用方案 2.1 镜像队列 2.2 消息生产的确认机制 2.3 消息的持久化 3. Kafka的高可用方案 3.1 消息备份 3.2 ISR & IEO & HW 3.3 消息生产的确认机制 4. Rocke…

微信小程序开发使用echarts报错Cannot read property ‘getAttribute‘ of undefined

如图,我在小程序圈中的区域渲染echarts图标报错了,报错提示Cannot read property getAttribute of undefined 这里的canvas ,width ,height,dpr获取为 undefined 分析问题: 初始化图表时传递错误的参数: 在 onShow 生…

Vue第四篇:html和js基础知识查漏补缺

1、a标签 定义超链接,用于从一个页面链接到另一个页面 target属性:打开目标URL的方式,_top为再当前窗口打开,_blank为新窗口打开 2、span标签 对文档中的行内元素进行组合,它提供了一种将文本的一部分或者文档的一部分…

MySQL 数据抽稀 每分钟取一条

假如原始数据为每5秒一个数据,现在想展示为每4分钟一条数据,先按照分钟数把除以4余数为0的行选出来,在按照 年月日 时分,做组内排序(窗函数ROW_NUMBER),最后再拿出序号为1的行。 WITH data_01 …

了解Unity编辑器之组件篇UI(一)

UI组件:提供了用户交互,信息展示,用户导航等功能 一、Button:用于响应用户的点击事件 1.Interactable(可交互):该属性控制按钮是否可以与用户交互,如果禁用则按钮无法被点击。可以通…

go使用gin结合jwt做登录功能

1、安装gin go get -u github.com/gin-gonic/gin 2、安装session go get github.com/gin-contrib/sessions 3、安装JWT鉴权 go get "github.com/golang-jwt/jwt/v4" 4、创建一个jwt的工具文件 package utilsimport ("errors""github.com/golan…

ubuntu挂载ext4文件系统

文章目录 1.虚拟机分配10G磁盘用来挂载ext4文件系统2.磁盘分区3.创建文件系统4.挂载文件系统5.卸载文件系统6.使用ior测试ext4三种日志模式(1)ordered(2)journal(3)writeback 1.虚拟机分配10G磁盘用来挂载e…

Flutter动画库:animations(路由过渡动画或者页面切换动画)

animations animations 是一个 Flutter 库,它提供了一组用于创建动画效果的工具和组件。这个库的核心重点是路由过渡动画或者页面切换动画 地址 https://pub-web.flutter-io.cn/packages/animations 安装 flutter pub add animations看了下官方文档和官方例子&a…

【深度学习】【Image Inpainting】Free-Form Image Inpainting with Gated Convolution

模型:DeepFillv2 (CVPR’2019) 论文:https://arxiv.org/abs/1806.03589 代码:https://github.com/JiahuiYu/generative_inpainting 文章目录 效果AbstractIntroductionRelated WorkAutomatic Image InpaintingGuided Image Inpainting and Sy…