实时视频(直播,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相关接口的。
实时视频(直播)/语音通信
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相关接口的。
相关文章推荐
- 三网融合情况下,实时语音通信技术的研究
- 直播新红海,狼人杀火爆背后的实时语音视频技术 | 深度
- 基于linphone的视频语音模块的设计
- 三网融合情况下,实时语音通信技术的研究
- 三网融合情况下,实时语音通信技术的研究
- 实时视频在网页直播--windows下编译librtmp、rtmpdump
- 从linphone_address_new研究linphone
- 实时语音通信的实现
- 屏幕录制H.264视频,AAC音频,MP4复用,LibRTMP实时直播
- 腾创网络视频语音直播系统
- flex4+fms3.5+cs4开发实时音视频直播及点播详解
- 蓝背抠像 绿背抠像 算法,实时视频抠像算法 视频直播抠像
- 实时视频通信技术调研
- 视频通信与直播方面的技术调研
- 音视频通讯 linphone源码学习与分析
- 直播新红海,狼人杀火爆背后的语音视频技术
- 分享:企业内部通信 〖局域网QQ〗Bing(必应)1.0 正式发布,包括:聊天、视频、语音、电话、截屏、涂鸦、文件传输 等
- 实时语音视频SDK使用FEC和ARQ实现超低延迟
- 通过WebRTC实现实时视频通信(一)
- linphone-linphone视频时退到后台如何返回到视频界面