828华为云征文|部署多媒体流媒体平台 Plex
一、Flexus云服务器X实例介绍
1.1 云服务器介绍
使用云服务器可以为企业和个人提供灵活弹性的计算资源,不仅简化了硬件维护的复杂性,还能根据业务需求即时调整资源配置,有效降低成本。同时,云服务器通常配备先进的安全措施,保障数据安全;其高可用性和灾备能力也确保了业务连续性,帮助用户专注于核心业务发展而非基础设施管理。
华为云下一代云服务器Flexus X实例
焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!
Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4核12G-100G-3M规格
的Flexus X实例基础模式
1.2 性能模式
为了满足此类业务场景需要,Flexus云服务器X实例推出了性能模式。开启性能模式后,Flexus云服务器X实例采取底层物理绑核技术,提供极致稳定的QoS保障能力,您可以获得非常稳定的性能保障。
关闭性能模式后的规格信息 | 开启性能模式后的规格信息 |
---|---|
CPU/内存配比:支持灵活自定义vCPU和内存配比,您可基于业务资源需要选择合适规格,节省资源开销。 | CPU/内存配比:支持灵活自定义vCPU和内存配比,您可基于业务资源需要选择合适规格,节省资源开销。 |
vCPU/内存范围:vCPU最大范围为116,内存最大范围为1GiB128GiB。 | vCPU/内存范围:vCPU最大范围为232,内存最大范围为2GiB256GiB。 |
处理器:第三代英特尔® 至强® 可扩展处理器。基频/睿频:2.8GHz/3.5GHz。 | 基频/睿频:2.45GHz/3.5GHz。 |
1.3 计费模式
计费模式 | 包年/包月 | 按需计费 |
---|---|---|
付费方式 | 预付费按照订单的购买周期结算。 | 后付费按照云服务器实际使用时长计费。 |
计费周期 | 按订单的购买周期计费。 | 秒级计费,按小时结算。 |
关机是否计费 | 关机对包年/包月的X实例计费无影响。云服务器按订单的购买周期计费。 | 关机后,基础资源(包括vCPU、内存、镜像)不计费。其他绑定资源(如云硬盘、弹性公网IP、带宽等)正常计费。 |
是否支持变更规格 | 支持变更实例规格。 | 支持变更实例规格。 |
是否支持备案 | 支持备案。需包月3个月及以上(包含多次续费后累计时长)。 | 不支持备案。 |
适用场景 | 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 | 适用于计算资源需求波动的场景,可以随时开通,随时删除。 |
二、Flexus云服务器X实例配置
2.1 重置密码
购买完成后,会短信通过你的云服务器信息,重点是公网IP地址
和用户名。首先我们需要打开你的服务器控制台,完成重置密码
勾选自动重启,点击确定即可。
2.2 服务器连接
-
方式一:使用控制台提供的VNC方式登录
-
方式二:使用Putty、Xshell等工具登录Linux弹性云服务器,
a) 下载安装登录工具,例如Putty。
b) 输入弹性公网IP。
c) 输入用户名:root、密码,单击“确定”。 -
方式三:使用Linux/Mac OS系统主机登录Linux弹性云服务器。
a) 执行连接命令。
ssh 弹性公网IP
例如:ssh 123.xxx.xxx.456
b) 输入用户名:root、密码,登录服务器。
我个人习惯使用 MobaXterm
这款软件,添加SSH连接,输出公网IP
、用户名和端口(默认22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略
。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组
。
主要需要填写优先级
(默认填1即可)、协议端口信息
(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
三、部署 Plex
3.1 Plex 介绍
Plex是一个跨平台的流媒体服务,它不仅允许用户观看海量的免费广告支持电影、电视剧和直播电视节目,还支持用户组织和流媒体播放自己的媒体库。它通过其广泛的设备兼容性和灵活的服务提供,即使是初学者也能轻松上手并与朋友和家人分享媒体内容。
Plex的基本服务是免费的,但也提供了一项名为Plex Pass的高级订阅服务,为用户提供增强功能,例如更好的流媒体质量、离线同步以及高级用户管理选项。
-
丰富的内容库
Plex集成了大量来自不同合作伙伴的内容,包括电影制片厂和电视网络等。用户可以随时随地通过互联网连接接触到上千个电视频道和各种电影、系列剧,无需另行支付任何订阅费用。Plex的内容是广告支持的,这使得它成为用户的一个经济且高效的选择。 -
个性化媒体管理
使用Plex,用户可以从多个来源(包括本地存储设备、云存储服务等)整合其个人多媒体内容。Plex Media Server
提供了一种直观的方式来组织、标记和美化个人的音乐、电影和照片收藏,使得家庭媒体中心管理变得前所未有的简单和方便。 -
多设备兼容性
Plex的应用程序几乎适用于所有硬件平台,包括Windows、macOS、Linux电脑,智能手机,智能电视,流媒体设备(如Roku、Amazon Fire TV、Apple TV等)和游戏机。这种广泛的设备兼容性意味着无论你身处何地,都可以随时访问并享受你的影音内容。 -
社交互动功能
通过“Discover Together”功能,Plex允许用户与朋友分享他们的观看偏好和内容推荐。这不仅增加了用户发现新内容的机会,也为社交体验增添了乐趣。
Plex作为一个全面的多媒体流媒体平台应运而生,为用户提供了一个集成电影、电视剧、音乐等多种娱乐内容的解决方案。无论你是影音爱好者,还是寻求方便娱乐体验的普通用户,Plex都为你提供了一种全新的方式来管理和享受你的媒体内容。
- 官网:https://www.plex.tv/
- Github:https://github.com/plexinc/pms-docker
3.2 Docker 环境搭建
本次服务器环境是ubuntu系统镜像,需要自己安装docker环境
服务器类别 | 系统镜像 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
Flexus云服务器X实例 | Ubuntu | 192.168.0.168 | 27.2.0 | Ubuntu 22.04.4 LTS |
使用apt-get
命令安装docker及其配置
# 安装必要工具包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 配置仓库源
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新apt包索引
$ sudo apt-get update
# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com/",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://ccr.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
"https://dockerproxy.com",
]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
测试docker
安装是否成功
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```
检查docker
服务状态
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
Docs: https://docs.docker.com
Main PID: 24912 (dockerd)
Tasks: 13
Memory: 24.7M
CPU: 3.778s
CGroup: /system.slice/docker.service
`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查docker compose
版本
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2
3.3 Plex 部署
- 创建 docker-compose.yml
version: "3.5"
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- VERSION=docker
- PLEX_CLAIM="claim-RUuXU1vECyeP1Vz1eocx" #options
volumes:
- ./config:/config
- ./tv:/tv
- ./movies:/movies
restart: unless-stopped
- volumes:映射容器内部文件路径到本地
- ports:配置访问端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d
即可自动拉取 Plex 镜像,并创建并启动一个容器。 up
表示启动服务,-d
表示在后台执行。docker-compose down
命令用于停止和清理由 docker-compose up
启动的服务。
- 配置安全组
在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听32400端口,所以添加安全组为TCP:32400
协议端口。
- 启动服务
进入项目目录,执行docker compose up -d
启动命令,会自动拉取容器并运行
从 docker hub 拉取 Plex 镜像,地址:https://hub.docker.com/r/linuxserver/plex
root@flexusx-c6b3:~/plex# docker-compose up -d
Pulling plex (lscr.io/linuxserver/plex:latest)...
latest: Pulling from linuxserver/plex
6e8bf31012d1: Pull complete
df25a931801a: Pull complete
28b450414d82: Pull complete
4c2c72666bec: Pull complete
725602409e45: Pull complete
5c8ce404d500: Pull complete
54051aeb1d85: Pull complete
3cd89b7cd018: Pull complete
7a44415ac1fb: Pull complete
a254cc4caba2: Pull complete
Digest: sha256:a37d8cd2a77dc82cd575d4ee94471c20e6a5e050a29a3f7f8a3ed8fee169b8b2
Status: Downloaded newer image for lscr.io/linuxserver/plex:latest
Creating plex ...
Creating plex ... done
- 检查容器状态
检查 Plex 容器状态,确保容器正常启动
root@flexusx-c6b3:~/plex# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e11fcc6ec69 lscr.io/linuxserver/plex:latest "/init" 8 hours ago Up 8 hours plex
- 访问地址
内网:http://localhost:32400/web
外网:http://公网IP:32400/web
- 访问结果
若出现此页面,则部署 plex server 成功。
3.4 Plex 使用
点击明白
,进入下一页
这个时候点击关闭按钮无法关闭此弹框,我们需要在浏览器中输入http://localhost:32400/web
进入
此时出现警告提示,我们点击不再显示此通知
即可,此时警告标识就会消失
首先设置语言为简体中文,设置路径为:设置 - 常规 - 语言 - 简体中文
添加媒体库,设置 - 管理 - 媒体库 - 添加资料库
先选择类型
,然后添加文件夹
,就是选择下载的视频文件存储路径,然后扫描资料库文件
扫描成功后就会显示在主页,我这里是复制了几个视频文件到movies
目录了
点击任意一个封面标题,就会显示视频的详情页面,这里会展示封面、视频名、时长、视频和音频参数等信息
点击播放
,就会显示播放详情页,我们可以调节进度条、前进或后退10秒、暂停与播放、全屏显示、播放设置、音量调节、播放列表等功能
还可以登录Plex帐号
获取更多功能和流媒体
注册个Plex帐号
,输入邮箱和密码即可注册
登录Plex帐号
后,就可以链接到Plex自己的媒体库了,包含更多的视频资源,但是很多是收费内容的
结合上一个项目的AutoBangumi
的自动下载番剧,可以直接添加下载番剧的目录到Plex
的媒体库中,就可有无缝追剧了
我们来查看下 Plex 的映射文件路径下的结构
root@flexusx-c6b3:~/plex# tree -L 1
.
|-- config
|-- docker-compose.yml
|-- movies
`-- tv
3 directories, 1 file
config
即为Plex 库位置movies
即为媒体文件路径tv
即为媒体文件路径
通过Plex Media Server,用户可以扫描和添加他们的个人媒体内容,软件将自动为你的音乐、电影和照片生成元数据和封面,从而美化和组织你的媒体库,同时可以在线观看视频,体验感很好。Plex 的入门级别使用就是这些了,还有更多有趣的设置和功能就需要自行探索了。
四、总结
Plex作为一个多功能流媒体平台,不仅丰富了用户的观影体验,还为现代家庭的多媒体管理提供了高效解决方案。无论你是想要探索免费的在线内容库,还是管理和流播自己的媒体内容,Plex都能满足你的需求。其直观的用户界面和广泛的设备兼容性使其成为现代数字娱乐的一个有吸引力的选择。通过Plex,让每一个家庭都能轻松打造一个属于自己的私人影院,实现最新永不间断的媒体享受。 此次使用的Flexus X实例
配置还是很高的4核12G-100G-3M规格
的基础模式
,测试下来上传文件、扫描文件和播放音频都没有出现卡顿问题,扫描文件时候存在大量IO,占用内存会增高些,在线播放视频加载速度也很快,丝毫体验不到压力。
华为云正在举行828 B2B企业节
,不论是新创企业还是个人开发者,都可以借此良机享受到高性能的计算资源和支持,比如Flexus X实例专为高性能计算场景设计,优惠力度打大,2核云服务器26元起Flexus性能倍增,体验跃级。快来体验华为云带来的无限可能吧!立即体验