Android IOS WebRTC 音视频开发总结(六九)-- qq视频通话都是p2p,我们还怕啥?
本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里,
欢迎关注微信公众号blackerteam,更多详见www.rtc.help
先简单介绍什么是p2p?
p是peer的缩写,p2p就是点对点,两个客户端直接进行数据交互,不需要经过服务器转发(relay),这种方式能大大减轻服务端的负载,所以特别视适合大数据的传输,比如视频流,大文件。
之前很多朋友在问p2p成功率大概是多少?
其实这个问题不太好回答但又好回答:不太好回答是因为不同区域网络状况不一样所以很难有统一的答案;好回答是因为如果遵循ICE协议,基本上能打洞成功的网络他都能p2p,不能打洞成功的网络基本上都是跟路由器类型有关,与技术无关。
根据google官方文档,92%的情况下都可以p2p,看到这里很多朋友很高兴,心理有底了,在国内70~80%的成功率是可以期待的,以前做的文件传输也可以用p2p了,其实微软的win10升级也是这么搞的,p2p优先,节省宝贵的服务端资源嘛。
知道了p2p成功率,我们再来看1对1的视频通话,如果支持p2p那理论上一台普通的阿里云服务器其实就可以支持比较高的并发了,因为大部分的视频流都不需要经过服务器relay,但这时候有人可能会问:“和relay相比,p2p效果怎样?”
这个问题其实也不好回答,因为某些极端情况下p2p有可能不如服务器relay,但我们可以参考qq和whatsapp的做法。
根据我们之前的测试,qq现在1对1视频通话打洞逻辑和成功率基本上跟webrtc一样(当时模拟了各种网络状况,联通、电信、移动、全锥、对称等等),p2p优先,失败时才启用relay。whatsapp其实也差不多,只不过为了加快连接的建立,他采用relay优先,p2p建立后就会切换过来,对这部分感兴趣的朋友可以去查看我们博客上的相关文章。
所以了解了p2p,qq,whatsapp的这些逻辑之后,你下次跟朋友视频就不用担心qq后台录音录像的问题了,这些东西太占资源了,最起码他们现阶段不会去做,如果要这么做他们就不会使用p2p了。
看到这里一些朋友就会问,既然大部分视频通话可以p2p解决,那采用第三方厂商方案的时候直接按用户数计费是不是不合理?因为p2p下根本不需要占用服务端太多资源。
是的,没错,所以很多厂商的服务支持私有云部署,也就是我们自己提供服务器,他们负责部署,这样我们既不用担心数据安全性,又可以节省成本,还可以满足自身其他业务需求!
当然说到私有云部署就必然要涉及到分布式部署甚至是全球部署,至于是否需要分布式部署,怎么分布式部署我们下回分享。
喜欢相关文章请转发此文,或扫描下方二维码关注我们的微信公众号:blackerteam
Android IOS WebRTC 音视频开发总结(六九)-- qq视频通话都是p2p,我们还怕啥?的更多相关文章
- Android IOS WebRTC 音视频开发总结(九)-- webrtc入门001
下面这篇介绍webrtc的文章不错,我花了大半天翻译了一下. 翻译的时候不是逐字逐句的,而是按照自己的理解翻译的,同时为了便于理解,也加入一些自己组织的语言. 本文主要介绍webrtc的信令,stun ...
- 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)
随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...
- Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...
- Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(四六)-- 从另一个角度看国内首届WebRTC大会
文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------- ...
- Android IOS WebRTC 音视频开发总结(八十一)-- WebRTC靠谱吗?有没有适合的SDK推荐?
作者:blaker,最早发表在我们的微信公众和[编风网],详见[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn) ...
- Android IOS WebRTC 音视频开发总结(二四)-- p2p调用堆栈
本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下web ...
- Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明
本文主要介绍如何测试基于浏览器和手机的视频通话程序,转载请说明出处,文章来自博客园RTC.Blacker,更多详见www.blackerteam.com 很多人想测试浏览器(包括浏览器版本和桌面e ...
- Android IOS WebRTC 音视频开发总结(六十)-- 您为什么招不到适合的音视频人才
本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有 ...
随机推荐
- easyui datagrid
function initData(){ //数据列表 yftjsy=$("#yftjsy").datagrid({ url: '', fit:true, showFooter:f ...
- iOS学习之六种传值方式
iOS页面传值方式 应用于: 两个互动的界面:1)页面一跳转到页面二,页面一的textField的值传给页面二的label.2)A页面跳转到B页面,B页面再跳转回A页面(注册页面跟登录页面) 两个不互 ...
- Bellovin_树状数组
Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F( ...
- crontab 移动日志-超越昨天的自己系列(12)
linux上定时执行某些脚本是管理服务器的时候比较常用的场景,比如定时检查进程是否存在,定时启动或关闭进程,定时检查日志删除日志等. 当我打开google百度crontab时长篇大论的一大堆,详细解释 ...
- Linux下部署solrCloud
1. 准备工作 这里我只是把我的师兄教我的关于Solrcloud搭建的过程,以及需要注意的地方文档化了.感谢他教会了我很多. 1.机子IP 三台安装linux系统的机子的IP地址为: 172.24.1 ...
- datatables 前端表格插件 增删改查功能
官方网站:http://datatables.club/example/<!-- DataTables CSS -->css引入的<link rel="stylesheet ...
- java常用加密和解密工具类EncryptUtil.java
package cn.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; im ...
- 体验一下cygwin
一直在windows下使用gvim,为了更方便的使用cscope.先是写了bat脚本,发现太不方便了. 于是想到了cygwin.下载安装工具就可以了进行默认安装了,配置比较简单. 调整包: ./set ...
- docker swarm
1.docker pull swarm 2.docker run --rm swarm create #创建cluster id b1442105f281c7eaa31f8e5d815fe0e2 3. ...
- PyCharm 远程连接linux中Python 运行pyspark
PySpark in PyCharm on a remote server 1.确保remote端Python.spark安装正确 2.remote端安装.设置 vi /etc/profile添加一行 ...