HaaS RTC(实时音视频通信)总体方案简介-阿里云开发者社区

开发者社区> 开发者小助手> 正文

HaaS RTC(实时音视频通信)总体方案简介

简介: RTC(Real Time Communication)实时通信业务,目的是在设备端实时的转发音视频多媒体数据,让用户能实时的进行音频和视频的会话。
+关注继续查看
来源 | HaaS技术社区

一、RTC业务简单介绍

RTC(Real Time Communication)实时通信业务,目的是在设备端实时的转发音视频多媒体数据,让用户能实时的进行音频和视频的会话。通信业务一般都有如下几个部分组成:

  • 呼叫信令:用于呼叫的应答和协商,主叫和被叫之间要协商是否建立呼叫、数据通道的连接参数、数据格式、数据类型等信息,让主叫和被叫之间对齐音频编码、视频编码的相关信息,这样才能进行音频和视频的编解码-传输流程。。
  • 数据传输:基于呼叫信令协商好的参数进行音视频数据的采集-编码-传输-解码-展示。
  • 数据传输控制:反馈传输通道的情况,确认传输通道质量,同时音视频同步参数。

实时通信业务基本上分为两种形态:

点对点:通行双发设备具体直连的通道,在两个设备端之间直接处理信令呼叫和数据传输。主叫和被叫之前必须使用相同的音视频编码参数、音频打包时长等信息。采用的是对等的传输通道。

image.png

中心化交换:有两个方式,只是信令的中心化交换信令和数据都中心化交换

信令中心化交换,只是通过服务器控制呼叫信令的转发,服务器不参与音视频数据传输。服务器不需要投入很多资源,只是管理设备状态、业务鉴权,音视频数据的传输完全由设备点对点完成。服务器只保证信令通道的QoS。

信令和数据都中心化交换:服务器要负责信令的转发,同时要负责所有音视频数据的转发。服务器既要完成信令的转发,还要负责音视频数据的转发,服务器需要的资源随多媒体的采样率、格式、分辨率变化。

image.png
image.png

三个方式的对比如下:

方式

优势

缺点

点对点

  • 设备端闭环,无需服务器
  • 整体方案简单
  • 音视频的效果完全取决于性能最差的设备
  • 多对多场景,会形成NxN的传输网络。每个设备端都要负责(N-1)路音频和视频的处理,整体业务性能取决于性能最差设备端能力。
  • 发起呼叫时,主叫必须通过其他渠道唤醒被叫,等到处理呼叫请求。
  • 无法进行设备状态管理,也没统一的业务管理能力。
  • 灵活性差,很难扩展业务

信令中心化交换

  • 由服务器统一管理设备状态
  • 发起呼叫时,由服务器判定被叫是否能被寻呼
  • 服务器功能简单,资源消耗少
  • 音视频的效果完全取决于性能最差的设备
  • 多对多场景,会形成NxN的传输网络。每个设备端都要负责(N-1)路音频和视频的处理,整体业务性能取决于性能最差设备端能力。
  • 灵活性差,很难扩展业务

全中心化交换

  • 由服务器统一管理设备状态
  • 发起呼叫时,由服务器判定被叫是否能被寻呼
  • 服务器可以根据设备端能力,对音视频转码实现最好的端-端音质和画质。
  • 可以在服务端灵活、方便的扩展业务链路,添加音画质优化、多媒体信息实时转储等多种业务
  • 每个设备可以只处理一路传输,一路下载的多媒体数据,且无需进行混音和画面融合。
  • 对设备端能力要求非常低。
  • 服务端复杂
  • 服务端资源消耗高

根据上面的简单比对,可以看出在阿里云-IOT领域,全中心化交换方式是比较理想的RTC业务形态,因为:

  • 基于云构建RTC服务端,服务端资源可以弹性扩展,且可以方便、灵活的扩展服务端业务链路。
  • IOT场景下,设备端资源都比较有限,比较复杂的音频多路合成、视频转码、视频画质增强、视频多路融合等功能很难集成,或集成会导致设备端成本大幅增加。
  • 随着4G、5G的铺开,云规模的不断扩大,流量价格在急剧降低,中心化交换引入的流量成本已经可以做到逐渐下降,直至低于设备端增加成本(单设备增加成本x设备数量)。
  • 把复杂的算法、视频动态转码等功能上移给服务端,可以让设备端极度简化,降低设备端的开发难度,节省设备端开发时间成本,特别是IOT场景下终端都比较“瘦”。上述功能上移到云,可以通过大数据、AI等方式有效的提高算法、动态转码效率,整体提升RTC业务的效率和体验。

二、HaaS RTC介绍

HaaS RTC 是基于阿里IOT的HaaS平台搭建的实时音视频通信端云一体,软硬件一体解决方案。主要目的是提供一条完整的设备-云-设备的多媒体信息实时传递通道。主要特点是:

  • 信令+承载全覆盖:实时通信的信令面和承载面均已经实现,是完整的实时通信业务包。
  • 端云一体全覆盖:端侧提供SDK方便集成,云上服务成熟可用。
  • 良好的设备侧功能扩展:基于类SIP私有信令可以方便的扩展出IM消息、系统待机-唤醒等各种功能。
  • 灵活的服务侧业务链扩展:基于阿里云强大的云服务能力,可以在云上方便的集成各种音视频融合、画质优化增强、音视频实时转储、语音识别、图像识别等扩展功能。
  • 多种通信场景支持:1 VS 1,1 VS N, N vs N,音视频链路(单、双向)自由配置。
  • 丰富的设备形态支持:支持在手机、PC、Linux平台嵌入式设备、AliOS Things平台物联网设备上集成。形成智能门禁、儿童手表、楼宇对讲、智能安防IPC等多种产品-业务形态。在使用AliOS Things平台还可以实现设备侧资源极致“瘦”身优化。

image.png

其组成部分如下:

  • HaaS RTC 云服务:是通信过程中信令面服务提供者,是提供用户管理、用户状态监控、通信信令服务、业务管理等功能的服务服务端。
  • 视频云:是通信过程中承载面的服务提供者,音视频多媒体数据的汇聚、转发中心。具备音视频转码、融合、转发、转储等基本功能,同时也可以根据客户的需求在云上扩展业务链。
  • 设备端:是音视频通信的客户端,其主要作用是通信数据的上传包括音视频数据的前端采集、编码、上传;通信数据的接收、解码、展示。各类具备音视频多媒体pipe line(数据采集和显示),具备端云网络连接的IOT设备均可以作为HaaS RTC的设备端。

三、HaaS RTC设备端架构

客户集成HaaS RTC方案时主要的工作是设备端的SDK集成,一个典型的HaaS RTC设备端的架构如下:

  • 底层操作系统:负责驱动硬件平台,提供操作系统层接口支持。
  • 驱动框架:提供音视频采集、编解码相关设备的驱动能、显示渲染驱动能力;
  • HAL:统一的硬件抽象层,给RTC音视频业务框架提供统一的硬件驱动访问接口,屏蔽设备驱动细节。
  • RTC音视频框架:负责RTC的信令面协议、承载面协议的处理、音视频的实时传输接收、同时还可以扩展音频3A算法、监控RTC业务相关的系统资源情况。

image.png

开发者支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。

image.png

更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【视频直播】HLS实时在线人数统计实践
针对视频直播实时在线人数统计的接口,可以区分为两个部分,一个是HLS,另一个是非HLS部分。针对非HLS的实时在线人数统计,可以直接通过接口:DescribeLiveDomainOnlineUserNum。针对HLS部分的在线人数统计,逻辑会稍微复杂一些,本文主要描述HLS在线人数实时统计的场景实践方案。
915 0
安卓音视频播放器
安卓音视频播放器 随着短视频的发展,短视频的需求越来越复杂,比如添加滤镜、特效、字幕、贴纸等越来越多的功能都将添加到短视频编辑的功能里面。 为了能够实时预览我们想要的效果,我们一般都需要自研播放器。
1300 0
音视频封装格式和编码格式
音视频封装格式、编码格式知识        常见的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等文件其实只能算是一种封装标准。 一个完整的视频文件是由音频和视频2部分组成的。H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式。 例如:将一个Xvid视频编码文件和一个MP3音频编码文件按AVI封装标准封装以后,就得到一个A
3181 0
与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频)
原文:与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) [索引页][源码下载] 与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) 作者:webabcd介绍与众不同 windows phone 7.
835 0
基于用户画像的实时异步化视频推荐系统
这个月做的事情还是蛮多的。上线了一个百台规模的ES集群,还设计开发了一套实时推荐系统。 标题有点长,其实是为了突出该推荐系统的三个亮点,一个是实时,一个是基于用户画像去做的,一个是异步化。
3328 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4565 0
实时音视频通讯服务实现亿级场景化
本文PDF摘自有信CTO吴文健于10月13日在2016年杭州云栖大会上发表的《亿级场景化的实时音视频通讯服务》。
4180 0
音视频的同步原理--记录
1.   音视频同步的原理  2.  音视频同步的较正方法  3.  音视频同步时遇到的问题 声明:以下所有内容均为转载  1.原文转自:http://bbs.chinavideo.org/viewthread.
1512 0
1336
文章
287
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载