基于Webrtc的多人视频会议的简单实现
通过重写WEBRTC传输模块来实现一个简单的视频会议,效果如下图:
说明:
1、画面1、2、3都是其他手机传过来的图像,局域网内有点点卡顿,同时软解3路数据你懂的。
2、声音比较清晰,服务端没有做混音处理。
实现原理:
1、服务端是小伙伴用C++配合实现的,主要作用就是信令控制与转发,所以原理没有太多好讲的。
2、因为有在WEBRTC里面注册自己的传输模块,所以在这个基础上实现多人就很容易了,主要就是让服务端转发的时候知道往哪里转发。
3、WEBRTC里面有channel机制,每个会话对应一个channel,如果要实现多个会话,就注册多个channel,关键代码如下:
下面是收到RTP包后通过channel找到对应的transport进行处理
总结:
1、通过上面这个demo可以做很多扩展,比如视频直播、在线教学、安防监控。
2、很多开源框架都是基于这种架构模式,如Licode,jitsi。
3、这种模式以后结合VP9,H265和SVC会有很好的发展空间,不过需要时间,所以我们会继续关注。
思考:
这种模式下怎么处理NACK和RTCP?
随着移动互联网和智能硬件的快速发展,音视频变得越来越重要,加上WEBRTC的出现,让开发这些高大上的功能变得越来越容易,
实际上是这样吗?让我们先来看看WEBRTC应用中的一些现象吧!
一、项目开始前都是这样的:
1、代码都开源了,找个开发人员2个月内将他集成进来,到时候就是中国特色的完全自主研发。
2、Google在搞的东西,不说效果比QQ和微信好多少,至少不会差到哪里去。
3、我们开发人员里面精通C++,安卓,iOS,Web前端的好几个,搞定这套东西还不是收到擒拿。
4、手机端不需要用Native开发,用WebView即可,这样可省下好多人力成本。
5、如果用这套东西做成视频会议或直播秀,是不是可以跟现有厂家有得一拼,我们有线下资源啊。
6、直接招个熟悉这个东西的人进来做这个项目算了,工资可以稍微高点。
7、等等等等。
二、开发过程中很多都是这样的:
1、到底从哪里入手呢?资料少不说,很多资料还是有问题的。
2、服务端客户端到底怎么搭建的,要不要编译整套代码呢?
3、下载和编译了2个星期了,还是啥都没搞定,郁闷。
4、怎么有时候没有视频,有时候没有声音,延迟怎么那么大呢?
5、搞了1个多月了,问题好多,没一点思路,不知道咋搞,放弃算了。
6、原定1个月集成进来的,现在都搞了快3个月了,还有好多没搞定。
7、东西是弄的差不多了,但是后续还是得有人来优化和维护,包括部分安卓机型的适配。
8、招聘了大半年,都没找到合适的人,在我们公司待遇不是问题,有合适的人就行。
9、webrtc没有支持多人视频,开源的用哪个好呢?或者有没有其他成熟第三方平台呢?
10、如果要支持全球部署,还得考虑服务端架设成本啊,这块费用也很高。
11、等等等等,不搞不知道,一搞下去问题好多。
...... ......
曾经或现在正在弄WEBRTC的朋友们,有没有同感?
其实上面这些现象我们都见过,只不过不同企业因为能力和实力不一样,所碰到的状况不一样,比如:
专业做音视频的可能对WEBRTC里面很多思想都清楚,甚至某些方面他们做得比WEBRTC更好,可能只需要应用里面的部分模块。大公司高手多,研究和突破起来速度比较快,比如华为,但是他们也会碰到很多问题。所以下面的这些建议要结合自己的实际:
基于Webrtc的多人视频会议的简单实现相关推荐
- WebRtc实现多人视频会议以及视频录制上传
1.前言 最近公司做的一个项目需求是实现多人视频会议聊天,查阅资料,决定使用HTML5新支持的WebRtc来作为视频通讯.客户端使用支持HTML5浏览器即可,如chrome,服务器段需要提供两个主要的 ...
- html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程
本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...
- 关于webrtc的多人视频会议的杂乱记录
之前公司要做自主研发的多人会议,搞了很久.记录一些东西在这里,因为涉及到的东西有点多,网上教程很多,这里只做一些记录,就不写详细的过程了. 之前自主研发了一套IM,用webrtc做了点对点的视频通话. ...
- 在ubuntu上实现基于webrtc的多人在线视频聊天服务
最近研究webrtc视频直播技术,网上找了些教程最终都不太能顺利跑起来的,可能是文章写的比较老,使用的一些开源组件已经更新了,有些配置已经不太一样了,所以按照以前的步骤会有问题.折腾了一阵终于跑起来了 ...
- 从入门到进阶|如何基于WebRTC搭建一个视频会议
文|网易智慧企业流媒体服务器天团 导读:疫情期间,视频会议等远程办公产品备受青睐,众多互联网玩家切入视频会议市场,加剧市场竞争.但是,产品虽多,能够带来稳定可靠体验的产品却凤毛麟角,它的难点在哪里?视 ...
- 如何基于WebRTC搭建一个简单的视频会议
前言 WebRTC,它是由谷歌推广的实时音视频技术栈,是音视频领域搜索热度最高的技术.它有多重身份,既是W3C的标准,也是一个开源项目,还有一个对应的IETF工作组(RTCWEB).在WebRTC出现 ...
- 基于Webrtc和Janus的多人视频会议系统开发1--系统架构
目前业界如教育行业,直播行业,低延迟音视频连麦方案基本采用声网,即构,腾讯等第三方方案,采用第三方方案最大的优点就是接入快捷,可以迅速搭建自己的产品,缺点就是完全受制于第三方,另外费用比较高,公司规模 ...
- 基于webrtc多人音视频的研究(一)
所周知,WebRTC非常适合点对点(即一对一)的音视频会话.然而,当我们的客户要求超越一对一,即一对多.多对一设置多对多的解决方案或者服务,那么问题就来了:"我们应该采用什么样的架构?&qu ...
- webrtc 安卓端多人视频会议的实现
webrtc_android 项目地址:ddssingsong/webrtc_android 简介:webrtc 安卓端多人视频会议的实现 更多:作者 提 Bug 官网 标签: 概述 mee ...
最新文章
- 傅里叶卷积实现「万物隐身」,这个神器可试玩
- Axure RP pro 6.5 密钥
- 电脑勒索病毒之谜:用户如何能确保电脑安全
- java maven 没有target_Maven最全知识点总结 可以收藏啦
- 分布式精华问答 | 分布式与集群的区别是什么?
- suse 安装oracle11,Suse11安装Oracle11gR2
- C# Winform 防止MDI子窗体重复打开
- 服务器CPU X86 ARM PowerPC RISC介绍
- 在package.json中使用git URL依赖分支或标记?
- 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——1.2 S5PV210处理器
- UVa540.Team Queue
- SQL Server 2012安装过程中出现 NetFx3错误
- Oracle数据库连接报错
- Android开发-窗口跳转
- 虚幻引擎4学习途径汇总
- 系统架构师—软件架构设计(二)CS/BS/SOA/DSSA/ABSD
- Oracle调优总结--1(经典实践 重要)
- android 服务开机启动慢,Android App启动慢原因
- 各种下载文件方式总结
- Spring Boot 错题本
热门文章
- 助你成功的10个万能谈话技巧
- web前端如何做注册页面
- 在线重定义在线更换分区表分区类型
- 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 数学课(Math)和平均值(avg),方法包括求
- 如何在IDEA中写Java程序
- 汉诺塔III 汉诺塔IV 汉诺塔V
- (4.3.1.11)微信扫描二维码无法下载apk文件解决办法
- 大学计算机基础知识电子版,大学计算机基础考试知识点(完整版).pdf
- 打印机十大共性故障解决方案(转东转西)
- Hadoop 学习路线图