您的位置:首页 > 其它

实时视频(直播,Linphone等)/语音通信研究

2017-07-19 22:44 405 查看
视频社交与语音社交???

实时视频(直播)/语音通信

VOIP; mina框架,发现很适合做即时通信后台

VoIP,SIP协议

研究实时语音通话,基于ilbc的编解码;ilbc的编解码压缩比率还是比较大的,大概在1/10至1/9之间。也就是说假如每秒20kb的语音数据,编码后就2kb/s,非常小,非常利于网络传输;

speex(http://www.speex.org)有回声消除模块

speex是一个c库(当然也有Java版本的,http://code.google.com/p/speexdroid/,但我还是建议使用c库,因为java版本的speex效率可能不是很高),因此我们需要用到jni。如果没有使用过jni的话,这也是一个学习的机会。可以参考sipdroid http://code.google.com/p/sipdroid/ 如果还是觉得麻烦的话可以参考这个开源项目 http://code.google.com/p/android-recorder/
建议用rtp实现语音传输jlibrtp库 http://sourceforge.net/projects/jlibrtp/?source=directory,这是一个java版本的实现。不过,这个库有丢包的问题,以及会抛库内的一些异常。由于我没有找到更好的RTP传输的库,所以只好使用这个库了。喜欢研究的同学也可以研究一下Sipdroid的RTP实现
1、xmpp比较重型,如果用于移动客户端开发,会比较占资源,且网络不稳定时表现比较差,但比较成熟,国内资料相对较多,而且有一个很成熟的开源的解决方案了,那就是Openfire,自己百度下,这方面的资料挺充足的。

2、mqtt比较轻型,适用于客户端开发,且资源占用没那么多,这个东西是ibm用来做医疗设备监控的,可以说是为嵌入式系统准备的。但是国内的资料很少,要做好被英语蹂躏的准备。

音视频即时通讯(Android)- http://download.csdn.net/detail/fanxiaojun66/4565705 Android实现实时视频通话或监控方案- http://blog.csdn.net/ericfantastic/article/details/50234239
-------------------------------------

Linphone官网- http://www.linphone.org/technical-corner/linphone/downloads
linphone-android- git://git.linphone.org/linphone-android.git

  Linphone是一款基于标准SIP的开源VoIP电话工具,是一款遵循GPL的开源的网络视频电话系统。它能够让你通过internet来查询朋友的IP,并通过IP给他打电话的软件,功能非常强大,既支持桌面系统,也支持移动终端,还能支持WEB浏览器。使用linphone,我们可以在互联网上随意的通信,通过语音、视频、即时文本消息。

LinPhone的核心功能:

符合RFC3261协议的SIP user agent

SIP/UDP, SIP/TCP, SIP/TLS

支持IPv6

Digest authentication

支持多个电话同时通话的呼叫管理功能:hold on with music, resume, transfer…

多种SIP代理支持:registrar, proxies, outbound proxies

即时文本消息的送达通知

SIMPLE标准的对等(P2P)模式

DTMF (telephone tones)支持 SIP INFO or RFC2833

音频Codec支持: speex (narrow band and wideband), G711 (ulaw,alaw), GSM, G722. 通过插件的方式也支持 AMR-NB, SILK, G729 and iLBC.

视频Codec支持:VP8 (WebM), H263, H263-1998, MPEG4, theora and H264 (thanks to a plugin based on x264), 支持的分辨率从QCIF(176x144) 到 SVGA(800x600) 提供足够的CPU Power以及保证网络带宽。

音频会议

支持SRTP和zRTP(音视频加密)

ICE支持(RFC5246)允许无relay server的对等(P2P)音视频连接

支持任何一款Linux系统下的V4L和V4L2的WebCam以及Windows的Directshow

声学回音消除使用伟大的回音消除器libspeexdsp(SPEEX,当然不仅使用SPEEX Codec)

高效的带宽管理机制:带宽限制的信号使用SDP(b=AS…),从而在音频和视频比特率符合用户的网络能力建立的会话。

低带宽模式:audio calls over EDGE

自适应音频和视频码率算法适应可用的网络带宽

Android平台的P2P语音传输技术

Victor Lazzarini,封装了一套 OpenSL ES 的 API

  一个完整的语音数据流图如下所示,从采集到远端播放,需要经过多项处理,包括:回声消除、去噪、编码、网络传输、解码等等,

VOIP通话,SIP通话。BroadVoice (音频编码的),ffmpeg(音视频编解码的)。

Android 开发 voip/sip 程序- http://blog.csdn.net/huang_rong12/article/details/51252329
在android 2.3以后提供的api中是用sip表示voip相关接口的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: