Plex介绍
Plex是一整套完整的解决方案(Server + Client),Plex应用支持众多平台和设备,比如Android TV
、Apple TV
、智能电视
等使用流媒体传输的设备;Android
、iOS
的移动设备;也支持win
和macOS
系统的电脑;支持部分Home Accessories
智能设备;甚至支持PlayStation、NVIDA SHIELD、Xbox One等游戏主机。服务器端用于管理各种媒体(电影,剧集,照片,音乐,家庭视频),客户端用于解决播放(有Mac
,PC
,iOS
,Android
,XBox
,PS
,各种TV
,树莓派
等)用户可以通过在电脑或者NAS上安装Plex Media Server,使用 iPad, iPhone 或 安卓手机、机顶盒浏览以及播放各类多媒体(视频,相片以及音乐)。除此之外,还可以选择在线观看。
优点:
- 配置简单
- 界面和操作美观,它能自动加载NAS上的电影、电视剧的影视信息,并以照片墙的形式展现出来;
- 可以远程播放,局域网或公网都可观看和管理,甚至有网页播放器,并且你能非常轻松的将你希望分享的媒体内容,分享给你的家人或者朋友;
- 只需要在服务端配置一份媒体库,所有终端都可使用;
- 终端解码能力不够的话,自动转为服务器端解码。
缺点:
- 不支持蓝光原盘;
- 移动客户端收费
环境信息
硬件为esxi服务器
操作系统
[root@ops ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@ops ~]# uname -r
3.10.0-693.el7.x86_64
挂载存储
首先我本地视频在群晖PT NAS中,本地运行Plex为我esxi服务器。所以我们需要通过挂载的方式将群晖nas中的影视文件挂载到我们的Docker或者是Centos7中
[root@ops ~]# showmount -e 192.168.31.199
Export list for 192.168.31.199:
/volume1/downloads *
[root@ops ~]#
[root@ops ~]#
[root@ops ~]# mkdir /data/plex -p
[root@ops ~]# mount -t nfs 192.168.31.199:/volume1/downloads /data/plex
[root@ops ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 50G 30G 21G 60% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 4.0K 7.8G 1% /dev/shm
tmpfs 7.8G 33M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda2 197M 113M 85M 58% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1000
192.168.31.199:/volume1/downloads 14T 9.4T 4.7T 67% /data/plex
#此时我们已经挂载完毕,接下来可以安装docker
Docker 安装
docker安装我们直接参考官方文档安装https://docs.docker.com/engine/install/centos/
#设置存储库
#安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定的存储库。
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker引擎
安装最新版本的 Docker Engine、containerd 和 Docker Compose 或进入下一步安装特定版本:
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
配置docker的启动参数使用systemd,使用systemd是官方的建议,详见 https://kubernetes.io/docs/setup/cri/
mkdir -p /etc/docker/
cat>/etc/docker/daemon.json<<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://fz5yth0r.mirror.aliyuncs.com",
"https://dockerhub.mirrors.nwafu.edu.cn/",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://reg-mirror.qiniu.com",
"http://hub-mirror.c.163.com/",
"https://registry.docker-cn.com"
],
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
启动docker
systemctl enable --now docker
Docker 安装Plex
下载Plex镜像
docker pull plexinc/pms-docker
#本步骤可以省略
创建本机媒体资源目录与docker plex共享
mkdir -p /data/plex/plex/config
mkdir -p /data/plex/plex/transcode
mkdir -p /data/plex/plex/data
mkdir -p /data/plex/plex/video
mkdir -p /data/plex/plex/photo
mkdir -p /data/plex/plex/music
获取索取码
启动容器,注意替换相关目录
docker run \
-d \
--name plex \
--network=host \
--restart=always \
-e TZ="Asia/Shanghai" \
-e PLEX_CLAIM="claim-yom9G2F_y-1pV5NQPGkX" \
-e PUID=1000 \
-e PGID=1000 \
-v /data/plex/plex/config:/config \
-v /data/plex/plex/transcode:/transcode \
-v /data/plex/plex/data:/data \
-v /data/plex/plex/video:/video \
-v /data/plex/plex/photo:/photo \
-v /data/plex/plex/music:/music \
--device=/dev/dri:/dev/dri \
plexinc/pms-docker
#PLEX_CLAIM后面为索取码,注意修改路径
当我们访问docker服务器:32400端口,就可以进入到下面的页面,我这里有账号就直接登陆了
Plex 配置
登录后我们开始配置目录
我们可以添加一个媒体资料库
媒体资料库目前分为2个类型
- 电影
- 剧集
我们先添加电影
下一步添加目录
选择电影目录
这里还可以添加其它分类
添加完成
拷贝电影
目前我们服务器的路径为/data/plex/plex/data
也就是plex会查看这个目录下的电影文件,我们从其它目录拷贝几个过来查看
可以将/data/plex/plex/data修改为/data,这样默认情况下/data下所有的电影都可以加载到
Linux上需要注意字符集
拷贝一个电影文件
[root@ops data]# cp -r /data/plex/Horror\ Noire\ A\ History\ Of\ Black\ Horror\ 2019\ 1080p\ Blu-ray\ Remux\ AVC\ DTS-HD\ MA\ 5.1-HDT.mkv .
[root@ops data]# ls
Horror Noire A History Of Black Horror 2019 1080p Blu-ray Remux AVC DTS-HD MA 5.1-HDT.mkv
[root@ops data]# ls -lh
total 15G
-rwxr-xr-x 1 root root 15G May 4 02:55 Horror Noire A History Of Black Horror 2019 1080p Blu-ray Remux AVC DTS-HD MA 5.1-HDT.mkv
[root@ops data]# pwd
/data/plex/plex/data
点击扫描资料库 (等待加载电影)
进入电影文件,就可以看到加载好的电影
Plex硬解
Plex硬解解码需要plex会员才可以使用,点击转码器
-->开启硬解转码
-->保存更改
问题
如果我们docker出现无法访问的情况,可以通过下面的命令重启解决
[root@ops data]# iptables -F
[root@ops data]# iptables -X
[root@ops data]# systemctl restart docker