直播、互动直播、实时音视频以及旁路直播有什么区别和关系?
直播(关键词:一对多,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/
Windows:
8.8之前的版本:
%appdata%/tencent/liteav/log
8.8以及8.8之后的版本:
%appdata%/liteav/log
Web:打开浏览器控制台,或使用 vConsole 记录 SDK 打印信息。
小程序:启用 <live-pusher> 和 <live-player> 标签的 debug 属性,使用 vConsole 记录打印信息。
说明
查看 .xlog 文件需要下载 解密工具,在 Python 2.7环境中放到 xlog 文件同目录下直接使用
python decode_mars_log_file.py
运行即可。查看 .clog 文件(9.6 版本以后新的日志格式)需要下载 解密工具,在 Python 2.7 环境中放到 clog 文件同目录下直接使用
python decompress_clog.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 支持手动录制,具体操作办法如下:
1. 进入 应用管理 > 功能配置 ,开启 自动旁路推流 ,不开启 启动云端录制 。
2. 用户进房间后,按照流 ID 生成规则,计算出 userid 对应的 streamid。
3. 使用云直播的 创建录制任务 API,对 streamid 启动录制任务。
DomainName 为
[bizid].livepush.myqcloud.com
。AppName 为
trtc_[sdkappid]
。StreamName 为
streamid
。4. 录制任务完成后,云直播会将文件写入到云点播,并通过 录制回调事件通知。
TRTC 怎么校验生成的 UserSig 是否正确?进房报错-3319、-3320错误怎么排查?
TRTC 如何查看通话时长和使用量?
TRTC 如何维护用户列表、统计直播间的观看人数?
如果开发者项目工程中有集成 即时通信 IM,可以直接通过 IM 群人数统计接口进行统计。但该方案统计出的人数不是很准确,如果开发者对在线人数要求不高,可以直接上述方案。
如果开发者需要很准确的统计在线人数,建议自行实现统计逻辑:
1. 增加观众数(Client -> Server)当有新的观众加入时,意味着某个房间的观众数要 + 1,可以让 App 的观众端在进入房间时向 Server 发送一次累加请求。
2. 减少观众数(Client -> Server)当有观众退出房间时,意味着某个房间的观众数要 - 1,可以让 App 的观众端在退出房间时向 Server 发送一次累减请求。
进房时报-100013错误码,错误信息为 ERR_SERVER_INFO_SERVICE_SUSPENDED,是什么问题?
该错误表示服务不可用。请检查:
套餐包剩余分钟数是否大于0。
腾讯云账号是否欠费。
TRTC 启动云端录制但没有生成录制文件怎么排查?
新版云端录制请参考以下方式排查:
1. 区分录制功能的发起方式,手动 API 录制还是全局自动录制。
2. 手动 API 录制:
确认云端录制 APICreateCloudRecording调用是否正确。
房间内有用户正常上行音视频数据(上行时长应超过30s,太短将导致录制失败)。
房间录制结束后,确认是否收到录制完成和文件上传回调,录制文件会上传至云点播,可前往云点播控制台进行查看文件是否存在。
3. 全局自动录制:
确认在控制台完成全局自动录制模板创建,并开启全局录制自动录制开关。
房间内有用户正常上行音视频数据(上行时长应超过30s,太短将导致录制失败)。
房间录制结束后,确认是否收到录制完成和文件上传回调,录制文件会上传至云点播,可前往云点播控制台进行查看文件是否存在。
旧版云端录制请参考以下方式排查:
1. 确保已在 实时音视频控制台 开启 自动旁路推流 和 启动云端录制 。
2. TRTC 房间中有用户正常上行音视频数据才会开始录制。
3. 旁路 CDN 拉流正常才会有录制文件生成。
4. 若刚开始只有音频,中途切换了视频,根据录制模板的不同可能会只生成视频时间段的录制文件,或只生成音频时间段的录制文件。
邀请嘉宾连线如何告知嘉宾房间号?
是否可以至少两个人进入房间,才开始录音?
Windows 端怎么采集到被分享应用播放的声音?
Windows 会议模式中,如何实现主播对观众发起音视频连线的功能?
呼叫的大致逻辑为:A 给 B 发送自定义消息 X 并唤起呼叫页面,X 展示效果自行处理,B 接收到 X 后调起被呼叫页面,B 单击 enterRoom 进入房间,并发送自定义消息 X1 给 A,A 收到 X1(自行决定是否展示)同时调用 enterRoom 进入房间。使用 IM 来发送自定义消息。
观众如何查看房间里连线的画面?
当观众使用直播模式时,观众进入房间观看会通过 TRTCCloudDelegate 中的 onUserVideoAvailable 回调获知主播的 userid(连麦的人也会 enterRoom 进房,对于观众来说也是主播)。然后观众可以调用 startRemoteView 方法来显示主播的视频画面。
TRTC 是否支持在视频通话(或连麦互动)时进行屏幕分享吗?
支持。TRTC 连麦互动或者视频通话时,摄像头采集画面作为主流画面,同时还支持屏幕分享作为辅流画面。分享出去的屏幕就是当前手机屏幕画面,包含连麦互动或者视频通话的窗口。
互动直播 iLVB 迁移至实时音视频 TRTC 的帮助说明
腾讯云互动直播 iLVB产品已于2019年10月停止维护,目前已无法满足新的业务需要,为了更好为您提供音视频相关服务,建议您及时迁移服务至实时音视频TRTC 产品。音视频互动相关需求已由实时音视频 TRTC 产品提供后续的服务支持。在完全兼容互动直播基础的音视频通信功能外,实时音视频 TRTC 还提供了丰富的终端能力与云端特性,包括不限于 AI 降噪、云端录制、内容识别与审核、小程序加速服务、RTMP 推流进房等。
您可以通过 TRTC 控制台 快速创建服务并进行集成,原有应用的即时通信 IM 服务不受影响。(或您也可以将IM服务一并替换为新的SDKAppID),TRTC 提供了含UI集成方案 和 无UI集成方案 两种方案,可根据您的开发能力和业务需求进行选择接入。
若已购买实时音视频 TUICallKit 套餐包,仍提示未购买,如何处理?
若已购买实时音视频 TUICallKit 套餐包仍提示未购买,请按如下排查流程处理:
1. 请您确认是否购买的是 TUICallKit 套餐包,非IM套餐包或者 TRTC 套餐包。
2. 若您确实购买的是 TUICallKit 套餐包,但仍提示未购买,这里可能有两个原因:
开通以后有延时,需要10分钟左右,海外长一些。
新的能力位需要重新登录后才会下发到客户端,需要您终止进程重试一下。