TRTC是啥
TRTC是腾讯出品的实时音视频产品方案。
介绍在此
从demo上来看,有以下场景:
- 音视频通话场景
- 视频互动直播场景
- 语音互动直播场景
- 视频会议场景
- 在线 K 歌场景
音视频通话场景
视频互动直播场景
语音互动直播场景
视频会议场景
在线 K 歌场景
除却以上demo提供的场景,还可以根据无UI SDK实现自己想要的场景和应用。所以在使用上功能丰富,足以实现定制化的方案。
另外通过demo代码可以研究腾讯SDK开发的思路和抽取组件的方案。
本人通过无UI的SDK及相关demo简单进行了实验。
下载SDK及相关demo
demo代码地址代码
TRTC所依赖SDK主要有:TXFFmpeg.xcframework
,TXLiteAVSDK_ReplayKitExt.framework
,TXLiteAVSDK_TRTC.framework
,TXSoundTouch.xcframework
。
官网文档直接下载的demo中不含有SDK,不过可以从代码的readme相关文件中可以获取SDK下载路径。
下载路径
下载最新精简版sdk后,里面包含文件夹TRTC-API-Example-Swift
,TRTC-API-Example-OC
,SDK
。
打开TRTC-API-Example-Swift
文件夹修改对应的参数内容。
此处备注:
- Xcode工程真机运行需要添加开发者账号,自动配置证书。
- 如果SPM下载
snapkit
库比较慢,可以初始化pod
,采用cocoapods
方式安装第三方依赖。
设置参数
GenerateTestUserSig.swift
中的SECRETKEY
和SDKAppID
修改为TRTC应用对应的参数,详细参见文档https://cloud.tencent.com/document/product/647/79623#314ea310a5f8f3a7c2d51599a47a4c99
。
运行效果
更新记录,刚忙完工作,赠贴几个运行起来的效果图。
demo代码跑完后效果如下:
体验和比较
上手和调试都比较便捷,demo代码结构很清晰,组建抽取和移植比较简单,效果比较流畅,单纯实验调试的话,用相关场景比较好,如果接入到项目工程,从无UI方式做起比较好。
音视频和即时通讯IM类SDK
用过很多家,以下是其他家的感观,如有不对,劳请指正:
- 极光IM: demo聊天界面很好看,但集成和移除相关代码比较麻烦,不如
cocoapods
方式添加本地依赖方便。 - Zego音视频: 功能和场景没TRTC全面,性能没TRCR强,集成API比较便捷,可能功能少的原因。
- 云之讯音视频: 小公司,有内存泄漏,容易出现卡顿或闪退情况。
- 海康SDK:与硬件摄像头交互的音视频SDK,上手比较容易。
- 坚稳SDK:手机端和硬件摄像头交互的音视频SDK,底层
FFmpeg
封装不好,暴露接口太多,容易和其他同类SDK发生FFmpeg
版本冲突,需要再次封装一次。 - 海贝斯SDK:手机端和硬件摄像头交互的音视频,问题同坚稳SDK,需要再次封装使用。
- 天地伟业SDK:手机端和硬件摄像头交互的音视频,问题同坚稳SDK,需要再次封装使用。