写点什么

腾讯云实时音视频 (TRTC)SDK 使用体验测评

作者:为自己带盐
  • 2021 年 12 月 19 日
  • 本文字数:3434 字

    阅读完需:约 11 分钟

一、为什么选 TRTC?

我们属于教育行业,经常负责承办一些省,市举办的青少年科技创新类的活动。在 2020 年初,爆发了新冠肺炎疫情,大部分线下活动也因此转到线上。当时也出现了一些诸如腾讯会议,钉钉等类型的软件,但毕竟要和赛事进行业务整合和数据对接,因此需要自行开发。当时对比了几家云服务厂商的方案,最后是在声网音视频(Agora)和腾讯云 Trtc 两个产品中选择了腾讯云。主要还是从文档详细程度,上手难度,是否提供完整可体验的 demo 三个方面来定。在形势紧急的情况下,价格已经不重要了~而且我们也进行了对比,大同小异,而且当时各家都有活动。总体来说,还是腾讯云的产品更接地气,当时的完成度也非常高,提供了多种环境的 API,SDK 和 demo。可以快速集成到我们自有的业务当中。

 

二、怎么用 TRTC?

我个人感觉,接入 TRTC 的流程,其实就是文档大菜单的流程。

a.先了解产品动态--->

b.看一下新手指引和产品简介--->

c.简单看一下购买指南,但别陷进去不要一看到收费就不向下看了--->

d.5 分钟看完上面的内容,直接来到 demo 体验,如果正好有你需要的环境,下一个下来先体验一把--->

e.看一下一分钟系列快速在本地跑通一个环境,推荐 web 环境,最容易上手

正常情况下,基本 30 分钟到 1 小时左右就可以从快速懵逼状态进入到本地实测环节。

如果一切进展顺利,在详细的翻看一下文档,主要关注下 api 和价格。其实 TRTC 的文档更像是一个渐进式的文档,没必要一上来全都了解透彻了在开干,完全可以先抓主要矛盾,剩下的就可以一边用一边了解,中途踩几个坑都不重要,只要真正用起来了,踩过的坑才变得更有意义,对产品也就更了解,对我们自己的业务提升也就更有帮助。

当然价格还是多少要细致了解一下,搞清楚音视频流量,直播流量,转码流量,录制流量等一些概念的区别(ps 注意音视频流量的分钟数不是字面上的分钟数,语音 1 分钟是 1 分钟,而视频分标清,高清和超清,还可以自定义,这些的 1 分钟就不只是 1 分钟了,详情:https://buy.cloud.tencent.com/price/trtc/calculator)。

因为腾讯云的生态圈很大,每个产品都不是作为独立个体来服务,而它们提供的这些服务,也都是用户可配置的,但毕竟东西很多,有时候文档跳来跳去你自己就蒙了。我的经验是,如果是新手,不要在乎仨瓜俩枣的小钱,而且腾讯云也很厚道的会给一些新手流量包,就先无脑的把想体验的功能都体验个遍,毕竟测试阶段产生不了多大的费用,然后在控制台看看流量是怎么统计的,再看看消费账单,看看都在哪产生计费项了,不懂得就提工单(这里还要赞一下腾讯云的客服,真的很到位)。基本有个 2,3 天,就弄明白 TRTC 和与之相关的服务流程了。

 

三、谈钱不伤感情

本来这里想多写一点,介绍一下相关的计费规则,后来看到最近腾讯云上线了新的费用计算器:https://buy.cloud.tencent.com/price/trtc/calculator,这个很直观,直接在这里看即可。还有一个相关的文档地址是:https://cloud.tencent.com/document/product/647/44247

四、开始测评,九阳神功

说了半天,正式开始吧,只有真正了解了 TRTC 的提供的能力,以及计费的项目,就像张无忌练就了九阳神功,除了自身修为会提升,修炼别的武功也比常人速度更快。

我这里就从创建应用开始,展示一下我们的接入过程,同时提出几个我觉得需要注意的点。

1. 创建应用

在完成腾讯云账号的注册,认证,和 trtc 购买流程之后,就可以在控制台创建应用了。创建之后,会得到应用的 sdkappid,密钥等信息,到这里就可以去接入自己的系统进行使用了。



2. 功能配置

功能配置我们目前只用到了旁路推流和云端录制。

如果要将音视频的画面进行直播,点播等操作,需要在功能配置里开启相应的功能。这里我建议大家开启的时候,选择指定流旁路和指定用户录制两种配置。这样配置的话可以节省很多成本,但需要一些额外的开发成本。如果公司有实力,或者的确是业务需要,可以开启全局自动旁路,这样没有额外开发成本,就可以对音视频画面进行直播和录制。


其余关键的配置还有回调配置,主要是用来搭配一些事件,比如创建房间,解散房间,以及一些鉴黄等功能使用。

3. 生成 UserSig

集成的时候,不论是选择那种技术方案,都需要现在服务端部署一个生成 UserSig 的接口,官方的快速跑通系列介绍是把 sdkappid 和密钥放到客户端,为的是降低开发门槛,快速上手,真正应用的时候我们还是要把这一步放到服务端。

这个官方也有多语言的介绍,我们用的是 dotnetcore 环境,生成的方法就长这样



4. 客户端集成

客户端集成,注意看自家业务,腾讯云官方给出了基于 web,小程序,安卓,苹果,Windows 桌面,electron 等多种方案,我们采用的是 web+小程序,来完成跨端的服务。

从我们的开发经验来看,腾讯云对 web 端的 sdk 还是非常重视的,基本每隔 2 周左右就会出一次版本更新,我们从最初 4.4.x 一直跟进到了现在 4.11.x,从体验上感到明显提升,尤其是在用户网络环境不好,信号终端的情况下,4.6 以前的版本处理起来非常困难,但 4.6 以后的版本这方面改进非常大,明显信号稳定行提升了很多,再结合控制台的仪表板进行监控,使用体验顺滑了很多。

小程序在这方面明显感觉稳定性要比 web 端稳定不少,而且开发难度和成本都很低,建议有移动端需求的小伙伴,优先考虑小程序路线。

我这里建议还是把房间和用户的管理作为重点,因为官方的 demo 还是本着快速上手的目的,并没有对这里过多介绍。比如 web 端的 demo,在本地实际跑通之后,无论是谁都是可以进入房间的,这就除了造成安全和隐私问题,还会消耗更多流量,造成资源浪费。

我的经验是,在进入音视频直播间之前,一定是要有一个房间验证环节。我们是把房间的开关放到了 redis 的一个 hash 表里,通过一个简单的后台界面进行管理,这样用户在进入指定房间时,会先验证房间号是存在,不存在则提示用户房间未开启,反之才可以继续后面的流程。

除了房间号,对用户的验证也应该考虑,我们对此提供了 3 种选择,

1 是不验证,即房间号开启任何人均可进入房间;

2 是账号验证,即需要一个登录验证来进入房间,同时还借助 signalr 来完成一个呼叫进入的模式,也就是用户登录之后,并不直接进入直播间,而是通过 websocket 和服务端建立长连接,等待管理人员呼叫,收到呼叫才能进入房间。(这里也可以用腾讯云的 IM,音视频本身就包含 IM 的免费版,在管理房间人员,解散房间的时候会用到)




3 是刷脸认证,我们也接入了人工智能接口,在安全性要求比较高的场景,对用户进行刷脸认证。这里可以使用腾讯云的人脸识别接口,日免费调用量是 10000,一般场景基本都够用了。



除了安全性,还要注意调整码率,分辨率,api 里有相关的指导,需要注意的是,除了摄像头采集画面的码率,还有共享屏幕的,这两个在产品上线前一定要根据情况调整好,调低了不清楚,调高了流量走的哗哗的,根据自己情况定。

https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-14-basic-set-video-profile.html。

这里建议结合控制台仪表盘的监控数据,来进行调整,个人感觉这个仪表盘做的还是非常厉害的,监控的数据很全面,对每个人的发送和接受数据,掉帧情况都有详细的图表展示,非常直观。




5. 服务端集成

除了集成腾讯云的客户端,其服务端也提供了很多管理接口,用来方便的管理房间,推流等操作。

我个人认为,集成服务端 api 的重要程度,甚至要高于客户端。文档地址:https://cloud.tencent.com/document/product/647/37078

官方对服务端接口的文档介绍也非常详细,而且提供了即使测试(API Explorer)的工具,只需要选择对应的语言,输入必要的参数,就能得到对应的代码。然后稍加修改就可以快速集成到我们自己的系统中,非常方便。

比如,我要解散某个房间,就可以先按照文档生成的源码,简单修改一些生成自己的底层方法,然后遵循依赖注入原则,构造接口,最后在到控制器里去调用该接口即可;





实际测试的结果也印证了这些接口真的非常好用。会让你的业务流程更加丰满,提供更多维度的服务能力。

除了解散房间,其余比较常用的就是踢人,查询房间人员列表,推流,录制。都可以根据文档介绍,然后灵活开发。献上一个我们自己的服务端控制台截图。




五、打完收工

我们目前用到 TRTC 的能力基本就这些,看到最新开放的源码里,web 端采用了框架的技术,并提供了很多原生 web 没有的能力,比如监控码率,美颜等功能,锦上添花,后续我们也会持续跟进。

整体感觉 TRTC 的各方面还是非常厉害的,基本你能想到的功能,它都有。而且接入腾讯整个大生态,尤其在开发微信小程序的时候,效率很高。在开发的过程中也的确能感到 trtc 在各方面的能力都在提升,有种和用户一块提升的感觉。

发布于: 3 小时前阅读数: 10
用户头像

学着码代码,学着码人生。 2019.04.11 加入

狂奔的小码农

评论

发布
暂无评论
腾讯云实时音视频(TRTC)SDK使用体验测评