基于webrtc实现音视频通信

与传统通信方式不同,p2p通信的实现过程不依赖于中间服务器的信息收发,直接通过信令等完成通信过程的建立;

通过websocket实现信令服务器的建立,而通过信令来确定通信双方;

webrtc通过 sdp协议来完善通信双方间协议的一致性;

webrtc通过ice机制找到对方并建立联系,实现nat穿越;

核心对象 RTCPeerConnection

RTCPeerConnection 作为创建点对点连接的 API,是我们实现音视频实时通信的关键。

整个**媒体协商过程(SDP)**可以简化为三个步骤对应上述四个媒体协商方法:

1、呼叫踏创建 Offer(createOífer)井将 offer 消息(内容是呼叫罐的SDP 信息)通过信令服务器传送给投收端,同时调用 setLocalDesccription 将含有本地 SDP 信息的 Offer 保存起来;

2、投收踏收到对端的 Ofer 信息后调用 setRemoteDesccription 方法将含有对蹊 SDP 信息的 Offcr 保存起来,并创建Answer(createAnswer)井将Answer 消息(内容是接收端的 SDP 信息)通过信令服务裔传送给呼叫端;

3、呼叫鳞收到对端的 Answer信息后调用 setRemoteDesccription 方法将含有对阔 SDP 信息的 Answer 保存起来;

经过上述三个步骤,则完成了 P2P 通信过程中的媒体协商部分,实际上在呼叫以及接收调用。

相关推荐
EasyGBS6 天前
RTSP、RTMP、HLS、FLV、WebRTC……国标GB28181视频平台EasyGBS五大流媒体协议,你的场景该用哪个?
音视频·webrtc
REDcker7 天前
libdatachannel 快速入门
c++·webrtc·datachannel
冯程11 天前
WebRTC 之 AllocationSequence 详解
webrtc·音视频开发
阿拉斯攀登13 天前
售货柜实战:IPC 拉流 → 抽帧 → YOLO 识别完整流水线
yolo·ffmpeg·音视频·webrtc·视频编解码
阿拉斯攀登13 天前
RTSP 拉流与录制:IPC 摄像头本地录像完整方案
ffmpeg·音视频·webrtc·实时音视频·视频编解码
阿拉斯攀登13 天前
数据通道:RTCDataChannel 可靠与不可靠传输
音视频·webrtc·实时音视频·媒体·视频编解码
REDcker14 天前
腾讯TRRO SDK深度剖析
音视频·webrtc·实时音视频·直播·rtc·腾讯
阿拉斯攀登14 天前
FFmpeg 转码详解:封装格式、编码器、码率控制
ffmpeg·音视频·webrtc·实时音视频·视频编解码
阿拉斯攀登14 天前
FFmpeg 入门:命令行的 20 个常用场景
ffmpeg·音视频·webrtc·视频编解码
阿拉斯攀登14 天前
媒体流与轨道:MediaStream 与 MediaStreamTrack
嵌入式硬件·webrtc·实时音视频·媒体·视频编解码