ffmpeg 使用 Nvidia 硬件编码器编码 H.264

Posted

技术标签:

【中文标题】ffmpeg 使用 Nvidia 硬件编码器编码 H.264【英文标题】:ffmpeg encode H.264 with Nvidia hardware encoder 【发布时间】:2014-09-08 15:01:17 【问题描述】:

我有一个 GTX 660,带有 nvidias 花哨的硬件 H.264 编码器,我还有一堆视频文件想编码成 H.264。是否可以告诉 ffmpeg 使用我的硬件 H.264 编码器而不是我的 CPU 来编码视频?

【问题讨论】:

【参考方案1】:

FFmpeg 没有内置解决方案。

但如果您使用 NVIDIA SDK 进行编码,这是可能的。我自己做的。但是与 libx264 相比,NVIDIA H.264 HE 的质量很糟糕。我没有找到其他人对结果感到满意...... :-(

【讨论】:

【参考方案2】:

显然,ffmpeg 2.6 现在包括支持(来自 http://git.videolan.org/?p=ffmpeg.git;a=blob;f=RELEASE_NOTES;hb=release/2.6):

A lot of people will probably be happy to hear that we now 
have support for NVENC — the Nvidia Video Encoder interface for 
H.264 encoding — thanks to Timo Rothenpieler, with some little 
help from NVIDIA and Philip Langdale.

【讨论】:

【参考方案3】:

您需要使用 -enable-nvenc 密钥配置 ffmpeg 并使用 -vcodec nvenc 请阅读this documentation了解更多信息。

【讨论】:

以上是关于ffmpeg 使用 Nvidia 硬件编码器编码 H.264的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NVidia NVEnc 硬件编码器通过 UDP 流式传输 H.264 视频?

ffmpeg 的硬件加速不起作用

我可以在 nVidia GPU 中使用硬件编码器 NVEN 压缩 8 个 FullHD 30fps 视频流吗?

Ubuntu20配置ffmpeg进行gpu硬件加速视频编码记录

如何在ffmpeg中指定nvenc使用的GPU [关闭]

ffmpeg将yuv文件编码为mp4