iOS音视频接入-TRTC底层架构组成了解

2020-10-09 16:12:00 浏览数 (1)

要更好的使用TRTC必须要先仔细的了解此产品,所谓知己知彼,百战不殆,我们就先了解下TRTC的底层基本架构组成。TRTC既然是提供实时音视频的SDK,那按照一般的音视频流程(采集-处理-渲染-传输)处理来看TRTC。

我们通过TRTC SDK 下载链接(选择iOS ZIP包下载,根据自己的需求选择专业版或者企业版),下载SDK后会得到一个命名为“TXLiteAVSDK_TRTC_iOS_latest.zip”的压缩文件,将其解压后会得到如下目录文件:

TRTC SDK解压后目录TRTC SDK解压后目录

可以看到TRTC SDK主要是在LiteAVSDK上进行封装的,那LiteAVSDK又是个什么呢?

音视频引擎LiteAV

什么是音视频引擎?

音视频引擎负责音视频采集、预处理、编码、传输等过程的处理,音视频数据就是其“燃料” ,源数据经音视频引擎处理后,可以被方便地进行操作与展示。

通用音视频引擎架构示意图

一般的音视频引擎中,都会包含音频引擎、视频引擎、网络传输及基础功能,将这些基本功能封装起来,提供API以供开发者使用和管理,我们在开中一般使用的只是API调用层,下图为通用的音视频音频结构示意图:

通用音视频架构通用音视频架构

LiteAV引擎框架

LiteAV引擎在基本的音视频引擎基础上进行了更多的封装操作,其主要分为两个层级,分别为上层API和底层LiteAVCore,在API层其提供了多个模块主要包括:移动直播(LiteAV_Smart)、短视频(LIteAV_UGC)、超级播放器(LIteAV_Player)、实时音视频(LIteAV_TTRTC)。LiteAVCore包括音视频引擎、网络协议栈、编解码、音视频的JitterBuffer 、人脸识别、状态管理等,在向下层还包括一些Base库如:Thread Pool线程管理、Log日志管理、Encrypt/Decrypt加解密、网络管理。基本图表如下:

LiteAV引擎基本架构LiteAV引擎基本架构

LiteAVSDK能力划分

LiteAVSDK从能力上又可分为五个部分:

一、API上层业务调用

二、LocalVideoStream本地视频流预览、美颜、滤镜、动效

三、RemoteVideoStream播放远端数据流、视频解码、渲染

四、AudioCenter声音处理

五、Network网络推拉流。

基本图表见下图:

LiteAVSDK能力划分LiteAVSDK能力划分

LiteAVSDK版本关系

这里有各版本详细差异对比

版本关系版本关系

各模块介绍

超级播放器 LIteAV_Player

LiteAVSDK_Player 基于支持网络或者本地 .flv/.m3u8/.mp4 文件播放,主要功能包括 play/stop/pause/resume/seek/mute 等,支持预加载、倍速播放、硬件加速、边下边播。

基于 LiteAVSDK_Player 封装的 SuperPlayer,更能快速的集成视频信息拉取、横竖屏切换、清晰度无缝切换、弹幕、直播时移等功能,灵活易用,可高度定制和二次开发。

其主要流程为:

播放流程示意播放流程示意

短视频 LiteAVSDK_UGC

LiteAVSDK_UGC 提供短视频录制、视频编辑、美颜动效、视频特效、声音特效、背景音乐、时间轴预览、视频合唱、贴纸、字幕等功能

基于 LiteAVSDK_UGC 封装的 UGCKit 组件,支持二次开发,自定义主题,方便开发者集成与修改。使用UGCKit搭建的开源的“小视频”APP,为开发者提供更有效的参考。

注:短视频SDK 产品通过 licence 授权方式在腾讯云上进行售卖,不同级别 licence 差异在这里查看

短视频模块架构示意

短视频模块架构示意短视频模块架构示意

移动直播 LiteAV_Smart

LiteAVSDK_Smart 包含 TXLivePusher 和 TXLivePlayer 两部分,前者用于 RTMP 协议的推流,后者支持 RTMP以及HTTP-FLV 协议的拉流。

TXLivePusher 通过引入 RTMP over QUIC 实现低延时推流,抗 30% 丢包的 RTMP 上行推流优化,增强直播推流稳定性;通过引入TRAE,支持耳返、背景音乐、变声变调、混响等声音处理,提升移动直播的可玩性;支持 SEI 编码。

TXLivePlayer 针对直播场景中的分辨率变化、音画同步、缓冲调整等做了适配与优化,增强直播观看的稳定性;通过适配云直播,实现分辨率无缝切换、时移回看等功能;通过 RTMP over QUIC 实现 RTMP 加速播放;支持 SEI 解析。

移动直播主要流程:

移动直播流程示意移动直播流程示意

实时音视频 TRTC

LiteAVSDK_TRTC 提供 RTC 能力,使用 UDP 私有协议,落地于两大低延时场景:支持 300 人同时通话的多人互动通话,以及 10 万级别人数同时在线播放的低延时互动直播。

TRTC 全球端到端平均延时低于 300ms(最低可达100ms以下);视频抗50%丢包,音频抗70%丢包,1000ms延时抖动可正常互动通话;支持1080P全高清视频,48kHz高清语音;领先行业的 TRAE 语音引擎,出色的 3A 处理,满足单讲、双讲等各种场景下的音质需求。

TRTC主要流程:

TRTC流程示意TRTC流程示意

下一篇文章将进行demo试跑前的准备工作。

0 人点赞