Janus源码分析(4)——信令交互过程

1. Janus插件交互流程

Janus中所有插件都遵循以下基本数据流程:

  1. 客户端发送create创建一个Janus会话;
  2. Janus回复success返回Janus会话句柄;
  3. 客户端发送attach命令在Janus会话上attach指定插件;
  4. Janus回复success返回插件的句柄;
  5. 客户端给指定的插件发送message进行信令控制;
  6. Janus上的插件发送event通知事件给客户端;
  7. 客户端收集candidate并通过trickle消息发送给插件绑定的ICE通道;
  8. Janus发送webrtcup通知ICE通道建立;
  9. 客户端发送媒体数据;
  10. Janus发送media消息通知媒体数据的第一次到达;
  11. Janus进行媒体数据转发。

2. Janus信令交互过程

2.1 客户端与Janus信令交互

Janus客户端 Janus网关 Janus客户端发送create请求创建会话 Janus网关创建会话,并返回会话ID Janus客户端发送attach请求使用插件 Janus网关查找插件,并返回插件ID Janus客户端给指定插件发送message(Join) Janus网关返回ack消息 Janus网关处理message,并将结果通过event事件发送给客户端 Janus客户端给指定插件发送message(Configure & offer) Janus客户端给指定插件发送trickle(Candidate) ...【有多个trickl e(Candidate)】 ...【有多个trickl e(Candidate)】 Janus客户端给指定插件发送trickle(Candidate) Janus网关返回message(Configure & offer)的ack消息 Janus网关处理message(Configure & offer),并将answer通过event事件发送给客户端 Janus网关返回ack消息 ...【有多个tri ckle(Candi date)的ack】) ...【有多个tri ckle(Candi date)的ack】) Janus网关返回ack消息 Janus客户端给指定插件发送trickle(Candidate Complete) Janus网关返回trickle(Candidate Complete)的ack消息 Janus网关返回webrtcup消息 Janus网关返回media(video)消息 Janus网关返回media(audio)消息 发送媒体数据(video、audio)
  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
Kurento、Jitsi、Janus、Medooze、OpenVidu这些信令服务器在某些方面有所不同,下面我简单介绍一下它们的特点和区别: 1. Kurento:Kurento是一个强大的WebRTC媒体服务器,支持音频、视频、数据通信。它提供了很多可扩展的功能,如:录制、转码、流媒体、图像处理等。Kurento使用Java语言编写,可以方便地与其他Java应用程序集成。 2. Jitsi:Jitsi是一个开源的WebRTC通信平台,支持音频、视频、数据通信。它提供了很多实用的功能,如:桌面共享、文本聊天、视频会议等。Jitsi使用Java语言编写,可以方便地扩展和定制。 3. JanusJanus是一个灵活的WebRTC网关服务器,支持音频、视频、数据通信。它提供了很多可扩展的功能,如:流媒体、录制、转码等。Janus使用C语言编写,可以方便地与其他C/C++应用程序集成。 4. Medooze:Medooze是一个可扩展的WebRTC媒体服务器,支持音频、视频、数据通信。它提供了很多实用的功能,如:录制、转码、流媒体等。Medooze使用C++语言编写,可以方便地与其他C++应用程序集成。 5. OpenVidu:OpenVidu是一个易于使用的WebRTC平台,支持音频、视频、数据通信。它提供了很多实用的功能,如:录制、回放、屏幕共享等。OpenVidu使用Java语言编写,可以方便地与其他Java应用程序集成。 总的来说,这些信令服务器都提供了丰富的功能和扩展性,可以满足不同的需求。选择哪一个信令服务器,需要根据具体的应用场景和需求来决定。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值