文章目录
准备工作
1. 准备 Linux 环境
搭建 Linux 环境,网上已有很多的教程。本文使用的是 WSL2(Windows Subsystem for Linux) 环境,感兴趣的读者可在最后一章参考资料中了解更多信息。
2. 下载 FFmpeg 源码
- 下载地址:https://ffmpeg.org/download.html#releases
- 下载 5.1.4 版本:
wget https://ffmpeg.org/releases/ffmpeg-5.1.4.tar.xz - 解压缩:
tar -xvf ffmpeg-5.1.4.tar.xz
3. 下载 ndk 工具
- 下载地址:https://developer.android.com/ndk/downloads?hl=zh-cn
- 下载 ndk r26c 版本
- 解压缩:
unzip android-ndk-r26c-linux.zip
4. 配置系统环境变量
- 拷贝解压后的 android-ndk-r26c-linux 目录到 ~/ndk 路径下
- 命令行输入
vim ~/.bashrc编辑 bashrc 文件 - 在 bashrc 文件末尾追加以下内容后保存并退出:
export NDK_PATH=~/ndk/android-ndk-r26c
export PATH=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin/:$PATH
- 命令行输入
source ~/.bashrc
编译 FFmpeg 源码
1. 编译选项简介
FFmpeg 源码使用 configure 脚本进行编译前配置,使用 ./configure --help 可以查看支持的编译配置选项。
标准选项: 这些选项用于配置基本的编译和安装参数。例如,–prefix=PREFIX 选项用于指定安装路径。
授权选项: 这些选项用于控制 FFmpeg 的许可证。例如,–enable-gpl 选项允许使用 GPL 许可的代码。
编译和连接选项: 这些选项用于控制 FFmpeg 的编译配置。例如,–disable-static 选项用于禁用静态库的构建,–enable-shared 选项用于启用动态库的构建。
可执行程序控制选项: 这些选项用于控制是否构建特定的程序。例如,–disable-ffmpeg 选项用于禁用 ffmpeg 程序的构建。
文档选项: 这些选项用于控制是否构建文档。例如,–disable-doc 选项用于禁用文 档的构建。
组件控制选项: 这些选项用于控制是否构建特定的组件。例如,–disable-avdevice。
2. 编写编译脚本
新版 ndk 已放弃 gcc,转而使用更高效的 clang,下述脚本以 clang 为例编译 FFmpeg 源码。
#!/bin/bash
# NDK目录
TOOLCHAIN=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64
# 最低支持的android sdk版本
API=21

本文介绍了如何在Linux环境下,特别是WSL2中,为Android平台编译FFmpeg源码,包括下载FFmpeg和ndk工具、配置系统环境变量,以及使用编译脚本来选择性编译和安装FFmpeg,重点讲解了编译选项和脚本的使用方法。
最低0.47元/天 解锁文章

4929

被折叠的 条评论
为什么被折叠?



