OA采用浏览器直接进行视频通讯

现在浏览器已带有音视频引擎(WebRTC),只要开发一个应用层就可进行高水平的视频通讯。虽然互联网上已经有许多成熟的视频通讯工具,但某些场景(例如:单位内部网络)使用浏览器直接进行视频通讯仍有用武之地。为此我们仅仅使用浏览器API,为OA添加了一个简单实用的视频通讯功能。

一、WebRTC 正式成为浏览器标准

WebRTC是一种浏览器之间实时音视频通信的技术,通过定义一系列API,支持浏览器或移动设备进行实时双向的音视频通信。2016年1月28日W3C和IETF正式将WebRTC确定为浏览器的一个标准,目前主流的浏览器chrome、Edge、Safari、Firefox等均已支持该标准。

WebRTC的起源可以追溯到2009年,‌由GIPS公司提出并开发。GIPS公司是一家从事音视频实时互动引擎开发的公司,其在音视频编解码,网络传输方面有多年的技术积累和非常大的优势‌。2011 年Google花了 6000万美金收购 GIPS 公司,并将其技术重新组织,开源成为现在的 WebRTC。

WebRTC标准为实时音视频通信提供了技术基础,无需安装额外插件或软件。通过一系列关键技术和协议,支持点对点连接和NAT穿透,提供端到端加密和跨平台兼容性,能够适应不同网络条件,确保通信的稳定性和流畅性。‌

二、OA视频通讯功能的实现

我们应用WebRTC技术为OA添加了一个简单的视频通讯,目前实现功能有:一对一视频通话,多人视频通话(支持4人),屏幕共享等。视频通讯功能支持手机端,手机APP和手机浏览器均可使用该功能。

WebRTC要求https,运行OA的Tomcat需要配置为https。OA是内部应用,如果不想购买SSL证书,也可以自己创建一个自签名的SSL证书,配置到Tomcat中即可。只有以https登录OA系统时才能看到“视频”按钮,如果http登录OA系统“视频”按钮会被屏蔽掉。

我们的视频通讯功能采用Mesh(网状)通讯,就是客户端之间直接连接传输音视频数据,对OA服务器的性能和带宽没有任何额外要求。

下图是通讯示意图,A B C D代表4个视频通讯客户端,每个客户端都与其它客户端直接连接传输数据。图中有一个Stun/Turn服务器用于帮助客户端实现NAT穿越和绕过防火墙,并在客户端无法直接连接时提供数据中继。单纯内网使用时无须Stun/Turn,互联网使用才需要Stun/Turn。如果自己部署Stun/Turn服务器,可使用Google开源的coturn,安装部署很简单。也可以使用公共Stun/Turn服务器。
在这里插入图片描述

三、相关问题

浏览器的支持:webRTC由google提供(开源),现各主流浏览器都内置了该技术,已成HTML5浏览器标准之一,浏览器无须安装任何插件。但各浏览器支持程度不完全一致,经测试chrome、Edge、Safari支持良好。Firefox有点不一样:1对1视频没问题,多人视频经常有人连不通,并且“重新连接”不起作用;1对1视频时,画中画(显示自己)按钮无效(Firefox没有提供api),只能从右键菜单进入。
如果视频通话有问题,请查看以下相关设置:
windows系统的“隐私”设置:允许应用访问你的摄像头(相机),允许应用访问你的麦克风。
浏览器(例如chrome)“隐私与安全”设置:网站设置–>摄像头–>网站可以请求使用您的摄像头,网站设置–>麦克风–>网站可以请求使用您的麦克风。
Safari浏览器每次都会弹出权限确认提示,可进入“偏好”,设置某网站使用麦克风和摄像头的权限,这样就不会每次提示了。
啸声问题:如果视频通话中的两台电脑距离很近,会产生电磁啸声,这是因为它们的声音输出与输入混合了。
重新连接:由于网络环境的复杂性,多人通话时,有可能出现某人的视频没有传到对方;这时可以选择该人员(点击窗口上面的人员姓名),然后再点击下面的“重新连接”按钮。
结语:

WebRTC已成HTML5浏览器标准,必将成为音视频主流技术之一。这次开发OA视频通讯功能,只是对该技术的初步尝试和应用,我们将继续理解和跟踪该技术。

可从 https://8.133.233.222:8453/taioa8 登录“OA在线试用”来体验该功能。因为上面的SSL证书是自签名证书,浏览器会提示“不安全”,不用管它继续访问即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值