WebRtc-Freeswitch搭建视频通话导论.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简介 WebRTC 网页实时通信(Web Real-Time Communication),由google发布的一版开源项目,目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件。使用支持webrtc的浏览器提供的接口,可以实现对视频的采集、编码、显示、传输。目前WebRTC支持HTML5和JavaScript WebRTC架构图 Web开发者只关注”The web” 层,即调用浏览器提供的javascript接口;从图中可以看出WebRTC传输使用SRTP协议,NAT穿越使用的是ICE+STUN+TURN [ HYPERLINK /link?url=vrg4EfN1mi7n-RjXFt4_GrF6oCHp1-JzT6yGykS6mST1bVsrrIPEtwkxNlzgtN3F8Bp9F4w0DoQ0nuKJB1AQd_ 参考1] JsSIP 提供了一个兼容WebRTC的JS SIP库;本文中使用的是JsSIP的一个Demo作为视频通话的客户端。 Freeswitch Freeswitch是一个C\C++实现的开源的电话软交换平台,作为服务端在VOIP中应用比较广泛。Freeswitch从版本1.4.4完全支持Webrtc。本文中使用Freeswitch(版本1.4.18)作为视频通话的服务端,包含了SIP服务器、STUN服务器、视频转发服务器等。 本文实现场景 使用Freeswitch提供的默认账号,两个用户在不同的计算机上登录;通过拨号的方式双发可以进行视频通话。 安装 JsSIP JsSip 实现是嵌入在Html页面中,搭建一个页面服务器,然后把相关的文件拷贝到根目录下;使用浏览器访问即可。本文中使用IIS作为网页服务器,Firefox浏览器测试 从截图中可以看出,需要一个用户名和密码;Sip的URL和WS(WebSocket)URL Freeswitch 本文搭建的环境是在虚拟机上实现安装linux,版本是centos6; 安装过程保证能够连接外网,需要下载安装包 获取Freeswitch源码 git clone /stash/scm/fs/freeswitch.git 转到Freeswitch目录下 ./bootstrap.sh –j ./configure –C –prefix=/usr/local/freeswitch make make install 安装声音插件 make sounds-install make moh-install 注: 过程中需要的一些库,系统没有提供,导致编译失败;使用yum install的方法安装 可已通过modules.conf 配置那些模块一起编译;opus没有编译过,在此文件注释掉了 如果Freeswitch中的某个模块出现连接错误,可以clean后重新make试一下 修改配置 (1)修改vars.xml文件变量(黑色部分为添加的项) X-PRE-PROCESS cmd=set data=global_codec_prefs=PCMU,PCMA,GSM,H264,H263/ X-PRE-PROCESS cmd=setdata=outbound_codec_prefs=PCMU,PCMA,GSM,H264,H263/ (2) 修改配置文件conf/sip_profiles/interanl.xml, 打开 中去掉ws-binding 5066 的注释 (3)关闭linux的防火墙(如不关闭客户端可能会有访问拒绝错误) service iptables stop? 呼叫 Freeswitc默认设置了20个用户(用户名1000-1019) 密码:1234;使用默认用户测试 环境: ClientA: PC端使用虚拟摄像头播放一段视频,用户名1012 ClientB: 笔记本,使用摄像头采集实时视频 用户名1011 Freeswitch – Sip IP:44:5060 Freeswitch – WS URL 44:5066 ClientA和ClientB可以通过音视频通信,同时可以发送文字chat 流程分析 WebRTC 在WebRTC的实现过程中对于音视频数据的传输有两种方式,一、网页点对点,只有信令通过服务器,而音视频数据通过P2P的方式直接传输;二、音视频数据也通过服务器中转转。 网页点对点 WebRTC 实现了网页点对点交流。但,WebRTC 仍然需要服务器,作用: 1.交换客户端元数据协调通讯,即信令(Signaling)。 2.应对NATs(Network Address Translators) 和防火墙 让信令服务器和媒体服务器分开,只有信令交互通过服务器,而媒

您可能关注的文档

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档