FFmpeg-Android 项目教程
FFmpeg-Android🔥FFmpeg-Android 是基于ffmpeg n4.0-39-gda39990编译运行在android平台的音视频的处理框架, 使用的是ProcessBuilder执行命令行操作, 可实现视频字幕添加、尺寸剪切、添加或去除水印、时长截取、转GIF动图、涂鸦、音频提取、拼接、质量压缩、加减速、涂鸦、 倒放、素描、色彩平衡、模糊、九宫格、添加贴纸、滤镜、分屏、图片合成视频等,音视频合成、截取、拼接,混音、音视频解码,视频特效等等音视频处理…项目地址:https://gitcode.com/gh_mirrors/ffmpe/FFmpeg-Android
1. 项目的目录结构及介绍
FFmpeg-Android 项目的目录结构如下:
FFmpeg-Android/
├── app/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ └── res/
│ └── test/
├── ffmpeg/
│ ├── build.gradle
│ └── src/
│ └── main/
│ ├── c/
│ └── jni/
├── gradle/
│ └── wrapper/
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
目录介绍
app/: 包含应用程序的主要代码和资源。
build.gradle: 应用程序的构建脚本。proguard-rules.pro: ProGuard 规则文件。src/: 源代码目录。
main/: 主要源代码和资源。
AndroidManifest.xml: 应用程序的清单文件。java/: Java 源代码目录。res/: 资源目录。 test/: 测试代码目录。
ffmpeg/: 包含 FFmpeg 相关的代码和配置。
build.gradle: FFmpeg 模块的构建脚本。src/: 源代码目录。
main/: 主要源代码和资源。
c/: C 语言源代码目录。jni/: JNI 接口目录。
gradle/: Gradle 包装器相关文件。
wrapper/: Gradle 包装器文件。
gradle.properties: Gradle 属性文件。
gradlew: Gradle 包装器脚本(Unix)。
gradlew.bat: Gradle 包装器脚本(Windows)。
settings.gradle: 项目设置文件。
README.md: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 app/src/main/java/com/example/ffmpegandroid/MainActivity.java
。这个文件是应用程序的主活动,负责初始化和启动应用程序。
package com.example.ffmpegandroid;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("ffmpeg");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.sample_text);
tv.setText("FFmpeg 版本: " + ffmpegVersion());
}
public native String ffmpegVersion();
}
启动文件介绍
MainActivity.java: 主活动文件。
static {}: 加载 FFmpeg 库。onCreate(): 活动创建时调用,设置布局并显示 FFmpeg 版本。ffmpegVersion(): 获取 FFmpeg 版本的本地方法。
3. 项目的配置文件介绍
项目的配置文件主要包括 app/build.gradle
和 settings.gradle
。
app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.example.ffmpegandroid"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation
FFmpeg-Android🔥FFmpeg-Android 是基于ffmpeg n4.0-39-gda39990编译运行在android平台的音视频的处理框架, 使用的是ProcessBuilder执行命令行操作, 可实现视频字幕添加、尺寸剪切、添加或去除水印、时长截取、转GIF动图、涂鸦、音频提取、拼接、质量压缩、加减速、涂鸦、 倒放、素描、色彩平衡、模糊、九宫格、添加贴纸、滤镜、分屏、图片合成视频等,音视频合成、截取、拼接,混音、音视频解码,视频特效等等音视频处理…项目地址:https://gitcode.com/gh_mirrors/ffmpe/FFmpeg-Android