位置: 编程技术 - 正文

ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用(ubuntu 编译ffmpeg)

编辑:rootadmin
作者:wainiwann出处:

推荐整理分享ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用(ubuntu 编译ffmpeg),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ffmpeg版本说明,ffmpeg ubuntu,ubuntu fftw3,ffmpeg安装教程linux,ubuntu fftw3,ffmpeg安装教程linux,ffmpeg linux,ffmpeg ubuntu,内容如对您有帮助,希望把文章链接给更多的朋友!

摘要:本文主要介绍将FFmpeg音视频编解码库移植到Android平台上的编译和基本测试过程。

环境准备:

Ubuntu. TLS

android-ndk-r9d-linux-x_.tar.bz2

ffmpeg2.2

---------------------------------------------------------

第一步:下载

1.配置ubuntu. TLS 系统环境。

2.下载ndk版本为 r9d。

3.下载ffmpeg2.2版本。

第二步:在ubuntu下编译环境设置

1. 安装好ubuntu. TLS 位linux系统之后,可以选择安装一下内容:

在在参考一些其他有关linux下NDK环境搭建资料上看到位ubuntu 安装之后需要再下载 bison

位ubuntu下还需要下载 gcc-multilib 和g&#;&#;-multilib:

终端命令:" sudo apt-get install biosn gcc-multilib g&#;&#;-multilib "

2.下载ndk之后解压后目录:/home/admin/develop/android-ndk-r9d

配置NDK环境变量:

(2.) 配置NDK的环境变量:

终端内执行:“ gedit ~/.bashrc ”

在打开的文件末尾添加如下内容:

NDK=/home/admin/develop/android-ndk-r9d

export NDK

(3.)在当前bash环境下读取并执行 ~/.bashrc 中的命令:

终端执行:" source ~/.bashrc "

(4.)查看是否生效:

终端执行: " echo $NDK "

结果:/home/test/develop/android-ndk-r9d

(5.)测试NDK编译JNI工程:

到android-ndk-r9d 的sample目录的hello-jni 目录里

终端执行:“ $NDK/ndk-build ”

如果环境配置成功会生成so库的。

3.解压ffmpeg-2.2源码

将ffmpeg-2.2.tar.gz解压后拷贝到任意目录,本例是拷贝到.../android-ndk-r9d/sample/ffmpeg2.2 目录内。

ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用(ubuntu 编译ffmpeg)

拷贝之后添加" build_android.sh "文件:有的资料上面 build_android.sh 的前几行是这样写的:

因为之前已经在linux下设置NDK的环境路径,所以就不需要在build_android.sh里指定NDK的路径了。

在编译ffmpeg的时候推荐先设置NDK的环境路径到系统环境中,因为如果不设置的话,使用" NDK=/home/admin/... " 个人感觉是非常恶心的,尤其是在windows下使用cygwin编译的时候经常出现NDK路径找不到的问题,所以windows下编译最好也配置好NDK环境路径。

修改configure文件:

很多ffmpeg编译资料上面说要修改configure文件 ,说的原因是 如果不修改的话,在android上 System.loadLibrary("xxx"); 的时候个别so库无法加载的问题。

打开 ffmpeg源码内 configure 文件进行如下修改:

第三步:在ubuntu 位下进行编译ffmpeg源码以得到android平台 arm下能使用的那几个so库

1.给build_android.sh 和 configure 增加可执行权限:

终端执行:

“ $chmod&#;x ./build_android.sh ”

“ $chmod&#;x ./configure ”

2.给build_android.sh 和 configure 转换&#;式:

终端执行:(需要先安装 dos2unix)

“ $dos2unix ./build_android.sh ”

“ $dos2unix ./configure ”

3.最后编译:

终端执行:

“ $ ./build_android.sh ”

“ $ make ”

“$ make install ”

----------------------

编译成功会在ffmpeg源码目录下生成一个“android”目录里面有编译好的 so库和 需要的头文件等等。

其中so库应该是一下几个:

第四步:android下使用这几个库:

----------------------------------------------------

1.使用NDK里sample目录下的hello-jni 工程进行使用这几个库:

(a.)在hello-jni 源码的JNI目录下新建ffmpeglib目录,把那几个库全部拷贝到 /hello-jni/jni/ffmpeglib/ 目录下。

(b.)然后把编译好的ffmpeg的头文件全部拷贝到 /hello-jni/jni/ 目录下。

(c.)在 hello-jni.c 文件内进行使用ffmpeg:

(d.)在 HelloJni.java 文件加载so库进行调用JNI内的测试函数:(e.)修改 hello-jni 源码中jni目录下的 Android.mk 文件:

(f.)windows下使用cygwin编译hello-jni工程:

" $NDK/ndk-build "

生成 libhello-jni.so 完成。

----------------------------------------

附上ubuntu下编译好的所有so库和头文件:

Android屏幕density, dip ,px ,密度,分辨率等相关概念 1、几个术语VGA、HVGA、QVGA、WVGA、WQVGA这些术语都是指屏幕的分辨率。VGA:VideoGraphicsArray,即:显示绘图矩阵,相当于×像素;HVGA:Half-sizeVGA;即:VG

android开发之仿微信输入框效果 仿微信输入框效果图:输入框:EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="dp"android:layout_marginRight="dp"android:background

Android OpenAtlas初识 经历了几个月的折腾,代码终于跑起来了,目前做插件的比较多,各个方案。目前有ApkPlug(OSGI),商业,非开源。dynamic-load-apk,这个开源的,用到代

标签: ubuntu 编译ffmpeg

本文链接地址:https://www.jiuchutong.com/biancheng/371109.html 转载请保留说明!

上一篇:Android 各大网络请求库的比较及实战(android移动网络)

下一篇:Android屏幕density, dip ,px ,密度,分辨率等相关概念(Android屏幕外侧滑条)

  • 实收资本怎么交所得税
  • 税务师财务与会计难不难
  • 减免附加税怎么填报
  • 收付转记账凭证图片
  • 净资产包含哪些方面
  • 领用原材料 会计分录
  • 自然人税收管理扣缴端申报实训心得
  • 哪些税不适用征管法
  • 期初未交增值税借方余额
  • 支付业务招待费的税费是进项还是销项
  • 被辞退还有退休金吗
  • 企业所得税退税的会计分录怎么做
  • 开水电发票要增加什么经营项目?
  • 2018年一般纳税人转小规模
  • 小型微利企业所得税优惠政策
  • 公司没有发票的做内账,那么支付款从哪里来
  • 个人所得税扣除的
  • 税控盘抵扣增值税怎么做账
  • 签订借款合同要遵守规则吗
  • 质量扣款不开票怎么处理
  • 销售产品的成本属于什么科目
  • 未做账怎么补账
  • 工程承包付款最佳方式
  • 汇算清缴中的科目怎么填
  • 重复确认收入是什么意思
  • 制作flash动画步骤
  • 重装系统后分辨率1920x1080不见了
  • 商贸企业销售会计分录
  • 存货周转率公式怎么算
  • 应收票据包括哪些支票
  • 贷款损失会计处理
  • 什么情况下计提信用减值损失
  • 企业所得税优惠事项管理目录
  • 商业汇票不带息到银行办理贴现公式
  • 企业所得税计提会计分录怎么做
  • thinkphp框架作用
  • import vue from vue报错
  • vue使用百度地图三方标准地图清空后卡死
  • 强大的图片预览软件
  • phpcms怎么样
  • 土方工程合同签了一般多久开工
  • 母公司的资质怎样才能转给子公司
  • 外管证预缴税款上报后,怎么交税
  • 刘亦菲生日当天发素颜照
  • 跨年增值税专用发票红字发票怎么开
  • 待处理财产损益是什么类科目
  • 计提电费的会计分录怎么写
  • 什么是品种法?适用于什么范围?
  • 补交以前年度企业所得税怎么入账
  • 去年多计提的费用
  • 财务费用为零的原因
  • 其他应收账款的会计分录
  • 工资表明细表
  • 哪个行业的会计最难
  • win2003无法启动
  • centos7如何设置中文
  • win7 64位旗舰版系统运行游戏提示计算机丢失mxvcp120.dll的解决方法
  • win7系统安装程序无法创建新的系统分区
  • linux中压缩文件
  • xp怎么改w7
  • windows8网络连接
  • windows累积更新失败怎么办
  • linux tee命令详解
  • win10系统怎么添加ip地址
  • css中有序列表
  • linux shell中 if else以及大于、小于、等于逻辑表达式介绍
  • bootstrap基础
  • shell 计算表达式
  • shell 比较大小
  • 在Linux下用scp复制文件无需输入密码的技巧
  • jquery动态添加的元素怎么添加事件
  • android studio i使用
  • shell python
  • python中lxml模块
  • 销售黄金的基本知识
  • 税款所属期起怎么填写
  • 合伙人转让出资的法律规定
  • 广西12366社保缴费APP
  • 国企人事处长是什么级别?
  • 企业所得税年报什么时候开始申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设