Windows硬盘里的媒体太乱?我用WSL+Plex把本地文件整理成一个统一媒体中心
前言
Windows硬盘里的电影、剧集和家庭影像一多,最麻烦的往往不是"空间不够",而是文件越来越难找:文件名乱、目录层级深、封面和简介分散,真正想播放时反而要翻半天。比起继续靠文件夹管理,我更想把这些本地媒体整理成一个能长期访问的Web媒体库。
这次我用Windows上的WSL运行Ubuntu,再在WSL里安装Plex Media Server。Plex服务跑通以后,通过32400/web进入管理页面,完成服务器初始化,并实际把Windows桌面的文件复制到WSL目录,再创建媒体库验证Plex能够读取本地素材。
本地访问确认正常以后,再继续安装cpolar,把Plex的32400端口提供给外部设备访问,并从随机公网地址切换到固定二级子域名。
整篇重点不是把Plex写成"自动帮你解决所有媒体管理问题",而是把Windows → WSL Ubuntu → Plex → 媒体库 → 32400 → 远程访问这条链真正跑通。
这类媒体库真正值得整理的,也不只是页面更好看,而是文件、资料库和访问入口能长期保持同一套结构。以后继续往硬盘里增加内容时,不必每次重新找播放路径,设备之间也能沿用同一个媒体中心。
对后续持续维护来说,这比一次性搭好更重要。

1 这篇真正要解决的是什么
很多人硬盘里的媒体文件并不少。
真正的问题是:
- 电影和剧集散在多个文件夹;
- 文件名不统一;
- 找一部片子要翻很久;
- 不同设备访问方式不一致;
- 想看封面、简介、演员等信息时不够直观。
Plex更适合做的,是把本地媒体整理成一个统一的媒体库入口。
它可以围绕本地文件继续做:
- 媒体库分类;
- 封面和元数据展示;
- 多设备播放;
- Web访问;
- 转码;
- 字幕相关功能。
但这些体验最终仍然取决于:
- 文件命名;
- 媒体类型;
- 网络;
- 设备性能;
- Plex识别结果。
2 为什么这次用WSL
这次没有单独准备一台Ubuntu物理机,而是在Windows上直接使用WSL。
这样可以保留Windows作为日常系统,同时在WSL里运行Linux服务。
整个结构可以理解成:
Windows → WSL Ubuntu → Plex Media Server
对于手里已经有一台长期运行的Windows电脑的人来说,这是一种比较直接的部署方式。
3 先打开WSL里的Ubuntu
从Windows搜索:
Ubuntu
启动:

第一次进入时继续完成初始化:

后面的Plex安装都在这个Ubuntu环境里执行。
4 切换到root环境
执行:
shell
sudo -i
页面:

这样后面的安装和服务管理会更直接。
5 添加Plex软件源
执行:
shell
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
结果:

这一步把Plex的软件源加入Ubuntu。
6 添加Plex仓库密钥
执行:
shell
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
结果:

完成以后继续刷新软件包索引。
7 更新软件源
执行:
shell
sudo apt-get update
结果:

8 安装Plex Media Server
执行:
shell
sudo apt-get install plexmediaserver
安装结果:

安装完成以后,下一步先确认服务状态。
9 检查Plex服务是否正常
执行:
shell
sudo systemctl status plexmediaserver
页面:

如果状态显示:
active
说明Plex服务已经启动。
10 Plex Web页面地址
这次Plex访问入口是:
IP:32400/web
页面:

如果地址末尾没有:
/web
可能会看到不同页面:

所以真正进入Plex Web管理界面时,按这次流程使用:
http://IP:32400/web
11 WSL可以直接访问Windows文件
这也是这套部署方式比较方便的一点。
WSL可以通过:
/mnt/c
访问Windows的C盘。
这次为了验证媒体库读取,先在Windows桌面准备一个:
1.jpg
页面:

12 从WSL进入Windows桌面目录
执行:
shell
cd /mnt/c/Users/你的用户名/Desktop
结果:

可以看到Windows桌面上的:
1.jpg
已经能在WSL里访问。
13 把测试文件复制到WSL目录
执行:
shell
cp 1.jpg /app/1.jpg
结果:

这次把文件复制到:
/app/1.jpg
后面Plex媒体库就从这个目录读取内容。
14 开始初始化Plex服务器
进入Plex以后,先设置服务器名称:

服务器名称主要用于区分不同Plex实例。
如果以后有多台Plex服务器,起一个容易识别的名字会更方便。
15 创建媒体库
继续进入媒体库设置:

这里可以暂时跳过,也可以立即添加资料库。
这次为了验证本地文件读取,继续创建。
16 这次实际选择的是"照片"资料库
资料库类型选择:
照片
页面:

这里要特别说明一个证据边界。
虽然整篇主题围绕Plex媒体中心和电影收藏展开,但这次实际验证的本地素材是:
1.jpg照片文件。
所以本文真正证明的是:
Plex已经能读取WSL中的本地媒体目录。
电影、剧集的刮削和封面识别属于Plex本身的媒体库能力,但这次截图流程没有继续用实际电影文件逐项验证。
17 把/app目录加入媒体库
选择:
/app
页面:

继续下一步。
18 完成Plex初始化
页面:

完成以后返回媒体库。
19 确认本地文件已经被Plex读取
媒体库页面:

这时前面复制进去的测试图片已经出现在Plex中。
所以本地链路可以确认:
Windows文件 → WSL → /app → Plex媒体库
已经跑通。
20 Plex页面里还有平台提供的内容
页面:

这部分属于Plex平台自身提供的内容,不等于本地媒体库。
真正自己管理的仍然是前面添加到Plex里的本地文件。
21 如果后面真正整理电影,目录和命名更重要
Plex可以根据媒体信息整理封面、年份、演员等元数据。
但识别是否准确,通常和:
- 文件名;
- 电影年份;
- 文件夹结构;
- 媒体类型;
有关。
所以真正整理电影库时,最好先把命名和目录统一。
不要期待:
任何混乱文件名都一定能自动识别正确。
22 本地使用到这里已经跑通
目前这条链已经成立:
Windows → WSL Ubuntu → Plex Media Server → /app媒体目录 → Plex Web
如果只准备在本机或局域网使用,做到这里已经可以继续添加自己的媒体库。
后面的步骤解决的是:
人在外面时怎么继续访问这台Windows电脑里的Plex。
23 为什么远程访问映射32400
Plex Web服务这次使用:
32400
所以外部访问真正需要打通的是:
Plex的32400端口。
结构是:
外部浏览器 → 公网入口 → WSL里的Plex:32400
24 安装cpolar
执行:
shell
sudo curl https://get.cpolar.sh | sh
结果:

安装完成后继续检查服务状态。
25 确认cpolar服务
执行:
shell
sudo systemctl status cpolar
结果:

确认服务正常以后,再进入Web管理页面。
26 打开cpolar Web UI
浏览器访问:
主机IP:9200
页面:

登录以后开始配置Plex隧道。
27 给Plex的32400创建HTTP隧道
创建参数:
- 隧道名称:
plex - 协议:HTTP
- 本地地址:
32400 - 域名类型:随机域名
- 地区:
China Top
页面:

这里映射的是:
Plex Web服务32400。
28 先用随机公网地址验证
创建成功以后进入在线隧道列表:

从其他网络打开对应地址:

能够正常进入以后,可以确认:
外部浏览器 → 公网地址 → Plex:32400
已经跑通。
29 随机地址更适合临时验证
随机公网地址适合先确认:
网络链路到底通不通。
如果只是偶尔外部访问,这一步已经够用。
如果想长期保存到手机、平板或浏览器书签,再继续配置固定二级子域名。
30 保留Plex固定二级子域名
进入预留页面:

这次示例使用:
plex2
页面:

实际使用时,以自己账号最终保留成功的名称为准。
31 编辑Plex隧道
回到隧道列表:

找到:
plex
进入编辑。
修改:
- 域名类型:二级子域名;
- Sub Domain:保留成功的名称;
- 地区:
China Top。
更新:

32 查看固定地址
进入在线隧道列表:

可以看到原来的随机地址已经切换成固定二级子域名。
33 最后从外部设备访问Plex
使用固定地址:

能够正常打开Plex页面以后,固定远程入口完成。
整条链已经变成:
外部设备 → 固定公网地址 → Plex:32400 → WSL媒体库
34 "远程能打开"不等于所有媒体都一定流畅
远程观看体验还会受到:
- 家里上行带宽;
- 外部设备网络;
- 媒体码率;
- Plex是否需要转码;
- CPU / GPU性能;
这些因素影响。
所以更准确的理解是:
cpolar解决外部设备如何访问Plex。
至于具体影片能否原画直放、是否需要转码、播放是否流畅,仍然取决于Plex和实际网络环境。
35 WSL部署Plex还有哪些实际边界
WSL最大的优点是:
Windows电脑上可以直接跑Linux服务。
但长期当媒体服务器使用时,仍然要考虑:
- Windows是否长期开机;
- WSL环境是否正常启动;
- Windows文件路径是否稳定;
- 媒体目录权限;
- Windows更新和重启;
- Plex服务是否随环境正常运行。
所以它更适合作为:
Windows主机上的一套Plex部署方式。
如果追求完全独立、长期无人值守的家庭媒体服务器,也可以再根据自己的硬件选择NAS或独立Linux主机。
36 本地文件不等于"任何数据都绝不离开本机"
本地媒体文件确实存放在自己的Windows / WSL环境里。
但Plex本身还涉及:
- 账号体系;
- 元数据获取;
- 在线服务;
- 远程连接;
- 平台内容。
所以不能简单写成:
"使用Plex以后所有数据永远不经过第三方。"
更准确的是:
自己的媒体文件由自己保存,Plex负责媒体库管理和访问;具体网络交互取决于实际功能和账号设置。
37 这套方案更适合什么人
比较适合:
- Windows电脑长期在线;
- 想体验Linux版Plex;
- 不想额外准备一台Linux主机;
- 已经有大量本地媒体;
- 希望浏览器统一管理;
- 需要从其他设备访问。
如果只是偶尔播放几部本地电影,直接用本地播放器可能已经够用。
Plex真正体现价值,通常是在媒体数量越来越多、设备也越来越多以后。
38 最后把完整技术链重新看一遍
系统:
Windows → WSL Ubuntu
安装:
Ubuntu → Plex Media Server
服务:
plexmediaserver
本地Web:
IP:32400/web
文件:
Windows桌面 → /mnt/c → /app
媒体库:
/app → Plex资料库
随机远程:
公网随机地址 → 32400
固定远程:
固定二级子域名 → 32400
实际完成:
- WSL Ubuntu启动;
- root环境;
- Plex软件源;
- Plex密钥;
- apt更新;
- Plex安装;
- 服务状态检查;
- 32400/web访问;
- Windows文件读取;
- 文件复制到/app;
- Plex服务器初始化;
- 资料库创建;
- 本地媒体读取;
- cpolar安装;
- Plex随机公网访问;
- 固定二级子域名;
- 外部设备访问。
这样Plex才真正从"WSL里装好了"变成一个可以管理本地媒体、并支持跨设备访问的个人媒体中心。
总结
这次真正跑通的是一条完整的WSL + Plex使用链:先在Windows的WSL Ubuntu里安装Plex Media Server,通过32400/web进入管理页面,再把Windows桌面的测试文件复制到WSL里的/app目录,并实际创建媒体库验证Plex能够读取本地素材。
需要特别区分的是,这次截图流程实际验证的是照片资料库和1.jpg文件,所以它证明的是Plex本地媒体目录已经跑通;电影、剧集的自动识别、封面匹配和字幕整理属于Plex后续媒体库能力,但并没有在这组操作里逐项用电影文件验证。
远程部分是在本地Plex正常以后继续增加的能力。随机公网地址先验证链路,固定二级子域名再解决长期入口变化的问题;但远程播放体验仍然取决于家里上行带宽、媒体码率和是否触发转码。
如果手里本来就有一台长期在线的Windows电脑,这种WSL部署方式不需要额外准备Linux主机,就能先把Plex媒体库跑起来。真正值得长期维护的,是文件命名、媒体目录、Plex库和访问入口这一整条链,而不只是把服务安装成功。