实时音视频

功能相关

最近更新时间:2024-10-21 18:23:42

我的收藏

实时音视频是什么?

腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯多年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案,详细说明请参见 产品概述

实时音视频 Demo 怎么体验?

具体请参见 Demo 体验

实时音视频如何快速入门?

实时音视频为您提供了各个平台的 Demo 源码,您只需花费极少的时间即可快速搭建属于您自己的小应用,具体请参见 新手入门

实时音视频 RoomID 是什么?取值区间值是多少?

RoomID 即房间号,用于唯一标识一个房间。房间号取值区间为1 - 4294967295,由开发者自行维护和分配。

TRTC 进房 UserID 是什么?取值范围是多少?

UserID 即用户ID,用于在一个实时音视频应用中唯一标识一个用户。取值范围长度建议不超过32字节。请使用英文字母、数字或下划线,区分大小写。

TRTC 房间的生命周期是多久?

第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。
通话模式下:所有用户都主动退房时,后台立即解散房间。
直播模式下:最后一个退房的用户是主播角色时,后台立即解散房间;最后一个退房的用户是观众角色时,后台等待10分钟后解散房间。
如果房间内的单个用户异常掉线,90秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,90秒后服务端会自动解散当前房间。用户异常掉线等待时长会被纳入计费用时统计。
当用户要加入的房间不存在时,后台会自动创建一个房间。

TRTC 是否支持不订阅音视频流?

为了实现“秒开”效果,默认是进房自动订阅流,可以通过 setDefaultStreamRecvMode 接口切换手动订阅模式。

TRTC 是否支持自定义旁路推流的流 ID?

支持,您可以通过 enterRoom 的参数 TRTCParams 指定 streamId,也可以调用 startPublishing 接口传参数 streamId。

TRTC 直播支持什么角色?有什么区别?

直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)支持 TRTCRoleAnchor(主播)和 TRTCRoleAudience(观众)两种角色,区别是主播角色可以同时上行、下行音视频数据,观众角色只支持下行播放其他人的数据。您可以通过调用 switchRole() 进行角色切换。

怎么理解 TRTC 的角色 Role?

只有在直播场景下,可以设置主播和观众角色。主播角色 TRTCRoleAnchor 具有上行和下行音视频的权限,最高并发支持50人,观众 TRTCRoleAudience 只具有下行音视频的权限,最高并发支持10万人。

TRTC 房间支持哪些应用场景?

支持以下场景:
TRTCAppSceneVideoCall :视频通话场景,适合1对1视频通话、300人视频会议、在线问诊、视频聊天、远程面试等。
TRTCAppSceneLIVE :视频互动直播,适合视频低延时直播、十万人互动课堂、视频直播 PK、视频相亲房、互动课堂、远程培训、超大型会议等。
TRTCAppSceneAudioCall :语音通话场景,适合1对1语音通话、300人语音会议、语音聊天、语音会议、在线狼人杀等。
TRTCAppSceneVoiceChatRoom:语音互动直播,适合:语音低延时直播、语音直播连麦、语聊房、K 歌房、FM 电台等。

TRTC 支持哪些平台?

支持的平台包括 iOS、Android、Windows(C++)、Windows(C#)、Mac、Web、Electron、微信小程序,更多详情请参见 平台支持

TRTC 精简版和全功能版的区别?

详情请参见 各版本差异对照表

实时音视频支持直播连麦吗?

支持。

实时音视频最多可以同时创建多少个房间?

支持同时并发存在4294967294个房间,累计房间数量无限制。

如何创建房间?

房间是由腾讯云后台在客户端进房时自动创建的,您无需手动创建房间,只需调用客户端的相关接口“进入房间”即可:

实时音视频的视频服务端最大支持带宽是多少?

没有限制。

实时音视频是否支持私有化部署?

实时音视频私有化部署未完全开放。若您需要使用私有化服务,请联系商务咨询相关功能与具体报价。

实时音视频开通旁路直播,域名是否需要进行备案使用?

如需开通旁路直播,依据国家相关部门要求,播放域名需要备案才能使用,更多详情请参见 CDN 直播观看

实时音视频延时大约多少?

全球端到端平均延时小于300ms。

实时音视频是否支持主动呼叫功能?

需要结合信令通道解决,例如使用 即时通信 IM 服务的自定义消息实现呼叫,可以参考 SDK 源码中的场景化 Demo 示例。

实时音视频双人视频通话是否支持蓝牙耳机?

支持。

实时音视频接入 PC 端是否支持屏幕分享功能?

支持,您可以参考如下文档:
屏幕分享接口详情请参见 Windows(C++)APIWindows(C#)API。另外,您也可以使用 Electron 接口

实时音视频是否支持在微信公众号中使用?

因公众号限制,建议在微信中使用 小程序端 SDK 获得更好的使用体验。

是否支持将本地视频文件分享到实时音视频中?

支持,可以通过 自定义采集 功能来实现。

实时音视频能否把直播视频录制后存储在手机本地?

不支持直接存储在手机本地,录制后视频文件默认存储在云点播平台,您可以自行下载并保存到手机中,更多详情请参见 云端录制和回放

实时音视频是否支持单纯的实时音频?

支持纯音频。

一个房间里可以同时有多路屏幕分享吗?

目前一个房间只能有一路辅流的屏幕分享。

指定窗口分享(SourceTypeWindow),当窗口大小变化时,视频流的分辨率会不会也跟着变化?

默认情况下,SDK 内部会自动根据分享的窗口大小进行编码参数的调整。 如需固定分辨率,需调用 setSubStreamEncoderParam 接口设置屏幕分享的编码参数,或在调用 startScreenCapture 时指定对应的编码参数。

TRTC 是否支持1080P?

支持,您可以通过 SDK 的视频编码参数 setVideoEncoderParam 对分辨率进行设置。

TRTC 是否可以自定义采集数据?

部分平台支持,详细信息请参见 自定义采集和渲染

TRTC 可以跟互动直播 SDK 通信吗?

不可以。

TRTC 是否可以与移动直播通信?

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

TRTC 进房模式 AppScene 有什么区别?

TRTC 支持四种不同的进房模式,其中视频通话(VideoCall)和语音通话(VoiceCall)统称为通话模式,视频互动直播(Live)和语音互动直播(VoiceChatRoom)统称为 直播模式。
通话模式下的 TRTC,支持单个房间最多300人同时在线,支持最多50人同时发言。适合1对1视频通话、300人视频会议、在线问诊、远程面试、视频客服、在线狼人杀等应用场景。
直播模式下的 TRTC,支持单个房间最多10万人同时在线,具备小于300ms的连麦延迟和小于1000ms的观看延迟,以及平滑上下麦切换技术。适用低延时互动直播、十万人互动课堂、视频相亲、在线教育、远程培训、超大型会议等应用场景。

TRTC 是否支持音视频通话免提模式?

支持,免提模式通过设置音频路由实现,Native SDK 通过 setAudioRoute 接口切换,小程序端通过 <live-player> 标签的 sound-mode 属性设置。

TRTC 是否支持音量大小提示?

支持,通过 enableAudioVolumeEvaluation 接口启用。

TRTC 是否支持设置镜像画面?

支持,通过 setLocalViewMirror 接口设置本地摄像头预览画面的镜像模式,或通过 setVideoEncoderMirror 接口设置编码器输出的画面镜像模式。

TRTC 是否支持录制通话过程中的音频到本地文件?

支持,通过 startAudioRecording 接口可以将通话过程中的所有音频(包括本地音频,远端音频,BGM 等)录制到一个文件里,目前支持的音频格式有 PCM, WAV, AAC。

TRTC 是否支持音视频互通过程中的视频录制成文件?

您也可以使用 实现云端录制与回放 录制视频。

TRTC 是否支持类似微信视频通话的悬浮窗、大小画面切换等功能?

此类功能属于 UI 布局逻辑,SDK 并不限制 UI 上的展示处理。在官方 Demo 中提供了画面前后堆叠和九宫格布局模式的示例代码,并且支持悬浮窗、大小画面切换和画面拖动,更多详情请参考 官方 Demo

TRTC 怎么实现纯音频通话?

TRTC 没有音频和视频通道的区分,只调用 startLocalAudio 不调用 startLocalPreview 时即为纯音频通话模式。

TRTC 纯音频通话怎么实现旁路推流和录制?

6.9以前版本:进房时需要构造 json{\\"Str_uc_params\\":{\\"pure_audio_push_mod\\":1}} 传入 TRTCParams.businessInfo 中,1表示旁路推流 2表示旁路推流+录制。
TRTC SDK 6.9及以后版本:在进房时选择场景参数为 TRTCAppSceneAudioCall 或 TRTCAppSceneVoiceChatRoom 即可。

TRTC 房间支不支持踢人、禁止发言、静音?

支持。
如果是简单的信令操作,可以使用 TRTC 的自定义信令接口 sendCustomCmdMsg,开发者自己定义相应的控制信令,收到控制信令的通话方执行对应操作即可。例如,踢人就是定义一个踢人的信令,收到此信令的用户就自行退出房间。
如果是需要实现更完善的操作逻辑,建议开发者通过 即时通信 IM 来实现相关逻辑,将 TRTC 的房间与 IM 群组进行映射,在 IM 群组中收发自定义消息来实现相应的操作。

TRTC 支持拉流播放 RTMP/FLV 流吗?

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

实时音视频最多可以支持多少个人同时通话?

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

TRTC 怎么实现直播场景类应用?

TRTC 专门针对在线直播场景推出了10万人低延时互动直播解决方案,能保证主播与连麦主播的最低延时到200ms,普通观众的延时在1s以内,并且超强的抗弱网能力适应移动端复杂的网络环境。

能用 TRTC 发送自定义消息接口实现聊天室、弹幕等功能吗?

不能,TRTC 发送自定义消息适用于简单低频的信令传输场景,具体限制参见 使用限制

TRTC SDK 播放背景音是否支持循环播放?是否支持调整背景音的播放进度?

支持,循环播放可以在完成回调里面重新调用播放,播放进度可以通过 TXAudioEffectManager seekMusicToPosInMS 设置。
说明
setBGMPosition() 在 v7.3 版本废弃,通过 TXAudioEffectManager seekMusicToPosInMS 替代。

TRTC 有没有房间成员进出房间的监听回调?onUserEnter/onUserExit 是否可以用?

有,TRTC 使用 onRemoteUserEnterRoom/onRemoteUserLeaveRoom 监听房间成员进出房间(有上行音视频权限的用户才会触发)。
说明
onUserEnter/onUserExit 在 6.8 版本废弃,通过 onRemoteUserEnterRoom/onRemoteUserLeaveRoom 替代。

TRTC 怎么监测断网和重连?

通过以下监听回调监听:
onConnectionLost:SDK 跟服务器的连接断开。
onTryToReconnect:SDK 尝试重新连接到服务器。
onConnectionRecovery:SDK 跟服务器的连接恢复。

TRTC SDK 是否支持断线重连?

SDK 支持用户断线情况下自动重连(若持续30分钟都未重连成功,则自动退房并返回-3301错误码),连接过程中具体的连接状态和处理逻辑如下说明。下图展示了从用户 Userid1 加入频道,到连接中断,再到重新加入房间过程中,收到的监听回调事件:


具体说明
T1:用户侧发起调用 enterRoom 接口发起进房请求。
T2:用户 Userid1 收到 onEnterRoom 回调,Userid2 感知 Userid1 存在延迟,大约300ms后,Userid2 收到 onRemoteUserEnterRoom 回调。
T3:Userid1 客户端因网络问题断网,SDK 会尝试重新加入房间。
T4:Userid1 如果连续8秒没有连接上服务端,Userid1 收到 onConnectionLost 断连回调。
T5:Userid1 接着隔3秒没有连接上服务端,Userid1 收到 onTryToReconnect 重试回调。
T6:Userid1 接着每隔24秒,收到 onTryToReconnect 重试回调。
T7:Userid2 会在收到 Userid1 掉线通知90s后,SDK 判断远端用户 Userid1 掉线,Userid2 收到 onRemoteUserLeaveRoom 回调。
T8:如果 Userid1 断连期间任意时刻重连成功,Userid1 收到 onConnectionRecovery 恢复回调。

TRTC 有没有首帧渲染回调?能否监听画面开始渲染,声音开始播放?

支持,通过 onFirstVideoFrame/onFirstAudioFrame 可以监听。

TRTC 是否支持视频画面截图功能?

目前在 iOS/Android 端调用 snapshotVideo() 支持本地及远端视频画面截图。

TRTC 接入蓝牙耳机等外设异常?

目前 TRTC 有对主流的蓝牙耳机和外设做兼容,但是还会遇到某些设备上有兼容问题。建议使用官方 Demo 以及微信、QQ音视频通话测试对比下是否都正常。

TRTC 音视频过程中的上下行码率、分辨率、丢包率、音频采样率等信息怎么获取到?

可以通过 SDK 接口 onStatistics() 获取到这些统计信息。

TRTC 播放背景音乐接口 playBGM() 是否支持在线音乐?

目前只支持本地音乐,可以先下载至本地再调用 playBGM() 播放。

TRTC 是否支持设置本地采集音量?是否支持设置每个远端用户的播放音量?

支持,通过 setAudioCaptureVolume() 接口可以设置 SDK 的采集音量,通过 setRemoteAudioVolume() 接口可以设置某个远程用户的播放音量。

stopLocalPreview 和 muteLocalVideo 有什么区别?

stopLocalPreview 是停止本地视频采集,调用该接口后自己本地和远端画面都将是黑屏。
muteLocalVideo 是设置是否向后台发送自己的视频画面,调用该接口后其他用户观看的画面将变成黑屏,自己本地的预览还是能看到画面。

stopLocalAudio 和 muteLocalAudio 的区别是什么?

stopLocalAudio 是关闭本地音频的采集和上行。
muteLocalAudio 并不会停止发送音视频数据,而是会继续发送码率极低的静音包。

TRTC SDK 都支持哪些分辨率?

建议参考 设定画面质量 配置分辨率达到更合适的画面质量。

TRTC SDK 怎么设置上行视频码率、分辨率、帧率?

可以通过 TRTCCloud 的 setVideoEncoderParam() 接口设置 TRTCVideoEncParam 参数中 videoResolution(分辨率)、videoFps(帧率)、videoBitrate(码率)。

SDK 控制画面角度与方向是如何实现的?

详情请参见 视频画面旋转和缩放

怎样实现横屏视频通话?

TRTC 本地和远端画面方向不一致怎么调整?

详情请参阅 视频画面旋转和缩放

TRTC 有没有推荐的画面质量(码率、分辨率、帧率)相关参数配置?

详情请参见 推荐的配置

TRTC 是否支持对网络测速?如何操作?

详情请参见 通话前网络测速

TRTC 是否支持对房间进行权限校验,例如会员才能进入的场景?

支持,详情请参见 进房权限保护

TRTC 音视频流是否支持通过 CDN 拉流观看?

支持,详情请参见 实现 CDN 直播观看

TRTC 自定义渲染支持哪些格式?

iOS 端支持 i420、NV12 和 BGRA。
Android 端支持 I420 和 texture2d。

实时音视频如何实现云端录制与回放?

具体请参见 实现云端录制与回放

TRTC 支不支持美颜?

支持美颜功能。TRTC 提供基于人脸识别技术的 AI 美颜、美妆、微整形、绿幕等各类型多种特效。
Web 端请参见 开启美颜
客户端 AI 美颜属于增值服务,由 腾讯特效 SDK 收取相关费用,详情请参见 腾讯特效 SDK 价格总览。
说明
只有全功能版支持美颜特效组件,现阶段 iOS 和 Android 平台有这个功能。

是否支持在非大陆地区使用?

TRTC 支持在国外和香港使用。
说明
提供覆盖全球的高连通、高可靠、强安全的网络连接通道,自研多重最优寻址算法,具有全网调度能力。丰富的高带宽资源储备,全球节点布局,保证国际链路端到端平均时延 < 300ms。
由于国际链路问题,具体使用时也会受地区与实际使用场景等因素影响。

是否支持实时不良画面检测?

关于涉黄、涉政、敏感信息等,会自动进行拦截关闭,不会允许出现在直播间中,请参见 实时音视频鉴黄功能

如何查询当前房间所有用户信息?

您可以通过控制台-监控仪表盘-实时监控 查看当前在线的房间和用户,也可以通过 API查询(需开通 包月套餐 尊享版及其以上)。

TRTC 可以接收其它的 RTSP 推流吗?

不支持,目前新增支持 RTMP 推流,详情请参见 RTMP 协议推流接入 TRTC文档。

TRTC 支持双声道编码吗?

支持双声道。

TRTC 推流过程是先封装还是先编码?

TRTC 采集后先进行编码,再进行封装。

TRTC SDK 是 swift 版本吗?

TRTC 目前 Model 层是 OC 版本,UI 层是 Swift 版本。

个人账号可以用 TRTC 吗?

TRTC 支持个人账户使用。

TRTC SDK 支持 IPv6 吗?

支持,建议升级到 10.6 及之上版本,进一步优化了 IPv6 进房速度。

TRTC 包月套餐中的兴趣区域视频编码功能如何使用?

兴趣区域视频编码功能需调用实验性接口(callExperimentalAPI,以 Android 为例)设置感兴趣区域,示例:
//设置 ROI 参数
{
"api":"UpdateRoiConfig",
"params":{
"roiConfigArray":[
{
"stream":1,
"x":0,
"y":0,
"width":100,
"height":100,
"level":2
},
{
"stream":1,
"x":20,
"y":200,
"width":100,
"height":100,
"level":2
}
]
}
}
字段名
说明
stream
流类型:0大流,1小流,2辅流。
x,y,w,h
roi 区域坐标点,以编码输出的分辨率为参考。
level
[0, 12] , 就是 roi 的强度, 值越大,roi 区域的效果更明显,但非 roi 区域可能会更模糊。

通话过程中,有没有相关方法可以禁止用户截屏录屏?

TRTC 产品本身不支持防截屏和防录屏功能。如果需要实现防截屏和防录屏的功能,可以考虑结合其他产品来完成,例如使用屏幕保护软件或者系统级的安全防护措施,具体需您业务侧自行实现。

如何监控实时音视频直播间的用户进入和退出动作?

可以通过监听 TRTC 的 onEnterRoom 和 onExitRoom 回调来获取用户进入和退出直播间的动作。在回调中,可以获取到用户的信息,并根据这些信息在业务侧进行相应的处理。

混流录制如何开启?

目前 TRTC 控制台不支持配置自动合流录制模板,已经配置合流模板的可继续使用,未配置和新创建应用将不支持自动合流录制,如需合流录制推荐使用手动API 进行合流录制,建议参考 API 手动录制

如何在一个 SDKAppID 下同时使用多款含 UI 组件?

1. 如需在同一个 SDKAppID 下,同时激活并使用 TUICallKit、TUIRoomKit 和 TUILiveKit 其中任意两款组件,可参照下述步骤申请:
1.1 确认该应用的 TRTC 包月套餐版本为旗舰版(6250元/月),对应激活 TUICallKit、TUIRoomKit 和 TUILiveKit 的版本如下:
TUICallKit:群组通话版 - 140万分钟(TRTC 旗舰版 + IM 专业版/旗舰版)
TUIRoomKit:进阶互动版(TRTC 旗舰版 + IM 专业版)或超大房间互动版(TRTC 旗舰版+IM 旗舰版)
TUILiveKit:大规模直播版(TRTC 旗舰版 + IM 专业版/旗舰版)
若您已开通的组件版本不符合条件或仍未开通组件服务,请前往 购买页 进行升配或新购。
1.2 填写 问卷申请,我们会在1个工作日内完成审核,审核结果会通过短信和站内信等途径告知。
注意:
申请成功后,若有 TRTC 版本降级或过期、IM版本过期等情况,同时开通的权限将失效,需要重新申请。推荐打开套餐包的按月自动续费功能。
2. 若需在同一个 SDKAppID 下,同时激活并使用 TUICallKit、TUIRoomKit 和 TUILiveKit 三款组件,提交工单 联系我们。

TRTC 麦克风被抢占,如何操作?

可以返回前台后,杀死相关应用观察 TRTC 的音频有没有恢复。同时设备被占用时,SDK 会有对应错误码,详情请参见 错误码表

云端录制是否可以存储到本地?

实时音视频云端录制只能指定录制到云点播 VOD 或者对象存储 COS,您可以使用云端录制后将视频文件下载至本地。详情请参见 实现云端录制与回放

不在通话界面时,能否收到视频和通话邀请显示?

TRTC TUICallKit 组件提供了离线唤醒功能,可以让您的 App 在后台运行或者离线状态下依然能够收到音视频通话的响铃呼叫,详情请参见 离线唤醒功能

实时音视频是否支持 uni-app SDK?

实时音视频支持 uni-app SDK,您可通过 实时音视频 SDK 下载 uni-app SDK。