webrtc随笔——API

转自:http://blog.csdn.net/heaven619/article/details/48495923,部分补充~


WebRTC有以下三个API:

 MediaStream 取得数据流,比如从摄像头和手机中获取。

RTCPeerConnection 音频和视频通话,设备加密和带宽管理。

RTCDataChannel 用于peerpeer之间传输音视频之外的一般数据

 

MediaStream (别名 getUserMedia)

一个 MediaStream 对象可以被扩展为表示一段或者是向远端节点发送的数据流或者是从远端节点接受的数据量,代表媒体数据流的同步。

每个MediaStream都有一个输入,这个输入可以理解成MediaStream生成的一个导航器。getUserMedia()可以传输视频元素或者是RTCPeerConnection。

getUserMedia()方法有三个参数:

一个 约束对象

一个成功的回调,如果成功会回传一个MediaStream

一个失败的回调,如果失败会回传一个error对象。

每个MediaStream都有一个标签,getVedeoTracks()和getAudioTracks()方法会回传一个MediaStreamTracks对象的数组。一个MediaStream可以包含零个或者多个MediaStreamTrack 对象. 例如,getVideoTracks()会返回一个MediaStreamTrack对象的数组, 这个数组代表从摄像头得到的数据流。每个MediaStreamTrack都有一个类型 ('video' 或 'audio'), 和一个标签(代表一个或多个频道的音频或视频)。

补充:约束用来设置 getUserMedia()和RTCPeerConnection addStream() 这些视频的流的分辨率。 约束的实现是为了制约例如视频高度和宽度的比例、帧率、和正反摄像头模式等等……getUserMedia约束在浏览器所有选项卡影响约束后完成后才设置。


RTCPeerConnection

RTCPeerConnection是是WebRTC的组件,用来解决数据流通信的稳定性和高效性。

RTCPeerConnection就是webrtc应用程序用来创建客户端连接和视频通讯的API.为了初始化这个过程 RTCPeerConnection有两个任务:

  1,确定本地媒体条件,如分辨率,编解码能力,这些需要在offeranswer中用到.

       2,取到应用程序所在机器的网络地址,即称作candidates.

在现在的世界里,WebRTC需要服务器,但是服务器配置非常简单,步骤如下:

1、用户找到对方并交换双信息,比如名字。

2、WebRTC客户端应用交换网络信息。

3、两个端交换多媒体数据信息。

4、WebRTC客户端遍历NAT网关和防火墙。

WebRTC需要四个类型的服务器端功能:

1、用户连接和通信

2、信号量

3、NAT/防火墙转发

4、如果通信失败再次发送


RTCDataChannel

像音频和视频一样,WebRTC同时也支持其它类型数据的实时通信。RTCDataChannel API提供低延时和高吞吐量的点对点地交换数据。


参考文献:

http://www.gbtags.com/gb/share/3909.htm

http://www.cnblogs.com/lingyunhu/p/4004528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值