专栏首页音视频学习TRTC Android端开发接入学习之常见问题(十一)
原创

TRTC Android端开发接入学习之常见问题(十一)

常见问题

防火墙限制问题

客户端Native SDK需要配置的端口或域名

TRTC SDK(Native)

白名单项目

TCP 端口

443、20166

UDP 端口

8000

WebRTC需要配置的端口和白名单

WebRTC(H5)

白名单项目

TCP 端口

8687

UDP 端口

8000;8080;8800;843;443;16285

小程序trtc-room需要配置的白名单

cloud.tim.qq.com
gz.file.myqcloud.com
avc.qcloud.com
yun.tim.qq.com
dldir1.qq.com
mlvbdc.live.qcloud.com
query.tencent-cloud.com

TRTC V1和V2版本区别

V1和V2主要区别在于IM的SDK是否内嵌于TRTC中,V1线路是内嵌,而V2则可选,默认不打包IM的SDK包。V2在通话质量、线路规格、接入难度以及功能扩展上均比V1更有优势。

功能相关问题

1.实时音视频支持同时并发存在4294967294个房间,累计房间数量无限制。

2.实时音视频服务端带宽无限制,但不支持私有化部署

3.实时音视频延时低于300ms

4.实时音视频支持蓝牙耳机和在国外使用

5.实时音视频在小程序端体验高于公众号

6.直播录制视频不能直接保存至本地,但录制结束后可以在云点播平台自行下载至手机中

7.TRTC 与移动直播后台方案架构不同,所以不支持直接相互通信,仅可从 TRTC 后台旁路推流到 CDN

8.支持拉流播放RTMP/FLV,目前 TRTC SDK 中已打包 TXLivePlayer。如果有更多播放器功能需求,可以直接使用 LiteAVSDK_Professional 版本,包含了全部功能。

9.通话模式下,单个房间最多支持300人同时在线,最多支持30人同时开启摄像头或麦克风。直播模式下,单个房间支持10万人以观众身份在线观看,最多支持30人以主播身份开启摄像头或麦克风。

10.房间号取值区间为1 - 4294967295,由开发者自行维护和分配。UserID取值范围长度建议不超过32字节。请使用英文字符、数字或下划线,不能全为数字,不区分大小写.

11.房间生命周期,第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。所有用户都主动退出当前房间时,后台会立即解散房间如果房间内的单个用户异常掉线,30秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,30秒后服务端会自动解散当前房间。当用户要加入的房间不存在时,后台会自动创建一个房间

TRTC 出现卡顿怎么排查?

可以通过对应的 RoomID、UserID 在实时音视频控制台的【监控仪表盘】页面查看通话质量:通过接受端视角查看发送端和接收端用户情况。查看发送端和接收端是否丢包率比较高,如果丢包率过高一般是网络状况不稳定导致卡顿。查看帧率和 CPU 占用率,帧率比较低和 CPU 使用率过高都会导致卡顿现象。

TRTC 出现画质不佳,模糊、马赛克等现象怎么排查?

清晰度主要和码率有关,检查 SDK 码率是否配置的比较低,如果高分辨率低码率容易产生马赛克现象。TRTC 会通过云端 QOS 流控策略,根据网络状况动态调整码率、分辨率,网络比较差时容易降低码率导致清晰度下降。检查进房时使用的 VideoCall 模式还是 Live 模式,针对通话场景 VideoCall 模式主打低延时和保流畅,所以在弱网情况下会更容易牺牲画质确保流畅,对画质更加看重的场景建议使用 Live 模式。

跑通直播问题

问题描述

如何证明自己拉流成功,为何打印两次main类型,为何在浏览器运行时报两次错,并且第一次运行正常,刷新后就会产生异常?

解决方案

当我们监听远端流stream-added时会订阅远端流信息,在stream-subscribed中发布订阅信息并使用remoteStream.play()进行播放,如果页面显示了直播内容就说明拉流成功。

对于stramType连续打印两次main类型,主要是因为浏览器默认的主流视频就是main类型,即直播类型。

浏览器报两次错误是因为,拉流过程中出现音视频拉去失败,每一此需打印一次。并且该错误产生的原因主要是因为浏览器在2018年4月份就正式关闭了自动播放,并且声音无法自动播放在IOS/Android上无法自动播放也是一个常态。我们可以手动的调用client对象中的resume方法进行手动打开。而事实上这并不会影响到实际的业务内容。

其它问题

直播、互动直播、实时音视频以及旁路直播有什么区别和关系?

直播分为推流端、播放端以及直播云服务,云服务使用 CDN 进行直播流的分发。推流使用的是通用标准的协议 RTMP,经过 CDN 分发后,播放时一般可以选择 RTMP、HTTP-FLV 或 HLS(H5 支持)等方式进行观看。

互动直播是一种业务形式,指主播与观众之间进行互动连麦,主播与主播之间进行互动PK的一种直播类型。

实时音视频(Real-Time Communication, RTC)主要应用场景是音视频互动和低延时直播,使用基于 UDP 的私有协议,其延迟可低至100ms,典型的场景就是 QQ 电话、腾讯会议、大班课等。 腾讯云实时音视频(TRTC)覆盖全平台,除了iOS/Android/Windows之外,还支持小程序以及 WebRTC 互通,并且支持通过云端混流的方式将画面旁路直播到 CDN。

旁路直播是一种技术,指的是将低延时连麦房间里的多路推流画面复制出来,在云端将画面混合成一路,并将混流后的画面推流给直播 CDN 进行分发播放。

为什么线上的房间都进不去了?

可能因为房间权限控制已开启。房间权限控制开启后,当前 SDKAppID 下的房间将需要在 TRTCParamEnc 中设置 privateMapKey 才能进入。如果您线上业务正在运营中,并且线上版本并没有加入 privateMapKey 的相关逻辑,请不要开启该功能,更多详情请参见 进房权限保护。

如何查看 TRTC 日志?

TRTC 的日志默认压缩加密,后缀为 .xlog。日志是否加密是可以通过 setLogCompressEnabled 来控制,生成的文件名里面含 C(compressed) 的就是加密压缩的,含 R(raw) 的就是明文的。

出现10006 error 该如何处理?

请确认您的实时音视频应用的服务状态是否为可用状态。登录实时音视频控制台,单击您创建的应用,单击【帐号信息】,在帐号信息面板即可确认服务状态。

进入房间返回错误码-100018是什么原因?

原因是 UserSig 校验失败,可能参数 SDKAppID 传入不正确,可登录实时音视频控制台,选择【应用管理】并查看对应的 SDKAppID。参数 UserID 对应的验证签名 UserSig 传入不正确,可登录实时音视频控制台,选择【开发辅助】>【UserSig生成&校验】校验 UserSig。

为什么设备摄像头或麦克风出现被占用等异常现象?

调用 exitRoom() 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等,硬件设备的释放是异步操作,待资源释放完毕,SDK 会通过 TRTCCloudListener 中的 onExitRoom() 回调通知上层。如果您要再次调用 enterRoom() 或切换到其他的音视频 SDK。

离开房间接口 exitRoom() 是否必须调用?

不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。

TXVodPlayer播放声音小

通过 setSystemVolumeType 接口设置通话时使用的系统音量类型,设置为媒体音量模式 TRTCSystemVolumeTypeMedia 即可解决。

TRTC 调用混流接口失败

首先,确保已在 实时音视频控制台 开启【自动旁路推流】。然后,监听 onSetMixTranscodingConfig() 接口,根据返回的错误信息修改。若通过 SDK 接口自定义了旁路流 ID,老的云端混流方式会混流失败。最后若 onSetMixTranscod-

ingConfig() 返回成功但旁路 CDN 拉流仍没有效果,可能是播放域名没有配置所导致的,建议检查播放域名相关配置。

TRTC 启动云端录制但没有生成录制文件怎么排查?

1.确保已在实时音视频控制台开启【自动旁路推流】和【启动云端录制】。2.TRTC 房间中有用户正常上行音视频数据才会开始录制。

3.旁路 CDN 拉流正常才会有录制文件生成。

4.若刚开始只有音频,中途切换了视频,根据录制模板的不同可能会只生成

视频时间段的录制文件,或只生成音频时间段的录制文件。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TRTC Android端开发接入学习之什么是TRTC(二)

    TRTC 即 Tencent RTC,中文名是腾讯实时音视频,源自 QQ 音视频团队,是基于 QQ 十几年来 的音视频技术积累,在腾讯云上部署售卖的 RTC 云...

    腾讯云-hongyang
  • TRTC Android端开发接入学习之音视频基础(一)

    是人对视觉感知的物质再现。三维自然场景的对象包括:深度,纹理和亮度信息。二维图像:纹理和亮度信息。

    腾讯云-hongyang
  • TRTC Android端开发接入学习之实现语音聊天室(九)

    多人语音是音视频通话的常见应用场景之一,TRTC对着这方面的支持必不可少,本次我们学习如何使用TRTC快速开发语音聊天室功能。

    腾讯云-hongyang
  • 微信公号DIY:训练聊天机器人&公号变身图片上传工具

    上一篇 一小时搭建微信聊天机器人 介绍了如何搭建一个可用的聊天机器人,但是和机器人聊完你会发现,聊天机器人实在是太傻了,来回就那么几句。这是因为我们给聊天机器人...

    goodspeed
  • 音频帧、视频帧及其同步

    音频帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像,而音频帧会因编码格式的不同而不同,如 PCM 音频流可以直接进行播...

    刘盼
  • 服务可用性的一知半解

    谈到高并发和高可用往往引起很多人的兴趣,有时候成为框架选择的噱头。实际上,它们往往和框架关系不大,而是跟架构息息相关。在很多时候,老码农会直面一个问题:

    半吊子全栈工匠
  • 快速人脸验证--MobileFaceNets: Efficient CNNs for Accurate Real-time Face

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148525
  • 360勒索软件威胁形势报告:中小企业成黑客聚焦目标

    2017年,包含WannaCry、Petya的勒索病毒攻击事件已爆发过多次,这些勒索软件攻击皆是在全球范围内爆发的大规模攻击。勒索软件攻击下,部分企业计算机、服...

    企鹅号小编
  • VB语言基础重要知识点08

    程序界面包含控件:1.timer1时钟控件。2.label1标签控件。3.command1按钮控件。程序界面设计如下:

    刘金玉编程
  • 女朋友背着我,用 Python 偷偷隐藏了她的行踪

    上篇文章发布之后,一位朋友告诉忽略了一件事,假设女朋友会 Python 的话,那岂不是要翻车?如果是这样的话,女朋友发过来的图片包含的地理位置是否真实,要打一个...

    数据森麟

扫码关注云+社区

领取腾讯云代金券