浅析即时通讯音视频开发多人实时音视频聊天架构
移动互联网发展迅猛,目前实时音视频技术已被广泛地应用在了实时在线教育、智能家居、在线直播、安防监控等领域。这之中,诸如多人视频会议、在线实时视频教育等场景,跟传统的一对一实时音视频聊天,在技术架构的实现上有很大不同。
虽然都是视频通讯,大部分情况下的单人视频通话可能根本不需要用到流媒体服务,而多人视频,如在线教育这些则必须用到,所以下面主要介绍多人视频中服务端架构模式,以及各自特点。
这是最简单的多人视频通话架构模式,所有媒体流都不需要经过服务端,客户端直接P2P,可通过webrtc建立多个PeerConnection,
该方案优点:
服务端压力最小,大多数情况下不需要用到流媒体服务。
该方案缺点:
客户端负载太大,不事宜扩展,特别是移动端,编解码压力会非常大。
视频会议基本上就是种结构,他的最大特点就是服务端做了很多事情,包括转码,混音,合屏,所以服务端负载非常大,即时通讯聊天软件app开发可以加蔚可云的v:weikeyun24咨询
该方案优点:
客户端负载最小,与一对一负载一样,所以理论上可以支持很多人同时视频。
因为服务端有做编解码,所以可与现有产品无缝集成。
可以最大程度利用硬件能力,如硬件MCU,芯片。
该方案缺点:
服务端负载很大,建设成本很高。
延迟问题,因为服务端做了很多动作(解码,合屏,混音,编码),所以会带来延迟。
该方案最大特点就是服务端只负责包转发,不负责转码,yy流媒体服务基本上就是这个功能,
该方案优点:
与Mixer相比服务端压力比较小,而且容易扩展。
低延迟,特别是与SVC结合能大大提升客户端体验度(貌似h265和vp9才开始集成svc)。
该方案缺点:
考虑到不同客户端需要不同的接收能力,所以真正实现下来服务端的架构也并不简单。
因为各种模式都有自己的优缺点,所以实际应用中您应该根据自己的具体业务选择适合的架构模式。现在有很多开源框架和PAAS可以做上面这些事情,但是实际应用中都存在这样的问题,并不成熟。
浅析即时通讯音视频开发多人实时音视频聊天架构相关推荐
- 环信即时通讯云技术博客——P2P实时音视频之NAT穿越
在P2P实时音视频领域,NAT穿越是一个非常重要的技术.NAT穿越技术使得客户端和客户端直接进行通讯,从而减少了端到端的延迟,并大大减轻了服务器的压力,降低成本. NAT是什么 NAT的全称Netwo ...
- 即时通讯音视频开发(二):视频编解码之数字视频介绍
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 即时通讯音视频开发(一):视频编解码之理论概述
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 即时通讯音视频开发(三):视频编解码之编码基础
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 音视频即时通讯二次开发
用于二次开发企业即时通讯源码(C++/MFC),现在,做一个普通的即时通讯软件不是一件难事,网上有很多很好的这类软件的源代码可以拿来使用.今天就介绍一个我用过,觉得不错的给大家.软件叫 ANYCHAT ...
- 多人实时音视频聊天架构探讨
前言 移动互联网发展迅猛,目前实时音视频技术已被广泛地应用在了实时在线教育.智能家居.在线直播.安防监控等领域.这之中,诸如多人视频会议.在线实时视频教育等场景,跟传统的一对一实时音视频聊天,在技术架 ...
- 群聊私聊天建群社交即时通讯H5系统开发
群聊私聊天建群社交即时通讯H5系统开发 前端功能: 聊天.通讯录.动态.发现.我.多国语言.私聊.群聊.创建群聊(设置免费.收费).发布动态.发信息(图片.文字.红包.不支持语言).我的余额(后台添加 ...
- websocket 发送图片_基于WebSocket的web端IM即时通讯应用的开发
基于WebSocket的web端IM即时通讯应用的开发 功能列表: 1.Web端的IM即时通讯应用 2.支持上线.下线.实时在线提醒 3.单聊.群聊的建立 4.普通文字.表情.图片的传输(子定义富文本 ...
- python去除视频中的logo_Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解...
moviepy音视频开发专栏<moviepy音视频开发专栏>为收费专栏,基于老猿阅读moviepy1.03版本的源代码以及大量测试验证的基础上,详细介绍moviepy主要音视频剪辑相关类的 ...
最新文章
- ICCV 2021 Oral | PoinTr:几何敏感的多样点云补全Transformer
- 抢了人类编辑饭碗的AI算法,会完胜吗?
- 【Groovy】编译时元编程 ( ASTTransformation#visit 方法获取 Groovy 源文件 )
- OpenCV基础篇之读取显示图片
- php string pos,有关pos()的文章推荐10篇
- 错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
- mysql 别名 metadata_获取数据库元数据:DatabaseMetaData与ParameterMetaData与ResultSetMetaData...
- sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第三部分
- IOS9 微信支付报 prepayid 获取失败 ErrorDomainSSL, -9802
- 如何使用excel快速下载网页图片?
- 使用批处理文件删除所有子文件夹?
- html页面睡眠函数,JavaScript sleep睡眠函数
- D2RQ 的安装和基本使用
- 安卓搜不到airpods_airpods忽略设备后再也搜不到了怎么办
- Python和C语言哪个更容易学,感觉学了C语言有点难,只学过C语言的大学生很迷茫?
- 音频怎么转换文件格式?教你轻松转换
- SSH连接越狱iPhone
- 使用 var 关键字在 Java 中使用动态类型
- AB Testing
- 【真的】git pull --all 或 git fetch --all取到自己本地所有分支的最新内容
热门文章
- 我的世界服务器修改末地难度,我的世界带你解锁进入末地的高难度姿势
- 简单实现POI操作Excel生成数据透视图
- iphone手机 配置对比
- 解决Windows中出现d3dx9_41.dll找不到问题
- 配置1台台式计算机5000以内,2020年5千顶级的电脑配置 如何配一台5000元配置的游戏主机...
- 【Unity】【VR开发】为什么认为Quest和Unity组合是目前消费级VR开发的最佳组合
- 事务四大特性及实现原理
- 王者荣耀新24赛季服务器维护,《王者荣耀》s24赛季改动内容分享 s24新赛季更新公告...
- DateFormat类
- Springboot——拦截器