基于webrtc的一对多音视频通讯

本次实验使用windows平台,其他平台如html5、android、ios、linux、mac等思路大同小异,上一篇文章已经提及,在此不再赘述。

  • 在此唯一对初学者的劝告是:多看实例,尤其是官方的实例:https://github.com/webrtc/samples
  • webrtc更倾向于html5中调用peerconnect,别说你看不懂html和javascript,那个可比c++简单多了,呵呵!
  • 本实例思路来源于:https://webrtc.github.io/samples/src/content/peerconnection/multiple/,代码处处:https://github.com/webrtc/samples/tree/master/src/content/peerconnection/multiple

一对多首先这个多怎么来的?先看下流程图

  • 可以看得出来PeerConnectionFactory的重要性,` Factory是工厂,工厂可以生产很多很多的PeerConnection
  • 摄像头、麦克风这些设备只能是进程独占方式的,所有只有一个,然后多个PeerConnection共享使用LocalMediaStream
    有了上面这些东西就给我们的一对多打下了基础。

一对多这个对是怎么实现的呢?还是看看图吧

  • 一定要注意红色的箭头,这个代表你刚才创建的PeerConnecton,而且是有方向性的。

上一篇已经实现了一对一的音视频,在此只需要多次实现即可。

附上效果图

**注意:**长得丑没法见人。

还是谈谈本次实例的意义吧,这个可是实际应用中的重点

  • 一对多的最简单应用就是QQ的音视频,想象一下你可以使用QQ与多位好友同时进行音视频通话。
  • 可以作为转发服务器。一个网友做那种视频app的(一个姑娘在上面唱歌,下面一群男淫献花鼓掌等等),如果要求实时性,那么就需要转发,原理就是上图所示的那种;不过webrtc的PeerConnectionFactory每创建一个peerconnection都需要消耗5m的内存,如果连接数过多cpu就会占用很多,可能是我的使用有问题,下一步会考虑优化,毕竟1:1000甚至更多人的实时传输消耗很大的内存、cpu和带宽,尤其是带宽。
  • 如果是p2p的话,不要求实时性,那就很有吸引力啦,每个用户作为接受者的同时又可以作为发送者,节省了资源的消耗和成本,无非就是最底层的人会有延时。

展望:

  • 要做的还有很多,接下拉我会先实现音视频的转发,这样加上前两篇文章就可以实现p2p模式的流媒体播放咯,千人视频不是梦!!哇咔咔

demo下载地址

  • 链接: https://pan.baidu.com/s/1dTqJd9_VuXlHYzmTIuV85A 提取码: 28vn

基于webrtc的一对多音视频通讯相关推荐

  1. 如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统

    如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统 Intel CS for WebRTC是一套完整的WebRTC的通讯架构套件,包括了服务端软件和客户端SDK,其中客户端SD ...

  2. 音视频通讯QoS技术及其演进

    利用多种算法和策略进行网络传输控制,最大限度满足弱网场景下的音视频用户体验. 良逸|技术作者 01 什么是QoS?音视频通讯QoS是哪一类? QoS(Quality of Service)是服务质量的 ...

  3. WebRTC:并非解决音视频应用所有问题的银弹

    WebRTC1.0标准虽然已经定稿,但各个浏览器的实现都还不成熟,处于快速迭代中,网易云信CTO赵加雨针在接受LiveVideoStack采访时,针对实时通信技术演进.WebRTC国内外发展与趋势.以 ...

  4. WebRTC重要API和音视频分析

    重要API WebRTC原生APIs文件是基于WebRTC规格书撰写而成,这些API可分成Network Stream API. RTCPeerConnection.Peer-to-peer Data ...

  5. anyRTC聊聊【子弹短信】的音视频通讯

    在即时通讯(或者说IM)领域,可能一提起这个词,微信和QQ肯定处于这一领域的霸主地位,因为小米的"米聊"悄无声息的走出了大众的视野,阿里的"来往"也在风生水起的 ...

  6. 视频教程-Android WebRTC 实现1V1实时音视频通信-Android

    Android WebRTC 实现1V1实时音视频通信 从2012年开始从事移动互联网方面的开发工作,曾担任去哪儿网开发工程师,搜狗高级开发工程师,拥有多年一线实战开发经验. 擅长语言:Object- ...

  7. 环信即时通讯云技术博客——实时网络音视频通讯qos的一种解决方案

    一.前言 随着移动互联网的快速发展以及智能终端性能的逐步提高,智能终端间进行实时音视频通讯成为未来移动互联网 发展的一个重要方向.那么如何保证智能终端之间实时音视频通讯的服务质量成为一个必须加以重视的 ...

  8. AI降噪是什么意思?AI降噪在音视频通讯场景的应用

    AI降噪是指利用人工智能技术对音频.视频等信号进行降噪处理.通过对信号进行分析和处理,去除噪音,提高信号的质量和清晰度.AI降噪广泛应用于语音识别.音频处理.视频处理等领域. 噪声在我们日常生活中十分 ...

  9. cocos creator 方法数组_基于 Cocos 游戏引擎的音视频研发探索

    本文转载自公众号:流利说技术团队(lls_tech) 版权归原作者所有 本文主要介绍了流利说团队基于 Cocos 游戏引擎进行音视频相关需求开发过程中所遇到的问题和解决方案.文章中将依次阐述 Coco ...

最新文章

  1. C++从键盘读取字符
  2. vue页面自适应屏幕宽高_Vue+Element UI 高度实时自适应
  3. 面试题编程题11-python 生成随机数
  4. Qt 【widget如何铺满窗口】
  5. 利用python随机生成姓名的实例教程
  6. 科研|饶毅:科学在被淘汰的博士后引领下狂奔
  7. 萝卜魂军曹机器人_【BANDAI】萝卜魂 全金属狂潮TSR RK-92 野蛮人 沙色
  8. Android 应用程序获得系统权限
  9. 7种JS脚本分页代码 showPages v1.0
  10. pngquanttinypng 使用教程
  11. 【STM32】 ESP8266WIFI模块
  12. Java牛客项目课_仿牛客网讨论区_已经看完的部分
  13. 电脑ping,怎么ping网速,详细教您ping网络的方法
  14. 学习笔记 | 通用能力提升
  15. git 使用过程遇到的问题
  16. 数学回味系列之19 - 有趣的数字
  17. 交通行业大数据应用和发展现状
  18. 聚焦城市数字化转型 CDEC2021中国数字智能生态大会上海站今日举行
  19. 如何拉开与周围人的差距?这5个超强的工具网站,助你一臂之力
  20. cpuz测试分数天梯图_联想Z5跑分实测 附高通骁龙636天梯图性能排名

热门文章

  1. uniapp开发APP 客服链接
  2. 干货分享-----网站客服系统添加方法
  3. alv 的MHTML格式 导出错误
  4. visio光学器件怎么画_我们需要更多的光学器件
  5. 在CentOS 7上使用Tripwire监控和检测修改的文件
  6. > core-js-pure@3.11.0 postinstall 和 node -e “try{require(‘xxxx‘)
  7. 在matlab中对中国地图中的不同省份按照高度进行渲染
  8. ios13可以读取u盘吗
  9. IntelliJ IDEA 自定义主题样式设置
  10. 开源炫酷日历、网页日历模板、自适应大小日历、win10日历