
本期应玩家留言建议,来介绍Docker部署一款视频转码神器:HandBrake。这是一款可以将几乎任何格式的视频转换为多种现代、广泛支持的编解码器的工具。

在视频生产、安防录像、课程录制、会议存档等场景中,视频格式不统一、体积过大、编码效率低是非常常见的问题。HandBrake 作为一款成熟的开源视频转码工具,长期被用于将原始视频转换为更高压缩率、更通用的编码格式(如 H.264 / H.265)。
但在实际使用中,传统 HandBrake 桌面版存在几个明显限制:
需要单独安装在 PC 上,无法 7×24 小时运行
批量、自动化处理能力有限
视频文件需要在 NAS 与 PC 之间频繁拷贝
通过 Docker 部署 HandBrake,可以把这些工作全部收敛到 NAS 本地完成,实现:
视频就地转码,不走外部网络
支持浏览器访问 GUI
支持“监控目录”自动转码
与现有 NAS 存储、权限、备份体系无缝结合
⚠️注意:这个容器免费开源,但并非官方的制作。
项目介绍
该项目提供了一个用于HandBrake的Docker容器。
完整项目名:jlesage/docker-handbrake,可于GitHub搜索。如果你需要自定义更多内容,请前往项目页面。
该应用程序的图形用户界面 (GUI) 可通过浏览器访问,无需在客户端进行任何安装或配置,也可通过任何 VNC 客户端访问。HandBrake 还提供全自动模式:将文件拖放到监视文件夹中,即可让 HandBrake 在无需任何用户交互的情况下处理它们。
部署流程
以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下,文件路径我根据威联通NAS做了调整:
services:
handbrake:
image: jlesage/handbrake
container_name: handbrake
restart: always
ports:
- "5800:5800" # 冒号左侧可改
volumes:
- /share/Container/handbrake/config:/config:rw # 容器自身的配置目录
- /share/CACHEDEV1_DATA/video/watch:/watch:rw # 自动转码监控目录
- /share/CACHEDEV1_DATA/video/output:/output:rw # 转码完成后的视频输出目录
- /share/CACHEDEV1_DATA/video:/storage:ro # 需要访问的来自主机的文件
environment:
- TZ=Asia/Shanghai
# 指定以NAS实际用户身份写文件,按实际情况修改
- PUID=0
- PGID=0
注意,/watch只是监控需要转码的视频文件,有没有视频,只代表有没有任务。原始文档建议放在/source(自行命名创建)中留档。如果我们每个视频都需要转码,则建议留档后手动复制或者写一个自动复制脚本来实现。
还有就是大家可能注意到了许久未见的/CACHEDEV1_DATA,这次没办法,写成/share/video的话,docker只会获得一个假目录。具体是1、2、3、4哪一个,请根据你的NAS实际情况来修改!
打开威联通的Container Station,创建新的应用程序。

使用概览
如果按照上文进行部署,浏览器输入NAS_IP:5800即可访问服务。

我们点击打开文件,可以看到映射NAS的文件目录。


那进行一个小测试,原档文件如下。

将其复制到到/watch中。

便会检测并自动执行转码。不过中文会出现显示乱码

输出如下所示。

其他各种复杂参数的设置大家按需求来就行。
最后
希望本篇内容能有所帮助。
感谢观看,本文完。
