rtc/webrtc 2017实时音视频大会分享
Share of RTC2017
Walker.Xu
RTC2017
RTC实时互联网大会在美国已成功举办8届,是全球范围影响最大最权威的实时通信行业技术会议。该会议吸引了来自全球数万名开发者和技术大咖参加,Google、Ericsson、Oracle、Intel、Agora.io、Mozilla、Avaya等公司均曾在大会上分享过各自在实时通信领域的技术、应用与经验。
RTC2017由声网Agora.io主办,CSDN和Allthingsrtc.org协办的在亚洲的第3届盛会,也是亚洲唯一最权威的RTC实时通信行业技术会议。
1.商业目的,生态链
2.技术,应用交流
参会目的
1.学习,了解RTC行业的先进水平
2.开阔思路,了解音视频技术,实时音视频技术的发展方向
实时音视频应用场景
社交
微信,QQ,陌陌,face u,holla,house party,facebook
直播,连麦
熊猫TV,YY,映客,花椒,荔枝FM(语音直播,万人连麦),twitch
游戏
王者荣耀,狼人杀,饭局狼人杀,棋牌类游戏
在线教育
沪江CCtalk
其他:医疗,金融服务,工具类,会议类
远程助手,slack
实时音视频技术扮演的角色
1.创造应用场景,没有实时音视频技术就没有这个用户场景,社交视频语音聊天,直播连麦,各种狼人杀,在线课堂
2.增强应用体验,王者荣耀语音,棋牌类游戏
3.跨界,行业融合,直播连麦社交,狼人杀是游戏也是社交,twitch,熊猫是直播跟游戏密不可分
我们出不去,别人进不来
硬实力软实力
南亚,东南亚
北美,美国:3.23亿,加拿大:3628万
东亚,东南亚,南亚,非中国大陆,越南:9270万,泰国:6886万,马来西亚:3118万,印度尼西亚:2.611亿,菲律宾:1.03亿,巴基斯坦:1.93亿,孟加拉国:1.7亿,印度:13.24亿,日本:1.27亿,韩国:5125万,台湾:2349万,新加坡:560万,香港:737万
中国大陆:14亿
中亚:7000万
实时音视频技术,应用生态(组成)
1.标准组织
2.研究机构
3.技术框架联盟,一般大公司牵头发起,开源社区
4.技术实现,质量监测,数据分析等服务提供商
5.开源应用,技术框架
6.行业应用
实时音视频技术,应用生态(国内外差异)
1.国内RTC
腾讯,YY为代表的,从技术到服务到应用都自己干
Agora.io为代表的技术,服务提供商,服务了陌陌,face u,holla,熊猫TV,小米,cctalk等
技术体系私有,或webrtc变种
一个供应商解决所有问题,快速反应,提供保姆式服务,国情决定
2.国外WebRTC
IETF:国际互联网工程任务组(The Internet Engineering Task Force)
W3C
CoSMo Software Consulting: webrtc research and api test of browsers
Google: add GIPS to webrtc and open source
Callstates.io: webrtc a/v quality monitor service
Jitsi
Slack
Twitch
Facebook
生态比较多样,分工较明确
实时音视频与新技术的结合
实时音视频技术是一个技术平台可以将很多新的多媒体技术融合进来,进行组合,创造新的应用场景
1.AI:小米音箱
2.AR
3.VR+人脸识别
4.holographic projection:全息投影, art media直播+全息投影
5.全景声技术:dolby atoms
实时音视频技术
What?
RTC, real time communication, webrtc是RTC的一种
Why?
我们不是有http,https,hls,rtsp,rtmp吗,为什么还要开发实时音视频技术
简单来说就是不满足进行实时音视频通信的要求
1.延时低
2.双向/多向
Http, https,hls延时10s左右,pass
rtmp延时1~3s还不错,进行实时音视频通信还差点意思,pass
rtsp的延时可以做到0.5s,基本满足需求,但是它不是为双向设计的,实现起来很复杂,而且网络穿透能力差
RTC延时
webrtc为例实验室200ms以内,比较好的网络300ms以内,远程助手基于webrtc实现的,单向延时可以做到300~400ms在魅族网络
商业公司的延时基本做到在全网400ms
1.客户端
传输
传输质量测量,智能网络接入(就近接入),流控(flow control),带宽估计,拥塞控制(congestion control),弱网对抗
Packet loss,RTT,丢包重传,jitter buffer
编解码
Opus,agora solo
H26x:H264,H265
VPX:VP8,VP9
编码的压缩率,抗丢包,丢包隐藏,FEC,动态码率(QP),帧率设计,I帧间隔,动态分辨率,B帧
SVC: scalable video coding
可分级的视频编码(Scalable Video Coding)
出现的原因 主要解决网络传输视频信息的时候,带宽限制了数据的传输,而我们通过某种方法使得视频流拥有可分级性,当网络带宽较小的时候,只保持基本的视频信息被传输,并根据实际的网络环境决定是否传增强的视频信息以使得图像质量得到加强,以此得到自适应性.这样的方式可以保持拥有网络连接的大部分终端都可以以适当的码流来使用多媒体信息,而不考虑原码流的需求.
前后处理
回声消除,噪声抑制,增益控制,可懂度增强,声音美化/变声,空间音频,盲源分离
美颜,滤镜,降噪,平滑,锐化,error concealment,人脸识别
兼容性处理(Android platform mainly)
市面上几百款手机,魅族支持远程协助的有20多款
流控flow control
是用于控制发送方的速度,防止接收方缓存溢出,它的局限性显而易见,只有在特定限制条件下才有意义,如图1
拥塞控制是在拥塞发生时控制进入网络的数据量,相对复杂,GCC同时使用基于时延(delay-based)和基于丢包(lost-based)的两种算法应对带宽网络的拥塞控制,这两个预测控制组成了速率预测控制器如图2
delay-based算法由数据的接收方实现,接收方需要记录每个数据包到达的时间和大小,并计算每个数据分组之间(inter-group)的延迟的变化,由此判断当前网络的拥塞情况,并最终输出码率估计值由RTCP feedback(TMMBR或 REMB)反馈给发送方;loss-based算法则由数据的发送方来实现,发送方通过从接收方周期性发来的RTCP RR(Receiver Report)中获取丢包信息以及计算RTT,并结合TMMBR或REMB中携带的码率信息算得最终的码率值,然后由媒体引擎根据码率来配置编码器,从而实现码率的自适应调整。如图3。可以看出,这两个算法在系统中并不是孤立存在的。
QP
降噪 & 自动增益
SVC
Agora solo
2.后台
传输,骨干网络,时髦叫法云
全球网络覆盖(跨洲,跨国,夸网,夸运行商),CDN ,高并发,高可用(可用度,容灾性),应用专网(路由选择)
SFU/MCU
NAT(network address translation),STUN/TURN,ICE
SFU/MCU
Bandwidth & CPU are limited in a device
smart way
NAT
STUN/TURN
3.信令
信息数据交换,sdp,ice options
呼叫和消息系统,Websocket,SIP
信令通道在数据通道之前建立
其他作用,比如传递一些设备,状态信息
4.评价体系
指标,perfect/good/acceptable/bad/mess
测试环境/工具/资料/应用场景/人
大数据,监测统计,在实际使用环境中评估
高大上的音视频实验环境
评价体系 实践
用其他手段代替昂贵的器材
指标 测试环境 大数据,实际使用环境
实时音视频技术,挑战
重要或紧急的事情,第一选择,打电话
质量,质量,质量
1.接通率 (业内先进水平失败率<=2%)
2.音视频体验 (做的不错)
卡顿,模糊,马赛克,数据丢失
实时音视频技术,大规模直播+连麦的解决方案
1.普通的直播RTMP可以实现
2.需要连麦,需要实时音视频技术的介入,主播和其他连麦用户通过 RTC技术实现实时音视频互动,再通过RTMP把连麦现场直播出去
Leningrad
1.适配了20多款机型
M。。。
2.系统版本
Android5.0~Android7.1
flyme5~flyme7
【应对了Android跨版本,flyme框架,不同屏幕分辨率等兼容性问题的挑战】
3.服务业务
用户帮助
安全家庭
远程监控
4.打通了浏览器端
chrome and firefox
5.欠缺
迭代不持续,不够专注;后台能力.
Normandie(音视频sdk)
1.适配了meizu全部几十款机型
2.系统版本
Android4.2~Android7.1
yunos
flyme4.5~flyme7
【应对了Android跨版本,flyme框架,不同屏幕分辨率等兼容性问题的挑战】
3.服务业务
Music音乐,主题功能+定制需求比如drm,代理,副歌等,日活100万,月活千万
News咨讯,在线短视频播放,cp重要有360(640x360),UC(852x480),快手(960x720),360,UC可以做到秒播,快手在1~2s内起播,千万用户
趣视频,在线短视频播放
4.欠缺
迭代不持续,不够专注;部分业务没有推广成功.
总结,三个阶段
1.从0到1,实现我们的基本设想,满足最初的需求
【做不出来,die】
2.生存,在具体产品上应用,达到一定要求,上线运行,实现更多需求
在更多机型上落地,在稳定性,功能,性能方面达到一定的要求,满足现阶段业务需求,并且部分指标不落后或不大幅落后市面上比较先进的产品
【做出来没人用,die】
3.发展,持续迭代,升级,优化,技术上看着业内第一梯队向业内第二梯队靠拢
多看多想,扩展更多产品形态和场景
从业务上也对我们提出了更高的要求,业务上会直接和竞品对比,业务或用户不会关心你的团队或资源,只关心体验结果,能不能有好的体验
【用户用起来不爽,不能与竟品竞争,die】
从目前看,我们基本满足生存的第二个阶段,努力向发展的第三阶段靠拢,这个阶段对我们自身提出了更高的要求需要更深入的学习和积累,创造机会抓住机会不停的学习
上策中策下策
平台
产品
需求/功能
生命越长越专注价值越大
Thanks
声明:借鉴了很多大会上大神的ppt
rtc/webrtc 2017实时音视频大会分享相关推荐
- 基于WebRTC的实时音视频剧本杀安卓APP设计 文档+项目源码
资源下载地址:https://download.csdn.net/download/sheziqiong/85709396 资源下载地址:https://download.csdn.net/downl ...
- 微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
本文内容整理自腾讯专家研究员 & 微信视频技术负责人谷沉沉在 2017 ArchSummit 全球架构师峰会上的技术分享. 1.前言 2012 年 7 月,微信 4.2 版本首次加入了实时音视 ...
- 七牛云 RTN:基于 WebRTC 零基础搭建实时音视频平台
近年来,在线教育.狼人杀.在线抓娃娃.线上 KTV 等多人视频互动模式不断涌现,实时音视频通信风头正劲,实时音视频技术 WebRTC 也因此受到了广泛关注.相关数据显示,2017-2021 年期间,全 ...
- 从腾讯实时音视频发家史,看爆发中的 RTC 将何去何从
作者 | 夕颜 头图 | 下载于视觉中国 出品 | AI 科技大本营(ID:rgznai100) 早在2015年左右,直播和短视频的兴起渗透进普通人的日常生活,人们信息消费的内容已经开始从文字向语音. ...
- 开源实时音视频技术WebRTC在Windows下的简明编译教程
1.前言 随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢.现在很多直播产品都是基于WebRTC 进行二次开发做出来的. WebRTC是提供了一整套处理实时音视频的开源 ...
- 实时音视频聊天中超低延迟架构的思考与技术实践
1.前言 从直播在线上抓娃娃,不断变化的是玩法的创新,始终不变的是对超低延迟的苛求.实时架构是超低延迟的基石,如何在信源编码.信道编码和实时传输整个链条来构建实时架构?在实时架构的基础之上,如果通过优 ...
- 实时音视频开发理论必备:如何省流量?视频高度压缩背后的预测技术
本文引用了"拍乐云Pano"的"深入浅出理解视频编解码技术"和"揭秘视频千倍压缩背后的技术原理之本文引用了"拍乐云Pano"的&q ...
- 技术福利:最全实时音视频开发要用到的开源工程汇总
[转自] https://my.oschina.net/jb2011/blog/1619628 1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前 ...
- 福利贴:最全实时音视频开发要用到的开源工程汇总
1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前后处理.传输.解码.缓冲.渲染等很多环节.每一个细分环节,还有更细分的技术模块.比如,前后处理环 ...
最新文章
- 【机器学习】机器学习算法优缺点对比(汇总篇)
- cad 怎么显示块句柄_新手必看的CAD小技巧,老师傅精选汇总,三分钟教你学习用处多多...
- Noip前的大抱佛脚----字符串
- Acwing1086. 恨7不成妻(未解决)
- java 设计模式 示例_Java中的访问者设计模式–示例教程
- javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
- ​小米 11 发布,售价 3999 元起;罗永浩回应败诉半导体公司;deepin 20.1(1010) 发布|极客头条...
- 最长回文子串 马拉车算法
- spss常态检验_利用SPSS检验数据是否符合正态分布
- win7系统怎样开启wmi服务器,WMI服务是什么?Win7系统如何禁用WMI服务?
- AM信号的调制与解调
- 选择结构与分支结构 计算器的实现
- 脑电分析系列[MNE-Python-17]| 使用多种滤波器对脑电数据去除伪影
- laravel:如何快速实现数据填充,创建模拟数据(使用seeder)
- python打印程序时间_Python:打印程序执行的时间
- libcmt.lib和libcmtd.lib链接库冲突错误的解决方案
- vue 实现电子签名功能 支持生成图片
- 【模拟电子技术基础】本章讨论问题答案1
- 英特尔笔试题小整理DIY
- 屏蔽手机QQ空间的黄钻官方团队和官方Qzone(访客周报)消息
热门文章
- Sparse R-CNN: End-to-End Object Detection with Learnable Proposals
- 如何注册Line账号?-Line账号/Line广告/Line好友
- ScrollView水平滑动条选中条目的居中显示
- 制作深度linux优盘,制作Linux的优盘(usb)启动盘
- 百度AI身份证识别接口,iOS上传base64图片报错216201问题解决办法总结
- k3 审核流程图_K3单据使用解释及流程图明细
- 【FPGA教程案例12】基于vivado核的复数乘法器设计与实现
- C4D骨骼动画绑定到像素
- 百草味荣获“食品安全诚信单位“奖 食品安全质量获行业肯定
- 22届春招实习试水之路汇总(前端+后端)