FFmpeg-Android 项目使用教程
1. 项目目录结构及介绍
FFmpeg-Android 项目目录结构如下:
ffmpeg-android/
├── .gitmodules
├── LICENSE
├── LICENSE.GPLv3
├── README.md
├── abi_settings.sh
├── android_build.sh
├── android_donot_use_lconv.patch
├── expat_build.sh
├── ffmpeg-pkg-config
├── ffmpeg_build.sh
├── fontconfig_build.sh
├── freetype_build.sh
├── fribidi_build.sh
├── init_update_libs.sh
├── lame_build.sh
├── libass_build.sh
├── libpng_build.sh
├── settings.sh
├── x264_build.sh
README.md
: 项目说明文件,包含项目信息、使用说明和配置指南。LICENSE
和LICENSE.GPLv3
: 项目使用的开源协议文件。abi_settings.sh
: 设置 ABI 相关的脚本文件。android_build.sh
: Android 构建脚本,用于编译 FFmpeg。android_donot_use_lconv.patch
: 用于修改不使用lconv
的补丁文件。expat_build.sh
: 编译 Expat 库的脚本文件。ffmpeg-pkg-config
: FFmpeg 的 pkg-config 文件。ffmpeg_build.sh
: 编译 FFmpeg 的主要脚本文件。fontconfig_build.sh
: 编译 Fontconfig 库的脚本文件。freetype_build.sh
: 编译 FreeType 库的脚本文件。fribidi_build.sh
: 编译 FriBidi 库的脚本文件。init_update_libs.sh
: 初始化并更新子模块和依赖库的脚本文件。lame_build.sh
: 编译 LAME 库的脚本文件。libass_build.sh
: 编译 libass 库的脚本文件。libpng_build.sh
: 编译 libPNG 库的脚本文件。settings.sh
: 项目设置脚本文件。
2. 项目的启动文件介绍
项目的启动主要是通过运行 android_build.sh
脚本来完成。该脚本会调用其他相关的构建脚本,完成 FFmpeg 以及所需依赖库的编译工作。
运行以下命令以开始编译:
./android_build.sh
确保在运行之前已经正确设置了环境变量 ANDROID_NDK
,并安装了所有必需的依赖。
3. 项目的配置文件介绍
项目的配置主要通过 settings.sh
文件来管理。该文件包含了构建过程中所需的各种设置,例如编译选项、库路径等。
在开始编译前,可以修改 settings.sh
文件以适应不同的编译需求。例如,可以设置不同的架构目标、启用或禁用某些功能等。
以下是 settings.sh
文件中可能需要修改的一些配置项:
# 设置编译的 Android NDK 路径
export ANDROID_NDK={Android NDK Base Path}
# 设置编译的架构
export ANDROID_ABI=armeabi-v7a
export ANDROID_ARCH=armv7-a
确保在修改配置文件后,重新运行构建脚本以应用新的配置。