【音视频】基于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

相关推荐
努力往上爬de蜗牛25 分钟前
react native真机调试
javascript·react native·react.js
李@十一₂⁰1 小时前
HTML 特殊字体符号
前端·html
y***86692 小时前
TypeScript在Electron应用中的使用
javascript·typescript·electron
小奶包他干奶奶3 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
zy happy4 小时前
若依 vue3 报错:找不到模块“@/api/xxxx/xxxxx”或其相应的类型声明。。Vue 3 can not find mod
前端·javascript·vue.js
潘小安4 小时前
Git Worktree + Claude Code:让你的开发效率翻倍的秘密武器
前端
meichaoWen4 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
小猪努力学前端5 小时前
在 React + React Router v7 SSR 项目里做多端适配,我踩的两个坑
前端·react.js
q***d1735 小时前
React桌面应用开发
前端·react.js·前端框架
8***29315 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring