通过重写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的多人视频会议的简单实现相关推荐

  1. WebRtc实现多人视频会议以及视频录制上传

    1.前言 最近公司做的一个项目需求是实现多人视频会议聊天,查阅资料,决定使用HTML5新支持的WebRtc来作为视频通讯.客户端使用支持HTML5浏览器即可,如chrome,服务器段需要提供两个主要的 ...

  2. html5 视频语音对讲,一种基于WebRTC的多人语音视频通话方法及系统与流程

    本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统. 背景技术: 随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展.在节奏越来越快的信息 ...

  3. 关于webrtc的多人视频会议的杂乱记录

    之前公司要做自主研发的多人会议,搞了很久.记录一些东西在这里,因为涉及到的东西有点多,网上教程很多,这里只做一些记录,就不写详细的过程了. 之前自主研发了一套IM,用webrtc做了点对点的视频通话. ...

  4. 在ubuntu上实现基于webrtc的多人在线视频聊天服务

    最近研究webrtc视频直播技术,网上找了些教程最终都不太能顺利跑起来的,可能是文章写的比较老,使用的一些开源组件已经更新了,有些配置已经不太一样了,所以按照以前的步骤会有问题.折腾了一阵终于跑起来了 ...

  5. 从入门到进阶|如何基于WebRTC搭建一个视频会议

    文|网易智慧企业流媒体服务器天团 导读:疫情期间,视频会议等远程办公产品备受青睐,众多互联网玩家切入视频会议市场,加剧市场竞争.但是,产品虽多,能够带来稳定可靠体验的产品却凤毛麟角,它的难点在哪里?视 ...

  6. 如何基于WebRTC搭建一个简单的视频会议

    前言 WebRTC,它是由谷歌推广的实时音视频技术栈,是音视频领域搜索热度最高的技术.它有多重身份,既是W3C的标准,也是一个开源项目,还有一个对应的IETF工作组(RTCWEB).在WebRTC出现 ...

  7. 基于Webrtc和Janus的多人视频会议系统开发1--系统架构

    目前业界如教育行业,直播行业,低延迟音视频连麦方案基本采用声网,即构,腾讯等第三方方案,采用第三方方案最大的优点就是接入快捷,可以迅速搭建自己的产品,缺点就是完全受制于第三方,另外费用比较高,公司规模 ...

  8. 基于webrtc多人音视频的研究(一)

    所周知,WebRTC非常适合点对点(即一对一)的音视频会话.然而,当我们的客户要求超越一对一,即一对多.多对一设置多对多的解决方案或者服务,那么问题就来了:"我们应该采用什么样的架构?&qu ...

  9. webrtc 安卓端多人视频会议的实现

    webrtc_android 项目地址:ddssingsong/webrtc_android  简介:webrtc 安卓端多人视频会议的实现 更多:作者   提 Bug   官网 标签: 概述 mee ...

最新文章

  1. 傅里叶卷积实现「万物隐身」,这个神器可试玩
  2. Axure RP pro 6.5 密钥
  3. 电脑勒索病毒之谜:用户如何能确保电脑安全
  4. java maven 没有target_Maven最全知识点总结 可以收藏啦
  5. 分布式精华问答 | 分布式与集群的区别是什么?
  6. suse 安装oracle11,Suse11安装Oracle11gR2
  7. C# Winform 防止MDI子窗体重复打开
  8. 服务器CPU X86 ARM PowerPC RISC介绍
  9. 在package.json中使用git URL依赖分支或标记?
  10. 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——1.2 S5PV210处理器
  11. UVa540.Team Queue
  12. SQL Server 2012安装过程中出现 NetFx3错误
  13. Oracle数据库连接报错
  14. Android开发-窗口跳转
  15. 虚幻引擎4学习途径汇总
  16. 系统架构师—软件架构设计(二)CS/BS/SOA/DSSA/ABSD
  17. Oracle调优总结--1(经典实践 重要)
  18. android 服务开机启动慢,Android App启动慢原因
  19. 各种下载文件方式总结
  20. Spring Boot 错题本

热门文章

  1. 助你成功的10个万能谈话技巧
  2. web前端如何做注册页面
  3. 在线重定义在线更换分区表分区类型
  4. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 数学课(Math)和平均值(avg),方法包括求
  5. 如何在IDEA中写Java程序
  6. 汉诺塔III 汉诺塔IV 汉诺塔V
  7. (4.3.1.11)微信扫描二维码无法下载apk文件解决办法
  8. 大学计算机基础知识电子版,大学计算机基础考试知识点(完整版).pdf
  9. 打印机十大共性故障解决方案(转东转西)
  10. Hadoop 学习路线图