编译gstreamer for android

编译gstreamer for android,第1张

概述1.下载cerbero工程编译gstreamer可不是件容易事,一个是gst依赖了太多其他库,再一个是gst本身就有很多插件,这些插件分散在不同的工程里,相对来说ffmpeg就显得简单易用了不少,奈何项目里要用到gst,那就只能搞咯,幸运的是,github上有个开源项目,专为gst的交叉编译量身打造的,那就是cerbe

1.下载cerbero工程
编译gstreamer可不是件容易事,一个是gst依赖了太多其他库,再一个是gst本身就有很多插件,这些插件分散在不同的工程里,相对来说ffmpeg就显得简单易用了不少,奈何项目里要用到gst,那就只能搞咯,幸运的是,github上有个开源项目,专为gst的交叉编译量身打造的,那就是cerbero项目。它只做两件事情,一个是配置编译环境,另一个是编译打包gst全部的相关工程,先从github上把它下下来

git clone https://github.com/GStreamer/cerbero.git

2.切换版本
刚下下来的cerbero工程默认编译最新的gst版本,如果你的项目需要其他的gst版本,那么直接切换cerbero的版本即可。

查看一下gst已经切换到对应的分支


3.配置编译环境
config目录下有不同平台的配置文件,根据需要选择对应的配置文件,然后执行命令

./cerbero-uninstalled -c config/cross-androID-armv7.cbc bootstrap

这个命令会自动下载编译gst所需的依赖库,但事情往往没有这么简单,命令执行过程中总会出现一些问题,幸运的是大部分都是下载出错的,需要按出错提示逐个解决就行了


像上面这种纯粹就是下载超时了,本人的做法是直接手动执行它的下载命令,并把timeout改成20,然后就能下载下来了,再从新执行bootsrap

4.编译gst
当编译环境安装好之后,就可以编译gst了,执行以下命令

./cerbero-uninstalled -c config/cross-androID-armv7.cbc package gstreamer-1.0

命令同样会自动下载gst的源码,也同样会出现一些奇怪的错误,需要根据具体错误提示解决,然后重新执行打包命令


像上面的错误,cerbero用python3写的,而本人的python环境没有six这个模块,需要自己安装,这个问度娘就行


还有这种cheksum errro的,感觉是下载的源有问题,本人也是没办法,只能重试几次,然后居然就好了


然后还有git fetch error的,这种一般是git的缓存不够引起的,解决方法是cd到对应的下载目录,执行git config http.postBuffer 524288000,把缓冲加大到500M,再不行就加大到1G,然后手动执行git fetch --all
顺利编译通过后,可以看到cerbero工程目录里生成了两个包


5.打包gstream_androID.so
解压编译生成的tar包(不带runtime那个),把解压后的路径导出到环境变量

export GSTREAMER_ROOT_ANDROID=你的解压目录

下载NDK,在NDK目录下新建jni目录,然后在jni目录里新建Application.mk和Andriod.mk文件,AndroID.mk将决定so库包含哪些编解码器插件,这里就不给出来了,可以这篇文章:添加链接描述


在NDK目录下,执行./ndk-build,打包so,如无意外,可以发现so静静地躺在了libs目录中

Tips
cerbero每次编译都会下载新的代码,如果想要修改源码做一些diy怎么办,只要修改cerbero/build/recipe.py这个脚本


把fetch和extract注释掉,这样编译时就不会下载代码了(下载解压后的源码在cerbero/build/sources/目录里)
执行以下命令可以只编译某个模块

./cerbero-uninstalled -c config/cross-androID-armv7.cbc buildone gst-plugins-bad-1.0
总结

以上是内存溢出为你收集整理的编译gstreamer for android全部内容,希望文章能够帮你解决编译gstreamer for android所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存