首页 > 解决方案 > 在 OSX 上优化使用 hevc_videotoolbox 和 ffmpeg

问题描述

我正在使用 ffmpeg 4.3.1 将视频从 h264 转换为 h265,最初我很高兴地发现我可以使用我的 Mac 的 GPU 来加速带有 hevc_videotoolbox 标志的转换。

我的 Mac 硬件是带有 AMD Radeon Pro 5300 的第 10 代 Intel i5

我正在使用这个命令:

ffmpeg -i input_h264.mp4 -c:v hevc_videotoolbox -b:v 6000K -c:a copy -crf 19 -preset veryslow output_h265.mp4

转换速度从 0.75 倍提高到 4 倍,几乎提高了 500%!

但后来我注意到大文件大小和稍微模糊的结果。然后我注意到更改 crf 或预设没有任何区别,ffmpeg 似乎忽略了这些设置。唯一可行的设置是视频比特率 (-b:v)。

所以我开始用谷歌搜索,看看我怎样才能得到更好的结果。

但除了这里和那里的一些帖子外,我大部分时间都是空白的。

我在哪里可以获得有关如何使用 hevc_videotoolbox 获得更好结果的文档?如何找出哪些设置有效,哪些设置被忽略?

标签: macosffmpeghevcvideo-toolbox

解决方案


列表选项

运行ffmpeg -h encoder=hevc_videotoolbox以列出特定于 hevc_videotoolbox 的选项。

用于-b:v控制质量。-crf仅适用于 libx264、libx265、libvpx 和 libvpx-vp9。它将被其他编码器忽略。它也会忽略-preset.

hevc_videotoolbox 不如 libx265,但速度很快

与大多数硬件加速编码器一样,hevc_videotoolbox 的效率不如 libx265。因此,与 libx265 相比,您可能必须为其提供更高的比特率才能匹配同等质量。这可能会破坏从 H.264 重新编码到 HEVC/H.265 的目的。

如果可以,请避免重新编码

就个人而言,我会避免重新编码以防止生成丢失,除非原件的编码效率非常低并且驱动器空间更重要。


推荐阅读