科技微讯

HandBrake 使用 GPU 转换视频格式,可大幅缩短时间

HandBrake 是一款格式转换工具,我通常用它来把非 mp4 的视频转换成 mp4 格式,顺便压缩体积以方便网络传播。

HandBrake 在最近的版本中增加了硬件编码功能,转换格式时可以让 GPU 参与工作,我测试了一下,这样能大幅缩短转换时间。

打开 HandBrake,在界面中间选择 Video 标签,接着点击 Video Encoder 菜单,这里列出了多种编码方式。

Video Encoder
Video Encoder

其中带有 VideoToolbox 的就是启用了 GPU 编码的选项,上面这张截图是在 mac 上显示的列表。如果你是 win 或 linux 系统,根据 GPU 的不同可能是:

我分别使用 H.264(x264) 和 H.264(VideoToolbox) 对同一个视频进行格式转换,所用时间分别是 16 分 45 秒、5 分 25 秒,可见开启 GPU 会大幅缩短转换时间。

使用 H.264(x264) 编码时,即没有使用 GPU 加速,电脑的 CPU、GPU 使用率如下:

usage-without-hardware-encoder

使用 H.264(VideoToolbox) 编码时,即使用了 GPU 加速,电脑的 CPU、GPU 使用率如下:

usage-with-hardware-encoder

截图显示,没有使用 hardware encoder 时,电脑 CPU 的使用率接近 95%,GPU 是 0%。开启 hardware encoder,CPU 使用率虽然有所下降,但依然很高,大概为 86%,这时 GPU 的确发挥了作用,使用率是 15% 左右。

H.264(x264) 和 H.264(VideoToolbox) 生成的视频体积分别是 318MB、632MB。虽然除了编码方式之外我没有更改任何其他设置,但这两个视频的码率并不相同,分别是 3.05Mbps、6.07Mbps,这导致了它们体积的差异。

Linus 评测 M1 电脑时,分别用 HandBrake 的 software encode 和 hardware encode 测试了 M1、intel、amd 电脑,结果显示 hardware encode 都能明显缩短转换时间:

comp

参考文章:HandBrake – Convert Files with GPU/Nvenc Rather than CPU

thumbsup0
thumbsdown0
暂无评论