webRTC例子之stepx和webrtc.io

本文介绍了两个基于Node.js的WebRTC应用案例:stepx和webrtc.io。stepx为官方推荐示例,实现两个设备间视频互通;webrtc.io则提供更简便的API,简化实时音视频通信开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两个例子都是运行在node.js上的。


1,stepx

stepx是webrtc官网推荐的一个例子,这个例子最终的效果是两个带摄像头的设备通过chrome浏览器可以互发各自摄像头采集的图片。这个例子的webrtc接口调用时序和下面这个流程图展示的是一样的,在stepx源码基础上稍加修改就能实现实时视频。

这个例子的信令交互用的socket.io。

时序:

假设第一个进入房间的是caller,之后进入的是callee。

1,caller进入房间后调用getUserMedia初始化自己的MediaStream然后等待;

2,callee进入房间后调用getUserMedia初始化自己的MediaStream然后等待;

3,caller得知callee进入房间后,调用RTCPeerConnection创建通道,向callee发起offer(带有自己MediaStream信息)

4,callee收到offer后回复preanswer(此时callee的MediaStream初始化还未完成,带有自己MediaStream信息

5,callee的MediaStream初始化完成后,回复answer(带有自己video和audio信息

6,通道建成双方开始通信

(获取MediaStream信息,需要用户同意,chrome 浏览器上会弹提示~

https://bitbucket.org/webrtc/codelab


webrtc浏览器之间建立联系的流程图:

http://w3c.github.io/webrtc-pc/#call-flow-browser-to-browser


2,webrtc.io

webrtc.io是一个实现了webrtc的nodejs包,只需添加简单的客户端和服务器代码就能实现实时音视频通信,其中信令交互用的websocket。

时序:

假设第一个进入房间的是caller,之后进入的是callee。

1,caller进入房间后调用getUserMedia初始化MediaStream然后等待;

2,callee进入房间后调用getUserMedia初始化自己的MediaStream,调用RTCPeerConnection创建通道,初始化成功后向caller发起offer(带有自己MediaStream信息)

3,caller收到offer,回复answer(带有自己MediaStream信息)

4,通道建成双方开始通信


https://github.com/webRTC-io/webRTC.io


总结:显而易见,webrtc.io中这个时序简洁许多,谷歌webrtc项目中的appRTCDemo的时序和这个差不多。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值