从0开始做播放器-第二季-第1章-用 Android NDK 编译 FFmpeg

注:参考自bilibili系列视频,从0开始做播放器-第二季-第1章-用 Android NDK 编译 FFmpeg,更详细的内容可以从视频获取https://www.jianshu.com/writer#/notebooks/47674984/notes/76664263

Android NDK 简介

想在安卓平台运行c++,首先需要一个交叉编译环境,用来把c++代码编译成安卓上可以运行的动态库。NDK就是安卓平台下的交叉编译环境,可以让我们直接用c/c++等语言实现应用的各个部分。
https://developer.android.google.cn/ 下载NDK
https://developer.android.google.cn/ndk/guides/other_build_systems 文档 将 NDK 与其他构建系统配合使用

在NDK下编译ffmpeg

下载ffmpeg
编写cmake脚本

  • ./configure
    --prefix 设置安装路径
    --enable-static 允许编译静态库
    --enable-shared 允许编译动态库
    //如果运行上面代码,会编译出windows平台的ffmpeg库,要android上的库,需要加配置
    --enable-cross-compile 允许交叉编译
    --target-os=android 设置目标操作系统为安卓
    --arch=arm
    --cc=/c/NDK/android-ndk-r21b/```/armv7a-linux-android 指定c编译器,指定c编译器的同时,确定了cpu架构。(在NDK目录下)
    --cross-prefix 设置交叉编译环境编译工具路径,平台无关(在NDK下)
    --disable-ffmpeg ffmpeg命令行程序,android下会编译出错,所以disable掉
    --disable-ffplay 同上
    --disable-ffprobe 同上
    --disable-avdevice 与设备相关的,android平台不需要

  • make

  • make install

运行脚本后,就会得到android平台的ffmpeg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容