FFmpeg-Android 项目教程

随笔2个月前发布 问题
29 0 0

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.gradlesettings.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

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...