1.把我们需要的so库及include copy进来 整个include包含文件夹及里面的内容

修改项目的build.gradle文件

defaultConfig {applicationId "com.ican.ffmpegdemo1"minSdkVersion 15targetSdkVersion 28versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"//add startsourceSets {main {jniLibs.srcDirs = ['libs']}}externalNativeBuild {cmake {cppFlags "-frtti -fexceptions"abiFilters 'armeabi'}}//add end}

修改CMakeLists.txt文件

cmake_minimum_required(VERSION 3.4.1)
add_library( native-libSHAREDsrc/main/cpp/native-lib.cpp)find_library( log-liblog )
include_directories(libs/include)
set(DIR ../../../../libs)
add_library(avcodec-56SHAREDIMPORTED)
set_target_properties(avcodec-56PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libavcodec-56.so)
add_library(avdevice-56SHAREDIMPORTED)
set_target_properties(avdevice-56PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libavdevice-56.so)
add_library(avformat-56SHAREDIMPORTED)
set_target_properties(avformat-56PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libavformat-56.so)
add_library(avutil-54SHAREDIMPORTED)
set_target_properties(avutil-54PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libavutil-54.so)
add_library(postproc-53SHAREDIMPORTED)
set_target_properties(postproc-53PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libpostproc-53.so)add_library(swresample-1SHAREDIMPORTED)set_target_properties(swresample-1PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libswresample-1.so)add_library(swscale-3SHAREDIMPORTED)set_target_properties(swscale-3PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libswscale-3.so)add_library(avfilter-5SHAREDIMPORTED)set_target_properties(avfilter-5PROPERTIES IMPORTED_LOCATION${DIR}/armeabi/libavfilter-5.so)
target_link_libraries( native-libavcodec-56avdevice-56avformat-56avutil-54postproc-53swresample-1swscale-3avfilter-5${log-lib} )

加载库

public class MainActivity extends AppCompatActivity {// Used to load the 'native-lib' library on application startup.static{System.loadLibrary("avcodec-56");System.loadLibrary("avdevice-56");System.loadLibrary("avfilter-5");System.loadLibrary("avformat-56");System.loadLibrary("avutil-54");System.loadLibrary("postproc-53");System.loadLibrary("swresample-1");System.loadLibrary("swscale-3");System.loadLibrary("native-lib");}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// Example of a call to a native methodTextView tv = (TextView) findViewById(R.id.sample_text);tv.setText(stringFromJNI());}/*** A native method that is implemented by the 'native-lib' native library,* which is packaged with this application.*/public native String stringFromJNI();
}

测试ffmpeg

#include <jni.h>
#include <string>
extern "C"{
//编码
#include "libavcodec/avcodec.h"
//封装格式处理
#include "libavformat/avformat.h"
//像素处理
#include "libswscale/swscale.h"
}
extern "C" JNIEXPORT jstringJNICALL
Java_com_ican_ffmpegdemo1_MainActivity_stringFromJNI(JNIEnv *env,jobject /* this */) {std::string hello = "Hello from C++";av_register_all();return env->NewStringUTF(hello.c_str());
}

ffmpeg集成到androidStudio相关推荐

  1. FFmpeg集成到GPU

    FFmpeg集成到GPU GPU加速视频处理集成到最流行的开源多媒体工具中. FFmpeg是最流行的开源多媒体操作工具之一,它有一个插件库,可以应用于音频和视频处理管道的各个部分,并在世界各地得到广泛 ...

  2. FFmpeg 集成 x265 编译及解码

    x265 是一个免费的软件库和应用程序,用于将视频流编码为 H.265/MPEG-H HEVC 压缩格式,并在 GNU GPL 条款下发布. FFmpeg 为了支持 H.265 编.解码可以集成 x2 ...

  3. 三.ffmpeg 集成av1

    copy from zhujiamin 一.介绍 FFmpeg4.2支持AV1.AVS2等视频编码格式,但本身并不包含解码器,需要自己集成.集成的编解码器要避开GPL开源协议(–enable-gpl) ...

  4. ffmpeg集成fdk_aac (windows)

    1,环境及版本 环境:windows,vs2017 版本:ffmpeg4.1,fdk_aac 2.0.2 资源:fdk_acc 2.0.2下载 2,编译 2.1,ffmpeg vs2017编译不在此赘 ...

  5. FFmpeg集成qsv的编译安装

    文章目录 FFmpeg集成qsv的编译安装 一.参考 二.编译安装流程 1. LibVA 和 Media-Driver 的安装 2. Intel Media SDK 编译 3. ffmpeg的编译安装 ...

  6. NDK R20编译Ffmpeg集成Android命令

    本次编译环境为windows,linux和mac大同小异(windows都异类了,其他环境编译没啥问题) 下载好MINGW,咋个配置的,百度吧,忘了. 下载好NDK文件,我是R20版本的:在从ffmp ...

  7. ffmpeg 集成pytorch机器学习完成SDR转HDR视频

    预告:近期会有更新,敬请期待,感兴趣的留个关注... 主要实现方式为ffmpeg添加自定义filter调用pytorch完成SDR2HDR 点赞到100 公布

  8. ffmpeg 集成aom av1, 封装avif

    aom:https://aomedia.googlesource.com/aom mkdir aom_build cmake .. -DBUILD_SHARED_LIBS=1 make -j8 mak ...

  9. 【FFMPEG系列】FFMPEG linux下集成x264

    FFMPEG集成x264 1.x264下载地址: http://download.videolan.org/pub/videolan/x264/snapshots/ 2. FFMPEG引入外部库x26 ...

最新文章

  1. 济南python工资一般多少钱-济南学Python的机构排名
  2. 【关于封装的那些事】 缺失封装 【关于封装的那些事】 泄露的封装 【关于封装的那些事】 不充分的封装 【图解数据结构】二叉查找树 【图解数据结构】 二叉树遍历...
  3. Weka学习五(ROC简介)
  4. Java虚拟机——类加载机制
  5. 【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
  6. 初学者应该了解的一些SQL语句及hr 用户解锁相关
  7. 【转】使用IIS做HTTP和WebSocket服务的反向代理
  8. word论文排版插件_教你如何用word快速搞定论文排版
  9. Qunee for HTML5的学习与使用笔记(一)
  10. This Week in Spring - July 9, 2013
  11. 树莓派CM4烧录系统
  12. Maven系列学习(1)——安装以及本地仓库和仓库镜像的配置
  13. Android 设置黑白主题
  14. 怎样对论文重复率进行检查
  15. 总线数据传输速率详解
  16. Deep Learning Methods for Remote Heart Rate Measurement:A Review and Future Research Agenda
  17. luffcc项目-13-积分抵扣、发起支付、
  18. 2014迅雷校园招聘试题
  19. 阿里P8大佬的860页分布式微服务笔记,改变你对架构的认知
  20. ARM 64位系统下编译32位程序

热门文章

  1. Shell内值命令之read
  2. 冬天到了,python给老妈选一件有气质的大衣。不然还真无从下手。
  3. shell 十三問? 11) 與 差在哪?
  4. cat - EOF标志的使用
  5. JavaScript学习之ES6 ES2015学记笔记(五)-解构(destructuring)
  6. iVox (Faster-Lio): 智行者高博团队开源的增量式稀疏体素结构
  7. 从零单刷数据结构(Java描述)(一)——数据结构概论
  8. 金万维快解析远程服务,助力企业客户维护
  9. 鸿蒙Hi3861学习六-Huawei LiteOS-M(软件定时器)
  10. show master status为空值