树莓派4b安装系统结合Plex打造家庭影音服务器完整示例

用树莓派4B + Plex 打造低功耗家庭影音中心:从系统安装到实战部署

你有没有这样的困扰?硬盘里存了上百部电影,却每次都要靠"文件夹翻找"来定位;手机想看个片子结果格式不支持;出差在外突然想重温一部老片,却发现只能干瞪眼。更别提那些商业流媒体平台动辄几十块的月费、广告满天飞、还总下架内容。

其实,一个安静运行在角落的小盒子,就能解决所有问题------它就是 树莓派4B + Plex 组合的家庭影音服务器

这不仅是一套技术方案,更是一种对数字生活的重新掌控。今天我就带你从零开始,手把手完成整个搭建过程:从刷写系统、配置网络,到部署Plex服务、挂载存储、优化性能,最后实现全家跨设备流畅播放。全程基于真实实践,避开文档不会告诉你的"坑",让你少走弯路。


为什么是树莓派4B?

市面上做媒体服务器的硬件不少,NAS动辄上千元,功耗也高。而树莓派4B(尤其是4GB或8GB版本)成了性价比极高的替代选择:

  • 千兆以太网 + USB 3.0 :满足1080p视频连续读取带宽需求;
  • Broadcom VideoCore VI GPU :支持H.264/H.265 4Kp30硬解,减轻CPU负担;
  • ARM64架构 + Linux生态完善 :可运行Docker、支持主流软件包;
  • 待机功耗<5W :一年电费不到30元,真正全天候运行无压力;
  • 社区活跃 :出问题基本都能搜到解决方案。

虽然它不能像高端NAS那样轻松处理多路4K转码,但对于大多数家庭用户来说, 本地直播+轻度转码 已经绰绰有余。


第一步:给树莓派4B装上操作系统

很多新手卡在第一步:"我连显示器都没有,怎么装系统?"别急,现在完全可以"无头部署"(headless setup),全程远程操作。

准备工作清单

物品 建议规格
树莓派4B主板 推荐4GB或8GB内存版
microSD卡 至少16GB Class 10,UHS-I以上(推荐SanDisk Extreme)
电源适配器 5V/3A USB-C,原装或知名品牌(劣质电源会导致SD卡损坏!)
散热配件 主动风扇+金属外壳,长时间负载必备
外接存储 USB 3.0 SSD/HDD(建议SSD,速度快且安静)

💡 小贴士:如果你打算长期使用,请直接跳过microSD卡作为主存储的想法。把它当作"启动盘"即可,真正的电影库一定要放在外接USB 3.0硬盘上。

使用 Raspberry Pi Imager 快速烧录系统

这是目前最简单、最可靠的系统安装方式,官方出品,一键搞定。

  1. 下载 Raspberry Pi Imager 并安装到你的电脑(Windows/Mac/Linux都支持);
  2. 插入microSD卡;
  3. 打开Imager,点击:
    • Choose OS → Other general-purpose OS → Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit)
      (选"Lite"是因为我们不需要图形界面,节省资源用于Plex服务)
    • Choose Storage → 选择你的SD卡
    • 点击右上角 ⚙️ 图标进入高级设置
高级设置必填项(关键!)

在这里我们可以预配置网络和SSH,实现插电即连:

  • Set hostname :比如 plex-pi.local
  • Enable SSH :勾选 ✔️ 并设置密码 或 使用公钥认证(更安全)
  • Configure wireless LAN (可选):输入Wi-Fi名称和密码
  • Set username and password :默认是 pi ,建议改为自己记得住的
  • Set locale settings :时区选 Asia/Shanghai ,键盘布局选 Chinese 或保持美式

确认无误后点击"Write",等待写入完成并自动校验。

✅ 成功标志:SD卡灯停止闪烁,Imager提示"写入成功"。


启动树莓派并完成初始配置

将SD卡插入树莓派,连接网线(推荐有线,稳定)、电源,通电!

等待约1分钟,打开路由器后台查找名为 plex-pi 的设备IP地址(也可以用 arp -anmap 扫描局域网)。

然后通过SSH登录:

bash 复制代码
ssh pi@192.168.1.100  # 替换为你的实际IP

首次登录后先做几件事:

1. 扩展文件系统

bash 复制代码
sudo raspi-config

进入菜单后选择:

  • System Options → Expand Filesystem :让系统占用整张SD卡空间

  • Boot Options → Desktop / CLI → Console Autologin :开机直接进命令行

  • Localisation Options :检查语言和时区是否正确

退出保存。

2. 更新系统

bash 复制代码
sudo apt update && sudo apt full-upgrade -y

3. 安装基础工具(可选但推荐)

bash 复制代码
sudo apt install -y vim htop net-tools usbutils

在树莓派上部署 Plex 媒体服务器

Plex 官方没有发布适用于 ARM64 架构的 .deb 包,所以我们不能用传统的 apt install 方式安装。但幸运的是,社区已经有非常成熟的替代方案: 使用 Docker 容器运行 linuxserver.io 提供的 Plex 镜像

这个镜像专为低功耗设备优化,支持 GPU 硬解加速,更新频繁,稳定性强。

步骤一:安装 Docker

bash 复制代码
# 添加依赖
sudo apt install -y curl git apt-transport-https ca-certificates software-properties-common

# 下载并添加 Docker GPG 密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加仓库源(注意平台为 arm64)
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新并安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 将当前用户加入 docker 组,避免每次敲 sudo
sudo usermod -aG docker $USER

注销重登或执行 newgrp docker 生效权限。

测试是否成功:

bash 复制代码
docker version

步骤二:启动 Plex 容器

我们需要创建几个目录来存放配置和媒体数据:

bash 复制代码
mkdir -p ~/plex/{config,transcode}

接下来运行容器:

bash 复制代码
docker run -d \
  --name=plex \
  --network=host \
  --device=/dev/dri:/dev/dri \
  -e PLEX_UID=1000 \
  -e PLEX_GID=1000 \
  -e VERSION=latest \
  -v ~/plex/config:/config \
  -v ~/plex/transcode:/transcode \
  -v /path/to/your/movies:/data/movies \
  -v /path/to/your/tvshows:/data/tvshows \
  --restart=unless-stopped \
  lscr.io/linuxserver/plex:latest
关键参数说明:
参数 作用
--network=host 共享主机网络栈,简化端口暴露,提升发现效率
--device=/dev/dri:/dev/dri 映射GPU设备节点,启用VideoCore VI硬解能力
-v ~/plex/config:/config 持久化Plex数据库和设置,防止丢失
-v /path/to/...:/data/... 挂载外部硬盘中的电影/剧集目录
--restart=unless-stopped 自动重启机制,断电恢复后自动上线

⚠️ 注意:请务必将 /path/to/your/movies 替换为你实际的媒体路径。例如,如果外接硬盘挂载在 /mnt/disk1 ,则应写成 /mnt/disk1/Movies

查看容器状态:

bash 复制代码
docker ps

看到 plex 处于 Up 状态即表示运行正常。


访问 Plex Web 界面并初始化服务器

浏览器打开:

复制代码
http://<树莓派IP>:32400/web

你会进入 Plex 的网页管理界面。

初始化流程:

  1. 登录或注册一个 Plex 账号(推荐注册,方便远程访问);
  2. 创建服务器名称,比如 "我家影院";
  3. 进入 Settings > Manage > Libraries 添加媒体库:
    • 类型选择 "Movies" 或 "TV Shows"
    • 文件夹路径填写容器内的映射路径,如 /data/movies
    • 选择匹配源(TheMovieDB / TVDB),语言设为中文
  4. 保存后 Plex 开始扫描文件,自动抓取封面、简介、演员信息。

✅ 成功标志:首页出现整齐排列的海报墙,显示已识别影片数量。


性能调优与常见问题避坑指南

你以为到这里就结束了?不,真正的挑战才刚开始。下面这些经验是我踩了无数坑才总结出来的。

🛠️ 如何判断是否启用了硬解?

进入 Plex 控制台 → Settings > Server > Transcoder

观察播放时的状态:

  • 如果显示 "Direct Play" → 最理想,无需转码
  • 如果显示 "Transcode" → 正在实时编码
  • 查看日志中是否有 Using hardware decoding 字样

如果没有,可能是 /dev/dri 权限问题。

修复方法:

bash 复制代码
ls -l /dev/dri/
# 应该看到类似:
# crw-rw---- 1 root video 226, 0 Apr  5 10:00 card0
# crw-rw---- 1 root video 226, 1 Apr  5 10:00 controlD64
# crw-rw---- 1 root video 226, 2 Apr  5 10:00 renderD128

# 将 pi 用户加入 video 组
sudo usermod -aG video $USER

重启容器即可生效。


📈 提升转码性能的小技巧

  • 关闭高质量音频转码 :在 Transcoder 设置中禁用 HQ Audio,减少CPU占用;
  • 限制并发流数 :建议最多同时允许2路转码;
  • 使用SSD作为转码缓存盘 :修改容器启动命令,将 /transcode 挂载到高速SSD路径;
  • 定期清理临时文件 :Plex会在转码目录留下大量 .tmp 文件,可用脚本定时清理。

🔐 安全加固建议

别忘了,你的服务器可能暴露在公网!

bash 复制代码
# 安装防火墙
sudo apt install ufw

# 只开放必要端口
sudo ufw allow 22      # SSH
sudo ufw allow 32400   # Plex 主端口
sudo ufw enable

此外建议:

  • 更改默认SSH端口(22 → 其他随机高位端口)

  • 禁用密码登录,改用SSH密钥认证

  • 开启Plex两步验证


☁️ 实现远程访问(无需公网IP)

很多人以为要搞DDNS、端口映射才能外网看,其实完全不用。

只要你在Plex中登录了账号,服务会自动通过中继服务器建立加密隧道。即使你在外地,也能通过手机App直接访问家里的电影库。

当然,如果你追求更高画质和更低延迟,可以配合 Tailscale 或 ZeroTier 组建私有网络,实现真正的内网直连。


存储设计与扩展建议

推荐结构

复制代码
树莓派4B
├── 启动盘:microSD卡(仅系统,16~32GB足够)
└── 数据盘:USB 3.0 接口 → 外接NVMe SSD盒 or 机械硬盘盒
        ├── /Movies
        ├── /TV Shows
        └── /Music

强烈建议使用 USB 3.0 SSD ,读写速度可达300MB/s以上,远超传统HDD,而且静音、抗震、发热低。

挂载方式示例:

bash 复制代码
# 查看磁盘
lsblk

# 格式化(首次)
sudo mkfs.ext4 /dev/sda1

# 创建挂载点
sudo mkdir /mnt/media

# 挂载
sudo mount /dev/sda1 /mnt/media

# 写入 /etc/fstab 实现开机自动挂载
echo '/dev/sda1 /mnt/media ext4 defaults,noatime 0 0' | sudo tee -a /etc/fstab

然后把上面Docker命令里的媒体路径改为 /mnt/media/Movies 即可。


进阶玩法:让它不止是个播放器

一旦基础环境搭好,你可以继续扩展功能,把树莓派变成智能家居中枢:

  • 集成 Transmission 下载机 :自动下载字幕、种子;
  • 搭配 Bazarr 实现自动字幕下载
  • 接入 Home Assistant :语音控制播放、联动灯光;
  • 使用 AdGuard Home 拦截广告 :净化Plex界面;
  • 定时备份Plex数据库 :防止意外丢失元数据。

甚至可以用 Ansible 写一套自动化部署脚本,换新设备一键还原。


写在最后:这不是玩具,是数字主权的起点

这套系统运行半年以来,我家的电视盒子早已吃灰。孩子想看动画片,老婆追剧,我自己看电影,全都通过一个统一入口完成。最重要的是------ 我的数据,我做主

你不再被平台算法推送牵着鼻子走,也不用担心哪天突然"因版权下架"。每一帧画面,都是你自己挑选、整理、收藏的结果。

而这一切的成本是多少?

  • 树莓派4B(8GB):约380元
  • 电源+散热+外壳:约80元
  • 64GB SD卡:约40元
  • 1TB NVMe SSD + 硬盘盒:约400元
    总计:不到900元

相比每年花几百订阅多个平台,这笔投资一次到位,还能用五年以上。

更重要的是,你学会了如何构建属于自己的私有云服务体系。这种能力,在数据越来越贵的时代,比任何流媒体会员都珍贵。


如果你正在考虑搭建家庭影音中心,不妨试试这条路。

从"树莓派4B安装系统"开始,一步步走向真正的数字自由。

有任何问题欢迎留言交流,我也准备好了后续文章:《如何用Tailscale实现零配置远程高清播放》《Plex + Emby 对比评测:谁更适合你?》

一起玩起来吧!