# 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/jellyfincontainer_name: jellyfinrestart: 'unless-stopped'user: 0:0network_mode: 'host'#ports:#  - 8096:8096#  #- 8920:8920#  - 7359:7359/udp#  - 1900:1900/udpvolumes:- ./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 autodiscoveryenvironment:- JELLYFIN_PublishedServerUrl=http://192.168.11.16:8096# Optional - may be necessary for docker healthcheck to pass if running in host network modeextra_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 国家:ChinaPeople`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

爱你!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UDS之11服务

11服务: 功能:控制MCU进行重启,重启分为硬重启和软重启,11服务一般代表软重启,虽然它里面有个子服务是硬件重启,这里需要注意下;硬重启在日常工作中一般代表B重启。命令格式(请求&am…

LiveGBS流媒体平台GB/T28181功能-视频直播流媒体平台分屏展示设备树分组树记录上次分屏播放记录

LiveGBS视频直播流媒体平台分屏展示设备树分组树记录上次分屏播放记录 1、分屏展示1.1、单屏1.2、四分屏1.3、九分屏1.4、十六分屏 2、分屏记录3、搭建GB28181视频直播平台 1、分屏展示 LiveGBS分屏页面支持,多画面播放,支持单屏、四分屏、九分屏、十六…

python中的os._exit()、sys.exit()和exit()/quit()函数

python中的os._exit()、sys.exit()和exit()/quit()函数 os._exit() 官方文档https://docs.python.org/zh-cn/3/library/os.html#os._exit 语法格式: os._exit(n) 以状态码 n 退出进程(process),不会调用清理处理程序&#xf…

GPT-4 模型详细教程

GPT-4(Generative Pretrained Transformer 4)是 OpenAI 的最新语言生成模型,其在各类文本生成任务中表现优秀,深受开发者和研究者喜爱。这篇教程将帮助你理解 GPT-4 的基本概念,并向你展示如何使用它来生成文本。 什么…

python变量及更新

在Python中,变量可以通过赋值操作符()来进行赋值。变量赋值是将一个值或表达式绑定到变量名上。 例如,下面的代码将整数10赋值给变量x: x 10 在这个例子中,x是变量名,10是要赋给x的值。 变量还…

Java-API简析_java.net.Proxy类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131881661 出自【进步*于辰的博客】 因为我发现目前,我对Java-API的学习意识比较薄弱…

Linux6.13 Docker LNMP项目搭建

文章目录 计算机系统5G云计算第四章 LINUX Docker LNMP项目搭建一、项目环境1.环境描述2.容器ip地址规划3.任务需求 二、部署过程1.部署构建 nginx 镜像2.部署构建 mysql 镜像3.部署构建 php 镜像4.验证测试 计算机系统 5G云计算 第四章 LINUX Docker LNMP项目搭建 一、项目…

MySQL 索引的优缺点及索引注意事项

MySQL索引是数据库中用于加快数据检索速度的一种数据结构。它在数据库表中的列上创建一个索引,以便数据库可以更快地查找和访问数据。 索引的优缺点 优点: 快速检索:索引可以大大减少数据库查询的时间,特别是在大型表中。通过使…

sqlite3 插入数据

文章目录 需求,操作1.进入sqlite终端2.打开数据库3.执行插入语句。4.查看是否成功 最近有项目在用sqlite3,这个嵌入式数据库,不是很熟练,连个插入数据的语句都得百度哈哈。 记录下,加深记忆,给同样小白的人…

第54步 深度学习图像识别:MLP-Mixer建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 (1)MLP-Mixer MLP-Mixer(Multilayer Perceptron Mixer)是Google在2021年提出的一种新型的视觉模型结构。它的主要特点是完全使用多层感知机(MLP)来处理图像&#…

Element-UI下拉多选框回显

1、v-model绑定下拉框 <el-form-item label"项目成员" prop"members"><el-select v-model"form.members" placeholder"请选择项目成员" multiple clearable:style"{width: 100%}" change"userNameSelect"…

单行多行文本溢出显示省略号

在CSS中&#xff0c;你可以使用text-overflow属性来实现文本溢出显示省略号。同时&#xff0c;你还需要结合white-space和overflow属性来控制文本的换行和溢出隐藏。下面分别介绍单行和多行文本溢出显示省略号的方法&#xff1a; 单行文本溢出显示省略号&#xff1a; 对于单行…

【CSS】box-shadow 属性

box-shadow 是 CSS 属性&#xff0c;用于为元素添加一个阴影效果&#xff0c;使元素看起来浮起或有层次感。 该属性允许设置一个或多个阴影效果&#xff0c;其语法如下&#xff1a; box-shadow: h-shadow v-shadow blur spread color inset;h-shadow&#xff1a;水平阴影的位…

3dsmax制作一个小人

文章目录 步骤起阶五官手臂短袖添加头发、头饰BodyPaint软件贴图导入到3dsmax 渲染 步骤 起阶 五官 手臂 短袖 添加头发、头饰 BodyPaint软件贴图 寻找网络贴图&#xff0c;用PS切割&#xff0c;用BodyPaint恢复纹理 导入到3dsmax 渲染

【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念

文章目录 vts和faces基础知识vertices-节点&#xff08;3是点的三维坐标&#xff09;faces-面片&#xff08;3是构成三角形面片的3个点&#xff09; 邻接矩阵邻接距离矩阵&#xff08;NN500&#xff09;稀疏矩阵 vts和faces基础知识 vertices-节点&#xff08;3是点的三维坐标…

[ubuntu][C++][qt]qt配置pcl并测试

测试环境&#xff1a; qt5.12.9 ubuntu16.04 pcl为系统apt默认库 代码&#xff1a; #include <iostream> #include <vector> #include <ctime> #include <pcl/point_cloud.h> #include <pcl/octree/octree.h> #include <boost/thread/th…

Rust vs Go:常用语法对比(二)

21. Swap values 交换变量a和b的值 a, b b, a package mainimport "fmt"func main() { a : 3 b : 10 a, b b, a fmt.Println(a) fmt.Println(b)} 103 fn main() { let a 3; let b 10; let (a, b) (b, a); println!("a: {a}, b: {b}", aa,…

【【51单片机LED呼吸灯】】

51单片机LED呼吸灯 心灵手巧呼吸灯&#xff0c;学会就能上大分 main.c #include <REGX52.H>sbit LEDP2^0; void Delay(unsigned int i) {while(i--);}void main() {unsigned char Time,i;while(1){for(Time0;Time<100;Time){for(i0;i<20;i){LED0;Delay(Time);LE…

Langchain 的 Custom example selector

Langchain 的 Custom example selector 0. ExampleSelector1. 实现自定义示例选择器​2. 使用自定义示例选择器​ 在本教程中&#xff0c;我们将创建一个自定义示例选择器&#xff0c;用于从给定的示例列表中选择每个备用示例。 0. ExampleSelector ExampleSelector 必须实现…

设计模式大白话——观察者模式

文章目录 一、概述二、示例三、模式定义四、其他 一、概述 ​ 与其叫他观察者模式&#xff0c;我更愿意叫他叫 订阅-发布模式 &#xff0c;这种模式在我们生活中非常常见&#xff0c;比如&#xff1a;追番了某个电视剧&#xff0c;当电视剧有更新的时候会第一时间通知你。当你…