问题描述
在开发中使用某摄像头的SDK,只能获取到一帧帧的 H264 视频数据,不知道视频流地址,需要自己解码出图像并播放。
问题解决
编译FFmpeg
此处省略,这里有 编译好的库,上传到Github了。
开发环境配置
1、 配置 AndroidStudio 的 NDK 路径。
2、 配置 app 的 build.gradle ,添加 CMake 参数
android {
defaultConfig {
externalNativeBuild {
cmake {
cppFlags "-std=c++11 -frtti -fexceptions"
abiFilters 'armeabi', 'armeabi-v7a', 'x86',"arm64-v8a"
}
}
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
3、在 app/src/main 下新建 jniLibs 文件夹,将编译后的 ffmpeg 库的 .so 文件拷贝进来,拷贝后如下:
4、在 app/src/main 下新建 cpp 文件夹,
5、在app/src/main/cpp下新建 include 文件夹,将编译后的 ffmpeg 的 include 拷贝进来。拷贝后的目录结构如下:
6、在app/src/main 下新建 jni ,这里放自自己的 C 代码。
7、 在app的根目录新建 CMakeLists.txt
,输入类似下面的代码
cmake_minimum_required