linphone-解决3.2.5版本在Android5.0以前的系统没有H264编码的问题
来源:互联网 发布:软件著作权怎么申请 编辑:程序博客网 时间:2024/06/04 17:42
说明
上个月,我下载当时最新版linphone,tag版本是3.2.5。不知道从哪个版本开始,linphone改了整体的编译方式。重新用python进行编译的方式和部分文件的生成。
这都不是问题,但是,在android5.0以前版本并不支持。从网络上搜索了好多答案,基本上都是说H264不开源,而我下的还是开发版本,所以并没有将libopenh264.so这个不开源的库打包进入。所以导致了,Android5.0以前的版本没有H264编码的问题。
解决方法
- ./prepare.py -ac 编译所有的文件。
- 从网络上下载libopenshh264.so库文件放到libs/文件夹下。
解决思路
这个要特别感谢QQ群:377532905中今何在的帮助,这个问题困扰了很久。以前的解决思路将在下篇中给出。
- 查看logcat输入日志,找到没有链接到lipopenh264.so库
- 查看java代码,知道缺失代码,需要下载so库的下载地址。
- 将下载下来的库解压,改名,放到libs文件夹下,即可显示H264编码,并且可用。
解决步骤
1. 打开Debug模式
打开linphone并勾选Debug模式,显示具体的log。
2. 查看logcat,找到问题点
其中有一个加载libmsopenh264.so的地方,其中要动态添加”libopenh264.so”文件。
3. 查看java代码,查找需要缺失的地方
在OpenH264DownloadHelper中,找到了如下代码
/** * Default values * nameLib = "libopenh264-1.5.so" * urlDownload = "http://ciscobinary.openh264.org/libopenh264-1.5.0-android19.so.bz2" * nameFileDownload = "libopenh264-1.5.0-android19.so.bz2" */ public OpenH264DownloadHelper(Context context) { userData = new ArrayList<Object>(); licenseMessage = "OpenH264 Video Codec provided by Cisco Systems, Inc."; nameLib = "libopenh264.so"; urlDownload = "http://ciscobinary.openh264.org/libopenh264-1.5.0-android19.so.bz2"; nameFileDownload = "libopenh264-1.5.0-android19.so.bz2"; if(context.getFilesDir() != null) { fileDirection = context.getFilesDir().toString(); Log.i("[OpenH264Downloader] fileDirection =context.getFilesDir().toString() = " + fileDirection); } }
其中,“http://ciscobinary.openh264.org/libopenh264-1.5.0-android19.so.bz2“就是libopenh264.so代码, 下载下来,解压缩并改名就可以
4.下载so库,放入libs文件夹
放入libs文件夹中, 其中我的设备都是armv7, 放入这个libs下的armv7文件夹中就可以运行。由于没有x86的手机,并没有测试这个。不过我想,应该一样的, 因为链接地址是一样的。
5. 运行,并测试
通过H264编码进行视频通话。OK,成功!好兴奋a。
其中在解决问题之前,我进行了大量的代码排错工作。下篇粘出。
0 0
- linphone-解决3.2.5版本在Android5.0以前的系统没有H264编码的问题
- linphone-linphone没有视频H264编码分析过程-正确分析正确的方法
- 解决HttpClient在Android5.0系统上无效的问题
- 解决Cocos3.2以上版本在Android5.0崩溃的问题
- Linphone android 最新版编译(解决android5.0以上无法运行问题)
- 关于H264编码的问题
- linphone中h264的 RTP打包
- linphone中h264的 RTP打包(二)
- linphone中h264的 RTP打包(二)
- 已在16.04的版本编译Android5.0 +
- 多dex打包时在 android5.0一下报错的问题 ,有谁能解决
- 解决在ios8中, cocos2dx 2.x版本里CCClippingNode没有效果的问题
- android5及以前的版本user和userdebug模式下remount修改/system读写权限
- Android5.0系统的优缺点
- Linphone on BlackBerry呼叫xlite报错问题的解决
- 以前一直想解决的锁问题
- 以前找到并解决的问题
- 解决简化版本xp|Ghost xp 没有iis的问题
- 作为一个新手的Oracle(DBA)学习笔记
- 微信公众号开发之对接微信公众平台
- Ubuntu下"sshd:unrecognized service"
- 【magento2命令行安装 WINDOWS】zlib_decode(): data error
- 用Java实现一个通用并发对象池
- linphone-解决3.2.5版本在Android5.0以前的系统没有H264编码的问题
- 最快最好用的——spfa算法
- Arcgis:Editor Issue
- android_weex加载服务器端的js文件
- Jenkins java进程监控
- Two Sum
- linux iptables开放端口命令
- 【magento2命令行安装 WINDOWS】[UnexpectedValueException] The checksum verification of the file failed (down
- python学习笔记(四)