IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    诺多发表于 2024-08-19 23:02:23
    love 0

    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

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

    高等精灵实验室



沪ICP备19023445号-2号
友情链接