【音视频】基于webrtc的聊天室的设计

目录

术语

webrtc建连流程

系统整体架构

信令服务器房间状态管理

用户加入房间流程

用户加入房间并推流:

其他用户订阅此用户流

用户加入房间并订阅房间其他所有用户

用户退出房间流程

平行集群模式​编辑

[第一阶段demo 设计](#第一阶段demo 设计)

参考文章


本想自己画一遍的,发现参考的文章 里所述,涵盖了自己想表达的,也就不重复画了

术语

  • sdp: 在webrtc握手建连时用于描述webrtc会话的文本信息,包含音视频编解码信息、传输方式、加解密等信息。
  • offer sdp: webrtc建连时主动呼叫方的sdp,一般包含多种编解码方案选项。
  • answer sdp: webrtc建连时被动应答方的sdp,应答方选择优先的编解码信息并返回呼叫方

webrtc建连流程

系统整体架构

系统主要组成部分

  • Client: webrtc客户端,支持web/ios/android等形态。
  • MediaServer: 媒体服务器,负责直播流的发布订阅转发转存。
  • SignalServer: 信令服务器,负责videoroom房间状态维护,用户加入退出消息广播。
  • 用户/业务系统: 用户实现用户鉴权、房间控制等业务逻辑。

信令服务器房间状态管理

用户加入房间流程

用户加入房间并推流:

其他用户订阅此用户流

用户加入房间并订阅房间其他所有用户

用户退出房间流程

平行集群模式

第一阶段demo 设计

参考文章

链接:https://www.jianshu.com/p/eb36cfed77ff

相关推荐
玫城5 小时前
[ VUE ] 封装通用数组校验组件,el-input内使用
前端·javascript·vue.js
弓.长.10 小时前
React Native 鸿蒙跨平台开发:实现一个多功能单位转换器
javascript·react native·react.js
南半球与北海道#10 小时前
前端打印(三联纸票据打印)
前端·vue.js·打印
摘星编程10 小时前
React Native for OpenHarmony 实战:ToggleSwitch 切换开关详解
javascript·react native·react.js
董世昌4110 小时前
深入浅出 JavaScript 常用事件:从原理到实战的全维度解析
前端
满栀58510 小时前
分页插件制作
开发语言·前端·javascript·jquery
qq_4061761410 小时前
深入剖析JavaScript原型与原型链:从底层机制到实战应用
开发语言·前端·javascript·原型模式
弓.长.11 小时前
React Native 鸿蒙跨平台开发:BottomSheet 底部面板详解
javascript·react native·react.js
开开心心_Every11 小时前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
摘星编程11 小时前
React Native for OpenHarmony 实战:Permissions 权限管理详解
javascript·react native·react.js