FFmpeg 入门学习 06–音视频解码基本流程

FFmpeg 入门学习 06--音视频解码基本流程

如上图所示,在之前文章中介绍了视频播放的基本原理、并且已经实现了解封装的功能。解封装得到的 AVPacket 数据是压缩过的编码数据,需要进一步解码后才可以进行播放。

使用 FFmpeg 解码

解码就是将视频/音频压缩编码数据,还原成为非压缩的视频/音频原始数据。解码分为硬编码和软编码。

视频数据解码

将压缩编码的视频数据如 H.264、MPEG2 等解码成为非压缩的原始图像数据,例如 YUV 等。

音频数据解码

将压缩编码的音频数据如 AAC、MP3 解码成为非压缩的原始音频采样数据,例如 PCM 数据。

FFmpeg 解码基本流程

使用 FFmpeg 进行音视频解码,其实是一套相对标准化操作,按照固定的流程进行实现即可。

AVPacket 和 AVFrame

AVPacket 对象和 AVFrame 对象非固定一对一的关系:一个 AVPacket 对象可能解出多个 AVFrame 对象;也可能多个 AVPacket 对象才能解出一个 AVFrame 对象。

基本流程

使用 FFmpeg 进行音视频解码的基本流程、及用到的关键 API 接口和 结构体,如下图所示:

FFmpeg 入门学习 06--音视频解码基本流程

在之后的文章中会根据以上流程进一步完善相关代码,以最终实现音视频播放功能。

作者:litanyuan | 来源:公众号——编程猿来如此

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论