Plex vs Emby 私有媒體服務器搭建 2026

🎬 打造屬於你的 Netflix。 Plex 和 Emby 是最流行的私有媒體服務器方案,可以把你的電影、電視劇、音樂、照片變成一個漂亮的流媒體平臺,在任何設備上隨時觀看。本文從安裝到進階,幫你搭建完美的家庭影院。
本文將帶你係統掌握:
- ✅ Plex / Emby / Jellyfin 三大方案對比
- ✅ Docker 部署 Plex 和 Emby
- ✅ 媒體庫配置與元數據管理
- ✅ 硬件轉碼配置
- ✅ 遠程訪問與 HTTPS
- ✅ 用戶管理與權限控制
- ✅ 客戶端使用
- ✅ 優化與常見問題
一、三大方案對比
1.1 Plex vs Emby vs Jellyfin
| 特性 | Plex | Emby | Jellyfin |
|---|---|---|---|
| 授權 | 閉源(Plex Pass 付費) | 閉源(Premiere 付費) | 開源免費 |
| UI 美觀度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 元數據 | 優秀(免費) | 優秀 | 一般 |
| 硬件轉碼 | 需 Plex Pass | 需 Premiere | 免費 |
| 客戶端 | 最豐富 | 豐富 | 較少 |
| 多用戶 | 免費支持 | 需付費 | 免費支持 |
| 遠程訪問 | 簡單(Plex Relay) | 需配置 | 需配置 |
| Docker 支持 | ✅ | ✅ | ✅ |
| Live TV | ✅ | ✅ | ✅ |
| 社區生態 | 最大 | 較大 | 增長中 |
1.2 選擇建議
| 場景 | 推薦 |
|---|---|
| 追求最佳體驗,不在乎付費 | Plex |
| 想要更多自定義,接受付費 | Emby |
| 預算有限,喜歡開源 | Jellyfin |
| NAS 用戶 | Plex 或 Emby |
二、Docker 部署
2.1 部署 Plex
# docker-compose.yml
version: '3.8'
services:
plex:
image: plexinc/pms-docker:latest
container_name: plex
restart: unless-stopped
ports:
- "32400:32400" # Web 界面
- "3005:3005" # Plex Companion
- "8324:8324" # DLNA
- "32469:32469" # DLNA
volumes:
- plex_config:/config
- plex_transcode:/transcode
- /path/to/movies:/data/movies
- /path/to/tv:/data/tv
- /path/to/music:/data/music
- /path/to/photos:/data/photos
environment:
- PLEX_CLAIM=claim-xxxxx # 從 plex.tv/claim 獲取
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- ADVERTISE_IP=http://你的IP:32400/
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
volumes:
plex_config:
plex_transcode:啟動:
docker compose up -d訪問: http://你的IP:32400/web
2.2 部署 Emby
version: '3.8'
services:
emby:
image: emby/embyserver:latest
container_name: emby
restart: unless-stopped
ports:
- "8096:8096" # Web 界面
- "8920:8920" # HTTPS
volumes:
- emby_config:/config
- /path/to/movies:/data/movies
- /path/to/tv:/data/tv
- /path/to/music:/data/music
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
volumes:
emby_config:訪問: http://你的IP:8096
2.3 部署 Jellyfin
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
ports:
- "8097:8096"
volumes:
- jellyfin_config:/config
- jellyfin_cache:/cache
- /path/to/movies:/media/movies
- /path/to/tv:/media/tv
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
jellyfin_config:
jellyfin_cache:三、媒體庫配置
3.1 目錄結構規範
媒體文件的目錄結構對元數據識別至關重要:
/media/
├── movies/
│ ├── Avatar (2009)/
│ │ ├── Avatar (2009).mkv
│ │ └── Avatar (2009).srt
│ ├── Inception (2010)/
│ │ └── Inception (2010).mp4
│ └── The Matrix (1999)/
│ └── The Matrix (1999).mkv
├── tv/
│ ├── Breaking Bad/
│ │ ├── Season 1/
│ │ │ ├── Breaking Bad - S01E01.mkv
│ │ │ ├── Breaking Bad - S01E02.mkv
│ │ │ └── ...
│ │ └── Season 2/
│ └── Game of Thrones/
│ └── Season 1/
├── music/
│ ├── Artist Name/
│ │ └── Album Name/
│ │ ├── 01 - Track.mp3
│ │ └── 02 - Track.flac
└── photos/
├── 2024/
│ └── 2024-01-vacation/
└── 2025/3.2 Plex 添加媒體庫
- 訪問
http://IP:32400/web - 設置 → 管理 → 媒體庫 → 添加媒體庫
- 選擇類型:電影 / 電視劇 / 音樂 / 照片
- 添加文件夾路徑
- 配置掃描器和代理:
- 電影:Plex Movie
- 電視劇:Plex TV Series
- 音樂:Plex Music
- 設置語言為中文
3.3 Emby 添加媒體庫
- 訪問
http://IP:8096 - 設置 → 媒體庫 → 添加媒體庫
- 選擇內容類型和目錄
- 配置元數據源:
- 電影:TheMovieDb + 豆瓣
- 電視劇:TheTVDb + 豆瓣
- 保存並掃描
3.4 元數據優化
安裝豆瓣元數據插件(Emby):
- 設置 → 插件 → 目錄
- 安裝 "Douban" 元數據插件
- 重啟 Emby
中文化配置:
- Plex:設置 → 語言 → 簡體中文
- Emby:設置 → 顯示 → 首選語言 → Chinese (Simplified)
四、硬件轉碼
4.1 為什麼需要轉碼
不同設備支持的編碼格式不同:
| 編碼 | 兼容性 | 壓縮率 | 大小 |
|---|---|---|---|
| H.264 | 極好 | 好 | 大 |
| H.265/HEVC | 較好 | 極好 | 小 |
| AV1 | 較差 | 最好 | 最小 |
當客戶端不支持源文件的編碼時,服務器需要實時轉碼。
4.2 NVIDIA GPU 轉碼
安裝 NVIDIA Container Toolkit:
# Ubuntu/Debian
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart dockerPlex 啟用 GPU 轉碼:
- 需要 Plex Pass(付費)
- 設置 → 轉碼 → 使用硬件加速 → NVIDIA NVENC
- 選擇可用的編碼器
Emby 啟用 GPU 轉碼:
- 需要 Emby Premiere(付費)
- 設置 → 轉碼 → 啟用硬件轉碼 → NVIDIA NVENC
Jellyfin 啟用 GPU 轉碼:
- 免費!
- 設置 → 播放 → 轉碼 → 硬件加速 → NVIDIA NVENC
4.3 Intel Quick Sync(核顯)
適用於 Intel CPU 核顯:
# Docker Compose 添加設備
devices:
- /dev/dri:/dev/driPlex/Emby/Jellyfin 設置中選擇 Intel Quick Sync (QSV)。
4.4 轉碼性能對比
| 方案 | 1080p 轉碼速度 | 4K 轉碼速度 | 併發路數 |
|---|---|---|---|
| CPU (i7) | ~30fps | ~5fps | 1-2 |
| NVIDIA GTX 1660 | ~150fps | ~30fps | 3-5 |
| NVIDIA RTX 4060 | ~300fps | ~80fps | 5-8 |
| NVIDIA RTX 4090 | ~600fps | ~200fps | 10+ |
| Intel QSV (i7) | ~120fps | ~25fps | 2-4 |
五、遠程訪問
5.1 Plex 遠程訪問
Plex 自帶 Relay 服務,最簡單:
- 設置 → 網絡 → 啟用手動端口映射 → 32400
- 設置 → 遠程訪問 → 啟用
手動配置:
# 路由器端口轉發
# 外部端口 32400 → 內部 IP:324005.2 Nginx 反向代理 + HTTPS
# /etc/nginx/sites-available/plex
server {
listen 443 ssl http2;
server_name plex.example.com;
ssl_certificate /etc/letsencrypt/live/plex.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/plex.example.com/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:32400;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 緩衝設置
proxy_buffering off;
}
}Emby Nginx 配置:
server {
listen 443 ssl http2;
server_name emby.example.com;
ssl_certificate /etc/letsencrypt/live/emby.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/emby.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}六、用戶管理
6.1 Plex 用戶管理
添加家庭用戶:
- 設置 → 家庭 → 邀請用戶
- 輸入郵箱或用戶名
- 設置權限(電影、電視劇、音樂等)
添加朋友(共享庫):
- 設置 → 用戶與共享 → 邀請朋友
- 選擇共享的媒體庫
- 設置篩選和權限
用戶權限:
| 權限 | 說明 |
|---|---|
| 允許管理 | 管理服務器設置 |
| 允許轉碼 | 允許請求轉碼 |
| 允許下載 | 允許下載媒體 |
| 僅限已分級內容 | 限制為特定分級 |
6.2 Emby 用戶管理
- 設置 → 用戶 → 添加用戶
- 配置媒體庫訪問權限
- 設置 parental controls(家長控制)
- 設置最大流數量和轉碼限制
七、客戶端
7.1 支持的客戶端
| 客戶端 | Plex | Emby | Jellyfin |
|---|---|---|---|
| Web 瀏覽器 | ✅ | ✅ | ✅ |
| iOS | ✅ | ✅ | ✅ |
| Android | ✅ | ✅ | ✅ |
| Apple TV | ✅ | ✅ | ✅ |
| Android TV | ✅ | ✅ | ✅ |
| Fire TV | ✅ | ✅ | ✅ |
| Roku | ✅ | ✅ | ❌ |
| Samsung TV | ✅ | ✅ | ❌ |
| LG TV | ✅ | ❌ | ❌ |
| PlayStation | ✅ | ❌ | ❌ |
| Kodi | ✅(插件) | ✅(插件) | ✅(插件) |
7.2 推薦播放器
直接播放(不轉碼):
- Infuse(Apple TV/iOS)- 最佳體驗
- Plexamp(音樂播放)
- Jellyfin Media Player(桌面)
配置直連:
讓客戶端直接播放原始文件,避免服務器轉碼:
- 客戶端設置 → 允許直接播放
- 儘量使用 H.264 編碼(兼容性最好)
- 避免使用冷門編碼(如 AV1、VC-1)
八、進階優化
8.1 自動化媒體管理
使用 Radarr + Sonarr 自動下載:
version: '3.8'
services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
ports:
- "7878:7878"
volumes:
- radarr_config:/config
- /path/to/movies:/movies
- /path/to/downloads:/downloads
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
ports:
- "8989:8989"
volumes:
- sonarr_config:/config
- /path/to/tv:/tv
- /path/to/downloads:/downloads
volumes:
radarr_config:
sonarr_config:流程:
Radarr/Sonarr 監控新劇集
→ 自動發送到下載客戶端
→ 下載完成
→ 自動重命名和移動到媒體庫
→ 通知 Plex/Emby 刷新庫8.2 字幕管理
Bazarr 自動下載字幕:
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
ports:
- "6767:6767"
volumes:
- bazarr_config:/config
- /path/to/movies:/movies
- /path/to/tv:/tv配置字幕源:Subscene、OpenSubtitles 等。
8.3 預覽縮略圖
Plex 生成預覽條:
- 設置 → 媒體庫 → 高級
- 勾選 "啟用視頻預覽縮略圖"
- 選擇生成時機(計劃任務或入庫時)
Emby 生成預覽:
- 設置 → 媒體庫 → 勾選 "章節插圖"
- 計劃任務 → 創建章節圖像
8.4 定時任務
# 每天凌晨 2 點掃描媒體庫
# Plex
curl -X PUT "http://localhost:32400/library/refresh?X-Plex-Token=YOUR_TOKEN"
# Emby
curl -X POST "http://localhost:8096/Library/Refresh" \
-H "X-Emby-Token: YOUR_TOKEN"crontab 配置:
0 2 * * * curl -s -X PUT "http://localhost:32400/library/refresh?X-Plex-Token=YOUR_TOKEN" > /dev/null 2>&1九、常見問題
9.1 無法識別媒體
- 檢查文件命名是否符合規範
- 確認元數據代理配置正確
- 手動刷新元數據:媒體庫 → 刷新全部
9.2 轉碼失敗
- 檢查 GPU 驅動是否正常:
nvidia-smi - 確認 Plex Pass / Emby Premiere 已激活
- 查看轉碼日誌
9.3 遠程無法訪問
- 檢查防火牆是否放行端口
- 確認路由器端口轉發配置
- 檢查 Nginx 配置和 SSL 證書
9.4 媒體庫掃描慢
- 減少監控目錄深度
- 使用 "定時掃描" 代替 "實時監控"
- 排除不需要的文件類型
十、總結
| 場景 | 推薦方案 |
|---|---|
| 追求最佳體驗 | Plex + Plex Pass |
| 想要更多控制 | Emby + Premiere |
| 免費開源 | Jellyfin |
| NAS 一體化 | Plex (Synology/QNAP) |
🎬 私有媒體服務器讓你真正擁有自己的內容,不受任何平臺限制。
相關文章推薦: