侧边栏壁纸
博主头像
羊刀仙的部落格 博主等级

闲不下来!

  • 累计撰写 230 篇文章
  • 累计创建 53 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

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

羊刀仙
2026-01-12 / 0 评论 / 0 点赞 / 2 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
GW树洞

高速稳定 · 海外专线

  • 自用推荐
  • 90天使用时长
  • 70+ 节点分布
  • IEPL专线 油管4K无压力
  • 全平台客户端
  • 不限制在线设备
立即注册

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

slide2_mac.png

在视频生产、安防录像、课程录制、会议存档等场景中,视频格式不统一、体积过大、编码效率低是非常常见的问题。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,创建新的应用程序。

截屏2026-01-08 09.42.06.png

使用概览

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

截屏2026-01-08 09.40.37.png

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

截屏2026-01-08 11.15.08.png

截屏2026-01-08 11.16.36.png

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

截屏2026-01-08 11.22.40.png

将其复制到到/watch中。

截屏2026-01-08 11.21.42.png

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

截屏2026-01-08 10.48.07.png

输出如下所示。

截屏2026-01-08 11.24.29.png

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

最后

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

感谢观看,本文完。

0

评论区