WebRTC-一对一通话

  1. WebRTC-一对一通话
    1. 流程图
    2. 通话过程
      1. 图解:
      2. WebRTC 进行通话的大体过程

WebRTC-一对一通话

流程图

通话过程

图解:

  • WebRTC 终端:负责音视频采集编解码NAT穿越、音视频数据传输
  • Signal 信令服务器:负责信令处理、如加入房间、离开房间、媒体协商消息的传递
  • STUN/TURN服务器:负责获取WebRTC终端在公网的IP地址,以及NAT穿越失败后的数据中转

WebRTC 进行通话的大体过程

  1. 音视频采集

    • 进入房间前,先进行检测设备可用性,当可用时则进行音视频数据的采集
  2. 采集后的处理

    • 一方面:采集的数据会进行用作预览,即自己可以看到画面
    • 另一方面:可以将其录制下来保存为文件、等视频通话结束后,上传到服务器后可以让用户回看之前的内容
  3. 获取数据就绪后 - 房间的创建和加入

    • WebRTC终端向信令服务器发送「加入」的信令,Signal服务器收到消息后会进行创建房间的操作 - 推流端
    • 另一端也会做差不多一样的事,不同点在于不是创建房间,而是加入房间 - 观看端
    • 第二个终端(观看端)成功加入房间后,第一个用户(推流端)会收到「另一个用户已成功加入」的消息
  4. 获取数据就绪后 - 音视频数据传递

    • 第一个终端(推流端)会创建“媒体连接”对象,即RTCPeerConnection,然后将采集到的音视频数据通过RTCPeerConnection对象进行编码,最终通过P2P传送给对方;
    • P2P穿越失败后:为保障音视频数据正常,需要通过TURN服务器进行音视频数据中转
    • 第二端(观看端)接收到数据后,会先将收到的数据进行解码,最后将其展示出来,这样就实现了一对一的单通
    • 实现互通的方式:双方都需要通过RTCPeerConnection对象传输自己端的数据,然后另一端进行接收

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1430797759@qq.com

文章标题:WebRTC-一对一通话

字数:519

本文作者:花落阁

发布时间:2024-05-02, 10:04:15

最后更新:2024-05-06, 09:54:14

原始链接:https://hualog.dns.navy/2024/05/02/WebRTC-%E4%B8%80%E5%AF%B9%E4%B8%80%E9%80%9A%E8%AF%9D/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。