web浏览器无插件播放实时音视频技术---方案选择(一)

    如今,很多网站进行观看直播视频时都需要下载插件,现介绍一种不需要下载插件就能直接在浏览器上播放实时音视频的方案

一、浏览器WebRTC支持

       WebRTC是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌在2010年收购Global IP Solutions公司而获得一项技术。该技术基于WHATWG协议,目的是通过浏览器提供简单的JavaScript就可以达到实时通讯(Real- Time Communications)能力。目前大部分WebRTC规范已经成型,稳定版中将包括:

1.  JSEP

    建立会话最关键的就是媒体的协商,WebRTC虽然没有指定具体的信令协议,但是媒体协商采用了SDP协议。JSEPJavaScript Session Establishment ProtocolJavaScript会话建立协议)是一个信令API,允许开发者构建更强大的应用程序以及增加在信令协议选择上的灵活性。谷歌还会提供一个JavaScript库以降低使用该API的复杂性。

2.  Topologies(拓扑)

    将支持多个独立的PeerConnections,每个PeerConnections将能够发送和接收多个独立的媒体来源。

3.  ICE / STUN / TURN

       ICESTUN是互联网上建立点对点连接的标准方法。Chrome目前的栈偏离了官方标准,谷歌称正在努力解决这个问题。该技术还将支持TURN服务,以便能够透过防火墙进行连接,这需要进行中继转发和封装。

4.  DTLS-SRTP

    在Chrome中使用WebRTC将被强制加密,在首个WebRTC稳定版本中,将采用DTLS-SRTP方式。

5.  VP8iSACiLBCG.711

    在Chrome中,将通过VP8提供视频编解码支持。在音频方面,将支持iSACiLBCG.711DTMF,默认为iSAC

6.  浏览器支持

    谷歌,IE8以上,火狐,SafariOperaUC360

二、方案

    基于上述WebRTC的相关特点,浏览器与外界进行媒体协商时一般采用SIP协议进行信令交互是比较合理的,大部分情况而言,外界的多媒体流需要经过相关的转化才能被浏览器处理。要想让WebRTCsip互通,要解决两个层面的问题:信令层和媒体层。两个网络使用的信令机制不同,所以要进行信令的转换,才能完成媒体的协商,建立会话。媒体层要完成编码的转换,以及rtp/srtp转换等功能。因此选用WebRTC2SIP(开源项目)作为媒体处理的网关,选用SIPML5(开源项目)作为浏览器客户端,选用SIP网关作为信令交互网关,本人一篇博客介绍了如何用Java实现SIP网关(http://blog.csdn.net/chenhande1990chenhan/article/details/71629608),外界多媒体设备或者客户端接入SIP网关进行信令交互和媒体协商,可以选用海康、大华等支持SIP协议的摄像头进行多媒体流的输入端,也可以选用Linphone移动客户端(网上下载)。架构图如下:

web浏览器无插件播放实时音视频技术---方案选择(一)_第1张图片

PS:后续将对整体环境的搭建、信令的交互、各个部分进行分析和业务扩展进行详细介绍,从而验证其可行性。


你可能感兴趣的:(音视频)