从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

你可能感兴趣的:(从0开始做播放器-第二季-第1章-用 Android NDK 编译 FFmpeg)