跳轉到內容

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

Plex vs Emby 私有媒體服務器

🎬 打造屬於你的 Netflix。 Plex 和 Emby 是最流行的私有媒體服務器方案,可以把你的電影、電視劇、音樂、照片變成一個漂亮的流媒體平臺,在任何設備上隨時觀看。本文從安裝到進階,幫你搭建完美的家庭影院。

本文將帶你係統掌握:

  • ✅ Plex / Emby / Jellyfin 三大方案對比
  • ✅ Docker 部署 Plex 和 Emby
  • ✅ 媒體庫配置與元數據管理
  • ✅ 硬件轉碼配置
  • ✅ 遠程訪問與 HTTPS
  • ✅ 用戶管理與權限控制
  • ✅ 客戶端使用
  • ✅ 優化與常見問題

一、三大方案對比

1.1 Plex vs Emby vs Jellyfin

特性PlexEmbyJellyfin
授權閉源(Plex Pass 付費)閉源(Premiere 付費)開源免費
UI 美觀度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
元數據優秀(免費)優秀一般
硬件轉碼需 Plex Pass需 Premiere免費
客戶端最豐富豐富較少
多用戶免費支持需付費免費支持
遠程訪問簡單(Plex Relay)需配置需配置
Docker 支持
Live TV
社區生態最大較大增長中

1.2 選擇建議

場景推薦
追求最佳體驗,不在乎付費Plex
想要更多自定義,接受付費Emby
預算有限,喜歡開源Jellyfin
NAS 用戶Plex 或 Emby

二、Docker 部署

2.1 部署 Plex

yaml
# 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:

啟動:

bash
docker compose up -d

訪問: http://你的IP:32400/web

2.2 部署 Emby

yaml
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

yaml
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 添加媒體庫

  1. 訪問 http://IP:32400/web
  2. 設置 → 管理 → 媒體庫 → 添加媒體庫
  3. 選擇類型:電影 / 電視劇 / 音樂 / 照片
  4. 添加文件夾路徑
  5. 配置掃描器和代理:
    • 電影:Plex Movie
    • 電視劇:Plex TV Series
    • 音樂:Plex Music
  6. 設置語言為中文

3.3 Emby 添加媒體庫

  1. 訪問 http://IP:8096
  2. 設置 → 媒體庫 → 添加媒體庫
  3. 選擇內容類型和目錄
  4. 配置元數據源:
    • 電影:TheMovieDb + 豆瓣
    • 電視劇:TheTVDb + 豆瓣
  5. 保存並掃描

3.4 元數據優化

安裝豆瓣元數據插件(Emby):

  1. 設置 → 插件 → 目錄
  2. 安裝 "Douban" 元數據插件
  3. 重啟 Emby

中文化配置:

  • Plex:設置 → 語言 → 簡體中文
  • Emby:設置 → 顯示 → 首選語言 → Chinese (Simplified)

四、硬件轉碼

4.1 為什麼需要轉碼

不同設備支持的編碼格式不同:

編碼兼容性壓縮率大小
H.264極好
H.265/HEVC較好極好
AV1較差最好最小

當客戶端不支持源文件的編碼時,服務器需要實時轉碼。

4.2 NVIDIA GPU 轉碼

安裝 NVIDIA Container Toolkit:

bash
# 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 docker

Plex 啟用 GPU 轉碼:

  1. 需要 Plex Pass(付費)
  2. 設置 → 轉碼 → 使用硬件加速 → NVIDIA NVENC
  3. 選擇可用的編碼器

Emby 啟用 GPU 轉碼:

  1. 需要 Emby Premiere(付費)
  2. 設置 → 轉碼 → 啟用硬件轉碼 → NVIDIA NVENC

Jellyfin 啟用 GPU 轉碼:

  1. 免費!
  2. 設置 → 播放 → 轉碼 → 硬件加速 → NVIDIA NVENC

4.3 Intel Quick Sync(核顯)

適用於 Intel CPU 核顯:

yaml
# Docker Compose 添加設備
devices:
  - /dev/dri:/dev/dri

Plex/Emby/Jellyfin 設置中選擇 Intel Quick Sync (QSV)

4.4 轉碼性能對比

方案1080p 轉碼速度4K 轉碼速度併發路數
CPU (i7)~30fps~5fps1-2
NVIDIA GTX 1660~150fps~30fps3-5
NVIDIA RTX 4060~300fps~80fps5-8
NVIDIA RTX 4090~600fps~200fps10+
Intel QSV (i7)~120fps~25fps2-4

五、遠程訪問

5.1 Plex 遠程訪問

Plex 自帶 Relay 服務,最簡單:

  1. 設置 → 網絡 → 啟用手動端口映射 → 32400
  2. 設置 → 遠程訪問 → 啟用

手動配置:

bash
# 路由器端口轉發
# 外部端口 32400 → 內部 IP:32400

5.2 Nginx 反向代理 + HTTPS

nginx
# /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 配置:

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 用戶管理

添加家庭用戶:

  1. 設置 → 家庭 → 邀請用戶
  2. 輸入郵箱或用戶名
  3. 設置權限(電影、電視劇、音樂等)

添加朋友(共享庫):

  1. 設置 → 用戶與共享 → 邀請朋友
  2. 選擇共享的媒體庫
  3. 設置篩選和權限

用戶權限:

權限說明
允許管理管理服務器設置
允許轉碼允許請求轉碼
允許下載允許下載媒體
僅限已分級內容限制為特定分級

6.2 Emby 用戶管理

  1. 設置 → 用戶 → 添加用戶
  2. 配置媒體庫訪問權限
  3. 設置 parental controls(家長控制)
  4. 設置最大流數量和轉碼限制

七、客戶端

7.1 支持的客戶端

客戶端PlexEmbyJellyfin
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(桌面)

配置直連:

讓客戶端直接播放原始文件,避免服務器轉碼:

  1. 客戶端設置 → 允許直接播放
  2. 儘量使用 H.264 編碼(兼容性最好)
  3. 避免使用冷門編碼(如 AV1、VC-1)

八、進階優化

8.1 自動化媒體管理

使用 Radarr + Sonarr 自動下載:

yaml
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 自動下載字幕:

yaml
  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 生成預覽條:

  1. 設置 → 媒體庫 → 高級
  2. 勾選 "啟用視頻預覽縮略圖"
  3. 選擇生成時機(計劃任務或入庫時)

Emby 生成預覽:

  1. 設置 → 媒體庫 → 勾選 "章節插圖"
  2. 計劃任務 → 創建章節圖像

8.4 定時任務

bash
# 每天凌晨 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 配置:

bash
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)

🎬 私有媒體服務器讓你真正擁有自己的內容,不受任何平臺限制。


相關文章推薦:

最後更新於: