android ffmpeg 交叉编译
时间: 2023-10-06 16:14:44 浏览: 170
在 Android 上使用 FFmpeg 可以提供丰富的音视频处理能力,如视频解码、编码、剪辑、滤镜等等。下面是在 Ubuntu 环境下交叉编译 FFmpeg,生成 Android 平台可用的库文件。
1. 下载 Android NDK
首先,需要下载 Android NDK,从官网 https://developer.android.com/ndk/downloads 下载最新版本的 NDK,并解压到某个目录下。
2. 安装编译工具链
在 Ubuntu 环境下,使用以下命令安装交叉编译工具链:
```
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install cmake
sudo apt-get install pkg-config
sudo apt-get install texinfo
sudo apt-get install nasm
sudo apt-get install yasm
```
3. 下载 FFmpeg 源代码
从官网 https://ffmpeg.org/download.html 下载最新版本的 FFmpeg 源代码,并解压到某个目录下。
4. 编写交叉编译脚本
在 FFmpeg 源代码目录下,新建一个 build_android.sh 文件,内容如下:
```bash
#!/bin/bash
NDK=/path/to/android-ndk
SYSROOT=$NDK/platforms/android-21/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffplay \
--disable-ffprobe \
--disable-ffmpeg \
--disable-debug \
--disable-avdevice \
--disable-postproc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
阅读全文