Others
直播、互动直播、实时音视频以及旁路直播有什么区别和关系?
- 直播(关键词:一对多,RTMP/HLS/HTTP-FLV,CDN)
直播分为推流端、播放端以及直播云服务,云服务使用 CDN 进行直播流的分发。推流使用的是通用标准的协议 RTMP,经过 CDN 分发后,播放时一般可以选择 RTMP、HTTP-FLV 或 HLS(H5 支持)等方式进行观看。 - 互动直播(关键词:连麦、PK)
互动直播是一种业务形式,指主播与观众之间进行互动连麦,主播与主播之间进行互动PK的一种直播类型。 - 实时音视频(关键词:多人互动,UDP 私有协议,低延时)
实时音视频(Tencent Real-Time Communication,TRTC)主要应用场景是音视频互动和低延时直播,使用基于 UDP 的私有协议,其延迟可低至100ms,典型的场景就是 QQ 电话、腾讯会议、大班课等。 腾讯云实时音视频(TRTC)覆盖全平台,除了iOS/Android/Windows之外,还支持小程序以及 WebRTC 互通,并且支持通过云端混流的方式将画面旁路直播到 CDN。 - 旁路直播(关键词:云端混流,RTC 旁路转推,CDN)
旁路直播是一种技术,指的是将低延时连麦房间里的多路推流画面复制出来,在云端将画面混合成一路,并将混流后的画面推流给直播 CDN 进行分发播放。
两台设备同时运行 Demo,为什么看不到彼此的画面?
请确保两台设备在运行 Demo 时使用的是不同的 UserID,TRTC 不支持同一个 UserID (除非 SDKAppID 不同)在两个设备同时使用。
为什么使用 CDN 直播观看时房间里只有一个人时画面又卡又模糊?
请将 enterRoom
中 TRTCAppScene 参数指定为 TRTCAppSceneLIVE。
VideoCall 模式针对视频通话做了优化,所以在房间中只有一个用户时,画面会保持较低的码率和帧率以节省用户的网络流量,看起来会感觉又卡又模糊。
为什么线上的房间都进不去了?
可能因为房间权限控制已开启。房间权限控制开启后,当前 SDKAppID 下的房间将需要在 TRTCParamEnc 中设置 privateMapKey 才能进入。如果您线上业务正在运营中,并且线上版本并没有加入 privateMapKey 的相关逻辑,请不要开启该功能,更多详情请参见 进房权限保护。
如何查看 TRTC 日志?
TRTC 的日志默认压缩加密,后缀为 .xlog。日志是否加密是可以通过 setLogCompressEnabled 来控制,生成的文件名里面含 C(compressed) 的就是加密压缩的,含 R(raw) 的就是明文的。
- iOS&Mac:
sandbox的Documents/log
- Android:
- 6.7及之前的版本:
/sdcard/log/tencent/liteav
- 6.8之后的版本:
/sdcard/Android/data/包名/files/log/tencent/liteav/
- 8.5之后的版本:
/sdcard/Android/data/包名/files/log/liteav/
- 6.7及之前的版本:
- Windows:
- 8.8之前的版本:
%appdata%/tencent/liteav/log
- 8.8以及8.8之后的版本:
%appdata%/liteav/log
- 8.8之前的版本:
- Web:打开浏览器控制台,或使用 vConsole 记录 SDK 打印信息
说明:
- 查看 .xlog 文件需要下载解密工具,在python 2.7环境中放到 xlog 文件同目录下直接使用
python decode_mars_log_file.py
运行即可。- 日志解密工具下载地址:
dldir1.qq.com/hudongzhibo/log_tool/decode_mars_log_file.py
。
出现10006 error 该如何处理?
如果出现"Join room failed result: 10006 error: service is suspended,if charge is overdue,renew it",请确认您的实时音视频应用的服务状态是否为可用状态。
登录 实时音视频控制台 > 应用管理 ,选择您创建的应用,单击 应用信息 ,在应用信息面板即可确认服务状态。
进入房间返回错误码-100018是什么原因?
原因是 UserSig 校验失败,可能情况如下:
- 参数 SDKAppID 传入不正确,可登录实时音视频控制台,选择 应用管理 并查看对应的 SDKAppID。
- 参数 UserID 对应的验证签名 UserSig 传入不正确,可登录实时音视频控制台,选择 开发辅助 > UserSig生成&校验 校验 UserSig。
如何跨房连麦(主播 PK)?
可以使用 connectOtherRoom 接口。主播调用 connectOtherRoom() 后,可以通过 onConnectOtherRoom 回调得到跨房 PK 的结果。主播一所在房间里的所有人,都会通过 onUserEnter 的回调,得到主播二进房的通知。主播二所在房间的所有人,也都会通过 onUserEnter 的回调得到主播一进房的通知。
离开房间接口 exitRoom() 是否必须调用?
不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。
旁路录制的各种场景下生成录制文件是什么格式的?
以 实时音视频控制台 中配置录制文件格式为准。
如何判断音视频通话是否推流成功?
通过回调方法 onSendFirstLocalVideoFrame,在 enterRoom 并 startLocalPreview 成功后开始摄像头采集,并将采集到的画面进行编码。 当 SDK 成功向云端送出第一帧视频数据后,会抛出这个回调事件。
如何判断纯音频通话是否推流成功?
通过回调方法 onSendFirstLocalAudioFrame,在 enterRoom 并 startLocalPreview 成功后开始麦克风采集,并将采集到的声音进行编码。 当 SDK 成功向云端送出第一帧音频数据后,会抛出这个回调事件。
我能否查询所有的 UserID?
暂不支持统计所有 UserID,可以在客户端用户注册帐号成功后将用户信息一并写入 SQL 中进行管理或查询。
相同 UserID 是否支持同时进入多个房间?
TRTC 同一时间不支持两个相同的 userId 进入房间,否则会相互干扰。
为什么调用 setAudioRoute 设置音频路由(听筒/扬声器)不生效?
只能在通话音量模式下切换听筒/扬声器,即仅在2个及以上用户连麦时调用才生效。
TRTC 只支持腾讯云控制台开启自动录制吗?怎么实现手动开启录制?
TRTC 支持手动录制,具体操作办法如下:
- 进入 应用管理 > 功能配置 ,开启 自动旁路推流 ,不开启 启动云端录制 。
- 用户进房间后,按照流 ID 生成规则,计算出 userid 对应的 streamid。
- 使用云直播的 创建录制任务 API,对 streamid 启动录制任务。
- DomainName 为
[bizid].livepush.myqcloud.com
。 - AppName 为
trtc_[sdkappid]
。 - StreamName 为
streamid
。
- 录制任务完成后,云直播会将文件写入到云点播,并通过 录制回调事件通知。
TRTC 怎么校验生成的 UserSig 是否正确?进房报错-3319、-3320错误怎么排查?
可登录实时音视频控制台,选择 开发辅助>UserSig生成&校验 校验 UserSig。
TRTC 如何查看通话时长和使用量?
可在实时音视频控制台的 用量统计 页面查看。
TRTC 如何维护用户列表、统计直播间的观看人数?
如果开发者项目工程中有集成 即时通信IM,可以直接通过 IM 群人数统计接口进行统计。但该方案统计出的人数不是很准确,如果开发者对在线人数要求不高,可以直接上述方案。
如果开发者需要很准确的统计在线人数,建议自行实现统计逻辑:
- 增加观众数(Client -> Server)当有新的观众加入时,意味着某个房间的观众数要 + 1,可以让 App 的观众端在进入房间时向 Server 发送一次累加请求。
- 减少观众数(Client -> Server)当有观众退出房间时,意味着某个房间的观众数要 - 1,可以让 App 的观众端在退出房间时向 Server 发送一次累减请求。
进房时报-100013错误码,错误信息为 ERR_SERVER_INFO_SERVICE_SUSPENDED,是什么问题?
该错误表示服务不可用。请检查:
- 套餐包剩余分钟数是否大于0。
- 腾讯云账号是否欠费。
TRTC 启动云端录制但没有生成录制文件怎么排查?
- 确保已在 实时音视频控制台 开启 自动旁路推流 和 启动云端录制 。
- TRTC 房间中有用户正常上行音视频数据才会开始录制。
- 旁路 CDN 拉流正常才会有录制文件生成。
- 若刚开始只有音频,中途切换了视频,根据录制模板的不同可能会只生成视频时间段的录制文件,或只生成音频时间段的录制文件。
邀请嘉宾连线如何告知嘉宾房间号?
告知嘉宾房间号的操作可以加在自定义消息中,解析消息内容获取 roomid,相关说明请参见 创建自定义消息 、 TIMMsgSendNewMsg。
是否可以至少两个人进入房间,才开始录音?
可以。若您需获取录制混流后的音频数据,您可在 启动云端混流 后,制定输出流 ID,并调用直播接口 创建录制任务。
Windows 端怎么采集到被分享应用播放的声音?
通过调用 startSystemAudioLoopback 接口,可打开系统声音采集。
Windows 会议模式中,如何实现主播对观众发起音视频连线的功能?
需要搭配另一个云产品 即时通信 IM 达成连线需求。
呼叫的大致逻辑为:A 给 B 发送自定义消息 X 并唤起呼叫页面,X 展示效果自行处理,B 接收到 X 后调起被呼叫页面,B 单击 enterRoom 进入房间,并发送自定义消息 X1 给 A,A 收到 X1(自行决定是否展示)同时调用 enterRoom 进入房间。使用 IM 来发送自定义消息。
观众如何查看房间里连线的画面?
当观众使用直播模式时,观众进入房间观看会通过 TRTCCloudDelegate 中的 onUserVideoAvailable 回调获知主播的 userid(连麦的人也会 enterRoom 进房,对于观众来说也是主播)。然后观众可以调用 startRemoteView 方法来显示主播的视频画面。
更多详细操作,请参见 跑通直播模式(Windows) 。
TRTC 有 Linux SDK 吗?
Linux SDK 暂未完全开放,若您需咨询或使用相关服务,请联系:colleenyu@tencent.com。
TRTC 是否支持在视频通话(或连麦互动)时进行屏幕分享吗?
支持。TRTC 连麦互动或者视频通话时,摄像头采集画面作为主流画面,同时还支持屏幕分享作为辅流画面。分享出去的屏幕就是当前手机屏幕画面,包含连麦互动或者视频通话的窗口。
- 直播、互动直播、实时音视频以及旁路直播有什么区别和关系?
- 两台设备同时运行 Demo,为什么看不到彼此的画面?
- 为什么使用 CDN 直播观看时房间里只有一个人时画面又卡又模糊?
- 为什么线上的房间都进不去了?
- 如何查看 TRTC 日志?
- 出现10006 error 该如何处理?
- 进入房间返回错误码-100018是什么原因?
- 如何跨房连麦(主播 PK)?
- 离开房间接口 exitRoom() 是否必须调用?
- 旁路录制的各种场景下生成录制文件是什么格式的?
- 如何判断音视频通话是否推流成功?
- 如何判断纯音频通话是否推流成功?
- 我能否查询所有的 UserID?
- 相同 UserID 是否支持同时进入多个房间?
- 为什么调用 setAudioRoute 设置音频路由(听筒/扬声器)不生效?
- TRTC 只支持腾讯云控制台开启自动录制吗?怎么实现手动开启录制?
- TRTC 怎么校验生成的 UserSig 是否正确?进房报错-3319、-3320错误怎么排查?
- TRTC 如何查看通话时长和使用量?
- TRTC 如何维护用户列表、统计直播间的观看人数?
- 进房时报-100013错误码,错误信息为 ERR_SERVER_INFO_SERVICE_SUSPENDED,是什么问题?
- TRTC 启动云端录制但没有生成录制文件怎么排查?
- 邀请嘉宾连线如何告知嘉宾房间号?
- 是否可以至少两个人进入房间,才开始录音?
- Windows 端怎么采集到被分享应用播放的声音?
- Windows 会议模式中,如何实现主播对观众发起音视频连线的功能?
- 观众如何查看房间里连线的画面?
- TRTC 有 Linux SDK 吗?
- TRTC 是否支持在视频通话(或连麦互动)时进行屏幕分享吗?