FFmpeg 中不同的 h264 编码器
Posted
技术标签:
【中文标题】FFmpeg 中不同的 h264 编码器【英文标题】:Different h264 encoders in FFmpeg 【发布时间】:2018-11-14 13:51:11 【问题描述】:在ffmpeg
4.0 中,有几个h264 编码器。如果你使用./configure --list-encoders | grep "h264"
,你可以看到它们。
我不知道有什么区别。而且我想使用 ffmpeg 将本地 gif 转换为 mp4,那么哪种编码器适合我?
【问题讨论】:
无 这些都依赖于特定的硬件或平台。你需要libx264
非常感谢。如果你能解释一下这些编码器就更好了。
videotoolbox 是苹果设备,nvenc 是英伟达,其他的可以google。
【参考方案1】:
每个编码器使用不同的 API 来访问视频硬件:
h264_amf 访问 AMD gpu,(仅限 Windows) h264_nvenc 使用 nvidia gpu cards(适用于 windows 和 linux) h264_omx 树莓派编码器 h264_qsv 使用 Intel Quick Sync Video(现代 Intel CPU 中嵌入的硬件) h264_v4l2m2m 使用V4L2 Linux kernel api 访问硬件编解码器 h264_vaapi 使用 VAAPI 这是另一个抽象 API 来访问视频加速硬件(仅限 Linux) h264_videotoolbox 使用 videotoolbox 一个 API 来访问 macOS 上的硬件使用适当的硬件,每个编码器都会成功地将您解码的 gif 编码为 mp4。
您可以自定义此命令将 gif 转换为 mp4:
$ ffmpeg -i local-gif.gif -c:v libx264 output.mp4
libx264 是默认编码器,不使用任何特定硬件,可以更改为所需的编码器。
【讨论】:
amf 仅适用于 windows、nvenc (win/linux) 和 vaapi linux,您能否将这些 ietails 添加到您的回复中以使其更加详尽?以上是关于FFmpeg 中不同的 h264 编码器的主要内容,如果未能解决你的问题,请参考以下文章