前两天看一个视频转换成gif的软件。用起来很不舒服,然后呢就想自己做一个看看。就开始研究ffmpeg,第一步编译成so文件就把我搞得死去活来的,主要是一点经验也没有,然后就是各种失败,最后总算出来,发现这两天忙项目,都快忘记了,今天写一下做下记录。
MinGW下载安装
mingw 下载地址。下载完双击下一步下一步就好。但是要记住的你的安装地址,等会要配置。
下载完打开,把下图这些全部安装了。
image
环境配置path下面
image
双击打开msys.bat等会要用到。
image
1.修改ffmpeg的configure文件
地址看下图。直接拖动到android studio中就好。
image
--cross-prefix-clang=PREFIX use PREFIXfor compilation clang tools [$cross_prefix]
image
cross_prefix_clang
image
ar_default="${cross_prefix}${ar_default}"
cc_default="${cross_prefix_clang}${cc_default}"
cxx_default="${cross_prefix_clang}${cxx_default}"
nm_default="${cross_prefix}${nm_default}"
image
完事,根据图复制对应的就好了,行数也差不多。
2编写build_android.sh文件
在configure同目录下新建build_android.sh文件,直接拖到android studio,复制下面代码,修改NDK参数,其他不变。
NDK=D:/sdk/ndk/21.1.6352462
SYSROOT=$NDK/toolchains/llvm/prebuilt/windows-x86_64/sysroot
PLATFORM=$NDK/toolchains/llvm/prebuilt/windows-x86_64
function build
{
./configure\
--prefix=$PREFIX \
--target-os=android \
--arch=$CPU \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-avdevice \
--disable-symver \
--enable-cross-compile \
--sysroot=$SYSROOT \
--cross-prefix=$PLATFORM/bin/arm-linux-androideabi- \
--cross-prefix-clang=$PLATFORM/bin/armv7a-linux-androideabi16- \
--extra-cflags="-I$SYSROOT/usr/include"\
--extra-ldflags="-L$SYSROOT/usr/lib"
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
make install
}
CPU=armv7-a
PREFIX=$(pwd)/android_all/$CPU
build
read -p"Press any key to continue."
3开始编译
操作如下图所示,开始等着就好了。完成后会在ffmpeg的目录下面生成android_all文件夹。
image.png
步骤没问题的话基本上等半个来小时就可以了。
看这篇文章的时候,可能已经搜索了很多文章了。其实编译错误的主要问题就是版本问题,很多文章都提到不要用最新的。最新的编译会失败报错,我也是转悠了好多,这里面主要涉及到了高版本ndk的问题,低版本是带着gcc编译器的,好像是从ndk17以后就不带这个编译器了,开始使用 clang进行编译。所以在编译过程中有一大部分提示gcc或者clang找不到,建议使用clang编译,gcc有很多问题,还要修改头文件指定,而且还不是最新的版本。如果不行,除了MinGW其他的都重新走一遍。万里长城第一步,突然项目就忙起来了。只能发下抽空在看了。
搞得时候感觉很麻烦,有一堆问题。现在出来了,过了几天以前的哪堆问题全忘记了。
0人点赞
文章浏览阅读244次,点赞5次,收藏10次。之前发过很多文章都没有提到过环境配置,因为直接默认大家会使用Python了,今天这个博文加这个模块主要是因为我们使用的Python2.7!代码中有详细的注释。**变量就3个,第一个是arcpy的工作空间(没啥用),第二个就是想要拆分的矢量文件目录,第三个是输出矢量文件的文件夹。针对这个环境也不多说,你只要安装了ArcGIS就会有Python2.7,只要在Pycharm中将Python2.7的解释器加入到环境中即可。包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
文章浏览阅读450次。文章目录前言1. HBase集群安装部署1.1 准备安装包1.2 修改HBase配置文件1.2.1 hbase-env.sh1.2.2 hbase-site.xml1.2.3 regionservers1.2.4 back-masters1.3 分发安装包1.4 创建软连接1.5 添加HBase环境变量1.6 HBase的启动与停止1.7 访问WEB页面1.8 停止HBase集群总结前言Hive的学习告一段落,接下来开始了解大数据主流NoSql数据库HBase,本文主要讲解HBase集群的安装部署,为_hbase-env.sh
文章浏览阅读358次,点赞10次,收藏5次。视频智能分析一体机在安防监控、智能交通、智慧城市等领域具有广泛的应用前景。它可以提高监控系统的智能化水平,减轻人工监控压力,提升监控效率和准确性,为各行业提供更安全、智能的监控解决方案。视频智能分析一体机作为一种先进的技术设备,在多个领域展现出了巨大的潜力和广泛的应用前景。特别是在安防监控、智能交通和智慧城市等领域,它已经成为了不可或缺的重要工具。4.弹出注册AIBox弹窗;5.输入前端设备ip地址;1.点击预注册AIBox;3.点击注册AIBox;6.输入设备用户名;6.输入盒子验证码;
文章浏览阅读6.4k次。MongoDB的主从复制我觉得可以理解为实时备份,当然它还有切换主从服务器,用于主服务器挂掉后的临时使用功能。它的用法很简单,也是该数据库在云计算处理上十分强大的地方。下面来实践一下看看。1、主服务器 配置zhu.conf dbpath = D:\MongoDB\db1 #主数据库地址 port = 1111 #主数据库端口号 bind_i_mongodb创建超级用户提示uncaught exception:error:could not add user:not maste
文章浏览阅读3k次。1.氯丙嗪化学结构名()A.2-氯-N、N-二甲基-10H-苯并哌唑-10-丙胺B.2-氯N、N-二甲基-10H-苯并噻唑-10-丙胺C.2-氯N、N-二甲基-10H-吩噻嗪-10-丙胺D.2氯-N、N-二甲基-10H-噻嗪-10-丙胺E.2氯-N、N-二甲基10H-哌嗪-10-丙胺2.属于均相液体制剂的是()A.纳米银溶胶B.复方硫磺洗剂C.鱼肝油乳剂D.磷酸可待因糖浆E.石灰剂3.分子中含有酚羟基,遇光易氧化变质,需避光保存的药物是()A.肾上腺素B.维生素AC._二氧二氟甲烷是抛射剂
文章浏览阅读1.2k次。privatestatic$_config = ['push_key' =>'XbRqF1xns4',//推流鉴权key'live_key' =>'VjsnDLXexT',//播流鉴权key'push_domain' =>'******',//推流域名'live_domain' =>'******',//播流域名'app_name' =>'***',//自定义应用名称..._auth_key
文章浏览阅读1.3k次。嵌入式软件是嵌入式系统的核心技术之一。在2008年中国软件业收入的7570亿元中,嵌入式软件就占了14.8%,在软件出口中占了2/3左右;目前中国前10家最大的软件企业中,5家是嵌入式软件企业。可以说,嵌入式软件对于中国的重要性,相当于离岸外包对于印度的重要性。而随着城市信息化和行业信息化的持续深入,嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。每年全球嵌入式系统相关工业产值已超过1万亿美元,全球嵌入式系统硬件和软件开发工_嵌入式需要几个研发人员
文章浏览阅读183次。点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 10:33更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 E...
文章浏览阅读1.2k次,点赞22次,收藏27次。基于Pytorch的TCN-GRU预测模型_tcngru代码
文章浏览阅读9.6k次,点赞20次,收藏157次。Weka平台实现分类算法进一步理解分类算法(决策树、贝叶斯),利用weka实现数据集的分类处理,学会调整模型参数,以图或树的形式给出挖掘结果,并解释规则的含义。
作者: 苏州刘三枪 原文来源: https://tidb.net/blog/865b670e ...
文章浏览阅读692次。本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70500488一、Android内核源码的选择Android手机设备内核源码的调试需要外部硬件设备的支持,调试步骤比较麻烦。相对来说,Android模拟器内核源码的调试就比较简单了,这里..._ro.adb.qemud