@tencentcloud/sdk-mcp 1.7.7 → 1.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +7 -9
  3. package/index.js +8 -8
  4. package/knowledge/doc-url-resolver.js +16 -9
  5. package/knowledge/embedding/build-vectors.js +92 -0
  6. package/knowledge/embedding/embed-model.js +41 -0
  7. package/knowledge/embedding/vector-augment.js +126 -0
  8. package/knowledge/embedding/vector-index.js +70 -0
  9. package/knowledge/search/exact-lookup.js +145 -16
  10. package/knowledge/search/filter-pool.js +68 -32
  11. package/knowledge/search/requires-framework.js +1 -1
  12. package/knowledge/search/search-core.js +18 -12
  13. package/knowledge/search/search-knowledge.js +24 -34
  14. package/knowledge/search/search-pass.js +373 -168
  15. package/knowledge/search/url-row-scorer.js +24 -6
  16. package/package.json +3 -1
  17. package/resource/index/manifest.json +1 -1
  18. package/resource/index/vectors/index.json +4 -0
  19. package/resource/integration/chat/preset/react/integration.md +9 -5
  20. package/resource/integration/chat/preset/uni-app/integration.md +4 -0
  21. package/resource/integration/chat/preset/vue/integration.md +10 -6
  22. package/resource/integration/roomkit/preset/vue/integration.md +154 -208
  23. package/resource/knowledge/callkit/preset/miniprogram/integration.md +2 -1
  24. package/resource/knowledge/chat/preset/ios-uikit/integration.md +0 -16
  25. package/resource/knowledge/chat/preset/react/h5/integration.md +16 -5
  26. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +6 -3
  27. package/resource/knowledge/chat/preset/vue/h5/integration.md +7 -4
  28. package/resource/knowledge/push/config/android/honor.md +16 -1
  29. package/resource/knowledge/push/config/android/huawei.md +20 -4
  30. package/resource/knowledge/push/config/android/meizu.md +19 -5
  31. package/resource/knowledge/push/config/android/vivo.md +20 -1
  32. package/resource/knowledge/push/config/harmonyos.md +21 -5
  33. package/resource/knowledge/push/integration/flutter.md +1 -1
  34. package/resource/knowledge/roomkit/preset/uniapp-app/integration.md +18 -14
  35. package/resource/knowledge/rtcengine/web/plugin/23-advanced-support-detection.md +30 -0
  36. package/resource/knowledge/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  37. package/resource/knowledge/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  38. package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +4 -0
  39. package/resource/knowledge/trtc/android/TRTCCloud.md +94 -85
  40. package/resource/knowledge/trtc/android/TRTCCloudDef.md +48 -46
  41. package/resource/knowledge/trtc/android/TRTCCloudListener.md +48 -48
  42. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +18 -18
  43. package/resource/knowledge/trtc/android/TXDeviceManager.md +4 -4
  44. package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -0
  45. package/resource/knowledge/trtc/c++/ITRTCCloud.md +90 -90
  46. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +18 -18
  47. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +9 -9
  48. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +47 -47
  49. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +47 -45
  50. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -0
  51. package/resource/knowledge/trtc/ios/TRTCCloud.md +93 -93
  52. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +50 -50
  53. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +8 -8
  54. package/resource/knowledge/trtc/ios/TXDeviceManager.md +9 -9
  55. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -0
  56. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +48 -46
  57. package/server-config.js +8 -9
  58. package/server.js +1 -1
  59. package/tools/common/present_framework_choice.js +1 -1
  60. package/tools/common/search_trtc_knowledge.js +20 -1
  61. package/utils/preflight-route.js +8 -0
  62. package/utils/report-cls-client.js +1 -1
  63. package/utils/report-es-client.js +1 -1
@@ -126,11 +126,11 @@ TRTCVideoResolution 中仅定义了横屏分辨率(如 640 × 360),如需
126
126
  **视频流类型。**
127
127
 
128
128
  TRTC 内部有三种不同的视频流,分别是:
129
- - 高清大画面:一般用来传输摄像头的视频数据。
129
+ - 高清大画面:一般用来传输摄像头的视频数据。
130
130
 
131
- - 低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。
131
+ - 低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。
132
132
 
133
- - 辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。
133
+ - 辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。
134
134
 
135
135
  > **注意**
136
136
  >
@@ -185,9 +185,9 @@ TRTC 内置多种不同的磨皮算法,您可以选择最适合您产品定位
185
185
  **视频像素格式。**
186
186
 
187
187
  TRTC 提供针对视频的自定义采集和自定义渲染功能:
188
- - 在自定义采集功能中,您可以用下列枚举值描述您采集的视频像素格式。
188
+ - 在自定义采集功能中,您可以用下列枚举值描述您采集的视频像素格式。
189
189
 
190
- - 在自定义渲染功能中,您可以指定您期望 SDK 回调出的视频像素格式。
190
+ - 在自定义渲染功能中,您可以指定您期望 SDK 回调出的视频像素格式。
191
191
 
192
192
  |枚举|取值|描述|
193
193
  |---------|---------|---------|
@@ -203,9 +203,9 @@ TRTC 提供针对视频的自定义采集和自定义渲染功能:
203
203
  **视频数据传递方式。**
204
204
 
205
205
  在自定义采集和自定义渲染功能,您需要用到下列枚举值来指定您希望以什么方式传递视频数据:
206
- - 方案一:使用内存 Buffer 传递视频数据,该方案在 iOS 效率尚可,但在 Android 系统上效率较差,Windows 暂时仅支持内存 Buffer 的传递方式。
206
+ - 方案一:使用内存 Buffer 传递视频数据,该方案在 iOS 效率尚可,但在 Android 系统上效率较差,Windows 暂时仅支持内存 Buffer 的传递方式。
207
207
 
208
- - 方案二:使用 Texture 纹理传递视频数据,该方案在 iOS 和 Android 系统下均有较高的效率,Windows 暂不支持,需要您有一定的 OpenGL 编程基础。
208
+ - 方案二:使用 Texture 纹理传递视频数据,该方案在 iOS 和 Android 系统下均有较高的效率,Windows 暂不支持,需要您有一定的 OpenGL 编程基础。
209
209
 
210
210
  | 枚举 | 取值 | 描述 |
211
211
  | --- | --- | --- |
@@ -231,11 +231,11 @@ TRTC 提供针对视频的自定义采集和自定义渲染功能:
231
231
  **本地视频截图的数据源。**
232
232
 
233
233
  SDK 支持从如下两种数据源中截取图片并保存成本地文件:
234
- - 视频流:从视频流中截取原生的视频内容,截取的内容不受渲染控件的显示控制。
234
+ - 视频流:从视频流中截取原生的视频内容,截取的内容不受渲染控件的显示控制。
235
235
 
236
- - 渲染层:从渲染控件中截取显示的视频内容,可以做到用户所见即所得的效果,但如果显示区域过小,截取出的图片也会很小。
236
+ - 渲染层:从渲染控件中截取显示的视频内容,可以做到用户所见即所得的效果,但如果显示区域过小,截取出的图片也会很小。
237
237
 
238
- - 采集层:从采集控件中截取采集到的视频内容,可以截取采集出来的高清截图。
238
+ - 采集层:从采集控件中截取采集到的视频内容,可以截取采集出来的高清截图。
239
239
 
240
240
  |枚举|取值|描述|
241
241
  |---------|---------|---------|
@@ -248,10 +248,10 @@ SDK 支持从如下两种数据源中截取图片并保存成本地文件:
248
248
  **应用场景。**
249
249
 
250
250
  TRTC 针对常见的音视频应用场景都进行了定向优化,以满足各种垂直场景下的差异化要求,主要场景可以分为如下两类:
251
- - 直播(LIVE)场景:包括 LIVE 和 VoiceChatRoom,前者是音频+视频,后者是纯音频。
251
+ - 直播(LIVE)场景:包括 LIVE 和 VoiceChatRoom,前者是音频+视频,后者是纯音频。
252
252
 
253
253
  直播场景下,用户被分成“主播”和“观众”两种角色,单个房间中同时最多支持10万人在线,适合于观众人数众多的直播场景。
254
- - 实时(RTC)场景:包括 VideoCall 和 AudioCall,前者是音频+视频,后者是纯音频。
254
+ - 实时(RTC)场景:包括 VideoCall 和 AudioCall,前者是音频+视频,后者是纯音频。
255
255
 
256
256
  实时场景下,用户没有角色的差异,但单个房间中同时最多支持 300 人在线,适合于小范围实时通信的场景。
257
257
  | 枚举 | 取值 | 描述 |
@@ -266,9 +266,9 @@ TRTC 针对常见的音视频应用场景都进行了定向优化,以满足各
266
266
  **角色。**
267
267
 
268
268
  仅适用于直播类场景(即 TRTC_APP_SCENE_LIVE 和 TRTC_APP_SCENE_VOICE_CHATROOM),把用户区分成两种不同的身份:
269
- - 主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。
269
+ - 主播:可以随时发布自己的音视频流,但人数有限制,同一个房间中最多只允许 50 个主播同时发布自己的音视频流。
270
270
 
271
- - 观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。
271
+ - 观众:只能观看其他用户的音视频流,要发布音视频流,需要先通过 switchRole 切换成主播,同一个房间中最多能容纳10万观众。
272
272
 
273
273
  |枚举|取值|描述|
274
274
  |---------|---------|---------|
@@ -358,11 +358,11 @@ TRTC 会每隔两秒对当前的网络质量进行评估,评估结果为六个
358
358
  **声音音质。**
359
359
 
360
360
  TRTC 提供了三种精心校调好的模式,用来满足各种垂直场景下对音质的差异化追求:
361
- - 人声模式(Speech):适用于以人声沟通为主的应用场景,该模式下音频传输的抗性较强,TRTC 会通过各种人声处理技术保障在弱网络环境下的流畅度最佳。
361
+ - 人声模式(Speech):适用于以人声沟通为主的应用场景,该模式下音频传输的抗性较强,TRTC 会通过各种人声处理技术保障在弱网络环境下的流畅度最佳。
362
362
 
363
- - 音乐模式(Music):适用于对声乐要求很苛刻的场景,该模式下音频传输的数据量很大,TRTC 会通过各项技术确保音乐信号在各频段均能获得高保真的细节还原度。
363
+ - 音乐模式(Music):适用于对声乐要求很苛刻的场景,该模式下音频传输的数据量很大,TRTC 会通过各项技术确保音乐信号在各频段均能获得高保真的细节还原度。
364
364
 
365
- - 默认模式(Default):介于 Speech 和 Music 之间的档位,对音乐的还原度比人声模式要好,但传输数据量比音乐模式要低很多,对各种场景均有不错的适应性。
365
+ - 默认模式(Default):介于 Speech 和 Music 之间的档位,对音乐的还原度比人声模式要好,但传输数据量比音乐模式要低很多,对各种场景均有不错的适应性。
366
366
 
367
367
  |枚举|取值|描述|
368
368
  |---------|---------|---------|
@@ -377,15 +377,15 @@ TRTC 提供了三种精心校调好的模式,用来满足各种垂直场景下
377
377
  音频路由,即声音是从手机的扬声器还是从听筒中播放出来,因此该接口仅适用于手机等移动端设备。
378
378
 
379
379
  手机有两个扬声器:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。
380
- - 设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
380
+ - 设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
381
381
 
382
- - 设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
382
+ - 设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
383
383
 
384
- - 音频路由为有线耳机。
384
+ - 音频路由为有线耳机。
385
385
 
386
- - 音频路由为蓝牙耳机。
386
+ - 音频路由为蓝牙耳机。
387
387
 
388
- - 音频路由为USB专业声卡设备。
388
+ - 音频路由为USB专业声卡设备。
389
389
 
390
390
  |枚举|取值|描述|
391
391
  |---------|---------|---------|
@@ -439,9 +439,9 @@ TRTC 提供了三种精心校调好的模式,用来满足各种垂直场景下
439
439
  **系统音量类型(仅适用于移动设备)。**
440
440
 
441
441
  现代智能手机中一般都具备两套系统音量类型,即“通话音量”和“媒体音量”。
442
- - 通话音量:手机专门为接打电话所设计的音量类型,自带回声抵消(AEC)功能,并且支持通过蓝牙耳机上的麦克风进行拾音,缺点是音质比较一般。当您通过手机侧面的音量按键下调手机音量时,如果无法将其调至零(也就是无法彻底静音),说明您的手机当前处于通话音量。
442
+ - 通话音量:手机专门为接打电话所设计的音量类型,自带回声抵消(AEC)功能,并且支持通过蓝牙耳机上的麦克风进行拾音,缺点是音质比较一般。当您通过手机侧面的音量按键下调手机音量时,如果无法将其调至零(也就是无法彻底静音),说明您的手机当前处于通话音量。
443
443
 
444
- - 媒体音量:手机专门为音乐场景所设计的音量类型,无法使用系统的 AEC 功能,并且不支持通过蓝牙耳机的麦克风进行拾音,但具备更好的音乐播放效果。当您通过手机侧面的音量按键下调手机音量时,如果能够将手机音量调至彻底静音,说明您的手机当前处于媒体音量。
444
+ - 媒体音量:手机专门为音乐场景所设计的音量类型,无法使用系统的 AEC 功能,并且不支持通过蓝牙耳机的麦克风进行拾音,但具备更好的音乐播放效果。当您通过手机侧面的音量按键下调手机音量时,如果能够将手机音量调至彻底静音,说明您的手机当前处于媒体音量。
445
445
 
446
446
  SDK 目前提供了三种系统音量类型的控制模式:自动切换模式、全程通话音量模式、全程媒体音量模式。
447
447
  | 枚举 | 取值 | 描述 |
@@ -474,9 +474,9 @@ SDK 目前提供了两种系统音频能力类型是否支持的查询:低延
474
474
  **音频回调数据读写模式。**
475
475
 
476
476
  TRTC 提供了两种音频回调数据的操作模式。
477
- - 读写模式(ReadWrite):可以获取并修改回调的音频数据,默认模式。
477
+ - 读写模式(ReadWrite):可以获取并修改回调的音频数据,默认模式。
478
478
 
479
- - 只读模式(ReadOnly):仅从回调中获取音频数据。
479
+ - 只读模式(ReadOnly):仅从回调中获取音频数据。
480
480
 
481
481
  |枚举|取值|描述|
482
482
  |---------|---------|---------|
@@ -518,10 +518,10 @@ TRTC 的云端混流服务能够将房间中的多路音视频流混合成一路
518
518
  | 枚举 | 取值 | 描述 |
519
519
  | --- | --- | --- |
520
520
  | TRTC_TranscodingConfigMode_Unknown | 0 | 未定义。 |
521
- | TRTC_TranscodingConfigMode_Manual | 1 | 全手动排版模式。<br>该模式下,您需要指定每一路画面的精确排版位置。该模式的自由度最高,但易用性也最差:<br>- 您需要填写 TRTCTranscodingConfig 中的所有参数,包括每一路画面(TRTCMixUser)的位置坐标。<br>- 您需要监听 TRTCCloudListener 中的 onUserVideoAvailable 和 onUserAudioAvailable 事件回调,并根据当前房间中各个麦上用户的音视频状态不断地调整 <code>mixUsers</code> 参数。 |
522
- | TRTC_TranscodingConfigMode_Template_PureAudio | 2 | 纯音频模式。<br>该模式适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频的应用场景。<br>- 您只需要在进入房间后,通过 setMixTranscodingConfig 接口设置一次,之后 SDK 就会自动把房间内所有上麦用户的声音混流到当前用户的直播流上。<br>- 您无需设置 TRTCTranscodingConfig 中的 <code>mixUsers</code> 参数,只需设置 <code>audioSampleRate</code> 、 <code>audioBitrate</code> 和 <code>audioChannels</code> 等参数即可。 |
523
- | TRTC_TranscodingConfigMode_Template_PresetLayout | 3 | 预排版模式。<br>最受欢迎的排版模式,因为该模式支持您通过占位符提前对各路画面的位置进行设定,之后 SDK 会自动根据房间中画面的路数动态进行适配调整。<br>此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为“占位符”,可选的占位符有:<br>- "$PLACE_HOLDER_REMOTE$" : 指代远程用户的画面,可以设置多个。<br>- "$PLACE_HOLDER_LOCAL_MAIN$" : 指代本地摄像头画面,只允许设置一个。<br>- "$PLACE_HOLDER_LOCAL_SUB$" : 指代本地屏幕分享画面,只允许设置一个。<br>此模式下,您不需要监听 TRTCCloudListener 中的 onUserVideoAvailable 和 onUserAudioAvailable 回调进行实时调整,只需要在进房成功后调用一次 setMixTranscodingConfig 即可,之后 SDK 会自动将真实的 userId 补位到您设置的占位符上。 |
524
- | TRTC_TranscodingConfigMode_Template_ScreenSharing | 4 | 屏幕分享模式。<br>适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。<br>该模式下,SDK 会先根据您通过 videoWidth 和 videoHeight 参数设置的目标分辨率构建一张画布,<br>- 当老师未开启屏幕分享时,SDK 会将老师的摄像头画面等比例拉伸绘制到该画布上;<br>- 当老师开启屏幕分享之后,SDK 会将屏幕分享画面绘制到同样的画布上。<br>此种排版模式的目的是为了确保混流模块的输出分辨率一致,避免课程回放和网页观看的花屏问题(网页播放器不支持可变分辨率)。<br>同时,连麦学生的声音也会被默认混合到老师的音视频流中。<br>由于教学模式下的视频内容以屏幕分享为主,因此同时传输摄像头画面和屏幕分享画面是非常浪费带宽的。<br>推荐的做法是直接将摄像头画面通过 setLocalVideoRenderCallback 接口自定义绘制到当前屏幕上。<br>在该模式下,您无需设置 TRTCTranscodingConfig 中的 <code>mixUsers</code> 参数,SDK 不会混合学生的画面,以免干扰屏幕分享的效果。<br>您可以将 TRTCTranscodingConfig 中的 width x height 设为 0px × 0px,SDK 会自动根据用户当前屏幕的宽高比计算出一个合适的分辨率:<br>- 如果老师当前屏幕宽度 <= 1920px,SDK 会使用老师当前屏幕的实际分辨率。<br>- 如果老师当前屏幕宽度 > 1920px,SDK 会根据当前屏幕宽高比,选择 1920x1080(16:9)、1920x1200(16:10)、1920x1440(4:3) 三种分辨率中的一种。 |
521
+ | TRTC_TranscodingConfigMode_Manual | 1 | 全手动排版模式。<br>该模式下,您需要指定每一路画面的精确排版位置。该模式的自由度最高,但易用性也最差:<br>- 您需要填写 TRTCTranscodingConfig 中的所有参数,包括每一路画面(TRTCMixUser)的位置坐标。<br>- 您需要监听 TRTCCloudListener 中的 onUserVideoAvailable 和 onUserAudioAvailable 事件回调,并根据当前房间中各个麦上用户的音视频状态不断地调整 <code>mixUsers</code> 参数。 |
522
+ | TRTC_TranscodingConfigMode_Template_PureAudio | 2 | 纯音频模式。<br>该模式适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频的应用场景。<br>- 您只需要在进入房间后,通过 setMixTranscodingConfig 接口设置一次,之后 SDK 就会自动把房间内所有上麦用户的声音混流到当前用户的直播流上。<br>- 您无需设置 TRTCTranscodingConfig 中的 <code>mixUsers</code> 参数,只需设置 <code>audioSampleRate</code> 、 <code>audioBitrate</code> 和 <code>audioChannels</code> 等参数即可。 |
523
+ | TRTC_TranscodingConfigMode_Template_PresetLayout | 3 | 预排版模式。<br>最受欢迎的排版模式,因为该模式支持您通过占位符提前对各路画面的位置进行设定,之后 SDK 会自动根据房间中画面的路数动态进行适配调整。<br>此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为“占位符”,可选的占位符有:<br>- "$PLACE_HOLDER_REMOTE$" : 指代远程用户的画面,可以设置多个。<br>- "$PLACE_HOLDER_LOCAL_MAIN$" : 指代本地摄像头画面,只允许设置一个。<br>- "$PLACE_HOLDER_LOCAL_SUB$" : 指代本地屏幕分享画面,只允许设置一个。<br>此模式下,您不需要监听 TRTCCloudListener 中的 onUserVideoAvailable 和 onUserAudioAvailable 回调进行实时调整,只需要在进房成功后调用一次 setMixTranscodingConfig 即可,之后 SDK 会自动将真实的 userId 补位到您设置的占位符上。 |
524
+ | TRTC_TranscodingConfigMode_Template_ScreenSharing | 4 | 屏幕分享模式。<br>适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。<br>该模式下,SDK 会先根据您通过 videoWidth 和 videoHeight 参数设置的目标分辨率构建一张画布,<br>- 当老师未开启屏幕分享时,SDK 会将老师的摄像头画面等比例拉伸绘制到该画布上;<br>- 当老师开启屏幕分享之后,SDK 会将屏幕分享画面绘制到同样的画布上。<br>此种排版模式的目的是为了确保混流模块的输出分辨率一致,避免课程回放和网页观看的花屏问题(网页播放器不支持可变分辨率)。<br>同时,连麦学生的声音也会被默认混合到老师的音视频流中。<br>由于教学模式下的视频内容以屏幕分享为主,因此同时传输摄像头画面和屏幕分享画面是非常浪费带宽的。<br>推荐的做法是直接将摄像头画面通过 setLocalVideoRenderCallback 接口自定义绘制到当前屏幕上。<br>在该模式下,您无需设置 TRTCTranscodingConfig 中的 <code>mixUsers</code> 参数,SDK 不会混合学生的画面,以免干扰屏幕分享的效果。<br>您可以将 TRTCTranscodingConfig 中的 width x height 设为 0px × 0px,SDK 会自动根据用户当前屏幕的宽高比计算出一个合适的分辨率:<br>- 如果老师当前屏幕宽度 <= 1920px,SDK 会使用老师当前屏幕的实际分辨率。<br>- 如果老师当前屏幕宽度 > 1920px,SDK 会根据当前屏幕宽高比,选择 1920x1080(16:9)、1920x1200(16:10)、1920x1440(4:3) 三种分辨率中的一种。 |
525
525
 
526
526
  ## TRTCRecordType
527
527
 
@@ -580,7 +580,7 @@ TRTC 的云端混流服务能够将房间中的多路音视频流混合成一路
580
580
  | TRTC_PublishBigStream_ToCdn | 1 | 您可以通过设置该参数将您房间内的主路流(TRTC_VIDEO_STREAM_TYPE_BIG)发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。 |
581
581
  | TRTC_PublishSubStream_ToCdn | 2 | 您可以通过设置该参数将您房间内的辅路流(TRTC_VIDEO_STREAM_TYPE_SUB)发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。 |
582
582
  | TRTC_PublishMixStream_ToCdn | 3 | 您可以通过设置该参数,配合编码输出参数 (TRTCStreamEncoderParam) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。 |
583
- | TRTC_PublishMixStream_ToRoom | 4 | 您可以通过设置该参数,配合媒体流编码输出参数 (TRTCStreamEncoderParam) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到您指定的房间中。<br>- 通过 TRTCPublishTarget 中的 TRTCUser 进行指定回推房间的机器人信息。 |
583
+ | TRTC_PublishMixStream_ToRoom | 4 | 您可以通过设置该参数,配合媒体流编码输出参数 (TRTCStreamEncoderParam) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到您指定的房间中。<br>- 通过 TRTCPublishTarget 中的 TRTCUser 进行指定回推房间的机器人信息。 |
584
584
 
585
585
  ## TRTCEncryptionAlgorithm
586
586
 
@@ -633,7 +633,7 @@ v11.7 版本开始支持,只在 SDK 内部摄像头采集场景生效
633
633
  | role | 【字段含义】直播场景下的角色,仅适用于直播场景(TRTC_APP_SCENE_LIVE 和 TRTC_APP_SCENE_VOICE_CHATROOM),通话场景下指定该参数是无效的。<br>【推荐取值】默认值:主播(TRTCRoleAnchor)。 |
634
634
  | roomId | 【字段含义】数字房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。<br>【推荐取值】取值范围:1 - 4294967294。<br>【特别说明】1. roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为 0。若两者都填,SDK 将优先选用 roomId。<br>2. 不要混用 roomId 和 strRoomId,因为它们之间是不互通的,例如数字 123 和字符串 <code>123</code> 在 TRTC 看来是两个完全不同的房间。 |
635
635
  | sdkAppId | 【字段含义】应用标识(必填),腾讯云基于 sdkAppId 完成计费统计。<br>【推荐取值】在 <a href="https://console.cloud.tencent.com/rav/">实时音视频控制台</a> 创建应用后可以在账号信息页面中得到该 ID。 |
636
- | strRoomId | 【字段含义】字符串房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。<br>【推荐取值】限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符):<br>- 大小写英文字母(a-zA-Z);<br>- 数字(0-9);<br>- 空格、 <code>!</code> 、 <code>#</code> 、 <code>$</code> 、 <code>%</code> 、 <code>&</code> 、 <code>(</code> 、 <code>)</code> 、 <code>+</code> 、 <code>-</code> 、 <code>:</code> 、 <code>;</code> 、 <code><</code> 、 <code>=</code> 、 <code>.</code> 、 <code>></code> 、 <code>?</code> 、 <code>@</code> 、 <code>[</code> 、 <code>]</code> 、 <code>^</code> 、 <code>_</code> 、 <code>{</code> 、 <code>}</code> 、 <code>\\|</code> 、 <code>~</code> 、 <code>,</code> 。<br>【特别说明】1. roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。<br>2. 不要混用 roomId 和 strRoomId,因为它们之间是不互通的,例如数字 123 和字符串 <code>123</code> 在 TRTC 看来是两个完全不同的房间。 |
636
+ | strRoomId | 【字段含义】字符串房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行音视频通话。<br>【推荐取值】限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符):<br>- 大小写英文字母(a-zA-Z);<br>- 数字(0-9);<br>- 空格、 <code>!</code> 、 <code>#</code> 、 <code>$</code> 、 <code>%</code> 、 <code>&</code> 、 <code>(</code> 、 <code>)</code> 、 <code>+</code> 、 <code>-</code> 、 <code>:</code> 、 <code>;</code> 、 <code><</code> 、 <code>=</code> 、 <code>.</code> 、 <code>></code> 、 <code>?</code> 、 <code>@</code> 、 <code>[</code> 、 <code>]</code> 、 <code>^</code> 、 <code>_</code> 、 <code>{</code> 、 <code>}</code> 、 <code>\\|</code> 、 <code>~</code> 、 <code>,</code> 。<br>【特别说明】1. roomId 与 strRoomId 是互斥的,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,SDK 将优先选用 roomId。<br>2. 不要混用 roomId 和 strRoomId,因为它们之间是不互通的,例如数字 123 和字符串 <code>123</code> 在 TRTC 看来是两个完全不同的房间。 |
637
637
  | streamId | 【字段含义】用于指定在腾讯云直播平台上的 streamId(选填),设置之后,您可以在腾讯云直播 CDN 上通过标准拉流方案(FLV 或 HLS)播放该用户的音视频流。<br>【推荐取值】限制长度为64字节,可以不填写,一种推荐的方案是使用 <code>sdkappid_roomid_userid_main</code> 作为 streamid,这种命名方式容易辨认且不会在您的多个应用中发生冲突。<br>【特别说明】要使用腾讯云直播 CDN,您需要先在 <a href="https://console.cloud.tencent.com/trtc/">控制台</a> 中的功能配置页开启“启动自动旁路直播”开关。<br>【参考文档】<a href="https://cloud.tencent.com/document/product/647/84721">发布音视频流到直播 CDN</a>。 |
638
638
  | userDefineRecordId | 【字段含义】云端录制开关(选填),用于指定是否要在云端将该用户的音视频流录制下来。<br>【参考文档】<a href="https://cloud.tencent.com/document/product/647/76497">云端录制</a>。<br>【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。<br>方案一:手动录制方案:<br>1. 在 <a href="https://console.cloud.tencent.com/trtc">控制台</a>>应用管理>云端录制配置 中开启云端录制。<br>2. 设置 <code>录制形式</code> 为 <code>手动录制</code> 。<br>3. 设置手动录制后,在一个 TRTC 房间中只有设置了 userDefineRecordId 参数的用户才会在云端录制出视频文件,不指定该参数的用户不会产生录制行为。<br>4. 云端会以 “userDefineRecordId_起始时间_结束时间” 的格式命名录制下来的文件。<br>方案二:自动录制方案:<br>1. 需要在 <a href="https://console.cloud.tencent.com/trtc">控制台</a>>应用管理>云端录制配置 中开启云端录制。<br>2. 设置 <code>录制形式</code> 为 <code>自动录制</code> 。<br>3. 设置自动录制后,在一个 TRTC 房间中的任何一个有音视频上行的用户,均会在云端录制出视频文件。<br>4. 文件会以 <code>userDefineRecordId_起始时间_结束时间</code> 的格式命名,如果不指定 userDefineRecordId,则文件会以 <code>streamId_起始时间_结束时间</code> 命名。 |
639
639
  | userId | 【字段含义】用户标识(必填),当前用户的 userId,相当于用户名,使用 UTF-8 编码。<br>【推荐取值】如果一个用户在您的账号系统中的 ID 为 “mike”,则 userId 即可设置为 “mike”。 |
@@ -647,10 +647,10 @@ v11.7 版本开始支持,只在 SDK 内部摄像头采集场景生效
647
647
  | 枚举类型 | 描述 |
648
648
  | --- | --- |
649
649
  | enableAdjustRes | 【字段含义】是否允许动态调整分辨率(开启后会对云端录制产生影响)。<br>【推荐取值】该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。<br>【特别说明】默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。 |
650
- | minVideoBitrate | 【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值。<br>【特别说明】 默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值。<br>【推荐取值】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:<br>- 如果您追求 <code>弱网络下允许卡顿但要保持清晰</code> 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。<br>- 如果您追求 <code>弱网络下允许模糊但要保持流畅</code> 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。<br>- 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。 |
650
+ | minVideoBitrate | 【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值。<br>【特别说明】 默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值。<br>【推荐取值】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:<br>- 如果您追求 <code>弱网络下允许卡顿但要保持清晰</code> 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。<br>- 如果您追求 <code>弱网络下允许模糊但要保持流畅</code> 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。<br>- 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。 |
651
651
  | videoBitrate | 【字段含义】目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。<br>【推荐取值】。例如:TRTCVideoResolution_1280_720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的观感清晰度。<br>【特别说明】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:<br>- 如果您追求“弱网络下允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。<br>- 如果您追求“弱网络下允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。<br>- 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。 |
652
652
  | videoFps | 【字段含义】视频采集帧率。<br>【推荐取值】15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。<br>【特别说明】部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。 |
653
- | videoResolution | 【字段含义】视频分辨率。<br>【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: <code>640 × 360 + Portrait = 360 × 640</code> 。<br>【推荐取值】<br>- 手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率。<br>- 手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率。<br>- 桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。 |
653
+ | videoResolution | 【字段含义】视频分辨率。<br>【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: <code>640 × 360 + Portrait = 360 × 640</code> 。<br>【推荐取值】<br>- 手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率。<br>- 手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率。<br>- 桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。 |
654
654
  | videoResolutionMode | 【字段含义】分辨率模式(横屏分辨率 or 竖屏分辨率)。<br>【推荐取值】手机平台(iOS、Android)建议选择 Portrait,桌面平台(Windows、Mac)建议选择 Landscape。<br>【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: <code>640 × 360 + Portrait = 360 × 640</code> 。 |
655
655
 
656
656
  ## TRTCNetworkQosParam
@@ -661,7 +661,7 @@ v11.7 版本开始支持,只在 SDK 内部摄像头采集场景生效
661
661
  | 枚举类型 | 描述 |
662
662
  | --- | --- |
663
663
  | controlMode | 【字段含义】流控模式(已废弃)。<br>【推荐取值】云端控制。<br>【特别说明】请设置为云端控制模式(TRTCQosControlModeServer)。 |
664
- | preference | 【字段含义】清晰优先还是流畅优先。<br>【推荐取值】清晰优先。<br>【特别说明】该参数主要影响 TRTC 在较差网络环境下的音视频表现:<br>- 流畅优先:即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的流畅性,代价就是画面会比较模糊且伴随有较多的马赛克。参见 TRTC_VIDEO_QOS_PREFERENCE_SMOOTH<br>- 清晰优先(默认值):即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的清晰度,代价就是画面会比较卡顿。参见 TRTC_VIDEO_QOS_PREFERENCE_CLEAR |
664
+ | preference | 【字段含义】清晰优先还是流畅优先。<br>【推荐取值】清晰优先。<br>【特别说明】该参数主要影响 TRTC 在较差网络环境下的音视频表现:<br>- 流畅优先:即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的流畅性,代价就是画面会比较模糊且伴随有较多的马赛克。参见 TRTC_VIDEO_QOS_PREFERENCE_SMOOTH<br>- 清晰优先(默认值):即当前网络不足以传输既清晰又流畅的画面时,优先保证画面的清晰度,代价就是画面会比较卡顿。参见 TRTC_VIDEO_QOS_PREFERENCE_CLEAR |
665
665
 
666
666
  ## TRTCRenderParams
667
667
 
@@ -778,9 +778,10 @@ TRTCVideoFrame 用来描述一帧视频画面的裸数据,也就是编码前
778
778
  TRTCMixUser 用于指定云端混流中每一路视频画面的位置、大小、图层以及流类型等信息。
779
779
  | 枚举类型 | 描述 |
780
780
  | --- | --- |
781
+ | cornerRadius | 【字段含义】视频画面圆角半径(单位:像素)。上行视频流在按照 renderMode 渲染后,对其最终画面进行圆角裁剪。<br>【默认取值】0,即不进行圆角处理。<br>【取值范围】[0, min(width, height) / 2],即最大不超过画面短边的一半。<br>【特别说明】该参数仅在 renderMode 为 0(裁剪模式)时生效。 |
781
782
  | height | 【字段含义】指定该路画面的高度(单位:像素)。 |
782
- | image | 【字段含义】占位图或水印图<br>- 占位图是指当对应 userId 混流内容为纯音频时,混合后的画面中显示的是占位图片。<br>- 水印图是指一张贴在混合后画面中的半透明图片,这张图片会一直覆盖于混合后的画面上。<br>- 当指定 inputType 为 TRTC_MixInputType_PureAudio 时,image 为占位图,此时需要您指定 userId。<br>- 当指定 inputType 为 TRTCCloudDef.TRTC_MixInputType_Watermark 时,image 为水印图,此时不需要您指定 userId。<br>【推荐取值】默认值:空值,即不设置占位图或者水印图。<br>【特别说明】<br>- 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “<a href="https://console.cloud.tencent.com/trtc">控制台</a> => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。<br>- 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(例如假设“图片ID” 为 63,可以设置 image = @"63")。<br>- 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。<br>- image 仅在 inputType 为 TRTC_MixInputType_PureAudio 或者 TRTCCloudDef.TRTC_MixInputType_Watermark 时才生效。 |
783
- | inputType | 【字段含义】指定该路流的混合内容(只混音频、只混视频、混合音视频、混入水印)。<br>【默认取值】默认值:TRTC_MixInputType_Undefined。<br>【特别说明】<br>- 当指定 inputType 为 TRTC_MixInputType_Undefined 并设置 pureAudio 为 YES 时,等效于设置 inputType 为 TRTC_MixInputType_PureAudio。<br>- 当指定 inputType 为 TRTC_MixInputType_Undefined 并设置 pureAudio 为 NO 时,等效于设置 inputType 为 TRTC_MixInputType_AudioVideo。<br>- 当指定 inputType 为 TRTCCloudDef.TRTC_MixInputType_Watermark 时,您可以不指定 userId 字段,但需要指定 image 字段。 |
783
+ | image | 【字段含义】占位图或水印图<br>- 占位图是指当对应 userId 混流内容为纯音频时,混合后的画面中显示的是占位图片。<br>- 水印图是指一张贴在混合后画面中的半透明图片,这张图片会一直覆盖于混合后的画面上。<br>- 当指定 inputType 为 TRTC_MixInputType_PureAudio 时,image 为占位图,此时需要您指定 userId。<br>- 当指定 inputType 为 TRTCCloudDef.TRTC_MixInputType_Watermark 时,image 为水印图,此时不需要您指定 userId。<br>【推荐取值】默认值:空值,即不设置占位图或者水印图。<br>【特别说明】<br>- 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “<a href="https://console.cloud.tencent.com/trtc">控制台</a> => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。<br>- 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(例如假设“图片ID” 为 63,可以设置 image = @"63")。<br>- 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。<br>- image 仅在 inputType 为 TRTC_MixInputType_PureAudio 或者 TRTCCloudDef.TRTC_MixInputType_Watermark 时才生效。 |
784
+ | inputType | 【字段含义】指定该路流的混合内容(只混音频、只混视频、混合音视频、混入水印)。<br>【默认取值】默认值:TRTC_MixInputType_Undefined。<br>【特别说明】<br>- 当指定 inputType 为 TRTC_MixInputType_Undefined 并设置 pureAudio 为 YES 时,等效于设置 inputType 为 TRTC_MixInputType_PureAudio。<br>- 当指定 inputType 为 TRTC_MixInputType_Undefined 并设置 pureAudio 为 NO 时,等效于设置 inputType 为 TRTC_MixInputType_AudioVideo。<br>- 当指定 inputType 为 TRTCCloudDef.TRTC_MixInputType_Watermark 时,您可以不指定 userId 字段,但需要指定 image 字段。 |
784
785
  | pureAudio | 【字段含义】指定该路流是不是只混合声音。<br>【推荐取值】默认值:false。<br>【特别说明】已废弃,推荐使用8.5版本开始新引入的字段:inputType。 |
785
786
  | renderMode | 【字段含义】该画面在输出时的显示模式。<br>【推荐取值】默认值:视频流默认为0。0为裁剪,1为缩放,2为缩放并显示黑底。<br>【特别说明】水印图和占位图暂时不支持设置 renderMode,默认强制拉伸处理。 |
786
787
  | roomId | 【字段含义】该路音视频流所在的房间号(设置为空值代表当前用户所在的房间号)。 |
@@ -805,16 +806,16 @@ TRTCMixUser 用于指定云端混流中每一路视频画面的位置、大小
805
806
  | audioCodec | 【字段含义】指定云端转码的输出流音频编码类型。<br>【推荐取值】默认值:0,代表LC-AAC。可设定的数值只有三个数字:0 - LC-AAC,1 - HE-AAC,2 - HE-AACv2。<br>【特别说明】HE-AAC 和 HE-AACv2 支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。<br>【特别说明】当音频编码设置为 HE-AACv2 时,只支持输出流音频声道数为双声道。<br>【特别说明】HE-AAC 和 HE-AACv2 取值仅在输出流为您额外设置的 streamId 上时才生效。 |
806
807
  | audioSampleRate | 【字段含义】指定云端转码的目标音频采样率。<br>【推荐取值】默认值:48000Hz。支持12000Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz、48000Hz。 |
807
808
  | backgroundColor | 【字段含义】指定混合画面的底色颜色。<br>【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,例如:“0x61B9F1” 代表 RGB 分别为(97,158,241)。 |
808
- | backgroundImage | 【字段含义】指定混合画面的背景图片。<br>【推荐取值】默认值:空值,即不设置背景图片。<br>【特别说明】<br>- 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “<a href="https://console.cloud.tencent.com/trtc">控制台</a> => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。<br>- 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(例如假设“图片ID” 为 63,可以设置 image = @"63")。<br>- 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式。 |
809
+ | backgroundImage | 【字段含义】指定混合画面的背景图片。<br>【推荐取值】默认值:空值,即不设置背景图片。<br>【特别说明】<br>- 您可以将 image 设置为控制台中的某一个素材 ID,这需要您事先在 “<a href="https://console.cloud.tencent.com/trtc">控制台</a> => 应用管理 => 功能配置 => 素材管理” 中单击 [新增图片] 按钮进行上传。<br>- 上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置给 image 字段即可(例如假设“图片ID” 为 63,可以设置 image = @"63")。<br>- 您也可以将 image 设置为图片的 URL 地址,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式。 |
809
810
  | bizId | 【字段含义】腾讯云直播服务的 bizid。<br>【推荐取值】请在 <a href="https://console.cloud.tencent.com/trtc">实时音视频控制台</a> 依次单击【应用管理】=>【应用信息】,并在【旁路直播信息】中获取 bizid。<br>【特别说明】2020年01月09日及此后新建的应用无需再填写该字段。 |
810
811
  | mixUsers | 【字段含义】指定云端混流中每一路视频画面的位置、大小、图层以及流类型等信息。<br>【推荐取值】该字段是一个 TRTCMixUser 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。 |
811
812
  | mode | 【字段含义】排版模式。<br>【推荐取值】请根据您的业务场景要求自行选择,预排版模式是适用性较好的一种模式。 |
812
- | streamId | 【字段含义】输出到 CDN 上的直播流 ID。<br>【推荐取值】默认值:空值,即房间里的多路音视频流最终会混合到接口调用者的那一路音视频流上。<br>- 如不设置该参数,SDK 会执行默认逻辑,即房间里的多路音视频流会混合到该接口调用者的那一路音视频流上,也就是 A + B => A。<br>- 如您设置该参数,SDK 会将房间里的多路音视频流混合到您指定的直播流上,也就是 A + B => C(C 代表您指定的 streamId)。 |
813
+ | streamId | 【字段含义】输出到 CDN 上的直播流 ID。<br>【推荐取值】默认值:空值,即房间里的多路音视频流最终会混合到接口调用者的那一路音视频流上。<br>- 如不设置该参数,SDK 会执行默认逻辑,即房间里的多路音视频流会混合到该接口调用者的那一路音视频流上,也就是 A + B => A。<br>- 如您设置该参数,SDK 会将房间里的多路音视频流混合到您指定的直播流上,也就是 A + B => C(C 代表您指定的 streamId)。 |
813
814
  | videoBitrate | 【字段含义】指定云端转码的目标视频码率(kbps)。<br>【推荐取值】如果填0,TRTC 会根据 videoWidth 和 videoHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。 |
814
815
  | videoFramerate | 【字段含义】指定云端转码的目标视频帧率(FPS)。<br>【推荐取值】默认值:15fps,取值范围是 (0,30]。 |
815
816
  | videoGOP | 【字段含义】指定云端转码的目标视频关键帧间隔(GOP)。<br>【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。 |
816
817
  | videoHeight | 【字段含义】指定云端转码的目标分辨率(高度)。<br>【推荐取值】单位:像素值,推荐值:640,如果您只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。 |
817
- | videoSeiParams | 【字段含义】混流 SEI 参数,默认不填写。<br>【特别说明】参数以 json 字符串形式传入,示例如下:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>当前支持的字段及含义:<br>- payloadContent: 必填。透传 sei 的 payload 内容,不能为空;<br>- payloadType: 必填。sei 消息的类型,取值范围: 5 或 [100, 254] 范围内的整数(244 除外,244 是内部自定义的时间戳 sei);<br>- payloadUuid: 当 payloadType 为 5 时必须填写,其他情况下该值会被忽略。该值必须是长度为 32 的十六进制数字;<br>- interval: 选填,默认 1000。sei 的发送间隔,单位毫秒;<br>- followIdr: 选填,默认 false。该值为 true 时,发送关键帧时会确保带 sei,否则不确保。 |
818
+ | videoSeiParams | 【字段含义】混流 SEI 参数,默认不填写。<br>【特别说明】参数以 json 字符串形式传入,示例如下:<br>`{`<br>`"payLoadContent":"xxx",`<br>`"payloadType":5,`<br>`"payloadUuid":"1234567890abcdef1234567890abcdef",`<br>`"interval":1000,`<br>`"followIdr":false`<br>`}`<br>当前支持的字段及含义:<br>- payloadContent: 必填。透传 sei 的 payload 内容,不能为空;<br>- payloadType: 必填。sei 消息的类型,取值范围: 5 或 [100, 254] 范围内的整数(244 除外,244 是内部自定义的时间戳 sei);<br>- payloadUuid: 当 payloadType 为 5 时必须填写,其他情况下该值会被忽略。该值必须是长度为 32 的十六进制数字;<br>- interval: 选填,默认 1000。sei 的发送间隔,单位毫秒;<br>- followIdr: 选填,默认 false。该值为 true 时,发送关键帧时会确保带 sei,否则不确保。 |
818
819
  | videoWidth | 【字段含义】指定云端转码的目标分辨率(宽度)。<br>【推荐取值】单位:像素值,推荐值:360,如果您只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。 |
819
820
 
820
821
  ## TRTCPublishCDNParam
@@ -918,7 +919,7 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
918
919
  | 枚举类型 | 描述 |
919
920
  | --- | --- |
920
921
  | includeUsers | 【字段含义】指定用户必定能并发播放。<br>【特别说明】指定必定并发播放的用户 ID 列表。这些用户不参与智能选择。<br>includeUsers 的数量必须小于 maxCount,否则本次并发播放设置失效。<br>includeUsers 仅在 maxCount > 0 时有效。当 includeUsers 生效时,参与智能并发选择的最大播放数 = maxCount - 有效 includeUsers 的数量。 |
921
- | maxCount | 【字段含义】最大并发播放数。默认值:0。<br>- 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。<br>- 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。 |
922
+ | maxCount | 【字段含义】最大并发播放数。默认值:0。<br>- 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。<br>- 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。 |
922
923
 
923
924
  ## TRTCUser
924
925
 
@@ -928,7 +929,7 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
928
929
  | 枚举类型 | 描述 |
929
930
  | --- | --- |
930
931
  | intRoomId | 【字段含义】数字房间号,需要和您的进房参数 (TRTCParams) 中的房间号类型相匹配。<br>【推荐取值】取值范围:1 - 4294967294。<br>【特别说明】intRoomId 与 strRoomId 是互斥的,若您进房参数中选用 strRoomId,则 intRoomId 需要填写为0。若两者都填,SDK 将优先选用 intRoomId。 |
931
- | strRoomId | 【字段含义】字符串房间号,需要和您的进房参数 (TRTCParams) 中的房间号类型相匹配。<br>【特别说明】intRoomId 与 strRoomId 是互斥的,若您进房参数中选用 roomId,则 strRoomId 无需填写。若两者都填,SDK 将优先选用 intRoomId。<br>【推荐取值】限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符):<br>- 大小写英文字母(a-zA-Z);<br>- 数字(0-9);<br>- 空格、 <code>!</code> 、 <code>#</code> 、 <code>$</code> 、 <code>%</code> 、 <code>&</code> 、 <code>(</code> 、 <code>)</code> 、 <code>+</code> 、 <code>-</code> 、 <code>:</code> 、 <code>;</code> 、 <code><</code> 、 <code>=</code> 、 <code>.</code> 、 <code>></code> 、 <code>?</code> 、 <code>@</code> 、 <code>[</code> 、 <code>]</code> 、 <code>^</code> 、 <code>_</code> 、 <code>{</code> 、 <code>}</code> 、 <code>\\|</code> 、 <code>~</code> 、 <code>,</code> 。 |
932
+ | strRoomId | 【字段含义】字符串房间号,需要和您的进房参数 (TRTCParams) 中的房间号类型相匹配。<br>【特别说明】intRoomId 与 strRoomId 是互斥的,若您进房参数中选用 roomId,则 strRoomId 无需填写。若两者都填,SDK 将优先选用 intRoomId。<br>【推荐取值】限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符):<br>- 大小写英文字母(a-zA-Z);<br>- 数字(0-9);<br>- 空格、 <code>!</code> 、 <code>#</code> 、 <code>$</code> 、 <code>%</code> 、 <code>&</code> 、 <code>(</code> 、 <code>)</code> 、 <code>+</code> 、 <code>-</code> 、 <code>:</code> 、 <code>;</code> 、 <code><</code> 、 <code>=</code> 、 <code>.</code> 、 <code>></code> 、 <code>?</code> 、 <code>@</code> 、 <code>[</code> 、 <code>]</code> 、 <code>^</code> 、 <code>_</code> 、 <code>{</code> 、 <code>}</code> 、 <code>\\|</code> 、 <code>~</code> 、 <code>,</code> 。 |
932
933
  | userId | 【字段含义】用户标识,当前用户的 userId,相当于用户名,使用 UTF-8 编码。<br>【推荐取值】如果一个用户在您的账号系统中的 ID 为“mike”,则 userId 即可设置为“mike”。 |
933
934
 
934
935
  ## TRTCPublishCdnUrl
@@ -962,11 +963,12 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
962
963
  | 枚举类型 | 描述 |
963
964
  | --- | --- |
964
965
  | backgroundColor | 【字段含义】指定混合画面的底色颜色。<br>【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,例如:“0x61B9F1” 代表 RGB 分别为 (97,158,241)。 |
966
+ | cornerRadius | 【字段含义】视频画面圆角半径(单位:像素)。上行视频流在按照 fillMode 渲染后,对其最终画面进行圆角裁剪。<br>【默认取值】0,即不进行圆角处理。<br>【取值范围】[0, min(width, height) / 2],即最大不超过画面短边的一半。 |
965
967
  | fillMode | 【字段含义】画面填充模式。<br>【推荐取值】填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTC_VIDEO_RENDER_MODE_FILL。 |
966
968
  | fixedVideoStreamType | 【字段含义】指定该路画面是主路画面(TRTC_VIDEO_STREAM_TYPE_BIG)还是辅路画面(TRTC_VIDEO_STREAM_TYPE_SUB)。 |
967
969
  | fixedVideoUser | 【字段含义】参与转码的用户信息。<br>【特别说明】用户信息 (TRTCUser) 支持不填写(即 userId、intRoomId 和 strRoomId 均不填写)。此时当发起混流的房间中有主播上行音视频数据时,TRTC 后台服务器将自动将对应主播音视频填充到您指定的布局中。 |
968
970
  | height | 【字段含义】指定该路画面的高度(单位:像素)。 |
969
- | placeHolderImage | 【字段含义】占位图 URL,即当指定用户暂时仅上行音频时,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【推荐取值】默认值:空值,即不设置占位图。<br>【特别说明】此时需要您指定用户信息 fixedVideoUser 中的 userId。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为占位图。 |
971
+ | placeHolderImage | 【字段含义】占位图 URL,即当指定用户暂时仅上行音频时,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【推荐取值】默认值:空值,即不设置占位图。<br>【特别说明】此时需要您指定用户信息 fixedVideoUser 中的 userId。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为占位图。 |
970
972
  | width | 【字段含义】指定该路画面的宽度(单位:像素)。 |
971
973
  | x | 【字段含义】指定该路画面的 x 坐标(单位:像素)。 |
972
974
  | y | 【字段含义】指定该路画面的 y 坐标(单位:像素)。 |
@@ -980,7 +982,7 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
980
982
  | 枚举类型 | 描述 |
981
983
  | --- | --- |
982
984
  | height | 【字段含义】指定该路水印画面的高度(单位:像素)。 |
983
- | watermarkUrl | 【字段含义】水印 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。 |
985
+ | watermarkUrl | 【字段含义】水印 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。 |
984
986
  | width | 【字段含义】指定该路水印画面的宽度(单位:像素)。 |
985
987
  | x | 【字段含义】指定该路水印画面的 x 坐标(单位:像素)。 |
986
988
  | y | 【字段含义】指定该路水印画面的 y 坐标(单位:像素)。 |
@@ -1007,7 +1009,7 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
1007
1009
  | videoEncodedHeight | 【字段含义】指定媒体发布流的目标分辨率(高度)。<br>【推荐取值】单位:像素值,推荐值:640,如果您只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。 |
1008
1010
  | videoEncodedKbps | 【字段含义】指定媒体发布流的目标视频码率(kbps)。<br>【推荐取值】如果填 0,TRTC 会根据 videoEncodedWidth 和 videoEncodedHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。 |
1009
1011
  | videoEncodedWidth | 【字段含义】指定媒体发布流的目标分辨率(宽度)。<br>【推荐取值】单位:像素值,推荐值:368,如果您只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。 |
1010
- | videoSeiParams | 【字段含义】混流 SEI 参数,默认不填写。<br>【特别说明】参数以 json 字符串形式传入,示例如下:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>当前支持的字段及含义:<br>- payloadContent: 必填。透传 sei 的 payload 内容,不能为空;<br>- payloadType: 必填。sei 消息的类型,取值范围: 5 或 [100, 254] 范围内的整数(244 除外,244 是内部自定义的时间戳 sei);<br>- payloadUuid: 当 payloadType 为 5 时必须填写,其他情况下该值会被忽略。该值必须是长度为 32 的十六进制数字;<br>- interval: 选填,默认 1000。sei 的发送间隔,单位毫秒;<br>- followIdr: 选填,默认 false。该值为 true 时,发送关键帧时会确保带 sei,否则不确保。 |
1012
+ | videoSeiParams | 【字段含义】混流 SEI 参数,默认不填写。<br>【特别说明】参数以 json 字符串形式传入,示例如下:<br>`{`<br>`"payLoadContent":"xxx",`<br>`"payloadType":5,`<br>`"payloadUuid":"1234567890abcdef1234567890abcdef",`<br>`"interval":1000,`<br>`"followIdr":false`<br>`}`<br>当前支持的字段及含义:<br>- payloadContent: 必填。透传 sei 的 payload 内容,不能为空;<br>- payloadType: 必填。sei 消息的类型,取值范围: 5 或 [100, 254] 范围内的整数(244 除外,244 是内部自定义的时间戳 sei);<br>- payloadUuid: 当 payloadType 为 5 时必须填写,其他情况下该值会被忽略。该值必须是长度为 32 的十六进制数字;<br>- interval: 选填,默认 1000。sei 的发送间隔,单位毫秒;<br>- followIdr: 选填,默认 false。该值为 true 时,发送关键帧时会确保带 sei,否则不确保。 |
1011
1013
 
1012
1014
  ## TRTCStreamMixingConfig
1013
1015
 
@@ -1020,7 +1022,7 @@ TRTC 中的“音效”特指一些短暂的音频文件,通常仅有几秒钟
1020
1022
  | --- | --- |
1021
1023
  | audioMixUserList | 【字段含义】指定转码流中的每一路输入音频的信息。<br>【推荐取值】该字段是一个 TRTCUser 类型的数组,数组中的每一个元素都用来代表每一路输入音频的信息。<br>【特别说明】用户信息支持不填写(即 audioMixUserList 为空)。此时若设置了 TRTCStreamEncoderParam 中音频相关编码输出参数,TRTC 后台服务器将自动将所有主播的音频混合输出(当前仅支持最高 16 路音视频输入)。 |
1022
1024
  | backgroundColor | 【字段含义】指定混合画面的底色颜色。<br>【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,例如:“0x61B9F1” 代表 RGB 分别为 (97、158、241)。 |
1023
- | backgroundImage | 【字段含义】指定混合画面的背景图 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【推荐取值】默认值:空值,即不设置背景图片。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为背景图。 |
1025
+ | backgroundImage | 【字段含义】指定混合画面的背景图 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。<br>【推荐取值】默认值:空值,即不设置背景图片。<br>【特别说明】<br>- URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。<br>- 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为背景图。 |
1024
1026
  | videoLayoutList | 【字段含义】指定混合画面中的每一路视频画面的位置、大小、图层以及流类型等信息。<br>【推荐取值】该字段是一个 TRTCVideoLayout 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。 |
1025
1027
  | watermarkList | 【字段含义】指定混合画面中的每一路水印画面的位置、大小、图层等信息。<br>【推荐取值】该字段是一个 TRTCWatermark 类型的数组,数组中的每一个元素都用来代表每一路水印的信息。 |
1026
1028