Docker搭建Plex流媒体服务并播放自己本地视频

2023-10-22 12:28

本文主要是介绍Docker搭建Plex流媒体服务并播放自己本地视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker搭建Plex流媒体服务

  1. 安装Docker
  2. 创建存储配置文件的目录
  3. 创建Plex容器
  4. 配置Plex
  5. 设置媒体库
  6. 访问Plex

1 介绍

Plex是一个流媒体服务器,可以轻松地将你的媒体文件库(如电影、电视节目和音乐)通过网络流式传输到各种设备上。

  • Plex 是一套媒体播放器及媒体服务器软件,提供了一整套完整的解决方案(Server + Client),支持众多平台和设备,对移动设备性能几乎没有要求,凡是能打开 web 看视频的设备,基本都能使用。 Plex支持远程访问,云同步及好友共享库功能,尤其适合家庭影音库、异地恋情侣观影。

其他类似软件:

  • emby(收费)
  • Jellyfin(收费)
  • elfilm(免费非开源)
  • infuse(收费)

刮削器在plex里叫做代理(agent)

2 安装部署过程

2.1 安装Docker

如果是windows或者mac可以直接安装docker desktop这个软件
官网地址:https://www.docker.com/products/docker-desktop/

如果是Linux(Ubuntu或者CentOS):
前提条件:

  • Docker可以运行在Windows、Mac、CentOS、Ubuntu等操作系统上

  • Docker支持以下的CentOS版本:

    • CentOS 7 (64-bit)
    • CentOS 6.5 (64-bit) 或更高的版本
  • 目前,CentOS 仅发行版本中的内核支持 Docker

    • Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
    • Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
  1. 查看系统内核

uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

uname -r
  1. 查看已安装的CentOS版本信息
cat /etc/redhat-release

满足上面可以安装docker的条件即可安装。
docker官网:
官网:http://www.docker.com

安装手册:https://docs.docker.com/install/linux/docker-ce/centos(CE-社区版)

① 安装需要的软件包

yy -utils提供了yy-config-manager相关功能,device-mapper-persistent-data和lvm2是设备映射器驱动程序所需要的。

yum install -y yum-utils \device-mapper-persistent-data \lvm2

如果有以下报错信息:

报错:Another app is currently holding the yum lock; waiting for it to exit… 另一个应用程序是:PackageKit 内存:146 M RSS (497 MB VSZ) 已启动: Wed Oct 26 20:20:11 2022 - 00:07之前 状态 :运行中,进程ID:2874 Another app is currently holding the yum lock; waiting for

执行下面命令即可:

rm -f /var/run/yum.pid
② 设置docker镜像为阿里云、更新yum索引

①设置docker镜像为阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

②我们在更新或配置yum源之后,通常都会使用yum makecache 生成缓存,这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度

yum makecache fast
③ docker安装即后续配置

①安装docker ce

yum install -y docker-ce

②启动docker

systemctl start docker

③查看docker版本

docker version

④设置docker是否开启自起

#查看服务是否自动启动(是:enabled | 否:disabled)
systemctl list-unit-files|grep docker.service #设置开机启动:如不是enabled可以运行如下命令设置自启动
systemctl enable docker
#重新加载服务配置
systemctl daemon-reload #如果希望不进行自启动,运行如下命令设置
systemctl disable docker
#重新加载服务配置
systemctl daemon-reload 

⑤如果我们想卸载docker,执行以下命令

systemctl stop docker 
yum remove -y docker-ce
rm -rf /var/lib/docker

拓展:有时候,我们需要不同的服务器部署相同的镜像,这个时候我们可以使用docker export / import来对镜像进行导入导出

导出:

docker export f299f501774c > rabbit.tar

导入:

docker import - myrabbit < rabbit.tar

2.2 创建配置文件目录

在你的系统上创建一个目录,用于存储Plex的配置文件。你可以使用以下命令创建目录:

# 创建plex配置文件
mkdir -p /Users/ziyi/plex-config
# 创建自己本地存放媒体的文件夹
mkdir -p /Users/ziyi/media

2.3 docker创建plex

docker run -d \--name plex \--restart=unless-stopped \-p 32400:32400 \-v /Users/ziyi/plex-config:/config \-v /Users/ziyi/media:/data \plexinc/pms-docker

-d:在后台运行容器;
–name plex:为容器指定名称为"plex";
–restart=unless-stopped:在容器停止或重启后自动重新启动;
-p 32400:32400:将主机的32400端口映射到容器的32400端口,这是Plex的默认端口;
-v /Users/ziyi/plex-config:/config:将主机上的"plex-config"目录挂载到容器的"/config"目录,用于存储Plex的配置文件;
-v /Users/ziyi/media:/data:将主机上的"media"目录挂载到容器的"/data"目录,用于存储媒体文件。
请将上述命令中的/Users/ziyi/plex-config和/Users/ziyi/media替换为实际的目录路径。

# 查看plex是否启动成功,出现Up表明成功,否则表明失败
docker ps | grep plex

在这里插入图片描述

2.4 配置并访问

①注册或登录plex账号

现在,你可以通过访问 http://localhost:32400/web 来访问Plex的Web界面。首次访问时,你需要登录或创建一个Plex账号。

  • 如果没有账号,可以通过邮箱注册

在这里插入图片描述

登录后,按照界面上的指引,完成Plex的初始设置。你可以设置服务器名称、语言、媒体库等。

一旦Plex配置完成,你可以通过"添加媒体库"选项来添加你的媒体文件夹。点击"添加媒体库"按钮,选择媒体类型(如电影、电视节目、音乐等),然后选择对应的媒体文件夹。

Plex将扫描并索引所选文件夹中的媒体文件,并在Web界面上显示它们。

✈️Plex工作原理:
在这里插入图片描述

你可以在Plex的Web界面上浏览和播放你的媒体文件,也可以使用Plex客户端应用程序在各种设备上观看。

②访问

现在,你可以通过浏览器或Plex客户端访问Plex服务器。在浏览器中访问 http://localhost:32400/web ,或使用Plex客户端应用程序。

  • 主页会有Plex自己推荐的视频

在这里插入图片描述

在这里插入图片描述

③添加自己本地资料库(可选)

如果我们想要将自己本地的视频放在plex上播放,那么我们可以通过添加资料库实现

  1. 添加资料库

点击头像 - 选择账户 - 选择管理模块下的媒体库 - 点击添加资料库

在这里插入图片描述
2. 选择对应的媒体类型和语言
在这里插入图片描述
3. 添加文件夹

指明该资料库扫描哪个文件夹下的媒体视频

  • 我本地的媒体视频等都在/Users/ziyi/media下,在开始创建docker时,我已经将/Users/ziyi/media目录绑定到了plex容器内部的/data目录,所以这里我直接选择/data
  • 创建容器时候的挂载卷参数:-v /Users/ziyi/media:/data

在这里插入图片描述

我已经添加了我本地资料库,可以点击扫描资料库,将本地视频扫描到plex中。

在这里插入图片描述
4. 回到主页,播放自己媒体库的视频
在这里插入图片描述

播放:
在这里插入图片描述

❓tips:

  • 主页上手动扫描文件
    在这里插入图片描述配置自动扫描本地媒体文件并更新
    在这里插入图片描述

这篇关于Docker搭建Plex流媒体服务并播放自己本地视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261434

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff