🍍 DockerHandBrake: 一款可以直接跑在NAS上的视频压制工具,好用的大菠萝!

HandBrake

笔者对视频压制其实没多少了解,但是最近看着NAS媒体库变得越来越大,硬盘可用容量却越来越少,不免有些空间焦虑。于是就想着是不是可以把一些普通且体积大的视频压缩一下,少占点空间,以便给高分收藏品挪挪位置。但是呢,笔者又不想在电脑上做这件事,因为得先把NAS上的视频挂载到电脑上才行,不仅要在局域网,而且速度也不大好,总之不优雅吧。于是乎,就找到了这个工具:docker-handrake,可以跑在NAS上的Docker中,直接就地取材,岂不妙哉!

🎭 功能简介

HandBrake是一款开源跨平台格式转换工具,可以将视频从几乎任何格式转换为一系列现代、广泛支持的编解码器的工具。而docker-handrake就是将HandBrake做成一个Docker镜像,使其能够直接跑在服务器或NAS设备上,存取视频文件更方便,可以在浏览器或任何VNC客户端访问。

当然,如果你需要使用桌面端也没问题,可以在文末获取。

🦀 安装DockerHandBrake

基于Docker部署非常简单,结合Docker Compose是简单之上更便于后续修改和更新,强烈推荐大家使用Docker Compose来管理自己的Docker容器。

1️⃣ 创建compose.yml文件,并将下面内容粘贴进去:

version: '3.9'
services:
  handbrake:
    image: jlesage/handbrake:latest
    container_name: handbrake
    restart: unless-stopped
    network_mode: bridge
    cap_add:
      - SYS_NICE
    devices:  
      - /dev/dri 
    environment:
        TZ: Asia/Shanghai
        USER_ID: 1000
        GROUP_ID: 100
        LANG: zh_CN.UTF-8
        KEEP_APP_RUNNING: 1
        PACKAGES_MIRROR: https://mirrors.aliyun.com/alpine/
        CONTAINER_DEBUG: 1
        WEB_AUDIO: 1
        VNC_PASSWORD: 123456
        HANDBRAKE_DEBUG: 1
        AUTOMATED_CONVERSION: 0
        ENABLE_CJK_FONT: 1
        AUTOMATED_CONVERSION_KEEP_SOURCE: 1
        AUTOMATED_CONVERSION_OUTPUT_SUBDIR: SAME_AS_SRC
    ports:
      - '5056:5800'
    volumes:
      - /share/Container/handbrake/config:/config
      - /share/media3/watch:/watch
      - /share/media1:/media1
      - /share/media2:/media2
      - /share/media3:/media3
      - /share/media3/transfer:/output
    logging:
        options:
            max-size: "5m"
            max-file: "5"

参数说明

映射显卡

如果你的设备有核显或独显,强烈建议设置此项

devices:  
    - /dev/dri 

环境变量

TZ: Asia/Shanghai # 时区
USER_ID: 1000 # 用户ID,请改成自己的
GROUP_ID: 100 # 用户组ID,请改成自己的
LANG: zh_CN.UTF-8 # GUI的语言,这是中文
KEEP_APP_RUNNING: 1 # 是否宕机重启,1=是
PACKAGES_MIRROR: https://mirrors.aliyun.com/alpine/ # 设置软件镜像源
CONTAINER_DEBUG: 1 # 是否开启Debug日志,1=是
WEB_AUDIO: 1 # 是否在GUI中启用声音,1=是
VNC_PASSWORD: 123456 #VNC密码,请自己改
HANDBRAKE_DEBUG: 1 # # 是否启用GUI和调试日志,1=是
AUTOMATED_CONVERSION: 0 # 是否开启自动转换,即只要检测到/watch中有视频就自动转换,0=否
ENABLE_CJK_FONT: 1 # 是否安装WenQuanYi Zen Hei字体,如果不想GUI乱码就安装,1=是
AUTOMATED_CONVERSION_KEEP_SOURCE: 1 # 是否在成功转换完/watch中视频后保留源视频,1=是
AUTOMATED_CONVERSION_OUTPUT_SUBDIR: SAME_AS_SRC # 输出文件夹的子目录,可以填具体目录,填SAME_AS_SRC表示与源视频所在目录相同

映射端口

GUI访问端口,冒号左边可以改成你喜欢的。

ports:
    - '5056:5800'

挂载目录

除了/config是系统配置相关的,其他的都是自己视频相关的目录。其中/watch表示自动转换监控目录;/output表示转换后的输出目录。其他的可以不加或加多个,按自己实际情况添加就行。

volumes:
  - /share/Container/handbrake/config:/config 
  - /share/media3/watch:/watch
  - /share/media1:/media1
  - /share/media2:/media2
  - /share/media3:/media3
  - /share/media3/transfer:/output

2️⃣ 启动Docker容器

上面的yml文件配置好以后,在ssh中切换到该文件所在目录,执行下面命令,启动HandBrake:

docker compose up -d

如果你使用群晖或威联通,可以使用内置的Docker套件直接部署,方法也很简单,将1️⃣中的内容复制下来,然后打开套件,新建应用程序,将复制的内容粘贴进去,启动即可。
HandBrake

等待几秒钟,然后在浏览器中打开http://ip:5056,直接就可以打开HandBrake的GUI,输入上面设置的密码即可。
HandBrake

🦊 功能展示

1️⃣ 添加源视频

点击打开源文件,选择你要开始压缩或转换格式的视频,在上文挂载的目录中选择即可。
HandBrake

记得点Other Locations->Computer中去找。
HandBrake

2️⃣ 设置参数

选择好源视频以后,直接可以界面中预览。你可以在界面中的摘要、分辨率、滤镜、视频、音频、字幕、章节、标签等页签下面修改各项参数,也可以直接点右上角的预设按钮选择一个内置的预设规则。
HandBrake

系统内置的各种预设场景和码率等等。
HandBrake

3️⃣ 开始转换

以上设置好后,点击工具栏上的开始按钮,就可以开始视频转换了。
HandBrake

在界面底部可以看到转换进度,等到转换完成后就会将新视频保存在输出目录中。
HandBrake

需要特别提示一下,视频转换是非常消耗资源的,如果设备没有核显或独显,就只能使用CPU来硬跑了,这时候CPU的负载会非常高,要有心理准备。
HandBrake

好了,就介绍这么多吧,更多高级玩法还需要好奇的你去探索~~

⏬ 获取HandBrake桌面版

最后,笔者也整理了桌面版的HandBrake,需要的话可以在笔者公众号私信【HandBrake】即可快速获取下载链接,打开链接后根据自己的平台下载即可。
HandBrake

原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

高等精灵实验室

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/1122/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
🐳 爱盼:一款属于自己的网盘聚合搜索工具,既能搜也能直接看!
上一篇 2024年8月18日 07:00
🐸 解决mac下iTerm2中使用rz命令时无效且卡死的问题
下一篇 2024年8月23日 18:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(2条)

  • 刘郎
    刘郎 2024年8月20日 12:48

    有创意 这个可以试试

  • dujun
    dujun 2024年8月20日 15:21

    这个软件很好用,我用来压缩视频。只是不知道还有 web 版。