Android WebRTC 音视频开发总结(一)
2014-03-03 13:51 by Blacker, 5464 阅读, 7 评论, 收藏, 编辑接触Android WebRTC有一段时间了,现在将研究过程中的一些经验和知识总结出来,希望大家有所帮助。本章主要介绍下面四点:
一、WebRTC是什么?
WebRTC是Google提供的一个跨平台的音视频开源解决方案,旨在使其成为音视频通讯的标准。其实在Google将WebRTC开源之前,微软和苹果各自的通讯产品已占用很大市场份额(如Skype),估计Google也是为了快速扩大市场,所以选择将他开源。
二、WEBRTC代码如何获取和编译。
1、环境准备:对刚入门的人来说编译WEBRTC很头疼,特别是对没接触过linux的人来说,虽然网上有很多资料,但是实际编译过程中总会出现这样或那样的错误,很多错误都不知所措。其实编译不过的主要原因就是有些文件下载不下来(因为国家防火墙限制),所以这里给出一个编译WebRTC的最简单的解决方案:
A、买一个付费的VPN账号。
B、参考:http://www.webrtc.org/reference/getting-started,很详细,看仔细。
这个方案屡试不爽,我已经成功编译过好几次了,如果还有问题可以联系我(对andorid开发者来说最好使用ubuntu 64位环境,不要在windows下面搞。)。
三、运行WebRTCDemo。
A、安装WebRTC/Trunk/out/WebRTCDemo-debug.apk,他支持点对点视频,在其SETTINGS页签中设置好对方IP,点击MAIN页签中的StartCall即可与对方开始视频通话。
四、AppRTCDemo如何使用?
WebRTCDemo可以直接做成P2P的效果,AppRTCDemo则需要另外一个服务端(也可直接连接:https://apprtc.appspot.com/,先),而且他登录和加入房间使用的是XMPP协议。
五、WebRTC的工程文件在不同项目如何管理?
因为WebRTC是跨平台的,支持mac,windows,linux,但不同平台下用的工程文件格式不一样,如VisualStudio下是.vcproj,是每个开发平台下手动创建自己的工程文件吗?答案是否定的,他是通过.gyp文件来管理的,说白了.gyp文件相当于是他的工程描述文件,类似JSON格式,不同平台下编译的时候根据.gyp文件产生对应格式的工程文件,如.vcproj。
以上,如有不对的地方请指正,下一节介绍Android WebRTC NDK 开发。
#1楼 jin.he 2014-04-23 17:57
ACTION Creating audio_device_module_java jar out/Debug/obj/gen/audio_device_module_java/audio_device_module_java.jar
/bin/sh: 1: Syntax error: Unterminated quoted string
make: *** [out/Debug/obj/gen/audio_device_module_java/audio_device_module_java.jar] Error 2
这个错误,请问是什么原因。
如果注释掉 ACTION Creating这些,可以过去,但是WebRTCDemo需要这些jar,所以WebRTCDemo编不出来。
请指教。
#2楼[楼主] Blacker 2014-04-24 18:49
试着新建一个WEBRTC目录,然后再试试。
#3楼 flowerguarder 2014-04-24 22:52
我编译通过了,然后装到手机上 ,一点击 start call 就有刺耳的声音 ,请你 您遇到过这个问题吗?如何处理的啊?
#4楼 asijack 2014-05-09 13:32
我也是,请问你解决了么
#5楼 asijack 2014-05-13 14:17
@flowerguarder
我也是这个问题 ,但是 你把 2台手机 拿远一点 就不会 出现 尖锐的声音 ,我也在学习这个 ,能加个QQ 一起学习么 397591922
#6楼[楼主] Blacker 2014-06-04 22:15
这个是正常的,实际使用中不会隔那么近还在搞视频聊天.造成这个问题的原因是因为他那个回声处理有问题,可以尝试着讲他那个扬声器关掉,不过他那个关扬声器的方法实际上是没有实现的,我改为自己去调用android代码帮他实现.
#7楼 tanmengwen 2014-08-15 18:35