FFmpeg硬件编码流程解读

在FFmpeg 4.0中大幅增加了对HWAccels的支持,可以较轻松的利用QSV、NVENC、AMF实现Windows端的硬件编码。本文以QSV为例梳理FFmpeg中的硬件编码使用流程,详见下图。


FFmpeg硬件编码流程.png

从上图中我们可以看到,整体使用流程和利用libx264/libx265软编码相比,主要是增加了对AVHWDeviceContext和AVHWFramesContext的初始化相关操作。该部分在源码hwcontext.h中有详细的说明。


hwcontext.h解析.png

其中需要注意AVHWDevice和encoder要能对应起来,否则初始化会失败。

你可能感兴趣的:(FFmpeg硬件编码流程解读)