把流媒体跑在 VPS 上这事,说白了就两种人:
家里上行太拉胯,外网看不了自己收藏
想要一个“随时能用”的私人媒体库(手机/平板/电视盒子都能看)
Jellyfin / Plex 装起来都不难,难的是:
播放时卡不卡
流量和带宽会不会把你套餐打穿
你一开转码,CPU 直接 100%
缓存/日志/转码临时文件把硬盘写爆
这篇按“能用且不花冤枉钱”写。
说明:只讨论你拥有版权/授权的内容,别拿它做盗版分发。
1)先做选择题:你要“直连播放”,还是“转码播放”?这是整个 VPS 选型的分水岭。
1.1 直连播放(优先追求)直连播放意味着:客户端能直接解码你的视频格式(H.264/H.265、音频编码、字幕封装等)。
优点:
几乎不吃 CPU
省钱(1-2 核也能跑)
缺点:
客户端兼容性差时,会逼你转码
1.2 转码播放(最容易踩坑)转码就是服务器实时把视频“重新编码”。
1080p 转码:CPU 压力就很大
4K 转码:很多 VPS 直接崩
如果你明确需要转码,我建议你把目标定得更现实:
尽量转 1080p
尽量避免多人同时转码
能预转码就预转码(把片源统一到更通用的编码/封装)
2)带宽/流量到底怎么估?(不估你一定会超)你不用精确到小数点,但要有量级概念。
一个很好用的换算:
每小时流量(GB) ≈ 码率(Mbps) * 0.45
举例:
播放码率约等于每小时流量100 小时大概用多少6 Mbps(1080p 偏省)2.7 GB/h270 GB10 Mbps(1080p 常见)4.5 GB/h450 GB25 Mbps(4K 偏省)11.3 GB/h1.1 TB50 Mbps(4K 高码率)22.5 GB/h2.2 TB所以你会发现:
1080p 看着看着,一个月几百 GB 很正常
4K 只要你爱看,很容易上 TB
如果你想在 VPS 上快速验证“你现在看一部片到底跑多少流量”,最简单粗暴:
# 看网卡实时吞吐(Debian/Ubuntu)
sudo apt-get update && sudo apt-get install -y iftop
sudo iftop
或者看某段时间的总流量(不同发行版工具略有差异,但思路是:先把数据跑出来再决定升级)。
3)VPS 配置怎么选:别先看 CPU,先看带宽和流量3.1 带宽(port)决定“峰值体验”最简单的心算:
1080p 码率常见 6-12 Mbps
4K 码率常见 20-60 Mbps
你如果买 200Mbps 端口,理论上 1080p 够用,但晚高峰抖动/丢包会让体验很难受。
3.2 月流量决定“月末会不会突然断粮”别只看“unmetered”四个字。你最终体验还是受:
端口限速
晚高峰拥塞
公平使用
影响。
3.3 CPU:直连不怎么吃,转码很吃
直连:1-2 vCPU 往往足够
转码:2-4 vCPU 起步;4K 转码别抱太大期待
4)Jellyfin vs Plex:怎么选(补一句你就懂)Jellyfin
开源免费
上手快,Docker 一把梭
功能够用,适合“我就是想自己看”
Plex
生态成熟,客户端覆盖更广
一些功能(比如硬件转码等)可能涉及 Plex Pass
但你要记住一件事:
在大多数 VPS 上,你基本指望不上 GPU/iGPU 硬件转码
所以不管用哪家,优先把目标放在“直连播放 + 合理码率”,这是最省钱、最稳定的路线。
5)部署:别把 8096 直接扔到公网(更安全的 Docker 方式)你当然可以把 8096:8096 暴露出去,但这通常意味着:
全网都能扫到你
你迟早会被撞库/爆破/探测
更稳的做法:
Jellyfin 只监听本机(127.0.0.1)
用反向代理(Caddy/Nginx)负责 HTTPS
5.1 Jellyfin compose(推荐)services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
ports:
- "127.0.0.1:8096:8096"
volumes:
- ./config:/config
- ./cache:/cache
- /data/media:/media:ro
启动:
docker compose up -d
Docker 基础不熟,先看这篇(少踩一堆权限/目录映射坑):
Docker 部署实战(VPS 容器化)
5.2 反代(Caddy 示例)假设你域名是 media.example.com:
media.example.com {
reverse_proxy 127.0.0.1:8096
}
你用 Nginx 也行,核心是:外网只进 443,应用别裸奔。
6)外网访问前先把安全底子补齐最少做两件事:
SSH 只允许密钥登录
防火墙只开必要端口
走完整流程看这篇:
VPS 安全加固指南(SSH + 防火墙 + Fail2Ban)
7)最常见的两个故障:卡顿 + 磁盘爆7.1 卡顿:先别怪 Jellyfin/Plex,先看网络卡顿大概率是:丢包、抖动、绕路、晚高峰。
你可以按这篇路线排查:
VPS 网络慢如何排查:从测速到丢包定位
7.2 磁盘爆:缓存/日志/转码临时文件流媒体服务非常容易产生:
缓存
日志
转码临时文件
如果你发现盘突然满了,先按这篇救火:
VPS 硬盘满了怎么办:清理 + 扩容
8)结论:怎么做最不容易后悔我给一个“省心路线”:
先把目标定成直连播放(尽量不转码)
先买一台月付试跑(测网络、测流量、测磁盘增长)
跑顺了再考虑大盘鸡/更大带宽/更稳定节点
流媒体自建这事,装起来不难。
难的是:你能不能稳定地、长期地用下去。