实时音视频TRTC 你问我答 第3季
本期共解答10个问题
Q1:TRTC小程序端,不想接入IM,如何实现接收自定义消息?
设置live-player的enable-recv-message属性为true,接收bindstatechange回调的返回值,判断code为2012的就是sei消息。
Q2:Web端的TRTC-Calling如何避免用户呼叫了一个人,这个人却处于通话中,此时用户调取消接听电话的接口会提示这个报错?
进房和信令发送的信令需要优化,因为不同sdk appip在处于通话中时被其他用户呼叫的行为不同。
Q3:互动白板流推到TRTC,进行客户端混流,混流来画面颜色和白板单流不一致?
白色的是白板流画面,灰色的是混流画面
1、Windows除了火狐拉流,其他浏览器,vlc都正常
2、Mac浏览器,vlc都有问题
混流后的视频是hdr(提取、处理、重现视频内容或影像的方式)的,通常视频都是sdr的,整体来说hdr会让图像的色彩、对比度得到提升,但是相应的对设备的解码能力也较sdr要高,如果设备达不到对应的解码要求,就会出现失真或者色彩偏差。
Q4:TRTC 房间什么时候会销毁解散,是否还会计费等问题?
根据文档,https://cloud.tencent.com/document/product/647/43020,理解trtc房间的生命周期,TRTC在房间内即会产生音频计费费用。
TRTC 房间的生命周期是多久?
第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。
- 通话模式下:所有用户都主动退房时,后台立即解散房间。
- 直播模式下:最后一个退房的用户是主播角色时,后台立即解散房间;最后一个退房的用户是观众角色时,后台等待10分钟后解散房间。
如果房间内的单个用户异常掉线,90秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,90秒后服务端会自动解散当前房间。用户异常掉线等待时长会被纳入计费用时统计。
当用户要加入的房间不存在时,后台会自动创建一个房间。
在房间内即会产生音频费用,视频费用根据 标清 高清 超清,按照音频收费1:2:4:15收费
Q5:Web端使用页面嵌套无法正常使用摄像头和麦克风?
参考文档:
https://www.cnblogs.com/pijunqi/p/14233721.html
嵌入网站无法使用摄像头和麦克风 可以使用iframe嵌入。
<iframe src="" frameborder="0" width="800" height="600" allow="microphone;camera;midi;encrypted-media;"></iframe>
在使用iframede时候添加allow属性:
allow="microphone;camera;midi;encrypted-media;"
Q6:视频会议,用户如果退到后台就会退出会议,这个时候再加入会议只能看到自己的预览画面?
点击图标的时候会触发启动页,导致进入了主页面逻辑触发,可以参考文章:https://blog.csdn.net/zuo_er_lyf/article/details/89491133。
Q7:移动端H5页面 ios无法采集到语音(结合语音识别)?
问题场景:这里是TRTC结合语音识别SDK同时采集,然后iOS无法采集到语音,安卓是可以同时采集的。
走TRTC的音视频流,然后用 localStream.getAudioTrack 拿到原生的 MediaStreamTrack 对象,然后转换为符合ASR标准的音频流,然后通话语音识别SDK发起请求。
原因:这里是ios的机制,如果是谷歌浏览器可以同时采集,但是ios的Safari浏览器不支持这样,所以才会出现采集音量有问题。安卓这边是支持这样采集的 ,还有就是pc浏览器也是支持同时采集d的。
Q8:TRTC中多人会议,我们教师以小提琴演奏声乐,小提琴的高音收不进来,拉一个长弓(是指用弓拉一个长音节)这两个声音收录不进来,同样场景我们以微信视频 测试 声音就可以录入?
通过 setSystemVolumeType 接口,支持自主选择通话音量和媒体音量
Q9:TRTC编码输出是544X960的分辨率为何产生了如640x368分辨率的录制文件。
音视频没上行超过2秒,后台自动补的黑帧,默认分辨率是640x368。上行视频后,分辨率正常针对TRTC视频分辨率变更过的情况,云点播录制文件信息记录的还是最初的分辨率
解决办法:
1.进房的时候设置编码参数
2.setVideoEncoderParam在进房之前调用,而不是进房后调用
Q10:TUICalling集成问题,官网文档与Demo代码是不匹配的。
参考TRTC的TUICalling源码demo指导客户使用api。