FFmpeg音视频解码流程
- AAC视频格式解码为PCM编码格式
- h264视频格式解码为YUV编码格式
音频解码流程与视频解码流程大同小异(视频解码流程详细见:Qt与FFmpeg联合开发指南(二)-- 解码播放本地视频), 使用不同的解码器对音频视频流进行解码操作。初始化操作两者一致。
核心代码:
先添加音频采样数据格式库:
//音频采样数据格式库
#include <libswresample/swresample.h>
第一步:获取当前解码器是属于什么类型解码器
qDebug()<<"第四步:查找解码器";
int av_stream_index = -1;
int audio_index = -1;
for (int i = 0; i < avformat_context->nb_streams; ++i) {
//循环遍历每一流
//视频流、音频流、字幕流等等...
if (avformat_context->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
{