媒体播放器及媒体服务器软件Plex

在这里插入图片描述

什么是 Plex ?

Plex 是一套媒体播放器及媒体服务器软件,让用户整理在设备上的有声书、音乐、播客、图片和视频文件,并通过流式传输至移动设备、智能电视和电子媒体播放器上。Plex 可用于 WindowsAndroidLinuxOS XFreeBSD

在接触 NAS 之前,老苏一直是用旧笔记本 + Plex 搭建自己的流媒体服务器,实现了存储+索引+转码+网页播放,对于老苏来说,Plex 就是个非常完美的影音平台,后来只是因为更偏爱开源软件没有任何限制,才转投了 Jellyfin,但其实常规使用,Plex 完全能满足老苏的需求

在这里插入图片描述

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pms-docker ,选择第一个 plexinc/pms-docker,版本选择 latest

本文写作时, latest 版本对应为 1.32.8.7639-fb6452ebf

在这里插入图片描述

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 plex 和 子目录
mkdir -p /volume1/docker/plex/{config,data,transcode}# 进入 plex 目录
cd /volume1/docker/plex# 运行容器
docker run -d \--restart unless-stopped \--name plex \-p 32400:32400/tcp \-p 8324:8324/tcp \-p 32469:32469/tcp \-p 1900:1900/udp \-p 32410:32410/udp \-p 32412:32412/udp \-p 32413:32413/udp \-p 32414:32414/udp \-v $(pwd)/config:/config \-v $(pwd)/transcode:/transcode \-v $(pwd)/data:/data \-e TZ=Asia/Shanghai \-e PLEX_CLAIM="<claimToken>" \-e ADVERTISE_IP="http://<hostIPAddress>:32400/" \-h <HOSTNAME> \plexinc/pms-docker# 示例
docker run -d \--restart unless-stopped \--name plex \-p 32400:32400/tcp \-p 8324:8324/tcp \-p 32469:32469/tcp \-p 1901:1900/udp \-p 32410:32410/udp \-p 32412:32412/udp \-p 32413:32413/udp \-p 32414:32414/udp \-v $(pwd)/config:/config \-v $(pwd)/transcode:/transcode \-v $(pwd)/data:/data \-e TZ=Asia/Shanghai \-e PLEX_CLAIM="claim-xxxxxxxxxxxxxxxxxxxx" \-e ADVERTISE_IP="http://192.168.0.197:32400/" \-h ds3617xs \plexinc/pms-docker

文件夹装载路径说明
docker/plex/config/config存储其配置数据
docker/plex/data/data存储媒体数据
docker/plex/transcode/transcode转码临时文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口协议
3240032400tcp
83248324tcp
3246932469tcp
19011900udp
3241032410udp
3241232412udp
3241332413udp
3241432414udp

其中 1900 被群晖自带的 UPnP 协议守护进程 minissdpd 占用了,所以必须要改,其他的请根据自己的情况修改

环境变量

  • TZ:容器内的时区设置,国内用户可以设为 Asia/Shanghai
  • PLEX_CLAIM:可以在线获取,有效期只有 4 分钟,建议拉取镜像之后再获取,地址:https://www.plex.tv/claim

如果还没有 plex 账号,需要先注册一个;

在这里插入图片描述

  • ADVERTISE_IP:如果您希望您的 Plex 媒体服务器可以在家庭网络之外访问,则必须在路由器上手动设置端口转发以转发到上面,ADVERTISE_IP指定的端口。默认情况下,您可以转发端口 32400,但如果您选择使用其他外部端口,请务必在 Plex 媒体服务器的Remote Access设置中进行配置。对于这种类型的 Docker 网络,Plex 媒体服务器本质上位于两个路由器后面,并且它无法自行自动设置端口转发

例如:http://192.168.0.197:32400/,其中 192.168.0.197 为老苏群晖主机的 IP

其他参数

  • -h <HOSTNAME>:设置 docker 容器内的主机名。

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:plex:image: plexinc/pms-dockercontainer_name: plexrestart: unless-stoppedports:- 32400:32400/tcp- 8324:8324/tcp- 32469:32469/tcp- 1901:1900/udp- 32410:32410/udp- 32412:32412/udp- 32413:32413/udp- 32414:32414/udpenvironment:- TZ=Asia/Shanghai- PLEX_CLAIM=<claimToken>- ADVERTISE_IP=http://<hostIPAddress>:32400/hostname: <hostname>volumes:- ./config:/config- ./transcode:/transcode- ./data:/data

然后执行下面的命令

# 新建文件夹 plex 和 子目录
mkdir -p /volume1/docker/plex/{config,data,transcode}# 进入 plex 目录
cd /volume1/docker/plex# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:32400 就能看到登录界面

在这里插入图片描述

登录成功后

在这里插入图片描述

可以同步不同端的观看状态

在这里插入图片描述

起个名字

在这里插入图片描述

添加资料库

在这里插入图片描述

选择类型

在这里插入图片描述

例如:电影

在这里插入图片描述

选择目录,不管容器外的路径是什么,这里是容器内的路径,所以选择 /data

在这里插入图片描述

高级中设置刮削

在这里插入图片描述

现在可以开始使用了

在这里插入图片描述

先扫描一下电影库

在这里插入图片描述

刮削基本上没问题

在这里插入图片描述

参考文档

plexinc/pms-docker: Plex Media Server Docker repo, for all your PMS docker needs.
地址:https://github.com/plexinc/pms-docker

Stream Movies & TV Shows | Plex
地址:https://www.plex.tv/zh/

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

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

相关文章

基于SpringBoot和Echarts的全国地震可视化分析实战

目录 前言 一、后台数据服务设计 1、数据库查询 2、模型层对象设计 3、业务层和控制层设计 二、Echarts前端配置 1、地图的展示 2、次数排名统计 三、最终结果展示 1、地图展示 2、图表展示 总结 前言 在之前的博客中基于SpringBoot和PotsGIS的各省地震震发可视化分…

Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)

目录 Redis的短信登录实战解析1. 短信登录-基于session实现短信登录的流程2. 短信登录-实现发送短信验证码功能3. 短信登录-实现短信验证码登录和注册功能4. 短信登录-实现登录校验拦截器5. 短信登录-隐藏用户敏感信息6. 短信登录-session共享的问题分析7. 短信登录-Redis代替s…

代码+视频,R语言使用BOOT重抽样获取cox回归方程C-index(C指数)可信区间

bootstrap自采样目前广泛应用与统计学中&#xff0c;其原理很简单就是通过自身原始数据抽取一定量的样本&#xff08;也就是取子集&#xff09;&#xff0c;通过对抽取的样本进行统计学分析&#xff0c;然后继续重新抽取样本进行分析&#xff0c;不断的重复这一过程N&#xff0…

使用MQTT.fx和自定义Client(Ubuntu上实现)测试MQTT服务器(EMQX )

目录 概述 1 配置EMQX做MQTT服务器 1.1 登录EMQX 1.2 配置EMQX 1.2.1 配置客户端认证 1.2.2 创建用户 2 测试MQTT服务器 2.1 配置MQTT.fx工具 2.2 连接MQTT服务器 3 使用MQTT.fx发布和订阅信息 3.1 在MQTT.fx上发布信息 3. 2 在MQTT.fx上订阅信息 4 Ubuntu上实现MQ…

(done 剩个什么 3/4 unigram frequency 的玩意儿没懂) word2vec 算法,计算 嵌入矩阵(CBOW, Skip-gram)随机梯度下降法 SGD 负采样方案

参考视频1&#xff1a;https://www.bilibili.com/video/BV1vS4y1N7mo/?vd_source7a1a0bc74158c6993c7355c5490fc600 &#xff08;讲的太浅了&#xff09; 参考视频2&#xff1a;https://www.bilibili.com/video/BV1s64y1P7Qm?p4&vd_source7a1a0bc74158c6993c7355c5490fc…

微信小程序-webview分享

项目背景 最近有个讨论区项目需要补充分享功能&#xff0c;希望可以支持在微信小程序进行分享&#xff0c;讨论区是基于react的h5项目&#xff0c;在小程序中是使用we-view进行承载的 可行性 目标是在打开web-view的页面进行分享&#xff0c;那就需要涉及h5和小程序的通讯问…

苹果Find My App用处多多,产品认准伦茨科技ST17H6x芯片

苹果发布AirTag发布以来&#xff0c;大家都更加注重物品的防丢&#xff0c;苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch&#xff0c;如今的Find My已经不单单可以查找苹果的设备&#xff0c;随着第三方设备的加入&#xff0c;将丰富Find My Network的版图。产…

【Leetcode每日一题】 递归 - 反转链表(难度⭐)(35)

1. 题目解析 题目链接&#xff1a;206. 反转链表 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 一、递归函数的核心任务 递归函数的主要职责是接受一个链表的头指针&#xff0c;并返回该链表逆序后的新头结点。递归…

复习C语言基础中的基础:C语言发展、C89 C99有何区别、C语言特点

参考《C程序设计&#xff08;第五版&#xff09;》&#xff08;谭浩强&#xff09;一书&#xff1a; 1. 发展、C89 C99 2. 特点 记得时不时回顾一下背景特点&#xff0c;加深对C语言的理解。

【学习记录】调试千寻服务+DTU+导远RTK过程的记录

最近调试车载定位的时候&#xff0c;遇到了一些问题&#xff0c;千寻服务已经正确配置到RTK里面了&#xff0c;但是导远的定位设备一直显示RTK浮动解&#xff0c;通过千寻服务后台查看状态&#xff0c;长时间显示不合法的GGA值。 首先&#xff0c;通过四处查资料&#xff0c;千…

深入理解JMM

一、什么是JMM JMM&#xff08;java memory model&#xff09;Java内存模型&#xff1a;是java虚拟机规范中定义的一组规范&#xff0c;用于屏蔽掉各种硬件和操作系统的内存访问差异&#xff0c;以实现让JAVA程序在各平台都能达到一致的并发结果。其主要规定了线程和内存之间的…

【优选算法】专题1 -- 双指针 -- 移动零

前言: &#x1f4da;为了提高算法思维&#xff0c;我会时常更新这个优选算法的系列&#xff0c;这个专题是关于双指针的练习 &#x1f3af;个人主页&#xff1a;Dream_Chaser&#xff5e;-CSDN博客 一.移动零&#xff08;easy&#xff09; 描述&#xff1a; 「数组分两块」是⾮…

初识web自动化测试,快速成长指南

自动化 说明 让机器设备代替人为完成指定目标的而过程 优点 减少劳动力提高效率(批量生产)提高产品质量规格统一标准 自动化测试 概念 : 让程序代替人工去验证系统功能的过程 自动化测试能解决什么问题&#xff1f; 解决-回归测试 [重点]解决-压力测试解决-兼容性测试 …

Ubuntu 14.04:安装PaddlePaddle(Conda安装)

目录 一、PaddlePaddle 概要 二、PaddlePaddle安装要求 三、PaddlePaddle安装 3.1 安装 Anaconda3 3.2 创建Anaconda虚拟环境&#xff08;python 3.8&#xff09; 3.3 进入Anaconda虚拟环境 3.4 检测 Anaconda 虚拟环境配置是否符合PaddlePaddle安装要求 3.4.1 确认 py…

掘根宝典之C++类型别名,关键字typedef,auto,decltype

类型别名 在C中&#xff0c;我们可以使用typedef关键字或using关键字来创建类型别名。下面是两种方式的示例&#xff1a; 使用typedef关键字创建类型别名&#xff1a; typedef int myInt; typedef float myFloat;myInt a;//等价int a; myFloat b;//等价float b; 使用using关…

Python面向对象构造函数:手把手教你如何玩转对象初始化

我们都知道&#xff0c;Python是一个面向对象的语言&#xff0c;这意味着我们可以用类来定义对象的属性和方法。而构造函数&#xff0c;就是当我们创建一个新的对象时&#xff0c;会自动调用的特殊方法。那么&#xff0c;如何玩转这个构造函数呢&#xff1f; 首先&#xff0c;…

YoloV8改进策略:下采样改进|HWD改进下采样

摘要 本文使用HWD改进下采样&#xff0c;在YoloV8的测试中实现涨点。 论文解读 在卷积神经网络&#xff08;CNNs&#xff09;中&#xff0c;极大池化或跨行卷积等下采样操作被广泛用于聚合局部特征、扩大感受野和最小化计算开销。然而&#xff0c;对于语义分割任务&#xff…

golang中new和make的区别

1. 先看一个例子 package mainimport "fmt"func main() {var a *int*a 10fmt.Println(*a) }运行结果是啥呢&#xff1f; 问&#xff1a;为什么会报这个panic呢&#xff1f; 答&#xff1a;因为如果是一个引用类型&#xff0c;我们不仅要声明它&#xff0c;还要为…

MySQL 压测与结果分析

文章目录 说明1. 安装部署1.1 二进制包1.2 源码包 2. 服务器性能测试2.1 CPU2.2 内存2.3 磁盘 3. MySQL 基准测试3.1 参数解析3.2 压测命令3.3 输出解读3.4 结果分析 说明 Sysbench 是一个开源的多线程基准测试工具&#xff0c;也是目前使用最多的 MySQL 压力测试工具。本篇文…

JVM是如何运行的

JVM&#xff08;Java Virtual Machine&#xff0c;Java虚拟机&#xff09;是 Java 程序的运行环境&#xff0c;它负责将 Java 字节码翻译成机器代码并执行。也就是说 Java 代码之所以能够运行&#xff0c;主要是依靠 JVM 来实现的。 JVM 整体的大概执行流程是这样的&#xff1…