主题模式
Are you an LLM? You can read better optimized documentation at /ai/homelab/emby-install.md for this page in Markdown format
自建 Emby 媒体服务器保姆级教程:打造媲美 Netflix 的高颜值家庭私人影院
在自建家庭影音服务器(Homelab)的圈子里,有三大主流影音系统备受推崇:Jellyfin、Emby 和 Plex。
虽然 Jellyfin 是完全免费的开源软件,但在实际体验中,许多核心影音玩家最终都会转向 Emby。这是因为 Emby 拥有极其丝滑的响应速度、完美的客户端多端兼容性(特别是 Apple TV、安卓电视、手机端),以及更为出色的高码率 HDR / 杜比视界硬件转码表现。
本文将带你手把手使用 Docker Compose 一键部署 Emby 媒体服务器,开启 GPU 硬件解码加速,并解决国内最头疼的 TMDB 刮削失败、海报墙空白等痛点问题。
🐳 第一步:编写 Docker Compose 配置文件
推荐使用 Docker 进行部署,既方便日常升级,又能完美隔离系统环境。
1. 规划本地挂载目录
在你的 NAS 或服务器上创建相关文件夹:
bash
mkdir -p /docker/emby/config # 存放 Emby 系统配置文件
mkdir -p /data/media/movies # 存放电影媒体文件
mkdir -p /data/media/tvshows # 存放电视剧媒体文件2. 编写 docker-compose.yml
在 /docker/emby 目录下新建 docker-compose.yml 文件:
yaml
services:
emby:
image: emby/embyserver:latest # 也可替换为开心版镜像以启用免费硬件转码
container_name: embyserver
network_mode: host # 推荐 host 模式以支持 DLNA 局域网投屏;也可用 bridge 映射 8096 端口
environment:
- UID=1000 # 运行容器的系统用户 ID
- GID=1000 # 运行容器的系统组 ID
- GIDLIST=44,109 # 非常关键!Linux 下 GPU 显卡(render/video)的 GID,用于开启硬件解码
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- /data/media/movies:/data/movies
- /data/media/tvshows:/data/tvshows
devices:
- /dev/dri:/dev/dri # 英特尔核显 (Intel QuickSync) 或 AMD 核显直通,供硬件转码使用
restart: unless-stopped(注:对于 NVIDIA 独显用户,需要安装 nvidia-container-toolkit,并在 compose 中声明 runtime: nvidia)。
运行启动命令:
bash
docker compose up -d⚙️ 第二步:Emby 首次初始化设置
容器启动后,在浏览器中访问:http://你的服务器IP:8096 进入初始化向导:
- 选择语言:选择
Chinese Simplified(简体中文)。 - 创建管理员账号:输入用户名和密码。
- 媒体库设置:先点击下一步跳过,我们稍后进入后台再行添加。
- 首选元数据语言:国家选择
People's Republic of China,语言选择Chinese。 - 配置远程访问:勾选“允许远程连接到此服务器”。
🖼️ 第三步:完美刮削海报墙(解决国内 TMDB 被墙)
Emby 的灵魂在于海报墙。它会自动联网读取影视数据库 TheMovieDB (TMDB) 抓取海报、简介、演员表等信息。但在国内,TMDB 的 API 域名被严重污染,直接刮削会导致大面积海报空白。
🛠️ 避坑解法:修改服务器 Hosts 绑定真实 IP
我们需要直接在宿主机或容器内将 TMDB 域名强制指向目前国内可达的真实 IP。
- 登录你的 VPS/NAS 服务器,编辑系统 hosts 文件:bash
sudo vi /etc/hosts - 在文件底部追加以下解析记录(IP 可能会变动,可通过站长工具查询最新的
api.themoviedb.org真实 IP):text13.224.161.90 api.themoviedb.org 13.224.161.47 api.themoviedb.org 108.160.169.178 image.tmdb.org - 保存退出。由于我们使用的是
network_mode: host,宿主机的 Hosts 会直接生效到 Emby 容器中。
4. 建立媒体库
回到 Emby 网页端 -> 点击右上角齿轮 -> 进入后台 -> 点击左侧 “媒体库 (Library)” -> “新建媒体库”:
- 内容类型:选择电影或电视。
- 文件夹:添加
/data/movies。 - 元数据下载器:勾选
TheMovieDB。 - 保存形式:强烈勾选 “将媒体元数据保存为 NFO 文件”(这样即使容器被毁,海报和配置信息依然跟电影文件存在一起,下次秒恢复)。
🚀 第四步:配置 GPU 硬件转码 (Transcoding)
转码能让你的服务器在面对电视盒、手机等不同编解码能力的设备时,在后台将原本 4K H.265 的视频实时转化为 1080p H.264 输出,避免卡顿。
- 在 Emby 后台进入 “转码 (Transcoding)” 设置。
- 在 硬件加速 (Hardware acceleration) 下拉框中,选择 “高级 (Advanced)”。
- 如果你在第一步中正确挂载了
/dev/dri并配置了显卡 GID,你会看到下方列出了诸如H.264 (VAAPI)、HEVC (VAAPI)、QuickSync等选项。 - 全部勾选它们并保存。
检验方法:用手机播放一部 4K 电影,在播放界面手动将画质降为 720p,然后在 Emby 后台“控制台”中查看,如果播放状态下出现 “转码 (主动/Hardware)”,说明显卡硬件加速已经成功开启!
💬 总结
搭建完 Emby 后,你可以购买 Apple TV 并使用 Infuse 作为前端连接 Emby,即可享受到目前全网最高颜值的家庭私人影院。
- 横向横评:还在纠结到底用哪一款影音底座?阅读 Jellyfin vs Emby vs Plex 深度对比。
- 外网分流:外网访问 Emby 卡顿?参考我们的 Tailscale 与旁路网关组网方案。
