前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过浏览器使用WebRTC时会话终止或断开都是什么原因?

通过浏览器使用WebRTC时会话终止或断开都是什么原因?

原创
作者头像
TSINGSEE青犀视频
修改2021-07-08 18:08:24
1.8K0
修改2021-07-08 18:08:24
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

WebRTC现在已经成为了W3C的正式标准,提供具有NAT遍历功能的次秒级的点对点视频和音频流。次秒级延迟已经被广泛应用于视频会议之中,也一直是视频流公司的焦点,目前我们已经在EasyGBS平台内实现了webrtc视频的播放,如下图:

在浏览器使用webrtc,那么在以下情况出现时将会导致会话终止:

A、关闭浏览器后,会话将终止;

B、关闭webrtc会话所在的选项卡时,会话将终止;

C、属性webrtc会话所在的页面时,会话将终止;

D、点击连接移至到不同页面(即使在同一站点上)时,会话将终止。

所以可以将WebRTC的断开连接分为3大类:

A、完全无法连接

B、媒体流断开

C、信令断开

在每个场景中,都会有多个场景,定义失败的原因以及如何处理和客服这些问题,下面我们逐个来分析一下。

无法连接:

有的情况是连接webrtc会话时发生了大量的失败,甚至无法发送SDP信息,通过跨浏览器和设备的互操作性问题,再到无法连接进行媒体ICE的协商。

如果出现这种情况,解决的办法是:重新进行SDP信息协商和ICE的信息交换;或者查看服务端有没有运行。才导致的信息发不出去。

媒体断开:

发生这种情况的原因有很多种:

  • 所使用接入点的防火墙策略杀死P2P加密流量;
  • 用户在会话中途从一个网络却换到另一个网络,这样网络协商错误,您应该遵循webrtc的ICE协商机制;
  • 另一端崩溃、关闭或者下线,也会导致媒体断开。

每一个媒体断开都需要不同的处理,在一些代码中有些需要手动处理。防火墙问题就是客户端与客户端在一起制定配置以解决问题。

信令断开:

如果信令断开连接,webrtc甚至不知道,因此webrtc不会立即导致会话本身断开连接。那么可以根据服务器的websocket连接的状态来终止webrtc对等连接,在服务器端一旦连接丢失,应该终止媒体路径,向对端发送断开连接消息。想确保媒体流继续进行,需要在连接同一个用户或者会话的对等连接,可以在连接状态中添加一个计时器来确保连接状态。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对等连接
对等连接(Peering Connection,PC)是一种大带宽、高质量的云上资源互通服务,可以帮助您打通腾讯云上的资源通信链路。 对等连接具有多区域、多账户、多种网络异构互通等特点,轻松实现云上两地三中心、游戏同服等复杂网络场景;支持 VPC 网络与基础网络、黑石网络互通,满足您不同业务的部署需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档