视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

2026-01-09 08:47:19 2点赞 13收藏 2评论

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

视频转码神器: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,创建新的应用程序。

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码


使用概览

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

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

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

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

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

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

将其复制到到/watch中。

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

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

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

输出如下所示。

视频转码神器:Docker 一键部署 HandBrake,实现自动化转码

其他各种复杂参数的设置大家按需求来就行。


最后

希望本篇内容能有所帮助。

感谢观看,本文完。

展开 收起
2评论

  • 精彩
  • 最新
  • 中文显示乱码是因为这个docker里没有中文字体,在container station这个容器里执行控制台里用命令行从别的地方复制一个中文字体ttc到 usr/share/fonts下面就正常了

    校验提示文案

    提交
  • 有没有支持音频转码的docker应用?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
目录
13
扫一下,分享更方便,购买更轻松