TRTC功能咨询

时间:2022-07-24
本文章向大家介绍TRTC功能咨询,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、TRTC能实现手机端和pc端通过手机号搜索,进行音视频通话么?

使用场景:

(1)医生与病人进行音视频一对一问诊(包括多人视频会议)

(2)医生使用PC端,病人使用移动端

问题:PC端怎么通过音视频通话邀请移动端进入通话,就像IM视频通话一样?使用的是TRTC,请问怎么能实现这个业务场景?

解答:

一:首先在TRTC官方demo中手机端是可以实现1V1音视频通话的(demo下载地址:https://cloud.tencent.com/document/product/647/32689),具体实现过程:A拨打音视频通话给B,A通过IM发送一条消息给B同时创建一个房间,B接收到消息,点开进入音视频通话界面,接受进入房间。

所以1V1音视频通话到底是怎么实现的呢?实际上就是双方进入同一个房间,只不过房间号没有开放出来。

二:跨端的音视频通话,也是通过IM消息发送,进入房间实现的。

(PC端邀请移动端音视频通话)具体实现过程:用户服务器肯定得保存用户的userID(手机号注册,对应唯一的userID),PC端通过手机号搜索用户(userID),拨通音视频通话(并创建房间)。这时,通过IM发送消息给移动端,移动端接收邀请进入房间。

2、如何获取采集的每一帧?有现成的接口吗?

使用SDK采集视频,无法获取到CVPixelBufferRef(每一帧)。只能自定义时才能通过onPlayerPixeBuffer:这个方法拿到CVPixelBufferRef

3、如何监听网络,弱网时提示切换网络或者停止连麦?

弱网状态下,直播连麦会出现卡顿甚至丢帧的情况。TRTC可以使用 onNetworkQuality() 监听当前网络的上行和下行质量,实现信号强弱功能。在VoiceRoomTRTCServiceDelegate下设置了一个代理方法

func onNetWorkQuality(trtcQuality: TRTCQualityInfo, arrayList: [TRTCQualityInfo])

通过设置当前代理,实现网路监听,

 func onNetWorkQuality(trtcQuality: TRTCQualityInfo, arrayList: [TRTCQualityInfo]) {
        //判断网络,进行操作(提示主播切换网络)
        switch trtcQuality.quality {
            case TRTCQuality.excellent:
                print("网络最好")
            case TRTCQuality.good:
                print("网络好")
            case TRTCQuality.poor:
                print("网络一般")
            case TRTCQuality.bad:
                print("网络差")
            case TRTCQuality.vbad:
                print("网络很差")
            case TRTCQuality.down:
                print("网络不可用")
            default:
                print("未知网络")
        }
    }

4、新版本的应用是否能使用旧版本的混流方式?

解决办法:新版本的应用可以使用旧版本的混流方式,但是,不能使用客户端SDK进行混流。因为新版本默认是使用MCU混流方式,所以只能服务器使用云直播混流的方式进行混流。但是这样又出现一个问题,这样的混流不能进行录制。

录制的解决办法:是api没带product_name的原因,api支持product_name后期会改善发布。

目前解决方式可以在trtc控制台配置录制模板,通过模板来拉起录制任务(https://cloud.tencent.com/document/product/647/16823

5、直播音画不同步?

解答思路:

首先造成音画不同步的原因一般有两种:

1)  音视频数据采集时时间戳添加就存在偏差,这种情况上,需要从采集设备端调整PTS 生成策略。

2)  网络传输导致的时间戳偏差,由于网络延时、丢包、带宽不足等原因,音视频数据包没有同步到达播放器,解码的时候有了一些偏差,这种情况也有可能导致音画不同步。

通过仪表盘查看直播的音视频的图形表,发现音视频和网络的波动很大,初步得出结论是网络影响了音视频数据包的传输和解码时机,导致的不同步。进而发现用户使用App的CPU使用率平均在80%左右。最终建议:1、在网络流畅的情况下进行直播,2、直播是建议关闭其他占用CPU资源多的App 3、代码进行App的内存优化