前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS音视频接入-TRTC底层架构组成了解

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

原创
作者头像
小明同学接音视频
修改2020-10-09 16:12:00
3K0
修改2020-10-09 16:12:00
举报

要更好的使用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试跑前的准备工作。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 音视频引擎LiteAV
    • 什么是音视频引擎?
      • 通用音视频引擎架构示意图
        • LiteAV引擎框架
          • LiteAVSDK能力划分
            • LiteAVSDK版本关系
            • 各模块介绍
              • 超级播放器 LIteAV_Player
                • 短视频 LiteAVSDK_UGC
                  • 移动直播 LiteAV_Smart
                    • 实时音视频 TRTC
                    相关产品与服务
                    实时音视频
                    实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档