一、前言

大家好,我是攻城狮阿程,由于极空间的容器现在支持调用核显了,加之NAS本身 24h 开机,这个性能配置不做视频转码可惜了,因此今天给大家分享一款能够一键部署文件预览功能的容器应用——HandBrake。

码字不易,喜欢我的教程欢迎各位多提建议多评论,畅所欲言,涉及破解、打倒美帝走近科学和资源分享的教程容易被和谐,也欢迎各位关注我的公众号和博客,以防走丢。

公众号:攻城狮阿程

个人博客:strider1230.cn

个人淘宝店:阿程数码

1.1 软件介绍

HandBrake 是一款开源的全平台的视频压制工具,在 Windows 和 Linux 下都可以运行,并且官方也提供了包含图形界面和 vnc 的 docker 镜像

1.2 软件特点

  • 可以 docker 形式部署,具有完好的图形化操作界面

  • 可以调用 intel 的 QSV 来压制视频,效率相较于纯 CPU 压制快

  • 可设定自动压制的文件夹,程序会自动监控文件夹,并且会自动开始压制(使你的监控摄像头更好用)

  • 支持几乎所有视频格式,包括DVD和蓝光,能够将不常见的视频格式转换为常见视频格式,压缩比率高,质量损失少

1.3 软件截图

二、部署 HandBrake 容器

2.1 下载 HandBrake 官方镜像(镜像较大,下载失败请多试几次)

2.1.1 通过极空间的 Docker 管理页面下载(确保镜像源的选择:Docker Hub)

第一步:打开仓库设置界面,确保镜像源选择的是 Docker Hub;

image-gben.png

第二步:在左侧边栏选择“镜像”,然后点击“仓库”,在搜索框内输入“HandBrake”后搜索找到红框内的官方镜像下载,下载版本选择“latest”即可。

2.1.2 通过自定义拉取功能下载

点击“自定义拉取”按钮,在弹出的对话框中输入“jiesage/handbrake”拉取镜像。

2.1.3 导入其他来源获取的镜像(如极空间用户之间的闪电传)

部分用户可能没有科学上网环境,导致镜像无法远程拉取,可以通过其他下载途径进行下载,或使用极空间本身提供的闪电传、文件分享功能获取链接下载。

img

2.2 配置 HandBrake 容器

第一步:双击需要使用的镜像,添加到容器;

第二步:配置具体参数,需要配置的参数和项目分别如下图及表格所示,设置均完成后点击“应用”按钮完成容器创建,图里没有的项目均为程序默认;

每个文件夹具体的作用可看下表:

文件/文件夹

装载路径

部署说明

/回收站

/trash

通过软件删除的视频会转移到该目录下(可选)

/压制前

/watch

该目录下放置需要自动转换的视频(可以设置你监控摄像头自动保存的路径为此文件夹

/handbrake

/config

该文件夹为软件存储其配置、日志和任何需要持久性的文件的路径

/压制后

/output

转换好的视频会自动保存至该文件夹

/存储

/storage

在软件的打开源文件界面设置一个名为“storage”的存储文件夹(可选)

注意:强调几个环境变量的设置

名称

说明

ENABLE_CJK_FONT

1

设置为 1时,将安装开源计算机字体 WenQuanYiZen Hei。此字体包含大量中文/日文/韩文字符。

LANG

zh_CN.UTF-8

启用中文(需要字体库)

AUTOMATED_CONVERSION_PRESET

/config

对自动压制设定预设的环境变量,可以在容器启动后,在图形界面调整自己想要的参数后,保存为自己设定的预设。再关闭容器将这个环境变量的名字改成自己的预设就行。

AUTOMATED_CONVERSION_KEEP_SOURCE

1

设置为 1时,防止程序自动将源文件删除。

AUTOMATED_CONVERSION_OUTPUT_SUBDIR

SAME_AS_SRC

将输出的视频保持原来的文件结构

三、 HandBrake 程序功能简要说明

3.1 测试登录 HandBrake 程序页面

使用浏览器打开你极空间的“域名/IP : HandBrake 端口号”(本文设置的本地端口为15800与容器端口不一致,容器端口默认为5800),能够看到下图所示界面说明 HandBrake 客户端已经部署成功。

3.2 通过极空间自带的远程登录功能进行访问

第一步:先点击极空间的“远程访问”图标;

第二步:在弹出的对话框中点击“添加新的链接“按钮;

第三步:在弹出的”编辑远程访问“对话框中,备注栏填写:handbrake,地址栏填写:"你极空间容器的IP地址:15800",点击“保存”按钮。

第四步:对刚刚创建的 HandBrake 远程访问栏点击鼠标右键,在弹出菜单中选择“首页快捷方式”,在极空间桌面上创建 HandBrake 软件预览的快捷方式。

四、HandBrake 的功能使用

4.1 单视频文件压制

打开设定好的网址运行程序,一般来说初始的预设Fast 1080p30,是可以保证画质的情况下尽可能压缩体积的设置,如果对画质要求不高可以直接用初始设置。而如果需要调整帧率或者是其他预设的话就需要到视频子窗口进行设置。

HandBrake 支持 intel 的QSV技术,可以调用核显来辅助编码/解码,可以大大加快编码的速度,推荐优先选用。但是需要调用核显,因此极空间中的 HandBrake docker 一定要打开使用核显的开关,并且成功映射进容器内,才会出现上图划线的这几个选项 。

4.1.1 帧率设置

帧率可以依照自己的需求设定30/60帧,固定帧率则是会全程使用恒定帧率输出视频,而峰值帧率则是会分析视频以动态帧率来进一步压缩体积。码率等其他设置基本按照预设就好。而下面的规格和级别这两者为h264编码的内置预设,一般情况下使用 auto 就行了

4.1.2 滤镜设置

如果源视频有一些问题,如噪点,则可以调用这块的滤镜进行一定程度的修缮,每个选项都有说明,可以自行参考。

4.1.3 预设保存

上述设置完毕后,就可以将预设保存,并且可以同步设定为默认。如果需要自动转码视频则可以记录一下预设的名字,例如我这个的名字为new/1080p60,在关闭容器后更改环境变量即可使用自定义的预设去批量转码视频了。

4.2 多(批量)视频压制

1.将上面的自定义配置名字填入环境变量

2.将视频文件放到之前预设好的文件夹。

3.如果想知道是否调用了 QSV 来进行编码,则可以看一下映射出的 log 文件,路径为

Docker/handbrake/log/hb/conversion.log

这里写到了Intel Quick Sync Video support: yes,说明已经开启 QSV 的支持了 。

五、结语

过上述步骤,我们完成了 Handbrake 的容器化部署和基本配置。如果你的极空间是Z4 Pro 性能版、Z423 标准版及以上,那么机器长期运行该软件进行转码是没有太大压力的。

如果你看完教程还是觉得很困难,也可以扫描下方二维码进入我的淘宝小店——阿程数码,直接购买对应的极空间 Docker 服务,我会远程帮你有偿部署。

640-dyas.jpg