继桌面采集之后的第二篇关于音视频的文章,本篇主要实现视频的转码,将采集的BRGA转码为YUV420。
技术简介
使用ffmpeg sws实现转码。
使用模块(库)
ffmpeg的swscale-5.dll
主要流程和代码
1、初始化转码器,srcFmt是AV_PIX_FMT_BGRA,dstFmt是AV_PIX_FMT_YUV420P
int FfmpegSwsTranscoder::init(AVPixelFormat srcFmt, int srcWidth, int srcHeight, AVPixelFormat dstFmt, int dstWidth, int dstHeight)
{
int err = ERROR_CODE_OK;
if (m_inited) {
return err;
}
m_swsContext = sws_getContext(srcWidth, srcHeight, srcFmt, dstWidth, dstHeight, dstFmt,
SWS_BICUBIC, nullptr, nullptr, nullptr);
if