RTC / WebRTC
WebRTC 简介
WebRTC 让浏览器能够进行实时通信,传输音频、视频和通用数据。它既包含一套开放标准,也包含相应的开源实现。Web 应用通过 JavaScript API 使用这些能力,原生客户端也可以使用相关库。
三个核心接口是 MediaStream(媒体流)、RTCPeerConnection(对等连接)和 RTCDataChannel(数据通道)。
学习资料
- Media Stream
- Peer Connection
- Data Channel
- Basic Tutorial
- Official Tutorial
- MDN Tutorial
- WebRTC 概览与协议笔记
- WebRTC for the Curious:从信令、连接到媒体传输的开源书。
WebRTC 技术笔记
- WebRTC 相关标准和协议一览
- 如何创建 WebRTC 会话一
- 如何创建 WebRTC 会话二
- WebRTC 之 SDP
- 实时传输协议 RTP 和 RTCP
- WebRTC 协议之 ROAP (RTCWeb Offer/Answer Protocol) 实时网页提议应答协议
- WebRTC 之 MediaRecorder:用你的浏览器录音和录像
- WebRTC 之 MediaStream:用你的浏览器拍照
- WebRTC 之度量与统计:到底出了什么问题
- 通过 WebRTC 共享屏幕很容易
- WebRTC 服务器要干些什么
- WebRTC 视频基础之一:YUV 格式
- H264 视频流的解析
- WebRTC 之 Insertable Stream:端到端加密很简单
- WebRTC 之 REMB — 接收方带宽估计
- 拥塞控制技术笔记一:理论篇
- 拥塞控制技术笔记二:Transport wide Congestion control
- WebRTC 中的多路复用
- WebRTC Simulcast
- WebRTC RTX 笔记
- WebRTC RED 笔记
- 分析网络抓包用 Python 更高效
- 如何模拟弱网条件 — 限流、丢包、延迟和抖动
部分笔记沿用原页面的简书文集链接,可在文集中查找对应标题。
我的 WebRTC 示例
- Audio API Demo
- Audio Worklet Demo
- Media Stream Example
- Canvas Demo
- Desktop Sharing Example
- Screen Sharing Example
- Local Peer Connection Example
- Local Data Channel Example
- Statistics Demo
- Record API Demo
- Chat Demo Example
- Video Chat Example
- Video API Demo
- WebRTC Samples:媒体采集、屏幕共享、点对点连接和数据通道示例。
标准文档
- W3C WebRTC:浏览器实时通信 API 规范。
- WebRTC Stats:连接与媒体传输的统计指标。
调试工具
- Trickle ICE:查看 ICE 候选地址,测试 STUN / TURN 服务器。