原来FFmpeg这么有意思-(二),android嵌入式应用开发

}} else {Log.d(BuildInfo.TAG, “FFmpeg is executable”);}}复制代码上面的代码自己可以编写。我这就不全部贴了。App运行起来后,把这个文件copy到本地,然后调用ffmpegFile.setExecutable(true)复制代码这样就可以执行FFmpeg 了。Android中也提供了执行commend的方法public static Process run(String[] commandString) {Process proc
摘要由CSDN通过智能技术生成

}
} else {
Log.d(BuildInfo.TAG, “FFmpe
g is executable”);
}
}

复制代码

上面的代码自己可以编写。我这就不全部贴了。App运行起来后,把这个文件copy到本地,然后调用

ffmpegFile.setExecutable(true)

复制代码

这样就可以执行FFmpeg 了。Android中也提供了执行commend的方法

public static Process run(String[] commandString) {
Process process = null;
try {
process = Runtime.getRuntime().exec(commandString);
String output = Util.convertInputStreamToString(process.getErrorStream());
Log.i(“cuieney”,output);
} catch (IOException e) {
Log.e(BuildInfo.TAG,"Exception while trying to run: " + commandString+e.toString());
}
return process;
}

复制代码

就是通过调用runtime.exec就可以了 把命令写进去就好。

run({“ffmpeg”,""})

复制代码

这样就ok了。成功的话可以在logcat 中看到这些,log太多了 我就没复制

ffmpeg version 4.0.2 Copyright © 2000-2018 the FFmpeg developersbuilt with gcc 4.9.x (GCC) 20150123 (prerelease)…

复制代码

我这里根据编译出来的库,完成了一些功能

接下来就是正题了。编译这个东西。

编译Android平台FFmpeg

关于编译Android 平台的库可能网上有一大堆,反正一搜索,肯定有你需要的,这边我主要教大家使用静态库而非动态库,这样你会省了很多很多的麻烦,各种so库的来回粘贴复制,还要写cmakelist文集,配置gradle,对于没怎么玩过FFmpeg的人来说可能需要搞很长时间,这里我将带给大家另一种玩法

动态库

动态库其实就是编译出来的so库,link到我们的项目中然后load library 然后通过jni的方式进行操作c上面的东西,这边就是简单概括一下,那我知道了需要哪些东西了,那我们接下来就是,编译这个so库,大家可以在网上看到FFmpeg编译出来的有很多so 你要一个一个的把他们放进我们的项目中。然后cmakelist里面添加东西。这里我教大家把这几个库编译到一个so里面,可以省了你很多麻烦

  • 以上准备都ok的话,这边就可以执行脚本命令了打开我们下载的FFmpeg压缩包,可以看到这些目录结构,我们编译主要用到的就是configure这个binary。可以在下图中看到

image.png

脚本我这边就把一部分代码贴上去,全部的我放在了github上了&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值