首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

前端音视频WebRTC实时通讯的核心

还没有看过的同学请移步: 前端音视频的那些名词 前端音视频之WebRTC初探 RTCPeerConnection RTCPeerConnection 类是在浏览器下使用 WebRTC 实现实时互动音视频系统中最核心的类...开发的话,你会更容易理解 RTCPeerConnection,它其实就是一个加强版本的 socket。...不过今天我们为了单纯的搞清楚 RTCPeerConnection,先不考虑开发架设信令服务器的问题,简单点,我们这次尝试在同一个页面中模拟两端进行音视频的互通。...相关 API RTCPeerConnection 接口代表一个由本地计算机到远端的 WebRTC 连接。该接口提供了创建、保持、监控、关闭连接的方法的实现。...WebRTC 建立连接步骤 1.为连接的两端创建一个 RTCPeerConnection 对象,并且给 RTCPeerConnection 对象添加本地流。

2.5K20

【WebRTC】WebRTC学习总结

RTCPeerConnection:核心对象,每一个连接对象都需要新建该对象 SDP(Session Description Protocol,会话描述协议):包含建立连接的一些必要信息,比如IP地址等...首先发起方获取视频流,如果成功,则新建「RTCPeerConnection对象」,然后创建offer,并发送给应答方。...addStream方法将getUserMedia方法中获取的流(stream)添加到RTCPeerConnection对象中,以进行传输 onaddStream事件用来监听通道中新加入的流,通过e.stream...应答方收到发起方发送的ICE数据时,调用RTCPeerConnection对象的addIceCandidate方法。...ondatachannel事件会通知RTCPeerConnection对象,RTCDataChannel对象本身在开启、关闭、发生错误或者接收到消息时会触发对应的事件。

3.5K10

WebRTC 教程(2)

附上教程(1):WebRTC 教程(1) 目录 WebRTC API getUserMedia RTCPeerConnection Session Description Protocal(SDP) SDP...错误/异常处理‘’ 接着讲者展示了一些 getUserMedia 可能返回的错误及异常处理: RTCPeerConnection RTCPeerConnection 代表了两台计算机之间的端到端连接,...RTCPeerConnection 结构 在 WebRTC 中可以使用 RTCPeerConnection()构造函数,来获取一个端到端间最新建立的 RTC 连接。...RTCPeerConnection 概览 接着讲者展示了 RTCPeerConnection 的具体模式: 图中可以看到 RTCPeerConnection 掌管了端到端连接的本地和远程流,以及负责控制...RTCPeerConnection 类包含一个 ICE Agent,ICE Agent 可以获取到本地 IP 和端口,并可以完成两端之间的连接性检查,此外还可以保持连接存活。

1.3K10

webRTC 初探

可以略过 webRTC是客户端对客户端的单对单实时通信,但是还是需要服务器,就好比一个婚介所的作用 下面我们通过socket.io作为服务器端实现简单的聊天功能 实现步骤 发起方向服务器发出通知并初始化RTCPeerConnection...服务器接收到通知通知接收并初始化RTCPeerConnection 双方都监听onicecandidate事件,并在回调里面把event.candidate上传到服务器 双发都监听ondatachannel...事件,并在回调里面给event.channel监听onmessage事件 发起方调用createOffer方法,并在这个方法的回调中给自己的RTCPeerConnection实例设置setLocalDescription...,并向服务器发送自己的Description 接收方在服务器推送给自己的消息里面把5中的Description设置为自己的RTCPeerConnection实例的RemoteDescription,并调用...实例中,连接的另外一方监听onaddstream事件,获取视频流,OK 多人会话的话,同一个RTCPeerConnection实例是不能够多人会话的。

1.8K20

WebRTC学习笔记——建立连接

主要JavaScript API MediaStream 音视频流对象 RTCPeerConnection 端对端音视频连接对象 RTCDataChannel 端对端数据通道对象 适用设备 Firefox...我们需要知道对方浏览器的网络地址才能连接到它,需要获取到对方的IP地址和端口号 2.我们需要对对方支持的音频和视频编解码器等电脑软硬件信息有所了解 当我们互相拿到了对方的地址和电脑软硬件信息后,就可以通过RTCPeerConnection...navigator.getUserMedia; } function hasRTCPeerConnection() { window.RTCPeerConnection = window.RTCPeerConnection...window.RTCPeerConnection; } 2.可以通过配置自己的STUN服务器地址,或者不写配置使用浏览器默认的STUN服务器地址,来创建两个RTCPeerConnection对象来模拟连接...(configuration); otherConnection = new RTCPeerConnection(configuration); 3.通信双方交换ICE候选路径,也就是通过ICE

77110

鹅厂原创 | React性能探索 --- 避免不必要渲染

主要JavaScript API MediaStream 音视频流对象 RTCPeerConnection 端对端音视频连接对象 RTCDataChannel 端对端数据通道对象 适用设备 Firefox...我们需要对对方支持的音频和视频编解码器等电脑软硬件信息有所了解 当我们互相拿到了对方的地址和电脑软硬件信息后,就可以通过RTCPeerConnection对象来建立连接了。...navigator.getUserMedia; }function hasRTCPeerConnection() {    window.RTCPeerConnection = window.RTCPeerConnection...window.RTCPeerConnection; } 2.可以通过配置自己的STUN服务器地址,或者不写配置使用浏览器默认的STUN服务器地址,来创建两个RTCPeerConnection对象来模拟连接...(configuration);    otherConnection = new RTCPeerConnection(configuration); 3.通信双方交换ICE候选路径,也就是通过ICE

42230

WebRTC学习笔记——建立连接

主要JavaScript API MediaStream 音视频流对象 RTCPeerConnection 端对端音视频连接对象 RTCDataChannel 端对端数据通道对象 适用设备 Firefox...我们需要知道对方浏览器的网络地址才能连接到它,需要获取到对方的IP地址和端口号 2.我们需要对对方支持的音频和视频编解码器等电脑软硬件信息有所了解 当我们互相拿到了对方的地址和电脑软硬件信息后,就可以通过RTCPeerConnection...navigator.getUserMedia; } function hasRTCPeerConnection() { window.RTCPeerConnection = window.RTCPeerConnection...window.RTCPeerConnection; } 2.可以通过配置自己的STUN服务器地址,或者不写配置使用浏览器默认的STUN服务器地址,来创建两个RTCPeerConnection对象来模拟连接...(configuration); otherConnection = new RTCPeerConnection(configuration); 3.通信双方交换ICE候选路径,也就是通过ICE

1.8K80

WebRTC 前端实时通信技术

下述是具体的提议和应答交换过程,如有 A 和 B 两个用户: (1) A 调用 RTCPeerConnection.createOffer() 创建一个提议描述 SDP(A); (2)...A 调用 RTCPeerConnection.setLocalDescription() 设置得到的SDP(A) 信息; (3) A 通过信令通道将SDP(A) 信息发送给 B; (4)...B 收到 A 的描述信息后调用RTCPeerConnection.setRemoteDescription() 记录对端用户的会话描述信息; (5) B 调用RTCPeerConnection.createAnswer...() 创建一个应答描述 SDP(B); (6) B 调用RTCPeerConnection.setLocalDescription() 设置得到的 SDP(B) 信息; (7) B...通过信令通道将SDP(B) 信息发送给 A; (8) A 收到B 的描述信息后调用RTCPeerConnection.setRemoteDescription() 记录对端用户的会话描述信息;

4.4K20
领券