在上一篇文章中我们知道了如何将FFmpeg4.0.2源码编译成so库,并且如何在Android Studio中配置并使用so库,那么这篇文章我们将介绍如何使用FFmpeg在Android ndk中界面视频文件并绘制到屏幕上。
我们先来看下效果一睹为快。
总体流程
下面是整个解码并播放的主要流程,无论是我们解码视频还是解码音频基本都遵照这个流程进行操作。
具体步骤
- 注册所有组件
// 注册所有组件,例如初始化一些全局的变量、初始化网络等等
av_register_all();
在FFmpeg 4.0.2中这个方法已经被标注为过时,忽略调用该方法也是可行的。
- 打开视频文件
// 封装格式上下文,统领全局的结构体,保存了视频文件封装格式的相关信息
AVFormatContext* avFormatContext = avformat_alloc_context();
// 打开输入视频文件
if (avformat_open_input(&avFormatContext, input, NULL, NULL) != 0) {