webrtc doubango linphone

Android开源移动端即时通讯比较:SipDroid、IMSDroid、CSipsimple、Linphone和WebRTC 通过上述比较和代码示例,我们可以看到这五个开源解决方案在Android移动端IM领域各具特点。SipDroid和CSipsimple主要基于SIP协议,IMSDroid基于IMS协议,而Linphone和WebRTC提供了更广泛的功能和灵活性。开发人员可以根据自己的需求选择合适的解决方案据自己的需求选择合适的解决方案,并根据示例代码进行开发和定制化。本文将比较并介绍SipDroid、IMSDroid、CSipsimple、Linphone和WebRTC这五个开源解决方案,它们各自的特点及其对应的源代码。 阅读详情

1、doubango官网:http://www.doubango.org/

2、doubango是一个开源的VOIP基础平台, 并能用于嵌入式和桌面系统的开源框架,该框架使用ANSCI-C编写,具有很好的可移植性。

3、根据doubango的框架、特点与linphone的对比,显然doubango更适合做视频会议系统和视频会议终端的选择,理由?根据linphone的rtp会话管理可见只适合2方进行视频通话,如要支持多方(>3)视频会议,需MCU配合server进行音视频转发和mix,linphone对于nat穿透的方案只有stun和转发,linphone适合更适合当做一款网络电话终端供普通网民当做视频电话用。

4、doubango包含了 SIP/IMS (VoIP) 的客户端、服务器端的组件。

Client-side components
sipML5HTML5 SIP client using webrtc2sip Gateway.
Enjoy our live demo »
clik2dialA complete Click-to-Call Solution using webrtc2sip Gateway and sipML5.
Enjoy our live demo »
webrtc4allWebRTC extension for Safari, Opera, Firefox and IE.
Boghe
  • SIP video client for Windows Phone 8 and Surface Pro
  • IMS/RCS Client for Windows XP, Vista, 7 and 8
iDoubsSIP/IMS VideoPhone for iOS (iPhone, iPad and iPod Touch) and MAC OS X.
IMSDroidSIP/IMS Client for Android.
libSigCompSignaling Compression (SigComp) library
Server-side components
webrtc2sipSmart SIP and Media Gateway to connect WebRTC endpoints to any SIP-legacy network.
Enjoy our live demo »
telepresenceOpen Source TelePresence system with a smart and powerful MCU. 
Enjoy our live demo »
Flash2IMSAdobe® Flash® to SIP/IMS Gateway.

5、doubango的主要特点

 Powerful MCU (Multipoint Control Unit) for audio and video mixing

 Stereoscopic (spatial) 3D and stereophonic audio
 Full (1080p) and Ultra (2160p) HD video up to 120fps
 Conference recording to a file (containers: *.mp4, *.avi, *.mkv or *.webm)
 Smart adaptive audio and video bandwidth management
 Congestion control mechanism
 SIP registrar
 4 SIP transports (WebSocket, TCP, TLS and UDP)
 SA (direct connection to SIP clients) and AS (behind a server, such as Asterisk, reSIProcate,
openSIPS, Kamailio…) modes
 Support for any WebRTC-capable browser (WebRTC demo client at http://conf-call.org/)
 Mixing different audio and video codecs on a single bridge (h264, vp8, h263, mp4v-es,
theora, opus, g711, speex, g722, gsm, g729, amr, ilbc)
 Protecting a bridge with PIN code

 Unlimited number of bridges and participants

 Connecting any SIP endpoint
 Easy interconnection with PSTN
 NAT traversal (Symmetric RTP, RTCP-MUX, ICE, STUN and TURN)
 RTCP Feedbacks (NACK, PLI, FIR, TMMBN, REMB…) for better video experience
 Secure signalling (WSS, TLS) and media (SDES-SRTP and DTLS-SRTP)
 Continuous presence
 Smart algorithm to detect speakers and listeners
 Different video patterns/layouts
 Multiple operating systems (Linux, OS X, Windows…)
 100% open source and free (no locked features)
 Full documentation
 …and many others

    6、doubango架构图


说明:

tinySAK (Swiss Army Knife): Utilities functions (SHA-1, MD5, HMAC, String, List, Timers, Thread, Mutex, Semaphore, ...)
tinyNET: Networking (DNS, DHCPv4/v6, STUN, TURN, ICE, ENUM, Sockets, ...)
tinyHTTP: HTTP stack (CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE, ...)
tinyXCAP: XCAP stack (AUID manager, URL generator) without XML parser (See Java code for parsers)
tinyIPSec: IPSec SA manager. Useless for Android but you MUST have it
tinySMS: SMS over IP (SM-TL, SM-RL) for IMS/LTE networks
tinySIGCOMP: Signaling Compression
tinySDP: SDP protocol
tinyRTP: RTP/RTCP protocols
tinyMSRP: MSRP protocol (Chat and File Transfer)
tinyMEDIA: Media plugins manager (Audio, video, Codecs, sessions, MSRP, QoS, ...)
tinyDAV(Doubango Audio Video): Media plugins implementation
tinySIP: SIP/IMS stack








最新要做一个移动端视频通话软件,大致看了下现有的开源软件

一) sipdroid
1)架构
sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server.
2)优缺点:
NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实现符合ICE标准的客户端,音频方面没看到AEC等技术,视频方面还不是太完善,目前只看到调用的是系统自带的MediaRecorder,并没有自己的第三方音视频编解码库。
3)实际测试:
基于sipdroid架构的话,我们要做的工作会比较多,(ICE支持,添加回音消除,NetEQ等gips音频技术,添加视频硬件编解码codec.),所以就不做测试了。

二) imsdroid
1)架构:
基于doubango(Doubango 是一个基于3GPP IMS/RCS 并能用于嵌入式和桌面系统的开源框架。该框架使用ANSCI-C编写,具有很好的可移植性。并且已经被设计成非常轻便且能有效的工作在低内存和低处理能力的嵌入式系统上。苹果系统上的idoubs功能就是基于此框架编写) .音视频编码格式大部分都支持(H264(video),VP8(video),iLBC(audio),PCMA,PCMU,G722,G729)。NAT支持ICE(stun+turn)
2)效果实测
测试环境:公司局域网内两台机器互通,服务器走外网sip2sip
音频质量可以,但是AEC打开了还是有点回音(应该可以修复)。视频马赛克比较严重,延迟1秒左右。
3)优缺点
imsdroid目前来说还是算比较全面的,包括音视频编解码,传输(RTSP,ICE),音频处理技术等都有涉猎。doubango使用了webrtc的AEC技术,但是其调用webrtc部分没有开源,是用的编译出来的webrtc的库。如果要改善音频的话不太方便,Demo的音频效果可以,视频效果还是不太理想。

三)csipsimple
1)sip协议栈用的是pjsip,音视频编解码用到的第三方库有ffmpeg(video),silk(audio),webrtc.默认使用了webrtc的回声算法。支持ICE协议。
2)优缺点:
csipsimple架构比较清晰,sip协议由C实现,java通过JNI调用,SIP协议这一块会比较高效。其VOIP各个功能也都具备,包括NAT传输,音视频编解码。并且该项目跟进新技术比较快,官方活跃程度也比较高。如果做二次开发可以推荐这个。
3)实测效果
测试环境:公司局域网内两台机器互通,服务器走外网sip2sip
音频质量可以,无明显回音,视频需要下插件,马赛克比imsdroid更严重。

四)Linphone

这个是老牌的sip,支持平台广泛 windows, mac,ios,android,linux,技术会比较成熟。但是据玩过的同事说linphone在Android上的bug有点多,由于其代码实在庞大,所以我暂时放弃考虑Linphone.不过如果谁有跨平台的需要,可以考虑Linphone或者imsdroid和下面的webrtc.。。。好像现在开源软件都跨平台了。。。

五) webrtc

imsdroid,csipsimple,linphone都想法设法调用webrtc的音频技术,本人也测试过Android端的webrtc内网视频通话,效果比较满意。但是要把webrtc做成一个移动端的IM软件的话还有一些路要走,不过webrtc基本技术都已经有了,包括p2p传输,音视频codec,音频处理技术。不过其因为目前仅支持VP8的视频编码格式(QQ也是)想做高清视频通话的要注意了。VP8在移动端的硬件编解码支持的平台没几个(RK可以支持VP8硬件编解码)。不过webrtc代码里看到可以使用外部codec,这个还是有希望调到H264的。

总结:sipdroid比较轻量级,着重基于java开发(音频codec除外),由于其音视频编码以及P2P传输这一块略显不足,不太好做定制化开发和优化。imsdroid,遗憾就是直接调用webrtc的库,而最近webrtc更新的比较频繁,开发比较活跃。如果要自己在imsdroid上更新webrtc担心兼容性问题,希望imsdroid可以直接把需要的webrtc相关源码包进去。csipsimple的话,都是围绕pjsip的,webrtc等都是以pjsip插件形式扩充的,类似gstreamer. webrtc如果有技术实力的开发公司个人还是觉得可以选择这个来做,一个是google的原因,一个是其视频通话相关关键技术都比较成熟的原因。个人觉得如果能做出来,效果会不错的。





linphone安装和使用教程


刚刚搞通linphone,终于能连上sip.linphone.org了,中间过程太心酸了。

一开始下载了linphone,申请了免费了linphone帐号,却不会填帐号密码,以致一直连不上服务器。

后来有开始在自己电脑上装SIP服务器,装的是opensips,又折腾了2天,服务器也没装成功(毅种循环)。

后来google到了windows上面的sip server 2008 + x-lite的挺简单的(带图文教程),所以照着做了一下,也可以连上自己的服务器。


但是用这种在同一个子网的方式连接方式,有时会有各种错误,比如我用教育网的时候就连接不上,而且现在我在用的时候,x-lite可以

注册上服务器,但是两台机子通讯的时候,就显示 bad gateway 错误(还不知道什么原因,以后再找)。后来用linphone也连上sip server 2008。

就是在这个时候才知道了要怎么填opensips帐号密码的。


讲了那么多废话,现在开始进入正题。

一开始我也是下载源代码安装的。后来因为各种不能用,被打击得不行,以为自己没编译好。后来才知道原来是一些没有看到的东西。

然后我用synaptic把linphone全删了,直接用sudo apt-get 安装。

sudo apt-get install linphone-nox            #安装linphone,没有图形化界面,用linphone就有。


然后就直接执行   $   linphonec


我错误的原因就是因为SIP的端口5060被占用了,一直没有弄成功。

注意Warning哪句话,Warning: UDP port 5060 seems already in use ! Cannot initialize Ready(原谅我不会画重点)。

这样的话是注册不到服务器的(就是这个害我搞了那么久)。

解决办法是修改端口,不要用这个端口,改端口就可以了。配置文件和一般配置文件一样,在用户的家目录。

可以执行     vim ~/.linphonerc

把sip_port=5060改成其他端口比如5061。

这个时候再执行就没问题了。


这个时候就可以注册进服务器了,注册帐号可以上linphone官网注册。

我这里显示注册成功是因为之前注册过,信息写到.linphonerc里面了,所以会自动登录(也可以改里面的注册信息,自动登录)。

但是第一次登录时,需要注册。

比如我的帐号为 tao@sip.linphone.org 密码为ws123123(注意前面要加sip:)。


然后就注册成功了,这个时候就可以打电话了。


然后就可以用了。

比如 call sip:fxuk@sip.linphone.org

还有很多命令,自己用help查吧。

图形界面的设置之后再传上来吧。




swift-基于webRTC的音视频通话服务端采用开源项目SkyRTC 基于webRTC的音视频通话,服务端采用开源项目SkyRTC,未实现stunserver和turnserver服务器,因此NAT环境下不可使用。 立即下载

相关推荐

基于SIP和webrtc的音视频通话软件(含在线状态)

基于SIP和webrtc的音视频通话软件(含在线状态) SIP WEBRTC 在线状态 音频 视频 h264 VP8 iLBC 高保真 resiprocate图像增强 图像去噪 防止花屏 噪音抑制 自动增益 回音消除 静音

Android webrtc / Linphone 音视频

webrtc linphone

QG 565

ubuntu opensips服务器搭建详细安装文档--小白都能学会

ubuntu opensips服务器搭建详细安装文档--小白都能学会 每部都有截图

实时音视频技术(WebRTC/voip/Linphone/P2P)

  视频社交与语音社交???    实时视频(直播)/语音通信。多媒体技术团队在音视频编解码、前后处理、传输等技术;   在语音社交、视频社交、游戏语音和互动直播等领域,关于在语音视频实时传输中实现低延迟这个议题,已经有不少的文章提出各种方案。绝大部分方案的思路都是“优化”,比如说,优化编码、推流、传输和播放等各个环节。要在实时语音视频传输中获得超低延迟,是不能单靠挖空心思去“优化”的,而是要依靠...

ShareUs的专栏 1万+

RapidScada在windows下的安装(详细)

1.下载地址:RapidScada官网 2.版本说明 有Linux版本和Windows版本,看自己的需求下载,推荐下载最新稳定版本。 3.系统要求 4.安装前的准备(windows10) 首先打开Windows功能: 先关闭 Microsoft .NET Framework3.5的 Windows Communication Foundation 子组件。如下图: Microsoft .NET Framework配置按下图勾选: iis安装的功能: 5.安装 解压..

m0_51275803的博客 4262

嵌入式设备的switch 以及PHY 芯片调试和选型 (1)

越来越的设备需要多网口的需求,于是需求搭配一个交换机实现网口的扩展。但是很多软件或是硬件工程师在实际选型和应用中经常会遇到一些问题。这里总结一下,避免大家采坑。 几个概念: MAC(介质访问控制),可以理解成数据链路层即可 PHY(物理性),简单理解层转成物理层的连接组件即可 控制接口(MDC/DMIO,I2C,...

睿峰的博客 1万+

通过FreeSWITCH,Linphone呼叫WebRTC的视频不通问题解决

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33969116的博客 2651

手把手教你用示波器测试DDR5 DRAM信号完整性(附眼图分析技巧)

本文详细介绍了如何使用示波器测试DDR5 DRAM信号完整性,包括眼图分析技巧。从DDR5的核心挑战、测试设备选型到实测工作流程,提供了全面的指导。特别强调了DFE功能验证和系统级协同测试,帮助工程师解决信号完整性问题,提升测试效率。

g2h3i4j5的博客 1152

用CentOS 7.6.1810 + Opensips 2.4.11 + RtpEngine 7.5.12.1实现Linphone终端和WebRTC终端互通(做可视对讲、音视频通话)

用CentOS 7.6.1810 + Opensips 2.4.11 + RtpEngine 7.5.12.1实现Linphone终端和WebRTC终端互通(做可视对讲、音视频通话)

TechingEd 1433

030、自动白平衡AWB实战:灰度世界、完美反射与色温估计的工程实现与局限

本文深入探讨了自动白平衡(AWB)算法在工程实践中的实现与局限性。作者结合实际项目经验,分析了灰度世界算法、完美反射算法和色温估计三种主流方法的优缺点和适用场景,并分享了调试过程中的关键技巧和常见陷阱。文章指出,纯色背景、多光源环境等特殊场景容易导致算法失效,需要通过混合策略和场景检测来优化。作者强调AWB调试需要大量实际场景测试,建议保留手动调节功能,并针对不同硬件配置进行参数标定。最后提出,AWB优化是一个持续迭代的过程,需要工程化的测试方法和数据处理能力。

zzfmlxs的博客 281

王者荣耀AI绝悟如何选英雄?

王者荣耀AI绝悟如何选英雄? 【抢射手?抢中单位?「绝悟」在打王者荣耀时是如何选英雄的?】 腾讯 AI Lab 开发的 AI 智能体「绝悟」已让王者峡谷不再只是人类召唤师的竞技场,而且这个 AI 战队在上月底进化成了「完全体」。在一局完整的比赛中,英雄选择阶段是至关重要的(比如五射手或五法师阵容会有官方劝退)。 近日,腾讯 AI Lab 和上海交通大学发布的一篇论文介绍了绝悟的英雄选择策略:Ju...

不断学习,不断进步,提高自己 1万+

webrtc doubango linphone

1、doubango官网:http://www.doubango.org/ 2、doubango是一个开源的VOIP基础平台,并能用于嵌入式和桌面系统的开源框架,该框架使用ANSCI-C编写,具有很好的可移植性。 3、根据doubango的框架、特点与linphone的对比,显然doubango更适合做视频会议系统和视频会议终端的选择,理由?根据linphone的rtp会话管理可见只适合2方进...

SurpassLi的专栏 55

【代码审计】专栏文章汇总

代码审计基础 代码审计基础 源代码审计思路(上) 源代码审计思路(下) 常见漏洞审计 认证会话管理(上) 认证会话管理(下) 输入输出验证 授权管理审计 业务安全审计 第三方组件审计

武天旭的博客 4845

视频通话

就是视频通话 需要哪些技术,需要哪些第三方的东西嘛 当然系统的能实现最好看linphone, pjsip, csipsample,webrtc ,doubango.主流采用sip作为信令,当然也有xmpp的。前者比较流行吧,后者做即时通讯比较不错。 你要搞视频通话,看linphone 就好了,代码完整,接口比较全。都给你封装好了。直接用就行。pjsip 视频搞起来有点麻烦,你得自己搞。web...

weixin_30646505的博客 267

数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践

Python实现模糊AHP(Fuzzy AHP)

全栈川川 1539

广东省低应变题库

11.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,采用低应变法对混凝土预制桩进行检测时,地基基础设计等级为甲级的桩基工程抽检桩数不应少于总桩数的30%,其余桩基工程抽检桩数不应少于总桩数的20%,且不得少于10根;16.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,当对某桩的桩身完整性判定为III类时,可认为该桩不满足验收条件,不用进一步确定该桩桩身缺陷对桩身结构承载力的影响程度。2.地基基础检测所用计量器具均应在检定(校准、验证)的有效期内,性能符合相关技术要求。

ZShy001238的博客 318

Installing webrtc2sip on Ubuntu 12.04

http://blog.youkuaiyun.com/zyw1987926/article/details/26695669

孙建军的博客 1684

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IM比较SipDroid/IMSDroid/CSipsimple/Linphone/Webrtc

一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server.2)优缺点:NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实现符合ICE标准的客户端,音频方面没看到AEC等技术,视频...

weixin_30745553的博客 607

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

移动端视频通话软件----sip----开源软件----阿冬专栏

最新要做一个移动端视频通话软件,大致看了下现有的开源软件 一) sipdroid 1)架构 sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server. 2)优缺点: NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实

阿冬专栏 5013

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

移动端视频通话软件

一) sipdroid 1)架构 sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server. 2)优缺点: NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实现符合ICE标准的客户端,音频方面没看到AEC等技术,视频方

hyb1234hi的专栏 999

NGN-android开发中的知识点之imsdroid(三)

IM比较SipDroid/IMSDroid/CSipsimple/Linphone/Webrtc 一) sipdroid 1)架构 sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server. 2)优缺点: NAT方面

张小贝的博客 635

linphone安装和使用教程

刚刚搞通linphone,终于能连上sip.linphone.org了,中间过程太心酸了。 一开始下载了linphone,申请了免费了linphone帐号,却不会填帐号密码,以致一直连不上服务器。 后来有开始在自己电脑上装SIP服务器,装的是opensips,又折腾了2天,服务器也没装成功(毅种循环)。 后来google到了windows上面的sip server 2008 + x-lite

5万+

如何实现WebRTC协议与SIP协议互通

如何实现WebRTC协议与SIP协议互通

m0_60259116的博客 1370
上一篇: Think in AngularJS:对比jQuery和AngularJS的不同思维模式
下一篇: live555
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值