@tencent-rtc/mcp 1.3.9 → 1.4.1

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 (435) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
  3. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
  4. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
  5. package/resource/doc/callkit/preset/android/api.md +296 -0
  6. package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +53 -365
  7. package/resource/doc/callkit/preset/flutter/api.md +410 -0
  8. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
  9. package/resource/doc/callkit/preset/ios/api.md +80 -0
  10. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
  11. package/resource/doc/callkit/preset/react/api.md +501 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
  13. package/resource/doc/callkit/preset/vue/api.md +501 -0
  14. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
  15. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
  16. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  17. package/resource/doc/{chatuikit → chatkit}/android/integration.md +28 -121
  18. package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
  19. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
  20. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
  21. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
  22. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  23. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
  24. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
  25. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  26. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +18 -87
  27. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
  28. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  29. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
  30. package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
  31. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
  32. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
  33. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
  34. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
  35. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
  36. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  37. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  38. package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
  39. package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
  40. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
  41. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
  42. package/resource/doc/chatkit/react/components/search.md +243 -0
  43. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
  44. package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
  45. package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
  46. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
  47. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
  48. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
  49. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
  50. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  51. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
  53. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  54. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  55. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
  56. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  58. package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
  59. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
  60. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  61. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
  62. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
  63. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  64. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
  65. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
  66. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
  67. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  68. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
  69. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
  70. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
  71. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
  72. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
  73. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
  74. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
  75. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
  76. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
  77. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  78. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
  79. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
  80. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
  81. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
  82. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
  83. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
  84. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
  85. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
  86. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
  87. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
  88. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
  89. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +18 -89
  90. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
  91. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +28 -141
  92. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +50 -259
  93. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
  94. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +51 -265
  95. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +61 -427
  96. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +33 -173
  97. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -203
  98. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +56 -416
  99. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +35 -111
  100. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +35 -193
  101. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +31 -144
  102. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +43 -252
  103. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +79 -459
  104. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +46 -264
  105. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-integration.md +61 -445
  106. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +32 -169
  107. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
  108. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  109. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  110. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
  111. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
  112. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
  113. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
  114. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
  115. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  116. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
  117. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
  118. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
  119. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
  120. package/resource/doc/roomkit/vue/faq.md +1 -0
  121. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  122. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  123. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  124. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  125. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  126. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  127. package/resource/doc/roomkit/vue/features/room-state.md +25 -34
  128. package/resource/doc/roomkit/vue/features/room-view.md +30 -125
  129. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  130. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  131. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
  132. package/resource/doc/roomkit/vue/integration.md +21 -76
  133. package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
  134. package/resource/doc/rtcengine/faq/web/web.md +14 -24
  135. package/resource/doc/rtcengine/web/api.md +1 -3
  136. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
  137. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
  138. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
  139. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
  140. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
  141. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
  142. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
  143. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
  144. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
  145. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
  146. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
  147. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
  148. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
  149. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
  150. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
  151. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
  152. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  153. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
  154. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  155. package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
  156. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  157. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
  158. package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
  159. package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
  160. package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
  161. package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
  162. package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
  163. package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
  164. package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
  165. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  166. package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
  167. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  168. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  169. package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
  170. package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
  171. package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
  172. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
  173. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  174. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
  175. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  176. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  177. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  178. package/server.js +1 -5
  179. package/server.js.map +1 -1
  180. package/tools/call/get_callkit_api.js +32 -0
  181. package/tools/call/get_callkit_api.js.map +1 -0
  182. package/tools/call/get_native_call_uikit_integration.js +34 -0
  183. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  184. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  185. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  186. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  187. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  188. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  189. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  190. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  191. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  192. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  193. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  194. package/tools/common/get_faq.js +265 -0
  195. package/tools/common/get_faq.js.map +1 -0
  196. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  197. package/tools/common/get_usersig.js.map +1 -0
  198. package/tools/common/present_framework_choice.js +63 -0
  199. package/tools/common/present_framework_choice.js.map +1 -0
  200. package/tools/common/record_skill_session.js +58 -0
  201. package/tools/common/record_skill_session.js.map +1 -0
  202. package/tools/definitions/get_callkit_api_def.js +29 -0
  203. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  204. package/tools/definitions/get_faq_def.js +17 -18
  205. package/tools/definitions/get_faq_def.js.map +1 -1
  206. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  207. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  208. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  209. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  210. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  211. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  212. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  214. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  215. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  216. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  217. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  218. package/tools/definitions/get_usersig_def.js +17 -22
  219. package/tools/definitions/get_usersig_def.js.map +1 -1
  220. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  221. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  223. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  224. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  225. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  227. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  228. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  229. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  230. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  231. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  232. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -46
  233. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  234. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  235. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  240. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  241. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  242. package/tools/definitions/present_framework_choice_def.js +24 -12
  243. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  244. package/tools/definitions/record_skill_session_def.js +31 -0
  245. package/tools/definitions/record_skill_session_def.js.map +1 -0
  246. package/tools/index.js +49 -61
  247. package/tools/index.js.map +1 -1
  248. package/tools/live/get_native_livekit_core_features.js +65 -0
  249. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  250. package/tools/live/get_native_livekit_core_integration.js +59 -0
  251. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  252. package/tools/live/get_web_live_uikit_integration.js +48 -0
  253. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  254. package/tools/live/get_web_livekit_api.js +32 -0
  255. package/tools/live/get_web_livekit_api.js.map +1 -0
  256. package/tools/live/get_web_livekit_component_detail.js +34 -0
  257. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  258. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  259. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  260. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  261. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  264. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  265. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  266. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  267. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  268. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  269. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  270. package/utils/generate-structured-result.js +61 -17
  271. package/utils/generate-structured-result.js.map +1 -1
  272. package/utils/report-cls-client.js +21 -1
  273. package/utils/report-cls-client.js.map +1 -1
  274. package/utils/report-es-client.js +2 -2
  275. package/resource/doc/chatuikit/android/workflow.md +0 -713
  276. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  277. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  278. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  279. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  280. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  281. package/resource/doc/chatuikit/react/components/search.md +0 -745
  282. package/resource/doc/chatuikit/react/create-group.md +0 -23
  283. package/resource/doc/chatuikit/react/init.md +0 -26
  284. package/resource/doc/chatuikit/react/workflow.md +0 -258
  285. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  286. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  287. package/resource/doc/chatuikit/vue/init.md +0 -40
  288. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  289. package/resource/doc/livekit/live/android/workflow.md +0 -320
  290. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  291. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  292. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  293. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  294. package/resource/doc/livekit/live/vue/faq.md +0 -0
  295. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  296. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  297. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  298. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  299. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  300. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  301. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  302. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  303. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  304. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  305. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  306. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  307. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  308. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  309. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  310. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  311. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  312. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  313. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  314. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  315. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  316. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  317. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  318. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  319. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  320. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  321. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  322. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  323. package/resource/doc/roomkit/vue/workflow.md +0 -733
  324. package/resource/doc/tuicallkit/android/workflow.md +0 -441
  325. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  326. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  327. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  328. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  329. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  330. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  331. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  332. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  333. package/resource/doc/tuicallkit/react/api.md +0 -1404
  334. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  335. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  336. package/tools/call/get-native-call-integration.js +0 -43
  337. package/tools/call/get-native-call-integration.js.map +0 -1
  338. package/tools/call/get-web-call-api.js +0 -27
  339. package/tools/call/get-web-call-api.js.map +0 -1
  340. package/tools/call/get-web-call-integration.js.map +0 -1
  341. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  342. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  343. package/tools/chat/get-native-chat-integration.js +0 -45
  344. package/tools/chat/get-native-chat-integration.js.map +0 -1
  345. package/tools/chat/get-web-chat-component-detail.js +0 -31
  346. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  347. package/tools/chat/get-web-chat-integration.js +0 -45
  348. package/tools/chat/get-web-chat-integration.js.map +0 -1
  349. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  350. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  351. package/tools/chat/get-web-create-group-doc.js +0 -28
  352. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  353. package/tools/common/get-faq.js +0 -91
  354. package/tools/common/get-faq.js.map +0 -1
  355. package/tools/common/get-usersig.js.map +0 -1
  356. package/tools/common/present-framework-choice.js +0 -16
  357. package/tools/common/present-framework-choice.js.map +0 -1
  358. package/tools/common/present-scenario-choice.js +0 -16
  359. package/tools/common/present-scenario-choice.js.map +0 -1
  360. package/tools/common/record-prompt.js +0 -55
  361. package/tools/common/record-prompt.js.map +0 -1
  362. package/tools/common/record-result.js +0 -60
  363. package/tools/common/record-result.js.map +0 -1
  364. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  365. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_api_def.js +0 -23
  367. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  369. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  370. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  371. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  372. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  373. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  374. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  375. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  376. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  377. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  378. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  379. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  380. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  381. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  382. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  383. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  385. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  386. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  387. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  388. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  389. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  390. package/tools/definitions/present_scenario_choice_def.js +0 -53
  391. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  392. package/tools/definitions/record_prompt_def.js +0 -58
  393. package/tools/definitions/record_prompt_def.js.map +0 -1
  394. package/tools/definitions/record_result_def.js +0 -46
  395. package/tools/definitions/record_result_def.js.map +0 -1
  396. package/tools/live/get-native-live-uikit-integration.js +0 -177
  397. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  398. package/tools/live/get-web-live-component-detail.js +0 -31
  399. package/tools/live/get-web-live-component-detail.js.map +0 -1
  400. package/tools/live/get-web-live-state-detail.js +0 -31
  401. package/tools/live/get-web-live-state-detail.js.map +0 -1
  402. package/tools/live/get-web-live-uikit-integration.js +0 -52
  403. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  404. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  405. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  406. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  407. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  408. package/tools/native_live/get-native-live-api.js +0 -31
  409. package/tools/native_live/get-native-live-api.js.map +0 -1
  410. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  411. package/tools/room/get-web-room-integration.js.map +0 -1
  412. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  413. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  415. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  417. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  418. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  419. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  420. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  421. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  422. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  423. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  424. package/tools/trtc/get-trtc-native-api.js +0 -31
  425. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  426. package/utils/handle-component-name.js +0 -33
  427. package/utils/handle-component-name.js.map +0 -1
  428. /package/resource/doc/{chatuikit/iOS/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  429. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  430. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  431. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  432. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  433. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  434. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  435. /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
@@ -2,3599 +2,924 @@
2
2
  ## Overview
3
3
  `TRTCTypeDef.h` provides type definitions for TRTC Real-Time Communication (TRTC SDK) on C++.
4
4
 
5
+ ## Struct Type
6
+ | Function List | Description |
7
+ | --- | --- |
8
+ | TRTCParams | Room entry parameters |
9
+ | TRTCVideoEncParam | Video encoding parameters |
10
+ | TRTCNetworkQosParam | Network flow control (Qos) parameter set |
11
+ | TRTCRenderParams | Rendering parameters for video footage |
12
+ | TRTCQualityInfo | Network quality |
13
+ | TRTCVolumeInfo | Volume level |
14
+ | TRTCSpeedTestParams | Speed test parameters |
15
+ | TRTCSpeedTestResult | Network speed test results |
16
+ | TRTCTexture | Video texture data |
17
+ | TRTCVideoFrame | Video frame information |
18
+ | TRTCAudioFrame | Audio frame data |
19
+ | TRTCMixUser | Description information of each screen in Cloud Mixed Streaming |
20
+ | TRTCTranscodingConfig | Layout and Transcoding Parameters of Cloud Mixed Streaming |
21
+ | TRTCPublishCDNParam | The relay parameters to be set when publishing audio and video streams to non-Tencent Cloud CDN |
22
+ | TRTCAudioRecordingParams | Local audio file recording parameters |
23
+ | TRTCLocalRecordingParams | Local media file recording parameters |
24
+ | TRTCAudioEffectParam | Audio Effect Parameters (Deprecated) |
25
+ | TRTCSwitchRoomConfig | Room switching parameters |
26
+ | TRTCAudioFrameCallbackFormat | Audio self Definition callback format parameters |
27
+ | TRTCImageBuffer | TRTC screen sharing icon information and mute image spacer |
28
+ | TRTCScreenCaptureSourceInfo | Target information for screen sharing (only applicable to desktop systems) |
29
+ | TRTCScreenCaptureProperty | Advanced control parameters for screen sharing |
30
+ | TRTCAudioParallelParams | Parameters of the intelligent concurrent playback strategy for remote audio streams |
31
+ | TRTCUser | User information related to media stream publishing settings |
32
+ | TRTCPublishCdnUrl | URL configuration required when publishing audio and video streams to Tencent or third-party CDNs |
33
+ | TRTCPublishTarget | Target Streaming Configuration |
34
+ | TRTCVideoLayout | Transcoding Video Layout |
35
+ | TRTCWatermark | Watermark Layout |
36
+ | TRTCStreamEncoderParam | Media Stream Encoding Output Parameters |
37
+ | TRTCStreamMixingConfig | Media Stream Transcoding Configuration Parameters |
38
+ | TRTCPayloadPrivateEncryptionConfig | Private media stream encryption configuration |
39
+ | TRTCAudioVolumeEvaluateParams | Volume assessment and related parameter settings |
5
40
 
6
- ## Struct Type
7
- <table>
8
- <tr>
9
- <td rowspan="1" colSpan="1" >Function List</td>
10
-
11
- <td rowspan="1" colSpan="1" >Description</td>
12
- </tr>
13
-
14
- <tr>
15
- <td rowspan="1" colSpan="1" >[TRTCParams](https://write.woa.com/document/87030132707430400)</td>
16
-
17
- <td rowspan="1" colSpan="1" >Room entry parameters</td>
18
- </tr>
19
-
20
- <tr>
21
- <td rowspan="1" colSpan="1" >[TRTCVideoEncParam](https://write.woa.com/document/87030132707430400)</td>
22
-
23
- <td rowspan="1" colSpan="1" >Video encoding parameters</td>
24
- </tr>
25
-
26
- <tr>
27
- <td rowspan="1" colSpan="1" >[TRTCNetworkQosParam](https://write.woa.com/document/87030132707430400)</td>
28
-
29
- <td rowspan="1" colSpan="1" >Network flow control (Qos) parameter set</td>
30
- </tr>
31
-
32
- <tr>
33
- <td rowspan="1" colSpan="1" >[TRTCRenderParams](https://write.woa.com/document/87030132707430400)</td>
34
-
35
- <td rowspan="1" colSpan="1" >Rendering parameters for video footage</td>
36
- </tr>
37
-
38
- <tr>
39
- <td rowspan="1" colSpan="1" >[TRTCQualityInfo](https://write.woa.com/document/87030132707430400)</td>
40
-
41
- <td rowspan="1" colSpan="1" >Network quality</td>
42
- </tr>
43
-
44
- <tr>
45
- <td rowspan="1" colSpan="1" >[TRTCVolumeInfo](https://write.woa.com/document/87030132707430400)</td>
46
-
47
- <td rowspan="1" colSpan="1" >Volume level</td>
48
- </tr>
49
-
50
- <tr>
51
- <td rowspan="1" colSpan="1" >[TRTCSpeedTestParams](https://write.woa.com/document/87030132707430400)</td>
52
-
53
- <td rowspan="1" colSpan="1" >Speed test parameters</td>
54
- </tr>
55
-
56
- <tr>
57
- <td rowspan="1" colSpan="1" >[TRTCSpeedTestResult](https://write.woa.com/document/87030132707430400)</td>
58
-
59
- <td rowspan="1" colSpan="1" >Network speed test results</td>
60
- </tr>
61
-
62
- <tr>
63
- <td rowspan="1" colSpan="1" >[TRTCTexture](https://write.woa.com/document/87030132707430400)</td>
64
-
65
- <td rowspan="1" colSpan="1" >Video texture data</td>
66
- </tr>
67
-
68
- <tr>
69
- <td rowspan="1" colSpan="1" >[TRTCVideoFrame](https://write.woa.com/document/87030132707430400)</td>
70
-
71
- <td rowspan="1" colSpan="1" >Video frame information</td>
72
- </tr>
73
-
74
- <tr>
75
- <td rowspan="1" colSpan="1" >[TRTCAudioFrame](https://write.woa.com/document/87030132707430400)</td>
76
-
77
- <td rowspan="1" colSpan="1" >Audio frame data</td>
78
- </tr>
79
-
80
- <tr>
81
- <td rowspan="1" colSpan="1" >[TRTCMixUser](https://write.woa.com/document/87030132707430400)</td>
82
-
83
- <td rowspan="1" colSpan="1" >Description information of each screen in Cloud Mixed Streaming</td>
84
- </tr>
85
-
86
- <tr>
87
- <td rowspan="1" colSpan="1" >[TRTCTranscodingConfig](https://write.woa.com/document/87030132707430400)</td>
88
-
89
- <td rowspan="1" colSpan="1" >Layout and Transcoding Parameters of Cloud Mixed Streaming</td>
90
- </tr>
91
-
92
- <tr>
93
- <td rowspan="1" colSpan="1" >[TRTCPublishCDNParam](https://write.woa.com/document/87030132707430400)</td>
94
-
95
- <td rowspan="1" colSpan="1" >The relay parameters to be set when publishing audio and video streams to non-Tencent Cloud CDN</td>
96
- </tr>
97
-
98
- <tr>
99
- <td rowspan="1" colSpan="1" >[TRTCAudioRecordingParams](https://write.woa.com/document/87030132707430400)</td>
100
-
101
- <td rowspan="1" colSpan="1" >Local audio file recording parameters</td>
102
- </tr>
103
-
104
- <tr>
105
- <td rowspan="1" colSpan="1" >[TRTCLocalRecordingParams](https://write.woa.com/document/87030132707430400)</td>
106
-
107
- <td rowspan="1" colSpan="1" >Local media file recording parameters</td>
108
- </tr>
109
-
110
- <tr>
111
- <td rowspan="1" colSpan="1" >[TRTCAudioEffectParam](https://write.woa.com/document/87030132707430400)</td>
112
-
113
- <td rowspan="1" colSpan="1" >Audio Effect Parameters (Deprecated)</td>
114
- </tr>
115
-
116
- <tr>
117
- <td rowspan="1" colSpan="1" >[TRTCSwitchRoomConfig](https://write.woa.com/document/87030132707430400)</td>
118
-
119
- <td rowspan="1" colSpan="1" >Room switching parameters</td>
120
- </tr>
121
-
122
- <tr>
123
- <td rowspan="1" colSpan="1" >[TRTCAudioFrameCallbackFormat](https://write.woa.com/document/87030132707430400)</td>
124
-
125
- <td rowspan="1" colSpan="1" >Audio self Definition callback format parameters</td>
126
- </tr>
127
-
128
- <tr>
129
- <td rowspan="1" colSpan="1" >[TRTCImageBuffer](https://write.woa.com/document/87030132707430400)</td>
130
-
131
- <td rowspan="1" colSpan="1" >TRTC screen sharing icon information and mute image spacer</td>
132
- </tr>
133
-
134
- <tr>
135
- <td rowspan="1" colSpan="1" >[TRTCScreenCaptureSourceInfo](https://write.woa.com/document/87030132707430400)</td>
136
-
137
- <td rowspan="1" colSpan="1" >Target information for screen sharing (only applicable to desktop systems)</td>
138
- </tr>
139
-
140
- <tr>
141
- <td rowspan="1" colSpan="1" >[TRTCScreenCaptureProperty](https://write.woa.com/document/87030132707430400)</td>
142
-
143
- <td rowspan="1" colSpan="1" >Advanced control parameters for screen sharing</td>
144
- </tr>
145
-
146
- <tr>
147
- <td rowspan="1" colSpan="1" >[TRTCAudioParallelParams](https://write.woa.com/document/87030132707430400)</td>
148
-
149
- <td rowspan="1" colSpan="1" >Parameters of the intelligent concurrent playback strategy for remote audio streams</td>
150
- </tr>
151
-
152
- <tr>
153
- <td rowspan="1" colSpan="1" >[TRTCUser](https://write.woa.com/document/87030132707430400)</td>
154
-
155
- <td rowspan="1" colSpan="1" >User information related to media stream publishing settings</td>
156
- </tr>
157
-
158
- <tr>
159
- <td rowspan="1" colSpan="1" >[TRTCPublishCdnUrl](https://write.woa.com/document/87030132707430400)</td>
160
-
161
- <td rowspan="1" colSpan="1" >URL configuration required when publishing audio and video streams to Tencent or third-party CDNs</td>
162
- </tr>
163
-
164
- <tr>
165
- <td rowspan="1" colSpan="1" >[TRTCPublishTarget](https://write.woa.com/document/87030132707430400)</td>
166
-
167
- <td rowspan="1" colSpan="1" >Target Streaming Configuration</td>
168
- </tr>
169
-
170
- <tr>
171
- <td rowspan="1" colSpan="1" >[TRTCVideoLayout](https://write.woa.com/document/87030132707430400)</td>
172
-
173
- <td rowspan="1" colSpan="1" >Transcoding Video Layout</td>
174
- </tr>
175
-
176
- <tr>
177
- <td rowspan="1" colSpan="1" >[TRTCWatermark](https://write.woa.com/document/87030132707430400)</td>
178
-
179
- <td rowspan="1" colSpan="1" >Watermark Layout</td>
180
- </tr>
181
-
182
- <tr>
183
- <td rowspan="1" colSpan="1" >[TRTCStreamEncoderParam](https://write.woa.com/document/87030132707430400)</td>
184
-
185
- <td rowspan="1" colSpan="1" >Media Stream Encoding Output Parameters</td>
186
- </tr>
187
-
188
- <tr>
189
- <td rowspan="1" colSpan="1" >[TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)</td>
190
-
191
- <td rowspan="1" colSpan="1" >Media Stream Transcoding Configuration Parameters</td>
192
- </tr>
193
-
194
- <tr>
195
- <td rowspan="1" colSpan="1" >[TRTCPayloadPrivateEncryptionConfig](https://write.woa.com/document/87030132707430400)</td>
196
-
197
- <td rowspan="1" colSpan="1" >Private media stream encryption configuration</td>
198
- </tr>
199
-
200
- <tr>
201
- <td rowspan="1" colSpan="1" >[TRTCAudioVolumeEvaluateParams](https://write.woa.com/document/87030132707430400)</td>
202
-
203
- <td rowspan="1" colSpan="1" >Volume assessment and related parameter settings</td>
204
- </tr>
205
- </table>
206
-
207
-
208
- ## Enumeration Types
209
- <table>
210
- <tr>
211
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
212
-
213
- <td rowspan="1" colSpan="1" >Description</td>
214
- </tr>
215
-
216
- <tr>
217
- <td rowspan="1" colSpan="1" >[TRTCVideoResolution](https://write.woa.com/document/87030132707430400)</td>
218
-
219
- <td rowspan="1" colSpan="1" >Video Resolution</td>
220
- </tr>
221
-
222
- <tr>
223
- <td rowspan="1" colSpan="1" >[TRTCVideoResolutionMode](https://write.woa.com/document/87030132707430400)</td>
224
-
225
- <td rowspan="1" colSpan="1" >Video aspect ratio mode</td>
226
- </tr>
227
-
228
- <tr>
229
- <td rowspan="1" colSpan="1" >[TRTCVideoStreamType](https://write.woa.com/document/87030132707430400)</td>
230
-
231
- <td rowspan="1" colSpan="1" >Video stream type</td>
232
- </tr>
233
-
234
- <tr>
235
- <td rowspan="1" colSpan="1" >[TRTCVideoFillMode](https://write.woa.com/document/87030132707430400)</td>
236
-
237
- <td rowspan="1" colSpan="1" >Video fill mode</td>
238
- </tr>
239
-
240
- <tr>
241
- <td rowspan="1" colSpan="1" >[TRTCVideoRotation](https://write.woa.com/document/87030132707430400)</td>
242
-
243
- <td rowspan="1" colSpan="1" >Video rotation direction</td>
244
- </tr>
245
-
246
- <tr>
247
- <td rowspan="1" colSpan="1" >[TRTCBeautyStyle](https://write.woa.com/document/87030132707430400)</td>
248
-
249
- <td rowspan="1" colSpan="1" >Beauty Filter (Skin Smoothing) algorithm</td>
250
- </tr>
251
-
252
- <tr>
253
- <td rowspan="1" colSpan="1" >[TRTCVideoPixelFormat](https://write.woa.com/document/87030132707430400)</td>
254
-
255
- <td rowspan="1" colSpan="1" >Video pixel format</td>
256
- </tr>
257
-
258
- <tr>
259
- <td rowspan="1" colSpan="1" >[TRTCVideoBufferType](https://write.woa.com/document/87030132707430400)</td>
260
-
261
- <td rowspan="1" colSpan="1" >Video data transfer method</td>
262
- </tr>
263
-
264
- <tr>
265
- <td rowspan="1" colSpan="1" >[TRTCVideoMirrorType](https://write.woa.com/document/87030132707430400)</td>
266
-
267
- <td rowspan="1" colSpan="1" >Video mirroring type</td>
268
- </tr>
269
-
270
- <tr>
271
- <td rowspan="1" colSpan="1" >[TRTCSnapshotSourceType](https://write.woa.com/document/87030132707430400)</td>
272
-
273
- <td rowspan="1" colSpan="1" >Data source for local video screenshot</td>
274
- </tr>
275
-
276
- <tr>
277
- <td rowspan="1" colSpan="1" >[TRTCAppScene](https://write.woa.com/document/87030132707430400)</td>
278
-
279
- <td rowspan="1" colSpan="1" >Use Cases</td>
280
- </tr>
281
-
282
- <tr>
283
- <td rowspan="1" colSpan="1" >[TRTCRoleType](https://write.woa.com/document/87030132707430400)</td>
284
-
285
- <td rowspan="1" colSpan="1" >Roles</td>
286
- </tr>
287
-
288
- <tr>
289
- <td rowspan="1" colSpan="1" >[TRTCQosControlMode](https://write.woa.com/document/87030132707430400)</td>
290
-
291
- <td rowspan="1" colSpan="1" >Traffic control mode (deprecated)</td>
292
- </tr>
293
-
294
- <tr>
295
- <td rowspan="1" colSpan="1" >[TRTCVideoQosPreference](https://write.woa.com/document/87030132707430400)</td>
296
-
297
- <td rowspan="1" colSpan="1" >Image quality preference</td>
298
- </tr>
299
-
300
- <tr>
301
- <td rowspan="1" colSpan="1" >[TRTCQuality](https://write.woa.com/document/87030132707430400)</td>
302
-
303
- <td rowspan="1" colSpan="1" >Network quality</td>
304
- </tr>
305
-
306
- <tr>
307
- <td rowspan="1" colSpan="1" >[TRTCAVStatusType](https://write.woa.com/document/87030132707430400)</td>
308
-
309
- <td rowspan="1" colSpan="1" >Audio/Video status type</td>
310
- </tr>
311
-
312
- <tr>
313
- <td rowspan="1" colSpan="1" >[TRTCAVStatusChangeReason](https://write.woa.com/document/87030132707430400)</td>
314
-
315
- <td rowspan="1" colSpan="1" >Audio/Video status change reason type</td>
316
- </tr>
317
-
318
- <tr>
319
- <td rowspan="1" colSpan="1" >[TRTCAudioQuality](https://write.woa.com/document/87030132707430400)</td>
320
-
321
- <td rowspan="1" colSpan="1" >Sound quality</td>
322
- </tr>
323
-
324
- <tr>
325
- <td rowspan="1" colSpan="1" >[TRTCAudioFrameFormat](https://write.woa.com/document/87030132707430400)</td>
326
-
327
- <td rowspan="1" colSpan="1" >Content format of audio frame</td>
328
- </tr>
329
-
330
- <tr>
331
- <td rowspan="1" colSpan="1" >[TRTCAudioFrameOperationMode](https://write.woa.com/document/87030132707430400)</td>
332
-
333
- <td rowspan="1" colSpan="1" >Audio Callback Data Read/Write Mode</td>
334
- </tr>
335
-
336
- <tr>
337
- <td rowspan="1" colSpan="1" >[TRTCLogLevel](https://write.woa.com/document/87030132707430400)</td>
338
-
339
- <td rowspan="1" colSpan="1" >Log Level</td>
340
- </tr>
341
-
342
- <tr>
343
- <td rowspan="1" colSpan="1" >[TRTCScreenCaptureSourceType](https://write.woa.com/document/87030132707430400)</td>
344
-
345
- <td rowspan="1" colSpan="1" >Target Type for Screen Sharing (Only applicable to desktop devices)</td>
346
- </tr>
347
-
348
- <tr>
349
- <td rowspan="1" colSpan="1" >[TRTCTranscodingConfigMode](https://write.woa.com/document/87030132707430400)</td>
350
-
351
- <td rowspan="1" colSpan="1" >Layout Mode for Cloud Mixed Streaming</td>
352
- </tr>
353
-
354
- <tr>
355
- <td rowspan="1" colSpan="1" >[TRTCLocalRecordType](https://write.woa.com/document/87030132707430400)</td>
356
-
357
- <td rowspan="1" colSpan="1" >Media Recording Type</td>
358
- </tr>
359
-
360
- <tr>
361
- <td rowspan="1" colSpan="1" >[TRTCMixInputType](https://write.woa.com/document/87030132707430400)</td>
362
-
363
- <td rowspan="1" colSpan="1" >Mixed Streaming Input Type</td>
364
- </tr>
365
-
366
- <tr>
367
- <td rowspan="1" colSpan="1" >[TRTCWaterMarkSrcType](https://write.woa.com/document/87030132707430400)</td>
368
-
369
- <td rowspan="1" colSpan="1" >Watermark image source type</td>
370
- </tr>
371
-
372
- <tr>
373
- <td rowspan="1" colSpan="1" >[TRTCAudioRecordingContent](https://write.woa.com/document/87030132707430400)</td>
374
-
375
- <td rowspan="1" colSpan="1" >Audio Recording Content Type</td>
376
- </tr>
377
-
378
- <tr>
379
- <td rowspan="1" colSpan="1" >[TRTCPublishMode](https://write.woa.com/document/87030132707430400)</td>
380
-
381
- <td rowspan="1" colSpan="1" >Media Stream Publication Mode</td>
382
- </tr>
383
-
384
- <tr>
385
- <td rowspan="1" colSpan="1" >[TRTCEncryptionAlgorithm](https://write.woa.com/document/87030132707430400)</td>
386
-
387
- <td rowspan="1" colSpan="1" >Encryption Algorithm</td>
388
- </tr>
389
-
390
- <tr>
391
- <td rowspan="1" colSpan="1" >[TRTCSpeedTestScene](https://write.woa.com/document/87030132707430400)</td>
392
-
393
- <td rowspan="1" colSpan="1" >Speed Test Scenario</td>
394
- </tr>
395
-
396
- <tr>
397
- <td rowspan="1" colSpan="1" >[TRTCGravitySensorAdaptiveMode](https://write.woa.com/document/87030132707430400)</td>
398
-
399
- <td rowspan="1" colSpan="1" >Set Adaptation Mode for Gravity Sensor (Only applicable to mobile devices)</td>
400
- </tr>
401
- </table>
402
-
403
-
404
- ## TRTCVideoResolution
405
-
406
-
407
-
408
- #### Video Resolution
409
-
410
- Only Definition is in landscape resolution (e.g., 640 × 360). To use portrait resolution (e.g., 360 × 640), you also need to set TRTCVideoResolutionMode to Portrait.
411
- <table>
412
- <tr>
413
- <td rowspan="1" colSpan="1" >Enumeration</td>
414
-
415
- <td rowspan="1" colSpan="1" >Value</td>
416
-
417
- <td rowspan="1" colSpan="1" >Description</td>
418
- </tr>
419
-
420
- <tr>
421
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_120_120</td>
422
-
423
- <td rowspan="1" colSpan="1" >1</td>
424
-
425
- <td rowspan="1" colSpan="1" >Aspect Ratio 1:1; Resolution 120x120; Suggested Bitrate (VideoCall) 80kbps; Suggested Bitrate (LIVE) 120kbps.</td>
426
- </tr>
427
-
428
- <tr>
429
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_160_160</td>
430
-
431
- <td rowspan="1" colSpan="1" >3</td>
432
-
433
- <td rowspan="1" colSpan="1" >Aspect Ratio 1:1; Resolution 160x160; Suggested Bitrate (VideoCall) 100kbps; Suggested Bitrate (LIVE) 150kbps.</td>
434
- </tr>
435
-
436
- <tr>
437
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_270_270</td>
438
-
439
- <td rowspan="1" colSpan="1" >5</td>
440
-
441
- <td rowspan="1" colSpan="1" >Aspect Ratio 1:1; Resolution 270x270; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps.</td>
442
- </tr>
443
-
444
- <tr>
445
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_480_480</td>
446
-
447
- <td rowspan="1" colSpan="1" >7</td>
448
-
449
- <td rowspan="1" colSpan="1" >Aspect Ratio 1:1; Resolution 480x480; Suggested Bitrate (VideoCall) 350kbps; Suggested Bitrate (LIVE) 500kbps.</td>
450
- </tr>
451
-
452
- <tr>
453
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_160_120</td>
454
-
455
- <td rowspan="1" colSpan="1" >50</td>
456
-
457
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 160x120; Suggested Bitrate (VideoCall) 100kbps; Suggested Bitrate (LIVE) 150kbps.</td>
458
- </tr>
459
-
460
- <tr>
461
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_240_180</td>
462
-
463
- <td rowspan="1" colSpan="1" >52</td>
464
-
465
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 240x180; Suggested Bitrate (VideoCall) 150kbps; Suggested Bitrate (LIVE) 250kbps.</td>
466
- </tr>
467
-
468
- <tr>
469
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_280_210</td>
470
-
471
- <td rowspan="1" colSpan="1" >54</td>
472
-
473
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 280x210; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps.</td>
474
- </tr>
475
-
476
- <tr>
477
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_320_240</td>
478
-
479
- <td rowspan="1" colSpan="1" >56</td>
480
-
481
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 320x240; Suggested Bitrate (VideoCall) 250kbps; Suggested Bitrate (LIVE) 375kbps.</td>
482
- </tr>
483
-
484
- <tr>
485
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_400_300</td>
486
-
487
- <td rowspan="1" colSpan="1" >58</td>
488
-
489
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 400x300; Suggested Bitrate (VideoCall) 300kbps; Suggested Bitrate (LIVE) 450kbps.</td>
490
- </tr>
491
-
492
- <tr>
493
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_480_360</td>
494
-
495
- <td rowspan="1" colSpan="1" >60</td>
496
-
497
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 480x360; Suggested Bitrate (VideoCall) 400kbps; Suggested Bitrate (LIVE) 600kbps.</td>
498
- </tr>
499
-
500
- <tr>
501
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_640_480</td>
502
-
503
- <td rowspan="1" colSpan="1" >62</td>
504
-
505
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 640x480; Suggested Bitrate (VideoCall) 600kbps; Suggested Bitrate (LIVE) 900kbps.</td>
506
- </tr>
507
-
508
- <tr>
509
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_960_720</td>
510
-
511
- <td rowspan="1" colSpan="1" >64</td>
512
-
513
- <td rowspan="1" colSpan="1" >Aspect Ratio 4:3; Resolution 960x720; Suggested Bitrate (VideoCall) 1000kbps; Suggested Bitrate (LIVE) 1500kbps.</td>
514
- </tr>
515
-
516
- <tr>
517
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_160_90</td>
518
-
519
- <td rowspan="1" colSpan="1" >100</td>
520
-
521
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 160x90; Suggested Bitrate (VideoCall) 150kbps; Suggested Bitrate (LIVE) 250kbps.</td>
522
- </tr>
523
-
524
- <tr>
525
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_256_144</td>
526
-
527
- <td rowspan="1" colSpan="1" >102</td>
528
-
529
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 256x144; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps.</td>
530
- </tr>
531
-
532
- <tr>
533
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_320_180</td>
534
-
535
- <td rowspan="1" colSpan="1" >104</td>
536
-
537
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 320x180; Suggested Bitrate (VideoCall) 250kbps; Suggested Bitrate (LIVE) 400kbps.</td>
538
- </tr>
539
-
540
- <tr>
541
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_480_270</td>
542
-
543
- <td rowspan="1" colSpan="1" >106</td>
544
-
545
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 480x270; Suggested Bitrate (VideoCall) 350kbps; Suggested Bitrate (LIVE) 550kbps.</td>
546
- </tr>
547
-
548
- <tr>
549
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_640_360</td>
550
-
551
- <td rowspan="1" colSpan="1" >108</td>
552
-
553
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 640x360; Suggested Bitrate (VideoCall) 500kbps; Suggested Bitrate (LIVE) 900kbps.</td>
554
- </tr>
555
-
556
- <tr>
557
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_960_540</td>
558
-
559
- <td rowspan="1" colSpan="1" >110</td>
560
-
561
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 960x540; Suggested Bitrate (VideoCall) 850kbps; Suggested Bitrate (LIVE) 1300kbps.</td>
562
- </tr>
563
-
564
- <tr>
565
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_1280_720</td>
566
-
567
- <td rowspan="1" colSpan="1" >112</td>
568
-
569
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 1280x720; Suggested Bitrate (VideoCall) 1200kbps; Suggested Bitrate (LIVE) 1800kbps.</td>
570
- </tr>
571
-
572
- <tr>
573
- <td rowspan="1" colSpan="1" >TRTCVideoResolution_1920_1080</td>
574
-
575
- <td rowspan="1" colSpan="1" >114</td>
576
-
577
- <td rowspan="1" colSpan="1" >Aspect Ratio 16:9; Resolution 1920x1080; Suggested Bitrate (VideoCall) 2000kbps; Suggested Bitrate (LIVE) 3000kbps.</td>
578
- </tr>
579
- </table>
580
-
581
-
582
- ## TRTCVideoResolutionMode
583
-
584
-
585
-
586
- #### Video aspect ratio mode
587
-
588
- In TRTCVideoResolution, only landscape resolution (e.g., 640 × 360) is defined. To use portrait resolution (e.g., 360 × 640), you also need to set TRTCVideoResolutionMode to Portrait.
589
- <table>
590
- <tr>
591
- <td rowspan="1" colSpan="1" >Enumeration</td>
592
-
593
- <td rowspan="1" colSpan="1" >Value</td>
594
-
595
- <td rowspan="1" colSpan="1" >Description</td>
596
- </tr>
597
-
598
- <tr>
599
- <td rowspan="1" colSpan="1" >TRTCVideoResolutionModeLandscape</td>
600
-
601
- <td rowspan="1" colSpan="1" >0</td>
602
-
603
- <td rowspan="1" colSpan="1" >Landscape resolution, e.g., TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360.</td>
604
- </tr>
605
-
606
- <tr>
607
- <td rowspan="1" colSpan="1" >TRTCVideoResolutionModePortrait</td>
608
-
609
- <td rowspan="1" colSpan="1" >1</td>
610
-
611
- <td rowspan="1" colSpan="1" >Portrait resolution, e.g., TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640.</td>
612
- </tr>
613
- </table>
614
-
615
-
616
- ## TRTCVideoStreamType
617
-
618
-
619
-
620
- #### Video stream type
621
-
622
- There are three different video streams in TRTC:
623
- - HD large screen: Generally used for transmitting video data from the camera.
624
-
625
- - Low-definition small picture: The content of the small picture is the same as the large picture, but the resolution and bitrate are lower than those of the large picture, resulting in lower clarity.
626
-
627
- - Auxiliary stream picture: Generally used for screen sharing. Only one user can publish auxiliary stream video in the same room at the same time. Other users must wait until the current user stops before they can publish their own auxiliary stream.
628
-
629
-
630
- > **Note**
631
- >
632
-
633
- > Low-definition small picture cannot be enabled independently. The small picture must rely on the large picture, and the SDK will automatically set the resolution and bitrate of the low-definition small picture.
634
- >
635
-
636
- <table>
637
- <tr>
638
- <td rowspan="1" colSpan="1" >Enumeration</td>
639
-
640
- <td rowspan="1" colSpan="1" >Value</td>
641
-
642
- <td rowspan="1" colSpan="1" >Description</td>
643
- </tr>
644
-
645
- <tr>
646
- <td rowspan="1" colSpan="1" >TRTCVideoStreamTypeBig</td>
647
-
648
- <td rowspan="1" colSpan="1" >0</td>
649
-
650
- <td rowspan="1" colSpan="1" >HD large screen: Generally used for transmitting video data from the camera.</td>
651
- </tr>
652
-
653
- <tr>
654
- <td rowspan="1" colSpan="1" >TRTCVideoStreamTypeSmall</td>
655
-
656
- <td rowspan="1" colSpan="1" >1</td>
657
-
658
- <td rowspan="1" colSpan="1" >Low-definition small picture: The content of the small picture is the same as the large picture, but the resolution and bitrate are lower than those of the large picture, resulting in lower clarity.</td>
659
- </tr>
660
-
661
- <tr>
662
- <td rowspan="1" colSpan="1" >TRTCVideoStreamTypeSub</td>
663
-
664
- <td rowspan="1" colSpan="1" >2</td>
665
-
666
- <td rowspan="1" colSpan="1" >Auxiliary stream picture: Generally used for screen sharing. Only one user can publish auxiliary stream video in the same room at the same time. Other users must wait until the current user stops before they can publish their own auxiliary stream.</td>
667
- </tr>
668
- </table>
669
-
670
-
671
- ## TRTCVideoFillMode
672
-
673
-
674
-
675
- #### Video fill mode
676
-
677
- When the aspect ratio of the video display area is not equal to the aspect ratio of the video content, you need to specify the fill mode.
678
- <table>
679
- <tr>
680
- <td rowspan="1" colSpan="1" >Enumeration</td>
681
-
682
- <td rowspan="1" colSpan="1" >Value</td>
683
-
684
- <td rowspan="1" colSpan="1" >Description</td>
685
- </tr>
686
-
687
- <tr>
688
- <td rowspan="1" colSpan="1" >TRTCVideoFillMode_Fill</td>
689
-
690
- <td rowspan="1" colSpan="1" >0</td>
691
-
692
- <td rowspan="1" colSpan="1" >Fill mode: The content is scaled to fill the entire display area while maintaining the aspect ratio. The parts that exceed the display area will be cropped, so the image may be incomplete.</td>
693
- </tr>
694
-
695
- <tr>
696
- <td rowspan="1" colSpan="1" >TRTCVideoFillMode_Fit</td>
697
-
698
- <td rowspan="1" colSpan="1" >1</td>
699
-
700
- <td rowspan="1" colSpan="1" >Adaptive mode: The image is scaled according to the long side to fit the display area. The short sides will be filled with black bars, so the image will be complete but may have black bars.</td>
701
- </tr>
702
- </table>
703
-
704
-
705
- ## TRTCVideoRotation
706
-
707
-
708
-
709
- #### Video rotation direction
710
-
711
- TRTC provides APIs for setting the rotation angle of local and remote video. The angles listed below are in a clockwise direction.
712
- <table>
713
- <tr>
714
- <td rowspan="1" colSpan="1" >Enumeration</td>
715
-
716
- <td rowspan="1" colSpan="1" >Value</td>
717
-
718
- <td rowspan="1" colSpan="1" >Description</td>
719
- </tr>
720
-
721
- <tr>
722
- <td rowspan="1" colSpan="1" >TRTCVideoRotation0</td>
723
-
724
- <td rowspan="1" colSpan="1" >0</td>
725
-
726
- <td rowspan="1" colSpan="1" >No rotation.</td>
727
- </tr>
728
-
729
- <tr>
730
- <td rowspan="1" colSpan="1" >TRTCVideoRotation90</td>
731
-
732
- <td rowspan="1" colSpan="1" >1</td>
733
-
734
- <td rowspan="1" colSpan="1" >Rotate clockwise by 90 degrees.</td>
735
- </tr>
736
-
737
- <tr>
738
- <td rowspan="1" colSpan="1" >TRTCVideoRotation180</td>
739
-
740
- <td rowspan="1" colSpan="1" >2</td>
741
-
742
- <td rowspan="1" colSpan="1" >Rotate clockwise by 180 degrees.</td>
743
- </tr>
744
-
745
- <tr>
746
- <td rowspan="1" colSpan="1" >TRTCVideoRotation270</td>
747
-
748
- <td rowspan="1" colSpan="1" >3</td>
749
-
750
- <td rowspan="1" colSpan="1" >Rotate clockwise by 270 degrees.</td>
751
- </tr>
752
- </table>
753
-
754
-
755
- ## TRTCBeautyStyle
756
-
757
-
758
-
759
- #### Beauty Filter (Skin Smoothing) algorithm
760
-
761
- TRTC offers various skin smoothing algorithms. You can choose the one that best fits your product positioning.
762
- <table>
763
- <tr>
764
- <td rowspan="1" colSpan="1" >Enumeration</td>
765
-
766
- <td rowspan="1" colSpan="1" >Value</td>
767
-
768
- <td rowspan="1" colSpan="1" >Description</td>
769
- </tr>
770
-
771
- <tr>
772
- <td rowspan="1" colSpan="1" >TRTCBeautyStyleSmooth</td>
773
-
774
- <td rowspan="1" colSpan="1" >0</td>
775
-
776
- <td rowspan="1" colSpan="1" >Smooth: This aggressive algorithm results in a more pronounced skin smoothing effect, suitable for show live streaming.</td>
777
- </tr>
778
-
779
- <tr>
780
- <td rowspan="1" colSpan="1" >TRTCBeautyStyleNature</td>
781
-
782
- <td rowspan="1" colSpan="1" >1</td>
783
-
784
- <td rowspan="1" colSpan="1" >Natural: This algorithm retains more facial details, resulting in a more natural smoothing effect, suitable for most live streaming scenarios.</td>
785
- </tr>
786
- </table>
787
-
788
-
789
- ## TRTCVideoPixelFormat
790
-
791
-
792
-
793
- #### Video pixel format
794
-
795
- TRTC provides custom data collection and custom rendering features for video:
796
- - In the custom data collection feature, you can use the following enumeration values to describe the pixel format of your captured video.
797
-
798
- - In the custom rendering feature, you can specify the pixel format you expect the SDK to call back.
799
-
800
- <table>
801
- <tr>
802
- <td rowspan="1" colSpan="1" >Enumeration</td>
803
-
804
- <td rowspan="1" colSpan="1" >Value</td>
805
-
806
- <td rowspan="1" colSpan="1" >Description</td>
807
- </tr>
808
-
809
- <tr>
810
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_Unknown</td>
811
-
812
- <td rowspan="1" colSpan="1" >0</td>
813
-
814
- <td rowspan="1" colSpan="1" >Undefined format.</td>
815
- </tr>
816
-
817
- <tr>
818
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_I420</td>
819
-
820
- <td rowspan="1" colSpan="1" >1</td>
821
-
822
- <td rowspan="1" colSpan="1" >YUV420P (I420) format.</td>
823
- </tr>
824
-
825
- <tr>
826
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_Texture_2D</td>
827
-
828
- <td rowspan="1" colSpan="1" >2</td>
829
-
830
- <td rowspan="1" colSpan="1" >OpenGL 2D texture format.</td>
831
- </tr>
832
-
833
- <tr>
834
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_BGRA32</td>
835
-
836
- <td rowspan="1" colSpan="1" >3</td>
837
-
838
- <td rowspan="1" colSpan="1" >BGRA format</td>
839
- </tr>
840
-
841
- <tr>
842
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_NV21</td>
843
-
844
- <td rowspan="1" colSpan="1" >4</td>
845
-
846
- <td rowspan="1" colSpan="1" >NV21 format.</td>
847
- </tr>
848
-
849
- <tr>
850
- <td rowspan="1" colSpan="1" >TRTCVideoPixelFormat_RGBA32</td>
851
-
852
- <td rowspan="1" colSpan="1" >5</td>
853
-
854
- <td rowspan="1" colSpan="1" >RGBA format.</td>
855
- </tr>
856
- </table>
857
-
858
-
859
- ## TRTCVideoBufferType
860
-
861
-
862
-
863
- #### Video data transfer method
864
-
865
- In custom data collection and custom rendering features, you need to use the following enumerated values to specify how you want to transmit video data:
866
- - Option 1: Transmit video data using Memory Buffer. This method is efficient on iOS, but less efficient on Android, and Windows currently only supports Memory Buffer transmission.
867
-
868
- - Option 2: Transmit video data using Texture. This method is highly efficient on both iOS and Android, but not supported on Windows. A certain level of OpenGL programming knowledge is required.
869
-
870
- <table>
871
- <tr>
872
- <td rowspan="1" colSpan="1" >Enumeration</td>
873
-
874
- <td rowspan="1" colSpan="1" >Value</td>
875
-
876
- <td rowspan="1" colSpan="1" >Description</td>
877
- </tr>
878
-
879
- <tr>
880
- <td rowspan="1" colSpan="1" >TRTCVideoBufferType_Unknown</td>
881
-
882
- <td rowspan="1" colSpan="1" >0</td>
883
-
884
- <td rowspan="1" colSpan="1" >Undefined transmission method.</td>
885
- </tr>
886
-
887
- <tr>
888
- <td rowspan="1" colSpan="1" >TRTCVideoBufferType_Buffer</td>
889
-
890
- <td rowspan="1" colSpan="1" >1</td>
891
-
892
- <td rowspan="1" colSpan="1" >Transmit video data using Memory Buffer, iOS: PixelBuffer; Android: Direct Buffer for JNI layer; Win: Memory Data Block.</td>
893
- </tr>
894
-
895
- <tr>
896
- <td rowspan="1" colSpan="1" >TRTCVideoBufferType_Texture</td>
897
-
898
- <td rowspan="1" colSpan="1" >3</td>
899
-
900
- <td rowspan="1" colSpan="1" >Transmit video data using OpenGL texture.</td>
901
- </tr>
902
-
903
- <tr>
904
- <td rowspan="1" colSpan="1" >TRTCVideoBufferType_TextureD3D11</td>
905
-
906
- <td rowspan="1" colSpan="1" >4</td>
907
-
908
- <td rowspan="1" colSpan="1" >Transmit video data using D3D11 texture.</td>
909
- </tr>
910
- </table>
911
-
912
-
913
- ## TRTCVideoMirrorType
914
-
915
-
916
-
917
- #### Video mirroring type
918
-
919
- Video mirroring refers to flipping the video content horizontally, especially for the local camera preview video. Enabling mirroring can provide the host with a familiar "mirror" experience.
920
- <table>
921
- <tr>
922
- <td rowspan="1" colSpan="1" >Enumeration</td>
923
-
924
- <td rowspan="1" colSpan="1" >Value</td>
925
-
926
- <td rowspan="1" colSpan="1" >Description</td>
927
- </tr>
928
-
929
- <tr>
930
- <td rowspan="1" colSpan="1" >TRTCVideoMirrorType_Auto</td>
931
-
932
- <td rowspan="1" colSpan="1" >0</td>
933
-
934
- <td rowspan="1" colSpan="1" >Automatic Mode: If using the front-facing camera, enable mirroring; if using the rear-facing camera, disable mirroring (only applicable to mobile devices).</td>
935
- </tr>
936
-
937
- <tr>
938
- <td rowspan="1" colSpan="1" >TRTCVideoMirrorType_Enable</td>
939
-
940
- <td rowspan="1" colSpan="1" >1</td>
941
-
942
- <td rowspan="1" colSpan="1" >Force On mirroring, regardless of whether the current camera is front-facing or rear-facing.</td>
943
- </tr>
944
-
945
- <tr>
946
- <td rowspan="1" colSpan="1" >TRTCVideoMirrorType_Disable</td>
947
-
948
- <td rowspan="1" colSpan="1" >2</td>
949
-
950
- <td rowspan="1" colSpan="1" >Force Off mirroring, regardless of whether the current camera is front-facing or rear-facing.</td>
951
- </tr>
952
- </table>
953
-
954
-
955
- ## TRTCSnapshotSourceType
956
-
957
-
958
-
959
- #### Data source for local video screenshot
960
-
961
- The SDK supports capturing images from the following two data sources and saving them as local files:
962
- - Video Stream: Capture native video content from the video stream. The captured content is not controlled by the rendering controls.
963
-
964
- - Rendering Layer: Capture the displayed video content from the rendering controls, achieving a What You See Is What You Get (WYSIWYG) effect. However, if the display area is too small, the captured image will also be small.
965
-
966
- - Capture Layer: Capture the video content collected by the capture controls, allowing for the extraction of high-definition screenshots.
967
-
968
- <table>
969
- <tr>
970
- <td rowspan="1" colSpan="1" >Enumeration</td>
971
-
972
- <td rowspan="1" colSpan="1" >Value</td>
973
-
974
- <td rowspan="1" colSpan="1" >Description</td>
975
- </tr>
976
-
977
- <tr>
978
- <td rowspan="1" colSpan="1" >TRTCSnapshotSourceTypeStream</td>
979
-
980
- <td rowspan="1" colSpan="1" >0</td>
981
-
982
- <td rowspan="1" colSpan="1" >Capture native video content from the video stream. The captured content is not controlled by the rendering controls.</td>
983
- </tr>
984
-
985
- <tr>
986
- <td rowspan="1" colSpan="1" >TRTCSnapshotSourceTypeView</td>
987
-
988
- <td rowspan="1" colSpan="1" >1</td>
989
-
990
- <td rowspan="1" colSpan="1" >Capture the displayed video content from the rendering controls, achieving a What You See Is What You Get (WYSIWYG) effect. However, if the display area is too small, the captured image will also be small.</td>
991
- </tr>
992
-
993
- <tr>
994
- <td rowspan="1" colSpan="1" >TRTCSnapshotSourceTypeCapture</td>
995
-
996
- <td rowspan="1" colSpan="1" >2</td>
997
-
998
- <td rowspan="1" colSpan="1" >Capture the video content collected by the capture controls, allowing for the extraction of high-definition screenshots.</td>
999
- </tr>
1000
- </table>
1001
-
1002
-
1003
- ## TRTCAppScene
1004
-
1005
-
1006
-
1007
- #### Use Cases
1008
-
1009
- TRTC has optimized for common audio and video application scenarios to meet the differentiated requirements of various vertical scenarios. The main scenarios can be categorized into two types:
1010
- - Live Streaming (LIVE) Scenario: Includes LIVE and VoiceChatRoom. The former is audio + video, while the latter is audio only.
1011
-
1012
-
1013
- In the live streaming scenario, users are divided into two roles: "Anchors" and "Audience." A single room can support up to 100,000 people online simultaneously, making it suitable for live streaming scenarios with a large audience.
1014
- - Real-Time (RTC) Scenario: Includes VideoCall and AudioCall. The former is audio + video, while the latter is audio only.
1015
-
1016
-
1017
- In the real-time scenario, there is no role differentiation among users, but a single room can support up to 300 people online simultaneously, making it suitable for small-scale real-time communication.
1018
- <table>
1019
- <tr>
1020
- <td rowspan="1" colSpan="1" >Enumeration</td>
1021
-
1022
- <td rowspan="1" colSpan="1" >Value</td>
1023
-
1024
- <td rowspan="1" colSpan="1" >Description</td>
1025
- </tr>
1026
-
1027
- <tr>
1028
- <td rowspan="1" colSpan="1" >TRTCAppSceneVideoCall</td>
1029
-
1030
- <td rowspan="1" colSpan="1" >0</td>
1031
-
1032
- <td rowspan="1" colSpan="1" >Video call scenario, supports 720p and 1080p HD quality, each room can have up to 300 concurrent users, with a maximum of 50 users speaking simultaneously.<br>Applicable to [One-to-one video call], [300-person video conference], [Online consultation], [Educational small class], [Remote interview], and other business scenarios.</td>
1033
- </tr>
1034
-
1035
- <tr>
1036
- <td rowspan="1" colSpan="1" >TRTCAppSceneLIVE</td>
1037
-
1038
- <td rowspan="1" colSpan="1" >1</td>
1039
-
1040
- <td rowspan="1" colSpan="1" >Video interactive live streaming, supports smooth mic switching without waiting, anchor delay less than 300 ms; supports up to 100,000 concurrent viewers, with playback latency as low as 1,000 ms.<br>Applicable to [Low-latency interactive live streaming], [Large class], [Host PK], [Video blind dating], [Online interactive classroom], [Remote training], [Large-scale conferences], and other business scenarios.<br>**Note**<br>In this scenario, you must specify the current user's role through the role field in TRTCParams.<br></td>
1041
- </tr>
1042
-
1043
- <tr>
1044
- <td rowspan="1" colSpan="1" >TRTCAppSceneAudioCall</td>
1045
-
1046
- <td rowspan="1" colSpan="1" >2</td>
1047
-
1048
- <td rowspan="1" colSpan="1" >Voice call scenario, default uses SPEECH quality, each room can have up to 300 concurrent users, with a maximum of 50 users speaking simultaneously.<br>Applicable to [One-to-one voice call], [300-person voice conference], [Voice chat], [Voice conference], [Online Werewolf Game], and other business scenarios.</td>
1049
- </tr>
1050
-
1051
- <tr>
1052
- <td rowspan="1" colSpan="1" >TRTCAppSceneVoiceChatRoom</td>
1053
-
1054
- <td rowspan="1" colSpan="1" >3</td>
1055
-
1056
- <td rowspan="1" colSpan="1" >Voice interactive live streaming, supports smooth mic switching without waiting, anchor delay less than 300 ms; supports up to 100,000 concurrent viewers, with playback latency as low as 1,000 ms.<br>Applicable to [Voice club], [Online KTV room], [Music live broadcast room], [FM radio station], and other business scenarios.<br>**Note**<br>In this scenario, you must specify the current user's role through the role field in TRTCParams.<br></td>
1057
- </tr>
1058
- </table>
1059
-
1060
-
1061
- ## TRTCRoleType
1062
-
1063
-
1064
-
1065
- #### Roles
1066
-
1067
- Only applicable to live streaming scenarios (i.e., TRTCAppSceneLIVE and TRTCAppSceneVoiceChatRoom), distinguishing users into two different identities:
1068
- - Anchors: Can publish their own audio and video streams at any time, but the number of anchors is limited. A maximum of 50 anchors can publish their audio and video streams simultaneously in the same room.
1069
-
1070
- - Audience: Can only watch other users' audio and video streams. To publish audio and video streams, they need to switch their role to anchor using [switchRole](https://write.woa.com/document/87030026264555520). A single room can accommodate up to 100,000 audience members.
1071
-
1072
- <table>
1073
- <tr>
1074
- <td rowspan="1" colSpan="1" >Enumeration</td>
1075
-
1076
- <td rowspan="1" colSpan="1" >Value</td>
1077
-
1078
- <td rowspan="1" colSpan="1" >Description</td>
1079
- </tr>
1080
-
1081
- <tr>
1082
- <td rowspan="1" colSpan="1" >TRTCRoleAnchor</td>
1083
-
1084
- <td rowspan="1" colSpan="1" >20</td>
1085
-
1086
- <td rowspan="1" colSpan="1" >Anchors: Can publish their own audio and video streams at any time, but the number of anchors is limited. A maximum of 50 anchors can publish their audio and video streams simultaneously in the same room.</td>
1087
- </tr>
1088
-
1089
- <tr>
1090
- <td rowspan="1" colSpan="1" >TRTCRoleAudience</td>
1091
-
1092
- <td rowspan="1" colSpan="1" >21</td>
1093
-
1094
- <td rowspan="1" colSpan="1" >Audience: Can only watch other users' audio and video streams. To publish audio and video streams, they need to switch their role to anchor using [switchRole](https://write.woa.com/document/87030026264555520). A single room can accommodate up to 100,000 audience members.</td>
1095
- </tr>
1096
- </table>
1097
-
1098
-
1099
- ## TRTCQosControlMode(Deprecated)
1100
-
1101
-
1102
-
1103
- #### Traffic control mode (deprecated)
1104
- <table>
1105
- <tr>
1106
- <td rowspan="1" colSpan="1" >Enumeration</td>
1107
-
1108
- <td rowspan="1" colSpan="1" >Value</td>
1109
-
1110
- <td rowspan="1" colSpan="1" >Description</td>
1111
- </tr>
1112
-
1113
- <tr>
1114
- <td rowspan="1" colSpan="1" >TRTCQosControlModeClient</td>
1115
-
1116
- <td rowspan="1" colSpan="1" >0</td>
1117
-
1118
- <td rowspan="1" colSpan="1" >Local Control, used for SDK development internal debugging, please do not use for customers.</td>
1119
- </tr>
1120
-
1121
- <tr>
1122
- <td rowspan="1" colSpan="1" >TRTCQosControlModeServer</td>
1123
-
1124
- <td rowspan="1" colSpan="1" >1</td>
1125
-
1126
- <td rowspan="1" colSpan="1" >Cloud Control, the default mode, is recommended.</td>
1127
- </tr>
1128
- </table>
1129
-
1130
-
1131
- ## TRTCVideoQosPreference
1132
-
1133
-
1134
-
1135
- #### Image quality preference
1136
-
1137
- TRTC offers two adjustment modes under a weak network environment: "Prioritize Clear Picture" or "Prioritize Smooth Picture". Both modes will primarily ensure audio data transmission.
1138
- <table>
1139
- <tr>
1140
- <td rowspan="1" colSpan="1" >Enumeration</td>
1141
-
1142
- <td rowspan="1" colSpan="1" >Value</td>
1143
-
1144
- <td rowspan="1" colSpan="1" >Description</td>
1145
- </tr>
1146
-
1147
- <tr>
1148
- <td rowspan="1" colSpan="1" >TRTCVideoQosPreferenceSmooth</td>
1149
-
1150
- <td rowspan="1" colSpan="1" >1</td>
1151
-
1152
- <td rowspan="1" colSpan="1" >Smooth Priority: When the current network is insufficient to transmit both clear and smooth images, it prioritizes the smoothness of the picture, which results in a blurrier image with more mosaics.</td>
1153
- </tr>
1154
-
1155
- <tr>
1156
- <td rowspan="1" colSpan="1" >TRTCVideoQosPreferenceClear</td>
1157
-
1158
- <td rowspan="1" colSpan="1" >2</td>
1159
-
1160
- <td rowspan="1" colSpan="1" >Clarity Priority (default): When the current network is insufficient to transmit both clear and smooth images, it prioritizes the clarity of the picture, which results in more stuttering.</td>
1161
- </tr>
1162
- </table>
1163
-
1164
-
1165
- ## TRTCQuality
1166
-
1167
-
1168
-
1169
- #### Network quality
1170
-
1171
- TRTC evaluates the current network quality every two seconds, with six evaluation levels: Excellent indicating the best, and Down indicating the worst.
1172
- <table>
1173
- <tr>
1174
- <td rowspan="1" colSpan="1" >Enumeration</td>
1175
-
1176
- <td rowspan="1" colSpan="1" >Value</td>
1177
-
1178
- <td rowspan="1" colSpan="1" >Description</td>
1179
- </tr>
1180
-
1181
- <tr>
1182
- <td rowspan="1" colSpan="1" >TRTCQuality_Unknown</td>
1183
-
1184
- <td rowspan="1" colSpan="1" >0</td>
1185
-
1186
- <td rowspan="1" colSpan="1" >Undefined.</td>
1187
- </tr>
1188
-
1189
- <tr>
1190
- <td rowspan="1" colSpan="1" >TRTCQuality_Excellent</td>
1191
-
1192
- <td rowspan="1" colSpan="1" >1</td>
1193
-
1194
- <td rowspan="1" colSpan="1" >The current network is excellent.</td>
1195
- </tr>
1196
-
1197
- <tr>
1198
- <td rowspan="1" colSpan="1" >TRTCQuality_Good</td>
1199
-
1200
- <td rowspan="1" colSpan="1" >2</td>
1201
-
1202
- <td rowspan="1" colSpan="1" >The current network is good.</td>
1203
- </tr>
1204
-
1205
- <tr>
1206
- <td rowspan="1" colSpan="1" >TRTCQuality_Poor</td>
1207
-
1208
- <td rowspan="1" colSpan="1" >3</td>
1209
-
1210
- <td rowspan="1" colSpan="1" >The current network is average.</td>
1211
- </tr>
1212
-
1213
- <tr>
1214
- <td rowspan="1" colSpan="1" >TRTCQuality_Bad</td>
1215
-
1216
- <td rowspan="1" colSpan="1" >4</td>
1217
-
1218
- <td rowspan="1" colSpan="1" >The current network is poor.</td>
1219
- </tr>
1220
-
1221
- <tr>
1222
- <td rowspan="1" colSpan="1" >TRTCQuality_Vbad</td>
1223
-
1224
- <td rowspan="1" colSpan="1" >5</td>
1225
-
1226
- <td rowspan="1" colSpan="1" >The current network is very poor.</td>
1227
- </tr>
1228
-
1229
- <tr>
1230
- <td rowspan="1" colSpan="1" >TRTCQuality_Down</td>
1231
-
1232
- <td rowspan="1" colSpan="1" >6</td>
1233
-
1234
- <td rowspan="1" colSpan="1" >The current network does not meet the minimum requirements of TRTC.</td>
1235
- </tr>
1236
- </table>
1237
-
1238
-
1239
- ## TRTCAVStatusType
1240
-
1241
-
1242
-
1243
- #### Audio/Video status type
1244
-
1245
- This enumeration type is used for audio status change callback interfaces ([onRemoteAudioStatusUpdated](https://write.woa.com/document/87030021158866944)) and video status change callback interfaces ([onRemoteVideoStatusUpdated](https://write.woa.com/document/87030021158866944)) to specify the current audio or video status.
1246
- <table>
1247
- <tr>
1248
- <td rowspan="1" colSpan="1" >Enumeration</td>
1249
-
1250
- <td rowspan="1" colSpan="1" >Value</td>
1251
-
1252
- <td rowspan="1" colSpan="1" >Description</td>
1253
- </tr>
1254
-
1255
- <tr>
1256
- <td rowspan="1" colSpan="1" >TRTCAVStatusStopped</td>
1257
-
1258
- <td rowspan="1" colSpan="1" >0</td>
1259
-
1260
- <td rowspan="1" colSpan="1" >Stops playback.</td>
1261
- </tr>
1262
-
1263
- <tr>
1264
- <td rowspan="1" colSpan="1" >TRTCAVStatusPlaying</td>
1265
-
1266
- <td rowspan="1" colSpan="1" >1</td>
1267
-
1268
- <td rowspan="1" colSpan="1" >Playing.</td>
1269
- </tr>
1270
-
1271
- <tr>
1272
- <td rowspan="1" colSpan="1" >TRTCAVStatusLoading</td>
1273
-
1274
- <td rowspan="1" colSpan="1" >2</td>
1275
-
1276
- <td rowspan="1" colSpan="1" >Loading.</td>
1277
- </tr>
1278
- </table>
1279
-
1280
-
1281
- ## TRTCAVStatusChangeReason
1282
-
1283
-
1284
-
1285
- #### Audio/Video status change reason type
1286
-
1287
- This enumeration type is used for audio status change callback interfaces ([onRemoteAudioStatusUpdated](https://write.woa.com/document/87030021158866944)) and video status change callback interfaces ([onRemoteVideoStatusUpdated](https://write.woa.com/document/87030021158866944)) to specify the reason for the current audio or video status change.
1288
- <table>
1289
- <tr>
1290
- <td rowspan="1" colSpan="1" >Enumeration</td>
1291
-
1292
- <td rowspan="1" colSpan="1" >Value</td>
1293
-
1294
- <td rowspan="1" colSpan="1" >Description</td>
1295
- </tr>
1296
-
1297
- <tr>
1298
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonInternal</td>
1299
-
1300
- <td rowspan="1" colSpan="1" >0</td>
1301
-
1302
- <td rowspan="1" colSpan="1" >Default value.</td>
1303
- </tr>
1304
-
1305
- <tr>
1306
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonBufferingBegin</td>
1307
-
1308
- <td rowspan="1" colSpan="1" >1</td>
1309
-
1310
- <td rowspan="1" colSpan="1" >Network buffering.</td>
1311
- </tr>
1312
-
1313
- <tr>
1314
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonBufferingEnd</td>
1315
-
1316
- <td rowspan="1" colSpan="1" >2</td>
1317
-
1318
- <td rowspan="1" colSpan="1" >End buffering.</td>
1319
- </tr>
1320
-
1321
- <tr>
1322
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonLocalStarted</td>
1323
-
1324
- <td rowspan="1" colSpan="1" >3</td>
1325
-
1326
- <td rowspan="1" colSpan="1" >Locally starts playing the audio or video stream.</td>
1327
- </tr>
1328
-
1329
- <tr>
1330
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonLocalStopped</td>
1331
-
1332
- <td rowspan="1" colSpan="1" >4</td>
1333
-
1334
- <td rowspan="1" colSpan="1" >Locally stops playing the audio or video stream.</td>
1335
- </tr>
1336
-
1337
- <tr>
1338
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonRemoteStarted</td>
1339
-
1340
- <td rowspan="1" colSpan="1" >5</td>
1341
-
1342
- <td rowspan="1" colSpan="1" >Starts (or resumes) the remote audio or video stream.</td>
1343
- </tr>
1344
-
1345
- <tr>
1346
- <td rowspan="1" colSpan="1" >TRTCAVStatusChangeReasonRemoteStopped</td>
1347
-
1348
- <td rowspan="1" colSpan="1" >6</td>
1349
-
1350
- <td rowspan="1" colSpan="1" >Stops (or interrupts) the remote audio or video stream.</td>
1351
- </tr>
1352
- </table>
1353
-
1354
-
1355
- ## TRTCAudioQuality
1356
-
1357
-
1358
-
1359
- #### Sound quality
1360
-
1361
- TRTC provides three carefully calibrated modes to meet the diverse pursuit of audio quality in various vertical scenarios:
1362
- - Vocal Mode (Speech): Suitable for applications focused on voice communication. This mode offers strong audio transmission resistance, ensuring optimal smoothness in weak network environments through various voice processing techniques.
1363
-
1364
- - Music Mode (Music): Suitable for scenarios with high vocal demands. This mode transmits a large amount of audio data, ensuring high-fidelity detail reproduction of music signals across all frequency bands through various technologies.
1365
-
1366
- - Default Mode (Default): Positioned between Speech and Music, this mode offers better music reproduction than the Vocal Mode but transmits much less data than the Music Mode. It is well-suited for various scenarios.
1367
-
1368
- <table>
1369
- <tr>
1370
- <td rowspan="1" colSpan="1" >Enumeration</td>
1371
-
1372
- <td rowspan="1" colSpan="1" >Value</td>
1373
-
1374
- <td rowspan="1" colSpan="1" >Description</td>
1375
- </tr>
1376
-
1377
- <tr>
1378
- <td rowspan="1" colSpan="1" >TRTCAudioQualitySpeech</td>
1379
-
1380
- <td rowspan="1" colSpan="1" >1</td>
1381
-
1382
- <td rowspan="1" colSpan="1" >Vocal Mode: Sampling Rate: 16k; Mono; Encoding Bitrate: 16kbps; Offers the strongest network resistance among the modes, suitable for voice-focused scenarios such as online meetings and voice calls.</td>
1383
- </tr>
1384
-
1385
- <tr>
1386
- <td rowspan="1" colSpan="1" >TRTCAudioQualityDefault</td>
1387
-
1388
- <td rowspan="1" colSpan="1" >2</td>
1389
-
1390
- <td rowspan="1" colSpan="1" >Default Mode: Sampling Rate: 48k; Mono; Encoding Bitrate: 50kbps; A tier between Speech and Music, the default level of the SDK, recommended.</td>
1391
- </tr>
1392
-
1393
- <tr>
1394
- <td rowspan="1" colSpan="1" >TRTCAudioQualityMusic</td>
1395
-
1396
- <td rowspan="1" colSpan="1" >3</td>
1397
-
1398
- <td rowspan="1" colSpan="1" >Music Mode: Sampling Rate: 48k; Full-band Stereo; Encoding Bitrate: 128kbps; Suitable for scenarios requiring high-fidelity music transmission, such as online karaoke and music live streaming.</td>
1399
- </tr>
1400
- </table>
1401
-
1402
-
1403
- ## TRTCAudioFrameFormat
1404
-
1405
-
1406
-
1407
- #### Content format of audio frame
1408
- <table>
1409
- <tr>
1410
- <td rowspan="1" colSpan="1" >Enumeration</td>
1411
-
1412
- <td rowspan="1" colSpan="1" >Value</td>
1413
-
1414
- <td rowspan="1" colSpan="1" >Description</td>
1415
- </tr>
1416
-
1417
- <tr>
1418
- <td rowspan="1" colSpan="1" >TRTCAudioFrameFormatNone</td>
1419
-
1420
- <td rowspan="1" colSpan="1" >0</td>
1421
-
1422
- <td rowspan="1" colSpan="1" >None</td>
1423
- </tr>
1424
-
1425
- <tr>
1426
- <td rowspan="1" colSpan="1" >TRTCAudioFrameFormatPCM</td>
1427
-
1428
- <td rowspan="1" colSpan="1" >Not Defined</td>
1429
-
1430
- <td rowspan="1" colSpan="1" >Audio data in PCM format.</td>
1431
- </tr>
1432
- </table>
1433
-
1434
-
1435
- ## TRTCAudioFrameOperationMode
1436
-
1437
-
1438
-
1439
- #### Audio Callback Data Read/Write Mode
1440
-
1441
- TRTC provides two operation modes for audio callback data.
1442
- - Read-Write Mode: You can retrieve and modify the callback audio data. This is the default mode.
1443
-
1444
- - Read-Only Mode: You can only retrieve the audio data from the callback.
1445
-
1446
- <table>
1447
- <tr>
1448
- <td rowspan="1" colSpan="1" >Enumeration</td>
1449
-
1450
- <td rowspan="1" colSpan="1" >Value</td>
1451
-
1452
- <td rowspan="1" colSpan="1" >Description</td>
1453
- </tr>
1454
-
1455
- <tr>
1456
- <td rowspan="1" colSpan="1" >TRTCAudioFrameOperationModeReadWrite</td>
1457
-
1458
- <td rowspan="1" colSpan="1" >0</td>
1459
-
1460
- <td rowspan="1" colSpan="1" >Read-Write Mode: You can retrieve and modify the callback audio data.</td>
1461
- </tr>
1462
-
1463
- <tr>
1464
- <td rowspan="1" colSpan="1" >TRTCAudioFrameOperationModeReadOnly</td>
1465
-
1466
- <td rowspan="1" colSpan="1" >1</td>
1467
-
1468
- <td rowspan="1" colSpan="1" >Read-Only Mode: You can only retrieve the audio data from the callback.</td>
1469
- </tr>
1470
- </table>
1471
-
1472
-
1473
- ## TRTCLogLevel
1474
-
1475
-
1476
-
1477
- #### Log Level
1478
-
1479
- Different log levels define different levels of detail and log quantities. It is recommended to set the log level to TRTCLogLevelInfo under normal circumstances.
1480
- <table>
1481
- <tr>
1482
- <td rowspan="1" colSpan="1" >Enumeration</td>
1483
-
1484
- <td rowspan="1" colSpan="1" >Value</td>
1485
-
1486
- <td rowspan="1" colSpan="1" >Description</td>
1487
- </tr>
1488
-
1489
- <tr>
1490
- <td rowspan="1" colSpan="1" >TRTCLogLevelVerbose</td>
1491
-
1492
- <td rowspan="1" colSpan="1" >0</td>
1493
-
1494
- <td rowspan="1" colSpan="1" >Output all levels of logs.</td>
1495
- </tr>
1496
-
1497
- <tr>
1498
- <td rowspan="1" colSpan="1" >TRTCLogLevelDebug</td>
1499
-
1500
- <td rowspan="1" colSpan="1" >1</td>
1501
-
1502
- <td rowspan="1" colSpan="1" >Output DEBUG, INFO, WARNING, ERROR, and FATAL levels of logs.</td>
1503
- </tr>
1504
-
1505
- <tr>
1506
- <td rowspan="1" colSpan="1" >TRTCLogLevelInfo</td>
1507
-
1508
- <td rowspan="1" colSpan="1" >2</td>
1509
-
1510
- <td rowspan="1" colSpan="1" >Output INFO, WARNING, ERROR, and FATAL levels of logs.</td>
1511
- </tr>
1512
-
1513
- <tr>
1514
- <td rowspan="1" colSpan="1" >TRTCLogLevelWarn</td>
1515
-
1516
- <td rowspan="1" colSpan="1" >3</td>
1517
-
1518
- <td rowspan="1" colSpan="1" >Output WARNING, ERROR, and FATAL levels of logs.</td>
1519
- </tr>
1520
-
1521
- <tr>
1522
- <td rowspan="1" colSpan="1" >TRTCLogLevelError</td>
1523
-
1524
- <td rowspan="1" colSpan="1" >4</td>
1525
-
1526
- <td rowspan="1" colSpan="1" >Output ERROR and FATAL levels of logs.</td>
1527
- </tr>
1528
-
1529
- <tr>
1530
- <td rowspan="1" colSpan="1" >TRTCLogLevelFatal</td>
1531
-
1532
- <td rowspan="1" colSpan="1" >5</td>
1533
-
1534
- <td rowspan="1" colSpan="1" >Output only FATAL level logs.</td>
1535
- </tr>
1536
-
1537
- <tr>
1538
- <td rowspan="1" colSpan="1" >TRTCLogLevelNone</td>
1539
-
1540
- <td rowspan="1" colSpan="1" >6</td>
1541
-
1542
- <td rowspan="1" colSpan="1" >Do not output any SDK logs.</td>
1543
- </tr>
1544
- </table>
1545
-
1546
-
1547
- ## TRTCScreenCaptureSourceType
1548
-
1549
-
1550
-
1551
- #### Target Type for Screen Sharing (Only applicable to desktop devices)
1552
- <table>
1553
- <tr>
1554
- <td rowspan="1" colSpan="1" >Enumeration</td>
1555
-
1556
- <td rowspan="1" colSpan="1" >Value</td>
1557
-
1558
- <td rowspan="1" colSpan="1" >Description</td>
1559
- </tr>
1560
-
1561
- <tr>
1562
- <td rowspan="1" colSpan="1" >TRTCScreenCaptureSourceTypeUnknown</td>
1563
-
1564
- <td rowspan="1" colSpan="1" >-1</td>
1565
-
1566
- <td rowspan="1" colSpan="1" >Undefined.</td>
1567
- </tr>
1568
-
1569
- <tr>
1570
- <td rowspan="1" colSpan="1" >TRTCScreenCaptureSourceTypeWindow</td>
1571
-
1572
- <td rowspan="1" colSpan="1" >0</td>
1573
-
1574
- <td rowspan="1" colSpan="1" >The share target is a window of an application.</td>
1575
- </tr>
1576
-
1577
- <tr>
1578
- <td rowspan="1" colSpan="1" >TRTCScreenCaptureSourceTypeScreen</td>
1579
-
1580
- <td rowspan="1" colSpan="1" >1</td>
1581
-
1582
- <td rowspan="1" colSpan="1" >The share target is the screen of a monitor.</td>
1583
- </tr>
1584
-
1585
- <tr>
1586
- <td rowspan="1" colSpan="1" >TRTCScreenCaptureSourceTypeCustom</td>
1587
-
1588
- <td rowspan="1" colSpan="1" >2</td>
1589
-
1590
- <td rowspan="1" colSpan="1" >This sharing target is a user-defined data source.</td>
1591
- </tr>
1592
- </table>
1593
-
1594
-
1595
- ## TRTCTranscodingConfigMode
1596
-
1597
-
1598
-
1599
- #### Layout Mode for Cloud Mixed Streaming
1600
-
1601
- TRTC's cloud mixed streaming service can combine multiple audio and video streams in a room into one stream. Therefore, you need to specify a layout plan for the screen. We offer the following layout modes.
1602
- <table>
1603
- <tr>
1604
- <td rowspan="1" colSpan="1" >Enumeration</td>
1605
-
1606
- <td rowspan="1" colSpan="1" >Value</td>
1607
-
1608
- <td rowspan="1" colSpan="1" >Description</td>
1609
- </tr>
1610
-
1611
- <tr>
1612
- <td rowspan="1" colSpan="1" >TRTCTranscodingConfigMode_Unknown</td>
1613
-
1614
- <td rowspan="1" colSpan="1" >0</td>
1615
-
1616
- <td rowspan="1" colSpan="1" >Undefined.</td>
1617
- </tr>
1618
-
1619
- <tr>
1620
- <td rowspan="1" colSpan="1" >TRTCTranscodingConfigMode_Manual</td>
1621
-
1622
- <td rowspan="1" colSpan="1" >1</td>
1623
-
1624
- <td rowspan="1" colSpan="1" >Fully Manual Layout Mode.<br>In this mode, you need to specify the exact layout position for each screen. This mode offers the highest degree of freedom but is the least user-friendly:<br>- You need to fill in all parameters in TRTCTranscodingConfig, including the position coordinates for each screen (TRTCMixUser).<br>- You need to monitor the onUserVideoAvailable() and onUserAudioAvailable() event callbacks in ITRTCCloudCallback, and continuously adjust the mixUsers parameters based on the audio and video status of users on each mic in the current room.</td>
1625
- </tr>
1626
-
1627
- <tr>
1628
- <td rowspan="1" colSpan="1" >TRTCTranscodingConfigMode_Template_PureAudio</td>
1629
-
1630
- <td rowspan="1" colSpan="1" >2</td>
1631
-
1632
- <td rowspan="1" colSpan="1" >Pure Audio Mode.<br>This mode is suitable for voice call (AudioCall) and voice chat room (VoiceChatRoom) audio-only applications.<br>- After entering the room, you only need to set up the mixing configuration once through the setMixTranscodingConfig interface. The SDK will then automatically mix the audio of all on-mic users in the room into the current user's live stream.<br>- You don't need to set the mixUsers parameters in TRTCTranscodingConfig. Just set the audioSampleRate, audioBitrate, and audioChannels parameters.</td>
1633
- </tr>
1634
-
1635
- <tr>
1636
- <td rowspan="1" colSpan="1" >TRTCTranscodingConfigMode_Template_PresetLayout</td>
1637
-
1638
- <td rowspan="1" colSpan="1" >3</td>
1639
-
1640
- <td rowspan="1" colSpan="1" >Pre-layout Mode.<br>The most popular layout mode because it supports pre-setting the positions of each screen using placeholders, and then the SDK will automatically adapt and adjust based on the number of screens in the room.<br>In this mode, you still need to set the mixUsers parameters, but you can set the userId to "Placeholder". The available placeholders are:<br>- "$PLACE_HOLDER_REMOTE$" : Represents the remote user's screen. Multiple instances can be set.<br>- "$PLACE_HOLDER_LOCAL_MAIN$" : Represents the local camera screen. Only one instance is allowed.<br>- "$PLACE_HOLDER_LOCAL_SUB$" : Represents the local screen sharing. Only one instance is allowed.<br>In this mode, you do not need to monitor the onUserVideoAvailable and onUserAudioAvailable callbacks in ITRTCCloudCallback for real-time adjustment. You just need to call setMixTranscodingConfig once after successfully entering the room; thereafter, the SDK will automatically fill the real userId into the placeholders you set.</td>
1641
- </tr>
1642
-
1643
- <tr>
1644
- <td rowspan="1" colSpan="1" >TRTCTranscodingConfigMode_Template_ScreenSharing</td>
1645
-
1646
- <td rowspan="1" colSpan="1" >4</td>
1647
-
1648
- <td rowspan="1" colSpan="1" >Screen Sharing Mode.<br>Suitable for online education scenarios and other screen sharing-centric applications, this mode is only supported on Windows and Mac SDKs.<br>In this mode, the SDK will first build a canvas based on the target resolution you set via the videoWidth and videoHeight parameters,<br>- If the teacher does not activate the screen sharing, the SDK will proportionally stretch and draw the teacher's camera feed onto the canvas;<br>- When the teacher activates screen sharing, the SDK will draw the screen sharing feed onto the same canvas.<br>The purpose of this layout is to ensure that the output resolution of the stream mixing module is consistent, avoiding screen tearing issues during course playback and web viewing (web players do not support variable resolutions).<br>Additionally, the students' audio will be mixed into the teacher's audio and video stream by default.<br>Since video content in teaching mode is primarily screen sharing, simultaneously transmitting the camera feed and the screen sharing feed is very bandwidth-intensive.<br>The recommended approach is to directly render the camera feed onto the current screen via the setLocalVideoRenderCallback interface.<br>In this mode, you don't need to set the mixUsers parameters in TRTCTranscodingConfig. The SDK will not mix the students' screens to prevent interference with the screen sharing effect.<br>You can set the width x height in TRTCTranscodingConfig to 0px × 0px. The SDK will automatically calculate a suitable resolution based on the user's current screen aspect ratio<br>- If the teacher's current screen width is <= 1920px, the SDK will use the actual resolution of the teacher's current screen.<br>- If the teacher's current screen width is > 1920px, the SDK will choose one of the three resolutions based on the current screen aspect ratio: 1920x1080 (16:9), 1920x1200 (16:10), or 1920x1440 (4:3).</td>
1649
- </tr>
1650
- </table>
1651
-
1652
-
1653
- ## TRTCRecordType
1654
-
1655
-
1656
-
1657
- #### Media Recording Type
1658
-
1659
- This enumeration type is used for the local media recording interface [startLocalRecording](https://write.woa.com/document/87030026264555520) to specify whether to record audio and video files or pure audio files.
1660
- <table>
1661
- <tr>
1662
- <td rowspan="1" colSpan="1" >Enumeration</td>
1663
-
1664
- <td rowspan="1" colSpan="1" >Value</td>
1665
-
1666
- <td rowspan="1" colSpan="1" >Description</td>
1667
- </tr>
1668
-
1669
- <tr>
1670
- <td rowspan="1" colSpan="1" >TRTCLocalRecordType_Audio</td>
1671
-
1672
- <td rowspan="1" colSpan="1" >0</td>
1673
-
1674
- <td rowspan="1" colSpan="1" >Audio recording only.</td>
1675
- </tr>
1676
-
1677
- <tr>
1678
- <td rowspan="1" colSpan="1" >TRTCLocalRecordType_Video</td>
1679
-
1680
- <td rowspan="1" colSpan="1" >1</td>
1681
-
1682
- <td rowspan="1" colSpan="1" >Video recording only.</td>
1683
- </tr>
1684
-
1685
- <tr>
1686
- <td rowspan="1" colSpan="1" >TRTCLocalRecordType_Both</td>
1687
-
1688
- <td rowspan="1" colSpan="1" >2</td>
1689
-
1690
- <td rowspan="1" colSpan="1" >Record both audio and video.</td>
1691
- </tr>
1692
- </table>
1693
-
1694
-
1695
- ## TRTCMixInputType
1696
-
1697
-
1698
-
1699
- #### Mixed Streaming Input Type
1700
- <table>
1701
- <tr>
1702
- <td rowspan="1" colSpan="1" >Enumeration</td>
1703
-
1704
- <td rowspan="1" colSpan="1" >Value</td>
1705
-
1706
- <td rowspan="1" colSpan="1" >Description</td>
1707
- </tr>
1708
-
1709
- <tr>
1710
- <td rowspan="1" colSpan="1" >TRTCMixInputTypeUndefined</td>
1711
-
1712
- <td rowspan="1" colSpan="1" >0</td>
1713
-
1714
- <td rowspan="1" colSpan="1" >Default value. Considering compatibility with older versions, if you specify the inputType as Undefined, the SDK will determine the mixed input type based on the value of another parameter, pureAudio.</td>
1715
- </tr>
1716
-
1717
- <tr>
1718
- <td rowspan="1" colSpan="1" >TRTCMixInputTypeAudioVideo</td>
1719
-
1720
- <td rowspan="1" colSpan="1" >1</td>
1721
-
1722
- <td rowspan="1" colSpan="1" >Mix both audio and video.</td>
1723
- </tr>
1724
-
1725
- <tr>
1726
- <td rowspan="1" colSpan="1" >TRTCMixInputTypePureVideo</td>
1727
-
1728
- <td rowspan="1" colSpan="1" >2</td>
1729
-
1730
- <td rowspan="1" colSpan="1" >Mix video only.</td>
1731
- </tr>
1732
-
1733
- <tr>
1734
- <td rowspan="1" colSpan="1" >TRTCMixInputTypePureAudio</td>
1735
-
1736
- <td rowspan="1" colSpan="1" >3</td>
1737
-
1738
- <td rowspan="1" colSpan="1" >Mix audio only.</td>
1739
- </tr>
1740
-
1741
- <tr>
1742
- <td rowspan="1" colSpan="1" >TRTCMixInputTypeWatermark</td>
1743
-
1744
- <td rowspan="1" colSpan="1" >4</td>
1745
-
1746
- <td rowspan="1" colSpan="1" >Mix watermarks. In this case, you do not need to specify the userId field but need to specify the image field. Using png format images is recommended.</td>
1747
- </tr>
1748
- </table>
1749
-
1750
-
1751
- ## TRTCWaterMarkSrcType
1752
-
1753
-
1754
-
1755
- #### Watermark image source type
1756
- <table>
1757
- <tr>
1758
- <td rowspan="1" colSpan="1" >Enumeration</td>
1759
-
1760
- <td rowspan="1" colSpan="1" >Value</td>
1761
-
1762
- <td rowspan="1" colSpan="1" >Description</td>
1763
- </tr>
1764
-
1765
- <tr>
1766
- <td rowspan="1" colSpan="1" >TRTCWaterMarkSrcTypeFile</td>
1767
-
1768
- <td rowspan="1" colSpan="1" >0</td>
1769
-
1770
- <td rowspan="1" colSpan="1" >Image file path, supports BMP, GIF, JPEG, PNG, TIFF, Exif, WMF, and EMF file formats.</td>
1771
- </tr>
1772
-
1773
- <tr>
1774
- <td rowspan="1" colSpan="1" >TRTCWaterMarkSrcTypeBGRA32</td>
1775
-
1776
- <td rowspan="1" colSpan="1" >1</td>
1777
-
1778
- <td rowspan="1" colSpan="1" >BGRA32 format memory block</td>
1779
- </tr>
1780
-
1781
- <tr>
1782
- <td rowspan="1" colSpan="1" >TRTCWaterMarkSrcTypeRGBA32</td>
1783
-
1784
- <td rowspan="1" colSpan="1" >2</td>
1785
-
1786
- <td rowspan="1" colSpan="1" >RGBA32 format memory block.</td>
1787
- </tr>
1788
- </table>
1789
-
1790
-
1791
- ## TRTCAudioRecordingContent
1792
-
1793
-
1794
-
1795
- #### Audio Recording Content Type
1796
-
1797
- This enumeration type is used for the audio recording interface [startAudioRecording](https://write.woa.com/document/87030026264555520) to specify the content of the audio to be recorded.
1798
- <table>
1799
- <tr>
1800
- <td rowspan="1" colSpan="1" >Enumeration</td>
1801
-
1802
- <td rowspan="1" colSpan="1" >Value</td>
1803
-
1804
- <td rowspan="1" colSpan="1" >Description</td>
1805
- </tr>
1806
-
1807
- <tr>
1808
- <td rowspan="1" colSpan="1" >TRTCAudioRecordingContentAll</td>
1809
-
1810
- <td rowspan="1" colSpan="1" >0</td>
1811
-
1812
- <td rowspan="1" colSpan="1" >Record all local and remote audio.</td>
1813
- </tr>
1814
-
1815
- <tr>
1816
- <td rowspan="1" colSpan="1" >TRTCAudioRecordingContentLocal</td>
1817
-
1818
- <td rowspan="1" colSpan="1" >1</td>
1819
-
1820
- <td rowspan="1" colSpan="1" >Record local audio only.</td>
1821
- </tr>
1822
-
1823
- <tr>
1824
- <td rowspan="1" colSpan="1" >TRTCAudioRecordingContentRemote</td>
1825
-
1826
- <td rowspan="1" colSpan="1" >2</td>
1827
-
1828
- <td rowspan="1" colSpan="1" >Record remote audio only.</td>
1829
- </tr>
1830
- </table>
1831
-
1832
-
1833
- ## TRTCPublishMode
1834
-
1835
-
1836
-
1837
- #### Media Stream Publication Mode
1838
-
1839
- This enumeration type is used for the media stream publishing interface [startPublishMediaStream](https://write.woa.com/document/87030026264555520). TRTC's media stream publishing service can mix multiple audio and video streams in the room into one stream and publish it to a CDN or push it back to the room. You can also publish your current audio and video stream to Tencent or a third-party CDN. Therefore, you need to specify the publishing mode of the corresponding media stream. We provide the following modes.
1840
- <table>
1841
- <tr>
1842
- <td rowspan="1" colSpan="1" >Enumeration</td>
1843
-
1844
- <td rowspan="1" colSpan="1" >Value</td>
1845
-
1846
- <td rowspan="1" colSpan="1" >Description</td>
1847
- </tr>
1848
-
1849
- <tr>
1850
- <td rowspan="1" colSpan="1" >TRTCPublishModeUnknown</td>
1851
-
1852
- <td rowspan="1" colSpan="1" >0</td>
1853
-
1854
- <td rowspan="1" colSpan="1" >Undefined.</td>
1855
- </tr>
1856
-
1857
- <tr>
1858
- <td rowspan="1" colSpan="1" >TRTCPublishBigStreamToCdn</td>
1859
-
1860
- <td rowspan="1" colSpan="1" >1</td>
1861
-
1862
- <td rowspan="1" colSpan="1" >You can set this parameter to publish the main stream ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87030132707430400)) in your room to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol).</td>
1863
- </tr>
1864
-
1865
- <tr>
1866
- <td rowspan="1" colSpan="1" >TRTCPublishSubStreamToCdn</td>
1867
-
1868
- <td rowspan="1" colSpan="1" >2</td>
1869
-
1870
- <td rowspan="1" colSpan="1" >You can set this parameter to publish the substream ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87030132707430400)) in your room to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol).</td>
1871
- </tr>
1872
-
1873
- <tr>
1874
- <td rowspan="1" colSpan="1" >TRTCPublishMixStreamToCdn</td>
1875
-
1876
- <td rowspan="1" colSpan="1" >3</td>
1877
-
1878
- <td rowspan="1" colSpan="1" >You can set this parameter, together with encoding output parameters ([TRTCStreamEncoderParam](https://write.woa.com/document/87030132707430400)) and mix stream transcoding parameters ([TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)), to transcode and publish your specified multiple audio and video streams to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol).</td>
1879
- </tr>
1880
-
1881
- <tr>
1882
- <td rowspan="1" colSpan="1" >TRTCPublishMixStreamToRoom</td>
1883
-
1884
- <td rowspan="1" colSpan="1" >4</td>
1885
-
1886
- <td rowspan="1" colSpan="1" >You can set this parameter, together with media stream encoding output parameters ([TRTCStreamEncoderParam](https://write.woa.com/document/87030132707430400)) and mix stream transcoding parameters ([TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)), to transcode and publish your specified multiple audio and video streams into your specified room.<br>- Specify the robot information for the pushback room through [TRTCPublishTarget](https://write.woa.com/document/87030132707430400) TRTCUser.</td>
1887
- </tr>
1888
- </table>
1889
-
1890
-
1891
- ## TRTCEncryptionAlgorithm
1892
-
1893
-
1894
-
1895
- #### Encryption Algorithm
1896
-
1897
- This enumeration type is used for the selection of the private encryption algorithm for media streams.
1898
- <table>
1899
- <tr>
1900
- <td rowspan="1" colSpan="1" >Enumeration</td>
1901
-
1902
- <td rowspan="1" colSpan="1" >Value</td>
1903
-
1904
- <td rowspan="1" colSpan="1" >Description</td>
1905
- </tr>
1906
-
1907
- <tr>
1908
- <td rowspan="1" colSpan="1" >TRTCEncryptionAlgorithmAes128Gcm</td>
1909
-
1910
- <td rowspan="1" colSpan="1" >0</td>
1911
-
1912
- <td rowspan="1" colSpan="1" >AES GCM 128.</td>
1913
- </tr>
1914
-
1915
- <tr>
1916
- <td rowspan="1" colSpan="1" >TRTCEncryptionAlgorithmAes256Gcm</td>
1917
-
1918
- <td rowspan="1" colSpan="1" >1</td>
1919
-
1920
- <td rowspan="1" colSpan="1" >AES GCM 256.</td>
1921
- </tr>
1922
- </table>
1923
-
1924
-
1925
- ## TRTCSpeedTestScene
1926
-
1927
-
1928
-
1929
- #### Speed Test Scenario
1930
-
1931
- This enumeration type is used for selecting the speed test scenario.
1932
- <table>
1933
- <tr>
1934
- <td rowspan="1" colSpan="1" >Enumeration</td>
1935
-
1936
- <td rowspan="1" colSpan="1" >Value</td>
1937
-
1938
- <td rowspan="1" colSpan="1" >Description</td>
1939
- </tr>
1940
-
1941
- <tr>
1942
- <td rowspan="1" colSpan="1" >TRTCSpeedTestScene_DelayTesting</td>
1943
-
1944
- <td rowspan="1" colSpan="1" >1</td>
1945
-
1946
- <td rowspan="1" colSpan="1" >Latency test.</td>
1947
- </tr>
1948
-
1949
- <tr>
1950
- <td rowspan="1" colSpan="1" >TRTCSpeedTestScene_DelayAndBandwidthTesting</td>
1951
-
1952
- <td rowspan="1" colSpan="1" >2</td>
1953
-
1954
- <td rowspan="1" colSpan="1" >Latency and bandwidth test.</td>
1955
- </tr>
1956
-
1957
- <tr>
1958
- <td rowspan="1" colSpan="1" >TRTCSpeedTestScene_OnlineChorusTesting</td>
1959
-
1960
- <td rowspan="1" colSpan="1" >3</td>
1961
-
1962
- <td rowspan="1" colSpan="1" >Online chorus test.</td>
1963
- </tr>
1964
- </table>
1965
-
1966
-
1967
- ## TRTCGravitySensorAdaptiveMode
1968
-
1969
-
1970
-
1971
- #### Set Adaptation Mode for Gravity Sensor (Only applicable to mobile devices)
1972
- <table>
1973
- <tr>
1974
- <td rowspan="1" colSpan="1" >Enumeration</td>
1975
-
1976
- <td rowspan="1" colSpan="1" >Value</td>
1977
-
1978
- <td rowspan="1" colSpan="1" >Description</td>
1979
- </tr>
1980
-
1981
- <tr>
1982
- <td rowspan="1" colSpan="1" >TRTCGravitySensorAdaptiveMode_Disable</td>
1983
-
1984
- <td rowspan="1" colSpan="1" >0</td>
1985
-
1986
- <td rowspan="1" colSpan="1" >Turn off gravity sensing. Based on the current captured resolution and the set encoding resolution, if they are inconsistent, rotate by 90 degrees to ensure the maximum frame size.</td>
1987
- </tr>
1988
-
1989
- <tr>
1990
- <td rowspan="1" colSpan="1" >TRTCGravitySensorAdaptiveMode_FillByCenterCrop</td>
1991
-
1992
- <td rowspan="1" colSpan="1" >1</td>
1993
-
1994
- <td rowspan="1" colSpan="1" >Enable gravity sensing. Always ensure the remote screen image is correct. When there is a resolution inconsistency, use the centered cropping mode.</td>
1995
- </tr>
1996
-
1997
- <tr>
1998
- <td rowspan="1" colSpan="1" >TRTCGravitySensorAdaptiveMode_FitWithBlackBorder</td>
1999
-
2000
- <td rowspan="1" colSpan="1" >2</td>
2001
-
2002
- <td rowspan="1" colSpan="1" >Enable gravity sensing. Always ensure the remote screen image is correct. When there is a resolution inconsistency, use the black border overlay mode.</td>
2003
- </tr>
2004
- </table>
2005
-
2006
-
2007
- ## TRTCParams
2008
-
2009
-
2010
-
2011
- #### Room entry parameters
2012
-
2013
- As an entry parameter for the TRTC SDK, only if this parameter is filled in correctly can you successfully enter the audio and video room specified by roomId or strRoomId.
2014
-
2015
- Due to historical reasons, TRTC supports two types of room numbers, numeric and string, which are roomId and strRoomId respectively.
2016
-
2017
- Please note: Do not mix roomId and strRoomId, as they are not interchangeable. For example, the number 123 and the string "123" are considered two completely different rooms in TRTC.
2018
- <table>
2019
- <tr>
2020
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2021
-
2022
- <td rowspan="1" colSpan="1" >Description</td>
2023
- </tr>
2024
-
2025
- <tr>
2026
- <td rowspan="1" colSpan="1" >businessInfo</td>
2027
-
2028
- <td rowspan="1" colSpan="1" >[Field Meaning] Business data field (optional). This field is required for some advanced features.<br>[Recommended Value] Please do not set this field yourself.</td>
2029
- </tr>
2030
-
2031
- <tr>
2032
- <td rowspan="1" colSpan="1" >privateMapKey</td>
2033
-
2034
- <td rowspan="1" colSpan="1" >[Field Meaning] Permission ticket used for permission control (optional). If you want only specific userIds to enter a room, you need to use privateMapKey for permission protection.<br>[Recommended Value] Only recommended for customers with high-level security requirements. For more details, please refer to [Room Entry Permission Protection](https://cloud.tencent.com/document/product/647/32240).</td>
2035
- </tr>
2036
-
2037
- <tr>
2038
- <td rowspan="1" colSpan="1" >role</td>
2039
-
2040
- <td rowspan="1" colSpan="1" >[Field Meaning] Role in live streaming scenarios, only applicable to live streaming scenarios ([TRTCAppSceneLIVE](https://write.woa.com/document/87030132707430400) and [TRTCAppSceneVoiceChatRoom](https://write.woa.com/document/87030132707430400)). Specifying this parameter in a calling scenario is ineffective.<br>[Recommended Value] Default value: Anchor ([TRTCRoleAnchor](https://write.woa.com/document/87030132707430400)).</td>
2041
- </tr>
2042
-
2043
- <tr>
2044
- <td rowspan="1" colSpan="1" >roomId</td>
2045
-
2046
- <td rowspan="1" colSpan="1" >[Field Meaning] Numeric room number, where users (userId) in the same room can see each other and make audio and video calls.<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Explanation] roomId and strRoomId are mutually exclusive. If you choose strRoomId, roomId must be set to 0. If both are filled, the SDK will prioritize roomId.<br>[Please note] Do not mix roomId and strRoomId as they are not interchangeable. For example, the number 123 and the string `123` are considered two entirely different rooms in TRTC.</td>
2047
- </tr>
2048
-
2049
- <tr>
2050
- <td rowspan="1" colSpan="1" >sdkAppId</td>
2051
-
2052
- <td rowspan="1" colSpan="1" >[Field Meaning] Application Identifier (Required). Tencent Cloud uses sdkAppId for billing statistics.<br>[Recommended Value] This ID can be obtained from the account information page after creating an application in the [TRTC Console](https://console.cloud.tencent.com/rav/).</td>
2053
- </tr>
2054
-
2055
- <tr>
2056
- <td rowspan="1" colSpan="1" >strRoomId</td>
2057
-
2058
- <td rowspan="1" colSpan="1" >[Field Meaning] String room number, where users (userId) in the same room can see each other and make audio and video calls.<br>[Special Explanation] roomId and strRoomId are mutually exclusive. If you choose strRoomId, roomId must be set to 0. If both are filled, the SDK will prioritize roomId.<br>[Please note] Do not mix roomId and strRoomId as they are not interchangeable. For example, the number 123 and the string `123` are considered two entirely different rooms in TRTC.<br>[Recommended Value] Length limit is 64 bytes. The following character set range is supported (a total of 89 characters):<br>- Upper and lowercase English letters (a-zA-Z);<br>- Numbers (0-9);<br>- Space,` ! `,` # `,` $ `,` % `,` & `,` ( `,` ) `,` + `,` - `,` : `,` ; `,` < `,` = `,` . `,` > `,` ? `,` @ `,` [ `,` ] `,` ^ `,` _ `,` { `,` } `,` \| `,` ~ `,` , `.</td>
2059
- </tr>
2060
-
2061
- <tr>
2062
- <td rowspan="1" colSpan="1" >streamId</td>
2063
-
2064
- <td rowspan="1" colSpan="1" >[Field Meaning] Used to specify the streamId on the Tencent CSS platform (optional). Once set, you can play the user's audio and video streams on the Tencent CSS CDN through the standard pull streaming scheme (FLV or HLS).<br>[Recommended Value] Length limit is 64 bytes and can be left blank. A recommended scheme is to use ` sdkappid_roomid_userid_main ` as the streamId. This naming convention is easy to identify and will not conflict with your multiple applications.<br>[Special Note] To use Tencent CSS CDN, you need to first enable the "Automatic Bypass Live Streaming" switch on the feature configuration page in the [console](https://console.cloud.tencent.com/trtc/).<br>[Reference Document][CDN Bypass Live Streaming](https://cloud.tencent.com/document/product/647/16826).</td>
2065
- </tr>
2066
-
2067
- <tr>
2068
- <td rowspan="1" colSpan="1" >userDefineRecordId</td>
2069
-
2070
- <td rowspan="1" colSpan="1" >[Field Meaning] Cloud recording switch (optional). Used to specify whether to record this user's audio and video streams in the cloud.<br>[Reference Document][Cloud Recording](https://cloud.tencent.com/document/product/647/16823).<br>[Recommended Value] Length limit is 64 bytes. Only uppercase and lowercase English letters (a-zA-Z), numbers (0-9), underscores, and hyphens are allowed.<br>Scheme 1: Manual Recording Scheme:<br>1. Enable Cloud Recording in the [Console](https://console.cloud.tencent.com/trtc)>Application Management>Cloud Recording Configuration.<br>2. Set the ` recording mode ` to ` manual recording `.<br>3. After setting manual recording, only users who set the userDefineRecordId parameter in a TRTC room will have recorded video files on the cloud. Users who do not specify this parameter will not be recorded.<br>4. The cloud will name the recorded files in the format "userDefineRecordId_start time_end time".<br>Scheme 2: Automatic Recording Scheme:<br>1. Enable Cloud Recording in the [Console](https://console.cloud.tencent.com/trtc)>Application Management>Cloud Recording Configuration.<br>2. Set the ` recording mode ` to ` automatic recording `.<br>3. After setting automatic recording, any user with audio/video uplink in a TRTC room will have recorded video files on the cloud.<br>4. The files will be named in the format ` userDefineRecordId_start time_end time `. If userDefineRecordId is not specified, the files will be named in the format ` streamId_start time_end time `.</td>
2071
- </tr>
2072
-
2073
- <tr>
2074
- <td rowspan="1" colSpan="1" >userId</td>
2075
-
2076
- <td rowspan="1" colSpan="1" >[Field Meaning] User Identification (Required). The current user's userId, equivalent to username, using UTF-8 encoding.<br>[Recommended Value] If a user's ID in your account system is "mike", then userId can be set to "mike".</td>
2077
- </tr>
2078
-
2079
- <tr>
2080
- <td rowspan="1" colSpan="1" >userSig</td>
2081
-
2082
- <td rowspan="1" colSpan="1" >[Field Meaning] User Signature (Required). The verification signature corresponding to the current userId, equivalent to using the cloud service's login password.<br>[Recommended Value] For the specific calculation method, please see [How to Calculate UserSig](https://cloud.tencent.com/document/product/647/17275).</td>
2083
- </tr>
2084
- </table>
2085
-
2086
-
2087
- ## TRTCVideoEncParam
2088
-
2089
-
2090
-
2091
- #### Video encoding parameters
2092
-
2093
- This setting determines the picture quality seen by remote users and also the picture quality of the video files recorded on the cloud.
2094
- <table>
2095
- <tr>
2096
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2097
-
2098
- <td rowspan="1" colSpan="1" >Description</td>
2099
- </tr>
2100
-
2101
- <tr>
2102
- <td rowspan="1" colSpan="1" >enableAdjustRes</td>
2103
-
2104
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to allow dynamic resolution adjustment (enabling this will impact cloud recording).<br>[Recommended Value] This feature is suitable for scenarios where cloud recording is not needed. When enabled, the SDK will intelligently select an appropriate resolution based on the current network conditions to avoid inefficient encoding modes like "high resolution + low bitrate".<br>[Special Note] Default value: Disabled. If you need cloud recording, do not enable this feature because if the video resolution changes, the recorded MP4 on the cloud cannot be played properly on regular players.</td>
2105
- </tr>
2106
-
2107
- <tr>
2108
- <td rowspan="1" colSpan="1" >minVideoBitrate</td>
2109
-
2110
- <td rowspan="1" colSpan="1" >[Field Meaning] Minimum video bitrate. The SDK will actively lower the video bitrate when the network is poor to maintain smoothness, with the minimum lowered to the value set by minVideoBitrate.<br>[Special Note] Default value: 0, in which case the minimum bitrate will be automatically calculated by the SDK based on the resolution you specified.<br>[Recommended Value] You can set both videoBitrate and minVideoBitrate parameters simultaneously to constrain the SDK's video bitrate adjustment range:<br>- If you pursue ` allowing stuttering under weak networks but maintaining clarity `, you can set minVideoBitrate to 60% of videoBitrate.<br>- If you pursue ` allowing blurriness under weak networks but maintaining smoothness `, you can set minVideoBitrate to a lower value (e.g., 100kbps).<br>- If you set videoBitrate and minVideoBitrate to the same value, it is equivalent to disabling the SDK's adaptive video bitrate adjustment capability.</td>
2111
- </tr>
2112
-
2113
- <tr>
2114
- <td rowspan="1" colSpan="1" >resMode</td>
2115
-
2116
- <td rowspan="1" colSpan="1" >[Field Meaning] Resolution Mode (horizontal resolution or vertical resolution).<br>[Recommended Value] For mobile platforms (iOS, Android), it is recommended to choose Portrait. For desktop platforms (Windows, Mac), it is recommended to choose Landscape.<br>[Special Note] If you need to use vertical resolution, specify resMode as Portrait, e.g., 640 × 360 + Portrait = 360 × 640.</td>
2117
- </tr>
2118
-
2119
- <tr>
2120
- <td rowspan="1" colSpan="1" >videoBitrate</td>
2121
-
2122
- <td rowspan="1" colSpan="1" >[Field Meaning] Target video bitrate. The SDK will encode according to the target bitrate and will only actively lower the video bitrate in weak network environments.<br>[Recommended Value] Please refer to the optimal bitrate annotations for each level in TRTCVideoResolution, which can also be appropriately increased. For example, TRTCVideoResolution_1280_720 corresponds to a target bitrate of 1200kbps, but you can set it to 1500kbps for better visual clarity.<br>[Special Note] You can set both videoBitrate and minVideoBitrate parameters simultaneously to constrain the SDK's video bitrate adjustment range:<br>- If you prefer "allowing stuttering under weak network conditions but maintaining clarity," you can set minVideoBitrate to 60% of videoBitrate.<br>- If you prefer "allowing blurring under weak network conditions but maintaining smoothness," you can set minVideoBitrate to a lower value (e.g., 100kbps).<br>- If you set videoBitrate and minVideoBitrate to the same value, it is equivalent to disabling the SDK's adaptive video bitrate adjustment capability.</td>
2123
- </tr>
2124
-
2125
- <tr>
2126
- <td rowspan="1" colSpan="1" >videoFps</td>
2127
-
2128
- <td rowspan="1" colSpan="1" >[Field Meaning] Video capture frame rate.<br>[Recommended Value] 15fps or 20fps. Below 5fps, lag sensation is noticeable. Below 10fps, there will be slight lag. Above 20fps, it will waste bandwidth (the frame rate of movies is 24fps).<br>[Special Note] Some Android phones' front-facing cameras do not support a capture frame rate above 15fps. The capture frame rate of the front-facing camera of some Android phones with a beauty feature may be below 10fps.</td>
2129
- </tr>
2130
-
2131
- <tr>
2132
- <td rowspan="1" colSpan="1" >videoResolution</td>
2133
-
2134
- <td rowspan="1" colSpan="1" >[Field Meaning] Video resolution.<br>[Special Note] If you need to use vertical resolution, specify resMode as Portrait, e.g., 640 × 360 + Portrait = 360 × 640.<br>[Recommended Values]<br>- Mobile video call: It is recommended to choose 360 × 640 or lower resolution, with resMode set to Portrait (vertical resolution).<br>- Mobile online live streaming: It is recommended to choose 540 × 960, with resMode set to Portrait (vertical resolution).<br>- Desktop platform (Win + Mac): It is recommended to choose 640 × 360 or higher resolution, with resMode set to Landscape (horizontal resolution).</td>
2135
- </tr>
2136
- </table>
2137
-
2138
-
2139
- ## TRTCNetworkQosParam
2140
-
2141
-
2142
-
2143
- #### Network flow control (Qos) parameter set
2144
-
2145
- Network traffic control parameters, this setting determines the SDK's adjustment strategy in poor network conditions (for example: "Clarity Priority" or "Smoothness Priority").
2146
- <table>
2147
- <tr>
2148
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2149
-
2150
- <td rowspan="1" colSpan="1" >Description</td>
2151
- </tr>
2152
-
2153
- <tr>
2154
- <td rowspan="1" colSpan="1" >controlMode</td>
2155
-
2156
- <td rowspan="1" colSpan="1" >[Field Meaning] Flow control mode (deprecated).<br>[Recommended Values] Cloud Control.<br>[Special Note] Please set it to Cloud Control mode (TRTCQosControlModeServer).</td>
2157
- </tr>
2158
-
2159
- <tr>
2160
- <td rowspan="1" colSpan="1" >preference</td>
2161
-
2162
- <td rowspan="1" colSpan="1" >[Field Meaning] Clarity Priority or Smooth Priority.<br>[Recommended Values] Clarity Priority.<br>[Special Note] This parameter mainly affects TRTC's audio and video performance in poor network environments:<br>- Smooth Priority: When the current network is insufficient to transmit both clear and smooth images, it prioritizes the smoothness of the picture, which results in a blurrier image with more mosaics. See [TRTCVideoQosPreferenceSmooth](https://write.woa.com/document/87030132707430400)<br>- Clarity Priority (default): When the current network is insufficient to transmit both clear and smooth images, it prioritizes the clarity of the picture, which results in more stuttering. See [TRTCVideoQosPreferenceClear](https://write.woa.com/document/87030132707430400)</td>
2163
- </tr>
2164
- </table>
2165
-
2166
-
2167
- ## TRTCRenderParams
2168
-
2169
-
2170
-
2171
- #### Rendering parameters for video footage
2172
-
2173
- You can control the screen's rotation angle, fill mode, and left-right mirror mode by setting this parameter.
2174
- <table>
2175
- <tr>
2176
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2177
-
2178
- <td rowspan="1" colSpan="1" >Description</td>
2179
- </tr>
2180
-
2181
- <tr>
2182
- <td rowspan="1" colSpan="1" >fillMode</td>
2183
-
2184
- <td rowspan="1" colSpan="1" >[Field Meaning] Screen Fill Mode.<br>[Recommended Values] Fill (the screen may be stretched or cropped) or Fit (the screen may have black edges), Default: [TRTCVideoFillMode_Fill](https://write.woa.com/document/87030132707430400).</td>
2185
- </tr>
2186
-
2187
- <tr>
2188
- <td rowspan="1" colSpan="1" >mirrorType</td>
2189
-
2190
- <td rowspan="1" colSpan="1" >[Field Meaning] Screen Mirror Mode.<br>[Recommended Value] Default value: [TRTCVideoMirrorType_Auto](https://write.woa.com/document/87030132707430400).</td>
2191
- </tr>
2192
-
2193
- <tr>
2194
- <td rowspan="1" colSpan="1" >rotation</td>
2195
-
2196
- <td rowspan="1" colSpan="1" >[Field Meaning] Clockwise rotation angle of the image.<br>[Recommended Value] Supports 90, 180, and 270 rotation angles. Default value: [TRTCVideoRotation0](https://write.woa.com/document/87030132707430400).</td>
2197
- </tr>
2198
- </table>
2199
-
2200
-
2201
- ## TRTCQualityInfo
2202
-
2203
-
2204
-
2205
- #### Network quality
2206
-
2207
- Represents the quality of the network. This value can be used to display each user's network quality on the user interface.
2208
- <table>
2209
- <tr>
2210
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2211
-
2212
- <td rowspan="1" colSpan="1" >Description</td>
2213
- </tr>
2214
-
2215
- <tr>
2216
- <td rowspan="1" colSpan="1" >quality</td>
2217
-
2218
- <td rowspan="1" colSpan="1" >Network quality</td>
2219
- </tr>
2220
-
2221
- <tr>
2222
- <td rowspan="1" colSpan="1" >userId</td>
2223
-
2224
- <td rowspan="1" colSpan="1" >User ID</td>
2225
- </tr>
2226
- </table>
2227
-
2228
-
2229
- ## TRTCVolumeInfo
2230
-
2231
-
2232
-
2233
- #### Volume level
2234
-
2235
- Represents the evaluation value of voice volume. This value can be used to display each user's volume on the user interface.
2236
- <table>
2237
- <tr>
2238
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2239
-
2240
- <td rowspan="1" colSpan="1" >Description</td>
2241
- </tr>
2242
-
2243
- <tr>
2244
- <td rowspan="1" colSpan="1" >pitch</td>
2245
-
2246
- <td rowspan="1" colSpan="1" >The voice frequency of the local user (in Hz), range [0 - 4000]. For remote users, this value is always 0.</td>
2247
- </tr>
2248
-
2249
- <tr>
2250
- <td rowspan="1" colSpan="1" >spectrumData</td>
2251
-
2252
- <td rowspan="1" colSpan="1" >Audio spectrum data represents the distribution of audio data in the frequency domain, divided into 256 frequency bands. The spectrumData records the energy value of each frequency band, each energy value ranges from [-300, 0], in dBFS.<br>**Note**<br>Local spectrum is calculated using the audio data before encoding, affected by local collection volume and BGM, etc. Remote spectrum is calculated using received audio data, and local adjustments to remote playback volume will not affect it.<br></td>
2253
- </tr>
2254
-
2255
- <tr>
2256
- <td rowspan="1" colSpan="1" >spectrumDataLength</td>
2257
-
2258
- <td rowspan="1" colSpan="1" >spectrumDataLength records the length of the audio spectrum data, which is 256.</td>
2259
- </tr>
2260
-
2261
- <tr>
2262
- <td rowspan="1" colSpan="1" >userId</td>
2263
-
2264
- <td rowspan="1" colSpan="1" >The userId of the speaker. If the userId is empty, it represents the current user.</td>
2265
- </tr>
2266
-
2267
- <tr>
2268
- <td rowspan="1" colSpan="1" >vad</td>
2269
-
2270
- <td rowspan="1" colSpan="1" >Detect vocals or not, 0: Non-vocals, 1: Vocals.</td>
2271
- </tr>
2272
-
2273
- <tr>
2274
- <td rowspan="1" colSpan="1" >volume</td>
2275
-
2276
- <td rowspan="1" colSpan="1" >The speaker's volume. Value range: [0-100].</td>
2277
- </tr>
2278
- </table>
2279
-
2280
-
2281
- ## TRTCSpeedTestParams
2282
-
2283
-
2284
-
2285
- #### Speed test parameters
2286
-
2287
- You can test the network speed before the user enters the room through the [startSpeedTest](https://write.woa.com/document/87030026264555520) interface (Note: Do not call during a call).
2288
- <table>
2289
- <tr>
2290
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2291
-
2292
- <td rowspan="1" colSpan="1" >Description</td>
2293
- </tr>
2294
-
2295
- <tr>
2296
- <td rowspan="1" colSpan="1" >expectedDownBandwidth</td>
2297
-
2298
- <td rowspan="1" colSpan="1" >Expected downstream bandwidth (kbps, value range: 10–5000, 0 means not to test).<br>**Note**<br>When the parameter scene is set to TRTCSpeedTestScene_OnlineChorusTesting, to obtain more accurate RTT/jitter information, the value range is limited to 10–1000.<br></td>
2299
- </tr>
2300
-
2301
- <tr>
2302
- <td rowspan="1" colSpan="1" >expectedUpBandwidth</td>
2303
-
2304
- <td rowspan="1" colSpan="1" >Expected upstream bandwidth (kbps, value range: 10–5000, 0 means not to test).<br>**Note**<br>When the parameter scene is set to TRTCSpeedTestScene_OnlineChorusTesting, to obtain more accurate RTT/jitter information, the value range is limited to 10–1000.<br></td>
2305
- </tr>
2306
-
2307
- <tr>
2308
- <td rowspan="1" colSpan="1" >scene</td>
2309
-
2310
- <td rowspan="1" colSpan="1" >Speed Testing Scenario.</td>
2311
- </tr>
2312
-
2313
- <tr>
2314
- <td rowspan="1" colSpan="1" >sdkAppId</td>
2315
-
2316
- <td rowspan="1" colSpan="1" >Application identifier, please refer to the relevant instructions in [TRTCParams](https://write.woa.com/document/87030132707430400).</td>
2317
- </tr>
2318
-
2319
- <tr>
2320
- <td rowspan="1" colSpan="1" >userId</td>
2321
-
2322
- <td rowspan="1" colSpan="1" >User identifier, please refer to the relevant instructions in [TRTCParams](https://write.woa.com/document/87030132707430400).</td>
2323
- </tr>
2324
-
2325
- <tr>
2326
- <td rowspan="1" colSpan="1" >userSig</td>
2327
-
2328
- <td rowspan="1" colSpan="1" >User signature, please refer to the relevant instructions in [TRTCParams](https://write.woa.com/document/87030132707430400).</td>
2329
- </tr>
2330
- </table>
2331
-
2332
-
2333
- ## TRTCSpeedTestResult
2334
-
2335
-
2336
-
2337
- #### Network speed test results
2338
-
2339
- You can test the network speed before the user enters the room through the [startSpeedTest](https://write.woa.com/document/87030026264555520) interface (Note: Do not call during a call).
2340
- <table>
2341
- <tr>
2342
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2343
-
2344
- <td rowspan="1" colSpan="1" >Description</td>
2345
- </tr>
2346
-
2347
- <tr>
2348
- <td rowspan="1" colSpan="1" >availableDownBandwidth</td>
2349
-
2350
- <td rowspan="1" colSpan="1" >Downstream bandwidth (kbps, -1: invalid value).</td>
2351
- </tr>
2352
-
2353
- <tr>
2354
- <td rowspan="1" colSpan="1" >availableUpBandwidth</td>
2355
-
2356
- <td rowspan="1" colSpan="1" >Uplink bandwidth (kbps, -1: invalid value).</td>
2357
- </tr>
2358
-
2359
- <tr>
2360
- <td rowspan="1" colSpan="1" >downJitter</td>
2361
-
2362
- <td rowspan="1" colSpan="1" >Downlink packet jitter (ms), indicating the stability of data communication in the user's current network environment. The smaller the value, the better. The normal value range is 0ms to 100ms. -1 means that the speed test did not obtain a valid value. Generally, WiFi networks have slightly higher jitter than 4G/5G environments.</td>
2363
- </tr>
2364
-
2365
- <tr>
2366
- <td rowspan="1" colSpan="1" >downLostRate</td>
2367
-
2368
- <td rowspan="1" colSpan="1" >Downlink packet loss rate, the value range is [0 - 1.0]. For example, 0.2 means that out of every 10 packets received from the server, 2 might be lost mid-transmission.</td>
2369
- </tr>
2370
-
2371
- <tr>
2372
- <td rowspan="1" colSpan="1" >errMsg</td>
2373
-
2374
- <td rowspan="1" colSpan="1" >Bandwidth test error information.</td>
2375
- </tr>
2376
-
2377
- <tr>
2378
- <td rowspan="1" colSpan="1" >ip</td>
2379
-
2380
- <td rowspan="1" colSpan="1" >Server IP address.</td>
2381
- </tr>
2382
-
2383
- <tr>
2384
- <td rowspan="1" colSpan="1" >quality</td>
2385
-
2386
- <td rowspan="1" colSpan="1" >Internal evaluation algorithm calculates the network quality. For more information, please refer to [TRTCQuality](https://write.woa.com/document/87030132707430400).</td>
2387
- </tr>
2388
-
2389
- <tr>
2390
- <td rowspan="1" colSpan="1" >rtt</td>
2391
-
2392
- <td rowspan="1" colSpan="1" >Latency (ms), representing the round-trip network time between the current device and the TRTC server. The smaller the value, the better. The normal value range is 10ms to 100ms.</td>
2393
- </tr>
2394
-
2395
- <tr>
2396
- <td rowspan="1" colSpan="1" >success</td>
2397
-
2398
- <td rowspan="1" colSpan="1" >Test success or failure.</td>
2399
- </tr>
2400
-
2401
- <tr>
2402
- <td rowspan="1" colSpan="1" >upJitter</td>
2403
-
2404
- <td rowspan="1" colSpan="1" >Uplink packet jitter (ms), indicating the stability of data communication in the user's current network environment. The smaller the value, the better. The normal value range is 0ms to 100ms. -1 means that the speed test did not obtain a valid value. Generally, WiFi networks have slightly higher jitter than 4G/5G environments.</td>
2405
- </tr>
2406
-
2407
- <tr>
2408
- <td rowspan="1" colSpan="1" >upLostRate</td>
2409
-
2410
- <td rowspan="1" colSpan="1" >Uplink packet loss rate, the value range is [0 - 1.0]. For example, 0.3 means that out of every 10 packets sent to the server, 3 might be lost mid-transmission.</td>
2411
- </tr>
2412
- </table>
2413
-
2414
-
2415
- ## TRTCTexture
2416
-
2417
-
2418
-
2419
- #### Video texture data
2420
- <table>
2421
- <tr>
2422
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2423
-
2424
- <td rowspan="1" colSpan="1" >Description</td>
2425
- </tr>
2426
-
2427
- <tr>
2428
- <td rowspan="1" colSpan="1" >glContext</td>
2429
-
2430
- <td rowspan="1" colSpan="1" >[Field meaning] The OpenGL context environment where the texture resides, valid on Windows and Android platforms</td>
2431
- </tr>
2432
-
2433
- <tr>
2434
- <td rowspan="1" colSpan="1" >glTextureId</td>
2435
-
2436
- <td rowspan="1" colSpan="1" >[Field meaning] Video texture ID.</td>
2437
- </tr>
2438
-
2439
- <tr>
2440
- <td rowspan="1" colSpan="1" >}</td>
2441
-
2442
- <td rowspan="1" colSpan="1" >[Field meaning] D3D11 texture, i.e., ID3D11Texture2D pointer, valid only on Windows platform.</td>
2443
- </tr>
2444
- </table>
2445
-
2446
-
2447
- ## TRTCVideoFrame
2448
-
2449
-
2450
-
2451
- #### Video frame information
2452
-
2453
- TRTCVideoFrame describes the raw data of a video frame, which is the video frame data before encoding or after decoding.
2454
- <table>
2455
- <tr>
2456
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2457
-
2458
- <td rowspan="1" colSpan="1" >Description</td>
2459
- </tr>
2460
-
2461
- <tr>
2462
- <td rowspan="1" colSpan="1" >bufferType</td>
2463
-
2464
- <td rowspan="1" colSpan="1" >[Field meaning] Video data structure type.</td>
2465
- </tr>
2466
-
2467
- <tr>
2468
- <td rowspan="1" colSpan="1" >data</td>
2469
-
2470
- <td rowspan="1" colSpan="1" >[Field meaning] Video data when bufferType is [TRTCVideoBufferType_Buffer](https://write.woa.com/document/87030132707430400), carrying memory blocks for the C++ layer.</td>
2471
- </tr>
2472
-
2473
- <tr>
2474
- <td rowspan="1" colSpan="1" >height</td>
2475
-
2476
- <td rowspan="1" colSpan="1" >[Field meaning] Video height.</td>
2477
- </tr>
2478
-
2479
- <tr>
2480
- <td rowspan="1" colSpan="1" >length</td>
2481
-
2482
- <td rowspan="1" colSpan="1" >[Field meaning] Length of video data, unit is bytes. For i420: length = width * height * 3 / 2; For BGRA32: length = width * height * 4.</td>
2483
- </tr>
2484
-
2485
- <tr>
2486
- <td rowspan="1" colSpan="1" >rotation</td>
2487
-
2488
- <td rowspan="1" colSpan="1" >[Field meaning] Clockwise rotation angle of video pixels.</td>
2489
- </tr>
2490
-
2491
- <tr>
2492
- <td rowspan="1" colSpan="1" >texture</td>
2493
-
2494
- <td rowspan="1" colSpan="1" >[Field meaning] Video data when bufferType is [TRTCVideoBufferType_Texture](https://write.woa.com/document/87030132707430400), containing texture data for OpenGL rendering.</td>
2495
- </tr>
2496
-
2497
- <tr>
2498
- <td rowspan="1" colSpan="1" >timestamp</td>
2499
-
2500
- <td rowspan="1" colSpan="1" >[Field meaning] Timestamp of the video frame, in milliseconds.<br>[Recommended values] Can be set to 0 when capturing Definition video. If this parameter is 0, the SDK will automatically populate the timestamp field, but please control the intervals of sendCustomVideoData calls "evenly".</td>
2501
- </tr>
2502
-
2503
- <tr>
2504
- <td rowspan="1" colSpan="1" >videoFormat</td>
2505
-
2506
- <td rowspan="1" colSpan="1" >[Field meaning] Pixel format of the video.</td>
2507
- </tr>
2508
-
2509
- <tr>
2510
- <td rowspan="1" colSpan="1" >width</td>
2511
-
2512
- <td rowspan="1" colSpan="1" >[Field meaning] Video width.</td>
2513
- </tr>
2514
- </table>
2515
-
2516
-
2517
- ## TRTCAudioFrame
2518
-
2519
-
2520
-
2521
- #### Audio frame data
2522
- <table>
2523
- <tr>
2524
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2525
-
2526
- <td rowspan="1" colSpan="1" >Description</td>
2527
- </tr>
2528
-
2529
- <tr>
2530
- <td rowspan="1" colSpan="1" >audioFormat</td>
2531
-
2532
- <td rowspan="1" colSpan="1" >[Field meaning] Audio frame format.</td>
2533
- </tr>
2534
-
2535
- <tr>
2536
- <td rowspan="1" colSpan="1" >channel</td>
2537
-
2538
- <td rowspan="1" colSpan="1" >[Field meaning] Number of channels.</td>
2539
- </tr>
2540
-
2541
- <tr>
2542
- <td rowspan="1" colSpan="1" >data</td>
2543
-
2544
- <td rowspan="1" colSpan="1" >[Field meaning] Audio data.</td>
2545
- </tr>
2546
-
2547
- <tr>
2548
- <td rowspan="1" colSpan="1" >extraData</td>
2549
-
2550
- <td rowspan="1" colSpan="1" >[Field meaning] Extra audio data. The data written by the remote user through ` onLocalProcessedAudioFrame ` will be callbacked via this field.</td>
2551
- </tr>
2552
-
2553
- <tr>
2554
- <td rowspan="1" colSpan="1" >extraDataLength</td>
2555
-
2556
- <td rowspan="1" colSpan="1" >[Field meaning] Length of audio message data.</td>
2557
- </tr>
2558
-
2559
- <tr>
2560
- <td rowspan="1" colSpan="1" >length</td>
2561
-
2562
- <td rowspan="1" colSpan="1" >[Field meaning] Length of audio data.</td>
2563
- </tr>
2564
-
2565
- <tr>
2566
- <td rowspan="1" colSpan="1" >sampleRate</td>
2567
-
2568
- <td rowspan="1" colSpan="1" >[Field meaning] Sample rate.</td>
2569
- </tr>
2570
-
2571
- <tr>
2572
- <td rowspan="1" colSpan="1" >timestamp</td>
2573
-
2574
- <td rowspan="1" colSpan="1" >[Field meaning] Timestamp, in milliseconds.</td>
2575
- </tr>
2576
- </table>
2577
-
2578
-
2579
- ## TRTCMixUser
2580
-
2581
-
2582
-
2583
- #### Description information of each stream in Cloud Mixed Streaming
2584
-
2585
- TRTCMixUser is used to specify the position, size, layer, stream type, etc., of each video screen in Cloud Mixed Streaming.
2586
- <table>
2587
- <tr>
2588
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2589
-
2590
- <td rowspan="1" colSpan="1" >Description</td>
2591
- </tr>
2592
-
2593
- <tr>
2594
- <td rowspan="1" colSpan="1" >image</td>
2595
-
2596
- <td rowspan="1" colSpan="1" >[Field meaning] Placeholder Image or Watermark Image<br>- A placeholder image refers to an image displayed in the mixed screen when the corresponding userId's mixed content is pure audio.<br>- A watermark image refers to a semi-transparent image pasted on the mixed screen, always covering the mixed screen.<br>- When you specify inputType as TRTCMixInputTypePureAudio, the image is a placeholder image, and you need to specify the userId.<br>- When you specify inputType as TRTCMixInputTypeWatermark, the image is a watermark image, and you do not need to specify the userId.<br>[Recommended Values] Default: empty, which means no placeholder image or watermark image is set.<br>[Special Note]<br>- You can set the image to an asset ID found in the console. This requires you to click the [Add Image] button to upload it beforehand in "[Console](https://console.cloud.tencent.com/trtc) => Application Management => Feature Configuration => Asset Management".<br>- Upon successful upload, you will receive a corresponding "image ID". Convert the "image ID" into a string and set it to the image field accordingly (e.g., if the "image ID" is 63, you can set image to @"63").<br>- You can also set the image to a URL address, and Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as watermarks.<br>- The image is only effective when inputType is set to TRTCMixInputTypePureAudio or TRTCMixInputTypeWatermark.</td>
2597
- </tr>
2598
-
2599
- <tr>
2600
- <td rowspan="1" colSpan="1" >inputType</td>
2601
-
2602
- <td rowspan="1" colSpan="1" >[Field meaning] Specifies the mixed content of the stream (only audio, only video, mixed audio and video, watermarking).<br>[Default Value] Default: TRTCMixInputTypeUndefined.<br>[Special Note]<br>- When inputType is set to TRTCMixInputTypeUndefined and pureAudio is set to YES, it is equivalent to setting inputType to TRTCMixInputTypePureAudio.<br>- When inputType is set to TRTCMixInputTypeUndefined and pureAudio is set to NO, it is equivalent to setting inputType to TRTCMixInputTypeAudioVideo.<br>- When inputType is set to TRTCMixInputTypeWatermark, you do not need to specify the userId field but must specify the image field.</td>
2603
- </tr>
2604
-
2605
- <tr>
2606
- <td rowspan="1" colSpan="1" >pureAudio</td>
2607
-
2608
- <td rowspan="1" colSpan="1" >[Field meaning] Specifies whether the stream is audio-only.<br>[Recommended Values] Default: false.<br>[Special Note] Deprecated. It is recommended to use the newly introduced field inputType starting from version 8.5.</td>
2609
- </tr>
2610
-
2611
- <tr>
2612
- <td rowspan="1" colSpan="1" >rect</td>
2613
-
2614
- <td rowspan="1" colSpan="1" >[Field meaning] Specifies the coordinate area of the screen (unit: pixels).</td>
2615
- </tr>
2616
-
2617
- <tr>
2618
- <td rowspan="1" colSpan="1" >renderMode</td>
2619
-
2620
- <td rowspan="1" colSpan="1" >[Field meaning] The display mode of the screen during output.<br>[Recommended Values] Default: for video streams, 0.0 for cropping, 1 for scaling, and 2 for scaling with a black background.<br>[Special Note] The watermark image and placeholder image currently do not support setting renderMode. Default forced stretching is applied.</td>
2621
- </tr>
2622
-
2623
- <tr>
2624
- <td rowspan="1" colSpan="1" >roomId</td>
2625
-
2626
- <td rowspan="1" colSpan="1" >[Field meaning] The room number of the audio and video stream (setting it to an empty value represents the room number of the current user).</td>
2627
- </tr>
2628
-
2629
- <tr>
2630
- <td rowspan="1" colSpan="1" >soundLevel</td>
2631
-
2632
- <td rowspan="1" colSpan="1" >[Field meaning] The volume level of the audio participating in the mix (range: 0 - 100).<br>[Default Value] Default: 100.</td>
2633
- </tr>
2634
-
2635
- <tr>
2636
- <td rowspan="1" colSpan="1" >streamType</td>
2637
-
2638
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies whether this video stream is a main stream ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87030132707430400)) or a sub-stream ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87030132707430400)).</td>
2639
- </tr>
2640
-
2641
- <tr>
2642
- <td rowspan="1" colSpan="1" >userId</td>
2643
-
2644
- <td rowspan="1" colSpan="1" >[Field Meaning] User ID</td>
2645
- </tr>
2646
-
2647
- <tr>
2648
- <td rowspan="1" colSpan="1" >zOrder</td>
2649
-
2650
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the level of the screen (Range: 1 - 15, unique).</td>
2651
- </tr>
2652
- </table>
2653
-
2654
-
2655
- ## TRTCTranscodingConfig
2656
-
2657
-
2658
-
2659
- #### Layout and transcoding parameters for Cloud Mixed Streaming
2660
-
2661
- For specifying the layout position and encoding parameters of each screen during mix streaming and on-cloud transcoding.
2662
- <table>
2663
- <tr>
2664
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2665
-
2666
- <td rowspan="1" colSpan="1" >Description</td>
2667
- </tr>
2668
-
2669
- <tr>
2670
- <td rowspan="1" colSpan="1" >appId</td>
2671
-
2672
- <td rowspan="1" colSpan="1" >[Field Meaning] AppID of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [TRTC console](https://console.cloud.tencent.com/trtc) [Application Management]=>[Application Information], and obtain the appid from [CDN Live Streaming Info].</td>
2673
- </tr>
2674
-
2675
- <tr>
2676
- <td rowspan="1" colSpan="1" >audioBitrate</td>
2677
-
2678
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio bitrate for cloud transcoding.<br>[Recommended Value] Default: 64kbps, range: [32,192].</td>
2679
- </tr>
2680
-
2681
- <tr>
2682
- <td rowspan="1" colSpan="1" >audioChannels</td>
2683
-
2684
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the number of audio channels for cloud transcoding.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo.</td>
2685
- </tr>
2686
-
2687
- <tr>
2688
- <td rowspan="1" colSpan="1" >audioCodec</td>
2689
-
2690
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the output stream audio encoding type for cloud transcoding.<br>[Recommended Value] Default: 0, representing LC-AAC. The allowable values are: 0 - LC-AAC, 1 - HE-AAC, 2 - HE-AACv2.<br>[Special Explanation] HE-AAC and HE-AACv2 support output stream audio sample rates of [48000, 44100, 32000, 24000, 16000].<br>[Special Explanation] When audio encoding is set to HE-AACv2, only stereo output is supported.<br>[Special Note] HE-AAC and HE-AACv2 values only take effect when the output stream is the additional streamId you set.</td>
2691
- </tr>
2692
-
2693
- <tr>
2694
- <td rowspan="1" colSpan="1" >audioSampleRate</td>
2695
-
2696
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio sampling rate for cloud transcoding.<br>[Recommended Values] Default: 48000Hz. Supports 12000Hz, 16000Hz, 22050Hz, 24000Hz, 32000Hz, 44100Hz, 48000Hz.</td>
2697
- </tr>
2698
-
2699
- <tr>
2700
- <td rowspan="1" colSpan="1" >backgroundColor</td>
2701
-
2702
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241).</td>
2703
- </tr>
2704
-
2705
- <tr>
2706
- <td rowspan="1" colSpan="1" >backgroundImage</td>
2707
-
2708
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the background image of the mixed-screen.<br>[Recommended Values] Default: empty, meaning no background image is set.<br>[Special Note]<br>- You can set the image to an asset ID found in the console. This requires you to click the [Add Image] button to upload it beforehand in "[Console](https://console.cloud.tencent.com/trtc) => Application Management => Feature Configuration => Asset Management".<br>- Upon successful upload, you will receive a corresponding "image ID". Convert the "image ID" into a string and set it to the image field accordingly (e.g., if the "image ID" is 63, you can set image to @"63").<br>- You can also set the image to a URL address, and Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp.</td>
2709
- </tr>
2710
-
2711
- <tr>
2712
- <td rowspan="1" colSpan="1" >bizId</td>
2713
-
2714
- <td rowspan="1" colSpan="1" >[Field Meaning] bizid of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [ TRTC Console](https://console.cloud.tencent.com/trtc) [Application Management] => [Application Information], and obtain the bizid from [CDN Live Streaming Info].</td>
2715
- </tr>
2716
-
2717
- <tr>
2718
- <td rowspan="1" colSpan="1" >mixUsersArray</td>
2719
-
2720
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the position, size, layer, and stream type information for each video screen in the cloud mix.<br>[Recommended Values] This field is an array of TRTCMixUser type. Each element in the array represents the information for each screen.</td>
2721
- </tr>
2722
-
2723
- <tr>
2724
- <td rowspan="1" colSpan="1" >mixUsersArraySize</td>
2725
-
2726
- <td rowspan="1" colSpan="1" >[Field meaning] Number of elements in the mixUsersArray.</td>
2727
- </tr>
2728
-
2729
- <tr>
2730
- <td rowspan="1" colSpan="1" >mode</td>
2731
-
2732
- <td rowspan="1" colSpan="1" >[Field Meaning] Layout mode.<br>[Recommended Values] Please choose according to your business scenario requirements. Pre-layout mode is a well-suited option.</td>
2733
- </tr>
2734
-
2735
- <tr>
2736
- <td rowspan="1" colSpan="1" >streamId</td>
2737
-
2738
- <td rowspan="1" colSpan="1" >[Field Meaning] Live stream ID for output to CDN.<br>[Recommended Value] Default: Null Value, meaning that the multiple audio and video streams in the room will ultimately be mixed into the interface caller's audio and video stream.<br>- If this parameter is not set, the SDK will execute the default logic, meaning the multiple audio and video streams in the room will be mixed into the interface caller's audio and video stream, i.e., A + B => A.<br>- If you set this parameter, the SDK will mix the multiple audio and video streams in the room into the live stream you specified, i.e., A + B => C (C represents the streamId you specified).</td>
2739
- </tr>
2740
-
2741
- <tr>
2742
- <td rowspan="1" colSpan="1" >videoBitrate</td>
2743
-
2744
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video bitrate (kbps) for cloud transcoding.<br>[Recommended Value] If set to 0, TRTC will estimate a reasonable bitrate based on videoWidth and videoHeight. You can also refer to the bitrate value recommended in the video resolution enum Definition (see the comment section).</td>
2745
- </tr>
2746
-
2747
- <tr>
2748
- <td rowspan="1" colSpan="1" >videoFramerate</td>
2749
-
2750
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video frame rate (FPS) for cloud transcoding.<br>[Recommended Value] Default: 15fps, range: (0,30].</td>
2751
- </tr>
2752
-
2753
- <tr>
2754
- <td rowspan="1" colSpan="1" >videoGOP</td>
2755
-
2756
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video keyframe interval (GOP) for cloud transcoding.<br>[Recommended Value] Default: 2 seconds, range: [1,8].</td>
2757
- </tr>
2758
-
2759
- <tr>
2760
- <td rowspan="1" colSpan="1" >videoHeight</td>
2761
-
2762
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target resolution (height) for cloud transcoding.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 640. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background.</td>
2763
- </tr>
2764
-
2765
- <tr>
2766
- <td rowspan="1" colSpan="1" >videoSeiParams</td>
2767
-
2768
- <td rowspan="1" colSpan="1" >[Field Meaning] Stream Mixing SEI Parameters. Not specified by default.<br>[Special Note] Parameters are passed in as a JSON String. Example:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>Supported fields and their meanings:<br>- payloadContent: Required. The payload content of the transparent SEI; cannot be empty<br>- payloadType: Required. The type of SEI message, with a range of values: 5, or integers within [100, 254] (excluding 244, which is an internal self-definition timestamp SEI);<br>- payloadUuid: Required when payloadType is 5, otherwise this value is ignored. This value must be a 32-character hexadecimal number;<br>- interval: Optional, default is 1000. The sending interval of SEI, in milliseconds;<br>- followIdr: Optional, default is false. When set to true, SEI will be ensured with keyframes, otherwise, it will not be ensured.</td>
2769
- </tr>
2770
-
2771
- <tr>
2772
- <td rowspan="1" colSpan="1" >videoWidth</td>
2773
-
2774
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target resolution (width) for cloud transcoding.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 360. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background.</td>
2775
- </tr>
2776
- </table>
2777
-
2778
-
2779
- ## TRTCPublishCDNParam
2780
-
2781
-
2782
-
2783
- #### Retweet parameters when publishing audio and video streams to non-Tencent Cloud CDN
2784
-
2785
- The TRTC backend service supports publishing audio and video streams to third-party live streaming CDN service providers using the standard RTMP protocol.
2786
-
2787
- If you are using Tencent CSS CDN Service, you can disregard this parameter and use the [startPublish](https://write.woa.com/document/87030026264555520) interface directly.
2788
- <table>
2789
- <tr>
2790
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2791
-
2792
- <td rowspan="1" colSpan="1" >Description</td>
2793
- </tr>
2794
-
2795
- <tr>
2796
- <td rowspan="1" colSpan="1" >appId</td>
2797
-
2798
- <td rowspan="1" colSpan="1" >[Field Meaning] AppID of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [TRTC console](https://console.cloud.tencent.com/trtc) [Application Management]=>[Application Information], and obtain the appid from [CDN Live Streaming Info].</td>
2799
- </tr>
2800
-
2801
- <tr>
2802
- <td rowspan="1" colSpan="1" >bizId</td>
2803
-
2804
- <td rowspan="1" colSpan="1" >[Field Meaning] bizid of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [ TRTC Console](https://console.cloud.tencent.com/trtc) [Application Management] => [Application Information], and obtain the bizid from [CDN Live Streaming Info].</td>
2805
- </tr>
2806
-
2807
- <tr>
2808
- <td rowspan="1" colSpan="1" >streamId</td>
2809
-
2810
- <td rowspan="1" colSpan="1" >[Field Meaning] The streamId that needs to be relayed.<br>[Recommended Value] Default value: empty. If not filled, the default relay is the bidder's bypass stream.</td>
2811
- </tr>
2812
-
2813
- <tr>
2814
- <td rowspan="1" colSpan="1" >url</td>
2815
-
2816
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the streaming address (RTMP format) of the audio and video stream on the third-party live streaming service provider.<br>[Recommended Value] The rules for the streaming address vary greatly between service providers. Please fill in a valid streaming URL according to the requirements of the target service provider. The TRTC backend server will publish the standard format audio and video streams to the third-party provider according to the URL you filled in.<br>[Special Instructions] The streaming URL must be in RTMP format and comply with your target live streaming service provider's specifications, otherwise, the target service provider will reject push-stream requests from the TRTC backend services.</td>
2817
- </tr>
2818
- </table>
2819
-
2820
-
2821
- ## TRTCAudioRecordingParams
2822
-
2823
-
2824
-
2825
- #### Recording parameters for local audio files
2826
-
2827
- This parameter is used to specify recording parameters in the audio recording interface [startAudioRecording](https://write.woa.com/document/87030026264555520).
2828
- <table>
2829
- <tr>
2830
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2831
-
2832
- <td rowspan="1" colSpan="1" >Description</td>
2833
- </tr>
2834
-
2835
- <tr>
2836
- <td rowspan="1" colSpan="1" >filePath</td>
2837
-
2838
- <td rowspan="1" colSpan="1" >[Field meaning] The save path of the recording file (required).<br>[Special Instructions] This path must include the file name and format suffix, as the suffix determines the format of the recording file. The currently supported formats are PCM, WAV, and AAC.<br>For example: If you specify the path as "mypath/record/audio.aac", it means you want the SDK to generate an AAC format audio recording file.<br>Please specify a legal path with read and write permissions, otherwise the recording file cannot be generated.</td>
2839
- </tr>
2840
-
2841
- <tr>
2842
- <td rowspan="1" colSpan="1" >maxDurationPerFile</td>
2843
-
2844
- <td rowspan="1" colSpan="1" >[Field meaning] maxDurationPerFile recording file split duration, unit: milliseconds, minimum value: 10000. The default value is 0, which means no splitting.</td>
2845
- </tr>
2846
-
2847
- <tr>
2848
- <td rowspan="1" colSpan="1" >recordingContent</td>
2849
-
2850
- <td rowspan="1" colSpan="1" >[Field meaning] Audio recording content type.<br>[Special Instructions] By default, all local and remote audio is recorded.</td>
2851
- </tr>
2852
- </table>
2853
-
2854
-
2855
- ## TRTCLocalRecordingParams
2856
-
2857
-
2858
-
2859
- #### Recording parameters for local media files
2860
-
2861
- This parameter is used to specify recording-related parameters in the local media file recording interface [startLocalRecording](https://write.woa.com/document/87030026264555520).
2862
-
2863
- The interface startLocalRecording is an enhanced version of the interface startAudioRecording. The former can record video files, while the latter can only record audio files.
2864
- <table>
2865
- <tr>
2866
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2867
-
2868
- <td rowspan="1" colSpan="1" >Description</td>
2869
- </tr>
2870
-
2871
- <tr>
2872
- <td rowspan="1" colSpan="1" >filePath</td>
2873
-
2874
- <td rowspan="1" colSpan="1" >[Field meaning] The address of the recording file (required). Please ensure the path has read and write permissions and is legal, otherwise the recording file cannot be generated.<br>[Special Instructions] This path must be precise to the file name and format suffix. The suffix determines the format of the recorded file. Currently, the only supported format is MP4.<br>For example: If you specify the path as "mypath/record/test.mp4", it means you want the SDK to generate a local video file in MP4 format.<br>Please specify a legal path with read and write permissions, otherwise the recording file cannot be generated.</td>
2875
- </tr>
2876
-
2877
- <tr>
2878
- <td rowspan="1" colSpan="1" >interval</td>
2879
-
2880
- <td rowspan="1" colSpan="1" >[Field meaning] interval recording information update frequency, unit: milliseconds, valid range: 1000-10000. Default value is -1, meaning no callback.</td>
2881
- </tr>
2882
-
2883
- <tr>
2884
- <td rowspan="1" colSpan="1" >maxDurationPerFile</td>
2885
-
2886
- <td rowspan="1" colSpan="1" >[Field meaning] maxDurationPerFile recording file split duration, unit: milliseconds, minimum value: 10000. The default value is 0, which means no splitting.</td>
2887
- </tr>
2888
-
2889
- <tr>
2890
- <td rowspan="1" colSpan="1" >recordType</td>
2891
-
2892
- <td rowspan="1" colSpan="1" >[Field meaning] Media recording type, default value: TRTCRecordTypeBoth, meaning to record both audio and video simultaneously.</td>
2893
- </tr>
2894
- </table>
2895
-
2896
-
2897
- ## TRTCSwitchRoomConfig
2898
-
2899
-
2900
-
2901
- #### Room Switching Parameters
2902
-
2903
- This parameter is used for the room switching interface [switchRoom](https://write.woa.com/document/87030026264555520), allowing users to quickly switch from one room to another.
2904
- <table>
2905
- <tr>
2906
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
2907
-
2908
- <td rowspan="1" colSpan="1" >Description</td>
2909
- </tr>
2910
-
2911
- <tr>
2912
- <td rowspan="1" colSpan="1" >privateMapKey</td>
2913
-
2914
- <td rowspan="1" colSpan="1" >[Field Meaning] Permission ticket used for permission control (optional). If you want only specific userIds to enter a room, you need to use privateMapKey for permission protection.<br>[Recommended Value] Only recommended for customers with high-level security requirements. For more details, please refer to [Room Entry Permission Protection](https://cloud.tencent.com/document/product/647/32240).</td>
2915
- </tr>
2916
-
2917
- <tr>
2918
- <td rowspan="1" colSpan="1" >roomId</td>
2919
-
2920
- <td rowspan="1" colSpan="1" >[Field meaning] Numeric room number [optional], users in the same room can see each other and have audio and video calls.<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Note] roomId and strRoomId must and can only fill one. If both are filled, roomId is preferred.</td>
2921
- </tr>
2922
-
2923
- <tr>
2924
- <td rowspan="1" colSpan="1" >strRoomId</td>
2925
-
2926
- <td rowspan="1" colSpan="1" >[Field meaning] String room number [optional], users in the same room can see each other and have audio and video calls.<br>[Special Note] roomId and strRoomId must and can only fill one. If both are filled, roomId is preferred.</td>
2927
- </tr>
41
+ ## Enumeration Types
42
+ | Enumeration Types | Description |
43
+ | --- | --- |
44
+ | TRTCVideoResolution | Video Resolution |
45
+ | TRTCVideoResolutionMode | Video aspect ratio mode |
46
+ | TRTCVideoStreamType | Video stream type |
47
+ | TRTCVideoFillMode | Video fill mode |
48
+ | TRTCVideoRotation | Video rotation direction |
49
+ | TRTCBeautyStyle | Beauty Filter (Skin Smoothing) algorithm |
50
+ | TRTCVideoPixelFormat | Video pixel format |
51
+ | TRTCVideoBufferType | Video data transfer method |
52
+ | TRTCVideoMirrorType | Video mirroring type |
53
+ | TRTCSnapshotSourceType | Data source for local video screenshot |
54
+ | TRTCAppScene | Use Cases |
55
+ | TRTCRoleType | Roles |
56
+ | TRTCQosControlMode | Traffic control mode (deprecated) |
57
+ | TRTCVideoQosPreference | Image quality preference |
58
+ | TRTCQuality | Network quality |
59
+ | TRTCAVStatusType | Audio/Video status type |
60
+ | TRTCAVStatusChangeReason | Audio/Video status change reason type |
61
+ | TRTCAudioQuality | Sound quality |
62
+ | TRTCAudioFrameFormat | Content format of audio frame |
63
+ | TRTCAudioFrameOperationMode | Audio Callback Data Read/Write Mode |
64
+ | TRTCLogLevel | Log Level |
65
+ | TRTCScreenCaptureSourceType | Target Type for Screen Sharing (Only applicable to desktop devices) |
66
+ | TRTCTranscodingConfigMode | Layout Mode for Cloud Mixed Streaming |
67
+ | TRTCLocalRecordType | Media Recording Type |
68
+ | TRTCMixInputType | Mixed Streaming Input Type |
69
+ | TRTCWaterMarkSrcType | Watermark image source type |
70
+ | TRTCAudioRecordingContent | Audio Recording Content Type |
71
+ | TRTCPublishMode | Media Stream Publication Mode |
72
+ | TRTCEncryptionAlgorithm | Encryption Algorithm |
73
+ | TRTCSpeedTestScene | Speed Test Scenario |
74
+ | TRTCGravitySensorAdaptiveMode | Set Adaptation Mode for Gravity Sensor (Only applicable to mobile devices) |
2928
75
 
2929
- <tr>
2930
- <td rowspan="1" colSpan="1" >userSig</td>
76
+ ## TRTCVideoResolution
2931
77
 
2932
- <td rowspan="1" colSpan="1" >[Field meaning] User signature [optional], the verification signature corresponding to the current userId, equivalent to a log-in password.<br>If you do not specify a newly calculated userSig when switching rooms, the SDK will continue using the userSig specified when you entered the room (enterRoom).<br>You must ensure the old userSig is within its valid period when switching rooms; otherwise, the room switch will fail.<br>[Recommended Value] For the specific calculation method, please see [How to Calculate UserSig](https://cloud.tencent.com/document/product/647/17275).</td>
2933
- </tr>
2934
- </table>
78
+ #### Video Resolution
2935
79
 
80
+ Only Definition is in landscape resolution (e.g., 640 × 360). To use portrait resolution (e.g., 360 × 640), you also need to set TRTCVideoResolutionMode to Portrait.
81
+ | Enumeration | Value | Description |
82
+ | --- | --- | --- |
83
+ | TRTCVideoResolution_120_120 | 1 | Aspect Ratio 1:1; Resolution 120x120; Suggested Bitrate (VideoCall) 80kbps; Suggested Bitrate (LIVE) 120kbps. |
84
+ | TRTCVideoResolution_160_160 | 3 | Aspect Ratio 1:1; Resolution 160x160; Suggested Bitrate (VideoCall) 100kbps; Suggested Bitrate (LIVE) 150kbps. |
85
+ | TRTCVideoResolution_270_270 | 5 | Aspect Ratio 1:1; Resolution 270x270; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps. |
86
+ | TRTCVideoResolution_480_480 | 7 | Aspect Ratio 1:1; Resolution 480x480; Suggested Bitrate (VideoCall) 350kbps; Suggested Bitrate (LIVE) 500kbps. |
87
+ | TRTCVideoResolution_160_120 | 50 | Aspect Ratio 4:3; Resolution 160x120; Suggested Bitrate (VideoCall) 100kbps; Suggested Bitrate (LIVE) 150kbps. |
88
+ | TRTCVideoResolution_240_180 | 52 | Aspect Ratio 4:3; Resolution 240x180; Suggested Bitrate (VideoCall) 150kbps; Suggested Bitrate (LIVE) 250kbps. |
89
+ | TRTCVideoResolution_280_210 | 54 | Aspect Ratio 4:3; Resolution 280x210; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps. |
90
+ | TRTCVideoResolution_320_240 | 56 | Aspect Ratio 4:3; Resolution 320x240; Suggested Bitrate (VideoCall) 250kbps; Suggested Bitrate (LIVE) 375kbps. |
91
+ | TRTCVideoResolution_400_300 | 58 | Aspect Ratio 4:3; Resolution 400x300; Suggested Bitrate (VideoCall) 300kbps; Suggested Bitrate (LIVE) 450kbps. |
92
+ | TRTCVideoResolution_480_360 | 60 | Aspect Ratio 4:3; Resolution 480x360; Suggested Bitrate (VideoCall) 400kbps; Suggested Bitrate (LIVE) 600kbps. |
93
+ | TRTCVideoResolution_640_480 | 62 | Aspect Ratio 4:3; Resolution 640x480; Suggested Bitrate (VideoCall) 600kbps; Suggested Bitrate (LIVE) 900kbps. |
94
+ | TRTCVideoResolution_960_720 | 64 | Aspect Ratio 4:3; Resolution 960x720; Suggested Bitrate (VideoCall) 1000kbps; Suggested Bitrate (LIVE) 1500kbps. |
95
+ | TRTCVideoResolution_160_90 | 100 | Aspect Ratio 16:9; Resolution 160x90; Suggested Bitrate (VideoCall) 150kbps; Suggested Bitrate (LIVE) 250kbps. |
96
+ | TRTCVideoResolution_256_144 | 102 | Aspect Ratio 16:9; Resolution 256x144; Suggested Bitrate (VideoCall) 200kbps; Suggested Bitrate (LIVE) 300kbps. |
97
+ | TRTCVideoResolution_320_180 | 104 | Aspect Ratio 16:9; Resolution 320x180; Suggested Bitrate (VideoCall) 250kbps; Suggested Bitrate (LIVE) 400kbps. |
98
+ | TRTCVideoResolution_480_270 | 106 | Aspect Ratio 16:9; Resolution 480x270; Suggested Bitrate (VideoCall) 350kbps; Suggested Bitrate (LIVE) 550kbps. |
99
+ | TRTCVideoResolution_640_360 | 108 | Aspect Ratio 16:9; Resolution 640x360; Suggested Bitrate (VideoCall) 500kbps; Suggested Bitrate (LIVE) 900kbps. |
100
+ | TRTCVideoResolution_960_540 | 110 | Aspect Ratio 16:9; Resolution 960x540; Suggested Bitrate (VideoCall) 850kbps; Suggested Bitrate (LIVE) 1300kbps. |
101
+ | TRTCVideoResolution_1280_720 | 112 | Aspect Ratio 16:9; Resolution 1280x720; Suggested Bitrate (VideoCall) 1200kbps; Suggested Bitrate (LIVE) 1800kbps. |
102
+ | TRTCVideoResolution_1920_1080 | 114 | Aspect Ratio 16:9; Resolution 1920x1080; Suggested Bitrate (VideoCall) 2000kbps; Suggested Bitrate (LIVE) 3000kbps. |
2936
103
 
2937
- ## TRTCAudioFrameDelegateFormat
104
+ ## TRTCVideoResolutionMode
2938
105
 
106
+ #### Video aspect ratio mode
2939
107
 
108
+ In TRTCVideoResolution, only landscape resolution (e.g., 640 × 360) is defined. To use portrait resolution (e.g., 360 × 640), you also need to set TRTCVideoResolutionMode to Portrait.
109
+ | Enumeration | Value | Description |
110
+ | --- | --- | --- |
111
+ | TRTCVideoResolutionModeLandscape | 0 | Landscape resolution, e.g., TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360. |
112
+ | TRTCVideoResolutionModePortrait | 1 | Portrait resolution, e.g., TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640. |
2940
113
 
2941
- #### Format parameters for audio custom callback
114
+ ## TRTCVideoStreamType
2942
115
 
2943
- This parameter is used in the audio self Definition callback related interfaces to set the format of the audio data retrieved by the SDK callback (including sampling rate, number of channels, etc.).
2944
- <table>
2945
- <tr>
2946
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
116
+ #### Video stream type
2947
117
 
2948
- <td rowspan="1" colSpan="1" >Description</td>
2949
- </tr>
118
+ There are three different video streams in TRTC:
119
+ - HD large screen: Generally used for transmitting video data from the camera.
2950
120
 
2951
- <tr>
2952
- <td rowspan="1" colSpan="1" >channel</td>
121
+ - Low-definition small picture: The content of the small picture is the same as the large picture, but the resolution and bitrate are lower than those of the large picture, resulting in lower clarity.
2953
122
 
2954
- <td rowspan="1" colSpan="1" >[Field meaning] Number of channels.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo.</td>
2955
- </tr>
123
+ - Auxiliary stream picture: Generally used for screen sharing. Only one user can publish auxiliary stream video in the same room at the same time. Other users must wait until the current user stops before they can publish their own auxiliary stream.
2956
124
 
2957
- <tr>
2958
- <td rowspan="1" colSpan="1" >mode</td>
125
+ > **Note**
126
+ >
2959
127
 
2960
- <td rowspan="1" colSpan="1" >[Field meaning] Callback data read/write mode<br>[Recommended Values] TRTCAudioFrameOperationModeReadOnly: only retrieve audio data from the callback. The available modes are TRTCAudioFrameOperationModeReadOnly and TRTCAudioFrameOperationModeReadWrite.</td>
2961
- </tr>
128
+ > Low-definition small picture cannot be enabled independently. The small picture must rely on the large picture, and the SDK will automatically set the resolution and bitrate of the low-definition small picture.
129
+ >
2962
130
 
2963
- <tr>
2964
- <td rowspan="1" colSpan="1" >sampleRate</td>
131
+ | Enumeration | Value | Description |
132
+ | --- | --- | --- |
133
+ | TRTCVideoStreamTypeBig | 0 | HD large screen: Generally used for transmitting video data from the camera. |
134
+ | TRTCVideoStreamTypeSmall | 1 | Low-definition small picture: The content of the small picture is the same as the large picture, but the resolution and bitrate are lower than those of the large picture, resulting in lower clarity. |
135
+ | TRTCVideoStreamTypeSub | 2 | Auxiliary stream picture: Generally used for screen sharing. Only one user can publish auxiliary stream video in the same room at the same time. Other users must wait until the current user stops before they can publish their own auxiliary stream. |
2965
136
 
2966
- <td rowspan="1" colSpan="1" >[Field meaning] Sample rate.<br>[Recommended Values] Default: 48000Hz. Supports 16000, 32000, 44100, 48000.</td>
2967
- </tr>
137
+ ## TRTCVideoFillMode
2968
138
 
2969
- <tr>
2970
- <td rowspan="1" colSpan="1" >samplesPerCall</td>
139
+ #### Video fill mode
2971
140
 
2972
- <td rowspan="1" colSpan="1" >[Field meaning] Number of sampling points.<br>[Recommended Values] The value must be an integer multiple of sampleRate/100.</td>
2973
- </tr>
2974
- </table>
141
+ When the aspect ratio of the video display area is not equal to the aspect ratio of the video content, you need to specify the fill mode.
142
+ | Enumeration | Value | Description |
143
+ | --- | --- | --- |
144
+ | TRTCVideoFillMode_Fill | 0 | Fill mode: The content is scaled to fill the entire display area while maintaining the aspect ratio. The parts that exceed the display area will be cropped, so the image may be incomplete. |
145
+ | TRTCVideoFillMode_Fit | 1 | Adaptive mode: The image is scaled according to the long side to fit the display area. The short sides will be filled with black bars, so the image will be complete but may have black bars. |
2975
146
 
147
+ ## TRTCVideoRotation
2976
148
 
2977
- ## TRTCImageBuffer
149
+ #### Video rotation direction
2978
150
 
151
+ TRTC provides APIs for setting the rotation angle of local and remote video. The angles listed below are in a clockwise direction.
152
+ | Enumeration | Value | Description |
153
+ | --- | --- | --- |
154
+ | TRTCVideoRotation0 | 0 | No rotation. |
155
+ | TRTCVideoRotation90 | 1 | Rotate clockwise by 90 degrees. |
156
+ | TRTCVideoRotation180 | 2 | Rotate clockwise by 180 degrees. |
157
+ | TRTCVideoRotation270 | 3 | Rotate clockwise by 270 degrees. |
2979
158
 
159
+ ## TRTCBeautyStyle
2980
160
 
2981
- #### TRTC screen sharing icon information and mute image spacer
2982
- <table>
2983
- <tr>
2984
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
161
+ #### Beauty Filter (Skin Smoothing) algorithm
2985
162
 
2986
- <td rowspan="1" colSpan="1" >Description</td>
2987
- </tr>
163
+ TRTC offers various skin smoothing algorithms. You can choose the one that best fits your product positioning.
164
+ | Enumeration | Value | Description |
165
+ | --- | --- | --- |
166
+ | TRTCBeautyStyleSmooth | 0 | Smooth: This aggressive algorithm results in a more pronounced skin smoothing effect, suitable for show live streaming. |
167
+ | TRTCBeautyStyleNature | 1 | Natural: This algorithm retains more facial details, resulting in a more natural smoothing effect, suitable for most live streaming scenarios. |
2988
168
 
2989
- <tr>
2990
- <td rowspan="1" colSpan="1" >buffer</td>
169
+ ## TRTCVideoPixelFormat
2991
170
 
2992
- <td rowspan="1" colSpan="1" >Contents of image storage, generally in BGRA structure.</td>
2993
- </tr>
171
+ #### Video pixel format
2994
172
 
2995
- <tr>
2996
- <td rowspan="1" colSpan="1" >height</td>
173
+ TRTC provides custom data collection and custom rendering features for video:
174
+ - In the custom data collection feature, you can use the following enumeration values to describe the pixel format of your captured video.
2997
175
 
2998
- <td rowspan="1" colSpan="1" >Height of the image.</td>
2999
- </tr>
176
+ - In the custom rendering feature, you can specify the pixel format you expect the SDK to call back.
3000
177
 
3001
- <tr>
3002
- <td rowspan="1" colSpan="1" >length</td>
178
+ | Enumeration | Value | Description |
179
+ | --- | --- | --- |
180
+ | TRTCVideoPixelFormat_Unknown | 0 | Undefined format. |
181
+ | TRTCVideoPixelFormat_I420 | 1 | YUV420P (I420) format. |
182
+ | TRTCVideoPixelFormat_Texture_2D | 2 | OpenGL 2D texture format. |
183
+ | TRTCVideoPixelFormat_BGRA32 | 3 | BGRA format |
184
+ | TRTCVideoPixelFormat_NV21 | 4 | NV21 format. |
185
+ | TRTCVideoPixelFormat_RGBA32 | 5 | RGBA format. |
3003
186
 
3004
- <td rowspan="1" colSpan="1" >Size of the image data.</td>
3005
- </tr>
187
+ ## TRTCVideoBufferType
3006
188
 
3007
- <tr>
3008
- <td rowspan="1" colSpan="1" >width</td>
189
+ #### Video data transfer method
3009
190
 
3010
- <td rowspan="1" colSpan="1" >Width of the image.</td>
3011
- </tr>
3012
- </table>
191
+ In custom data collection and custom rendering features, you need to use the following enumerated values to specify how you want to transmit video data:
192
+ - Option 1: Transmit video data using Memory Buffer. This method is efficient on iOS, but less efficient on Android, and Windows currently only supports Memory Buffer transmission.
3013
193
 
194
+ - Option 2: Transmit video data using Texture. This method is highly efficient on both iOS and Android, but not supported on Windows. A certain level of OpenGL programming knowledge is required.
3014
195
 
3015
- ## TRTCScreenCaptureSourceInfo
196
+ | Enumeration | Value | Description |
197
+ | --- | --- | --- |
198
+ | TRTCVideoBufferType_Unknown | 0 | Undefined transmission method. |
199
+ | TRTCVideoBufferType_Buffer | 1 | Transmit video data using Memory Buffer, iOS: PixelBuffer; Android: Direct Buffer for JNI layer; Win: Memory Data Block. |
200
+ | TRTCVideoBufferType_Texture | 3 | Transmit video data using OpenGL texture. |
201
+ | TRTCVideoBufferType_TextureD3D11 | 4 | Transmit video data using D3D11 texture. |
3016
202
 
203
+ ## TRTCVideoMirrorType
3017
204
 
205
+ #### Video mirroring type
3018
206
 
3019
- #### Target information for screen sharing (only applicable to desktop systems)
207
+ Video mirroring refers to flipping the video content horizontally, especially for the local camera preview video. Enabling mirroring can provide the host with a familiar "mirror" experience.
208
+ | Enumeration | Value | Description |
209
+ | --- | --- | --- |
210
+ | TRTCVideoMirrorType_Auto | 0 | Automatic Mode: If using the front-facing camera, enable mirroring; if using the rear-facing camera, disable mirroring (only applicable to mobile devices). |
211
+ | TRTCVideoMirrorType_Enable | 1 | Force On mirroring, regardless of whether the current camera is front-facing or rear-facing. |
212
+ | TRTCVideoMirrorType_Disable | 2 | Force Off mirroring, regardless of whether the current camera is front-facing or rear-facing. |
3020
213
 
3021
- When users are sharing a screen, they can choose to capture the entire desktop or just a specific program window.
214
+ ## TRTCSnapshotSourceType
3022
215
 
3023
- TRTCScreenCaptureSourceInfo describes the target information to be shared, including ID, name, thumbnail, etc. The field information in this structure is read-only.
3024
- <table>
3025
- <tr>
3026
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
216
+ #### Data source for local video screenshot
3027
217
 
3028
- <td rowspan="1" colSpan="1" >Description</td>
3029
- </tr>
218
+ The SDK supports capturing images from the following two data sources and saving them as local files:
219
+ - Video Stream: Capture native video content from the video stream. The captured content is not controlled by the rendering controls.
3030
220
 
3031
- <tr>
3032
- <td rowspan="1" colSpan="1" >height</td>
221
+ - Rendering Layer: Capture the displayed video content from the rendering controls, achieving a What You See Is What You Get (WYSIWYG) effect. However, if the display area is too small, the captured image will also be small.
3033
222
 
3034
- <td rowspan="1" colSpan="1" >[Field meaning] Screen/Window height, in pixels.</td>
3035
- </tr>
223
+ - Capture Layer: Capture the video content collected by the capture controls, allowing for the extraction of high-definition screenshots.
3036
224
 
3037
- <tr>
3038
- <td rowspan="1" colSpan="1" >iconBGRA</td>
225
+ | Enumeration | Value | Description |
226
+ | --- | --- | --- |
227
+ | TRTCSnapshotSourceTypeStream | 0 | Capture native video content from the video stream. The captured content is not controlled by the rendering controls. |
228
+ | TRTCSnapshotSourceTypeView | 1 | Capture the displayed video content from the rendering controls, achieving a What You See Is What You Get (WYSIWYG) effect. However, if the display area is too small, the captured image will also be small. |
229
+ | TRTCSnapshotSourceTypeCapture | 2 | Capture the video content collected by the capture controls, allowing for the extraction of high-definition screenshots. |
3039
230
 
3040
- <td rowspan="1" colSpan="1" >[Field meaning] Icon of the shared window.</td>
3041
- </tr>
231
+ ## TRTCAppScene
3042
232
 
3043
- <tr>
3044
- <td rowspan="1" colSpan="1" >isMainScreen</td>
233
+ #### Use Cases
3045
234
 
3046
- <td rowspan="1" colSpan="1" >[Field meaning] Whether it is the main display screen (applies to the multi-monitor setup).</td>
3047
- </tr>
235
+ TRTC has optimized for common audio and video application scenarios to meet the differentiated requirements of various vertical scenarios. The main scenarios can be categorized into two types:
236
+ - Live Streaming (LIVE) Scenario: Includes LIVE and VoiceChatRoom. The former is audio + video, while the latter is audio only.
3048
237
 
3049
- <tr>
3050
- <td rowspan="1" colSpan="1" >isMinimizeWindow</td>
238
+ In the live streaming scenario, users are divided into two roles: "Anchors" and "Audience." A single room can support up to 100,000 people online simultaneously, making it suitable for live streaming scenarios with a large audience.
239
+ - Real-Time (RTC) Scenario: Includes VideoCall and AudioCall. The former is audio + video, while the latter is audio only.
3051
240
 
3052
- <td rowspan="1" colSpan="1" >[Field meaning] Whether the window is minimized.</td>
3053
- </tr>
241
+ In the real-time scenario, there is no role differentiation among users, but a single room can support up to 300 people online simultaneously, making it suitable for small-scale real-time communication.
242
+ | Enumeration | Value | Description |
243
+ | --- | --- | --- |
244
+ | TRTCAppSceneVideoCall | 0 | Video call scenario, supports 720p and 1080p HD quality, each room can have up to 300 concurrent users, with a maximum of 50 users speaking simultaneously.<br>Applicable to [One-to-one video call], [300-person video conference], [Online consultation], [Educational small class], [Remote interview], and other business scenarios. |
245
+ | TRTCAppSceneLIVE | 1 | Video interactive live streaming, supports smooth mic switching without waiting, anchor delay less than 300 ms; supports up to 100,000 concurrent viewers, with playback latency as low as 1,000 ms.<br>Applicable to [Low-latency interactive live streaming], [Large class], [Host PK], [Video blind dating], [Online interactive classroom], [Remote training], [Large-scale conferences], and other business scenarios.<br>**Note**<br>In this scenario, you must specify the current user's role through the role field in TRTCParams. |
246
+ | TRTCAppSceneAudioCall | 2 | Voice call scenario, default uses SPEECH quality, each room can have up to 300 concurrent users, with a maximum of 50 users speaking simultaneously.<br>Applicable to [One-to-one voice call], [300-person voice conference], [Voice chat], [Voice conference], [Online Werewolf Game], and other business scenarios. |
247
+ | TRTCAppSceneVoiceChatRoom | 3 | Voice interactive live streaming, supports smooth mic switching without waiting, anchor delay less than 300 ms; supports up to 100,000 concurrent viewers, with playback latency as low as 1,000 ms.<br>Applicable to [Voice club], [Online KTV room], [Music live broadcast room], [FM radio station], and other business scenarios.<br>**Note**<br>In this scenario, you must specify the current user's role through the role field in TRTCParams. |
3054
248
 
3055
- <tr>
3056
- <td rowspan="1" colSpan="1" >sourceId</td>
249
+ ## TRTCRoleType
3057
250
 
3058
- <td rowspan="1" colSpan="1" >[Field meaning] The ID of the capture source: for a window, this field represents the window ID; for a screen, this field represents the monitor ID.</td>
3059
- </tr>
251
+ #### Roles
3060
252
 
3061
- <tr>
3062
- <td rowspan="1" colSpan="1" >sourceName</td>
253
+ Only applicable to live streaming scenarios (i.e., TRTCAppSceneLIVE and TRTCAppSceneVoiceChatRoom), distinguishing users into two different identities:
254
+ - Anchors: Can publish their own audio and video streams at any time, but the number of anchors is limited. A maximum of 50 anchors can publish their audio and video streams simultaneously in the same room.
3063
255
 
3064
- <td rowspan="1" colSpan="1" >[Field meaning] Capturing source name (encoded in UTF8).</td>
3065
- </tr>
256
+ - Audience: Can only watch other users' audio and video streams. To publish audio and video streams, they need to switch their role to anchor using switchRole. A single room can accommodate up to 100,000 audience members.
3066
257
 
3067
- <tr>
3068
- <td rowspan="1" colSpan="1" >thumbBGRA</td>
258
+ | Enumeration | Value | Description |
259
+ | --- | --- | --- |
260
+ | TRTCRoleAnchor | 20 | Anchors: Can publish their own audio and video streams at any time, but the number of anchors is limited. A maximum of 50 anchors can publish their audio and video streams simultaneously in the same room. |
261
+ | TRTCRoleAudience | 21 | Audience: Can only watch other users' audio and video streams. To publish audio and video streams, they need to switch their role to anchor using switchRole. A single room can accommodate up to 100,000 audience members. |
3069
262
 
3070
- <td rowspan="1" colSpan="1" >[Field meaning] Thumbnail of the shared window.</td>
3071
- </tr>
263
+ ## TRTCQosControlMode(Deprecated)
3072
264
 
3073
- <tr>
3074
- <td rowspan="1" colSpan="1" >type</td>
265
+ #### Traffic control mode (deprecated)
266
+ | Enumeration | Value | Description |
267
+ | --- | --- | --- |
268
+ | TRTCQosControlModeClient | 0 | Local Control, used for SDK development internal debugging, please do not use for customers. |
269
+ | TRTCQosControlModeServer | 1 | Cloud Control, the default mode, is recommended. |
3075
270
 
3076
- <td rowspan="1" colSpan="1" >[Field meaning] Collection source type (Is it sharing the entire screen or a specific window?).</td>
3077
- </tr>
271
+ ## TRTCVideoQosPreference
3078
272
 
3079
- <tr>
3080
- <td rowspan="1" colSpan="1" >width</td>
273
+ #### Image quality preference
3081
274
 
3082
- <td rowspan="1" colSpan="1" >[Field meaning] Screen/Window width, in pixels.</td>
3083
- </tr>
275
+ TRTC offers two adjustment modes under a weak network environment: "Prioritize Clear Picture" or "Prioritize Smooth Picture". Both modes will primarily ensure audio data transmission.
276
+ | Enumeration | Value | Description |
277
+ | --- | --- | --- |
278
+ | TRTCVideoQosPreferenceSmooth | 1 | Smooth Priority: When the current network is insufficient to transmit both clear and smooth images, it prioritizes the smoothness of the picture, which results in a blurrier image with more mosaics. |
279
+ | TRTCVideoQosPreferenceClear | 2 | Clarity Priority (default): When the current network is insufficient to transmit both clear and smooth images, it prioritizes the clarity of the picture, which results in more stuttering. |
3084
280
 
3085
- <tr>
3086
- <td rowspan="1" colSpan="1" >x</td>
281
+ ## TRTCQuality
3087
282
 
3088
- <td rowspan="1" colSpan="1" >[Field meaning] Screen/Window x coordinate, in pixels.</td>
3089
- </tr>
283
+ #### Network quality
3090
284
 
3091
- <tr>
3092
- <td rowspan="1" colSpan="1" >y</td>
285
+ TRTC evaluates the current network quality every two seconds, with six evaluation levels: Excellent indicating the best, and Down indicating the worst.
286
+ | Enumeration | Value | Description |
287
+ | --- | --- | --- |
288
+ | TRTCQuality_Unknown | 0 | Undefined. |
289
+ | TRTCQuality_Excellent | 1 | The current network is excellent. |
290
+ | TRTCQuality_Good | 2 | The current network is good. |
291
+ | TRTCQuality_Poor | 3 | The current network is average. |
292
+ | TRTCQuality_Bad | 4 | The current network is poor. |
293
+ | TRTCQuality_Vbad | 5 | The current network is very poor. |
294
+ | TRTCQuality_Down | 6 | The current network does not meet the minimum requirements of TRTC. |
3093
295
 
3094
- <td rowspan="1" colSpan="1" >[Field meaning] Screen/Window y coordinate, in pixels.</td>
3095
- </tr>
3096
- </table>
296
+ ## TRTCAVStatusType
3097
297
 
298
+ #### Audio/Video status type
3098
299
 
3099
- ## TRTCScreenCaptureProperty
300
+ This enumeration type is used for audio status change callback interfaces (onRemoteAudioStatusUpdated) and video status change callback interfaces (onRemoteVideoStatusUpdated) to specify the current audio or video status.
301
+ | Enumeration | Value | Description |
302
+ | --- | --- | --- |
303
+ | TRTCAVStatusStopped | 0 | Stops playback. |
304
+ | TRTCAVStatusPlaying | 1 | Playing. |
305
+ | TRTCAVStatusLoading | 2 | Loading. |
3100
306
 
307
+ ## TRTCAVStatusChangeReason
3101
308
 
309
+ #### Audio/Video status change reason type
3102
310
 
3103
- #### Advanced control parameters for screen sharing
311
+ This enumeration type is used for audio status change callback interfaces (onRemoteAudioStatusUpdated) and video status change callback interfaces (onRemoteVideoStatusUpdated) to specify the reason for the current audio or video status change.
312
+ | Enumeration | Value | Description |
313
+ | --- | --- | --- |
314
+ | TRTCAVStatusChangeReasonInternal | 0 | Default value. |
315
+ | TRTCAVStatusChangeReasonBufferingBegin | 1 | Network buffering. |
316
+ | TRTCAVStatusChangeReasonBufferingEnd | 2 | End buffering. |
317
+ | TRTCAVStatusChangeReasonLocalStarted | 3 | Locally starts playing the audio or video stream. |
318
+ | TRTCAVStatusChangeReasonLocalStopped | 4 | Locally stops playing the audio or video stream. |
319
+ | TRTCAVStatusChangeReasonRemoteStarted | 5 | Starts (or resumes) the remote audio or video stream. |
320
+ | TRTCAVStatusChangeReasonRemoteStopped | 6 | Stops (or interrupts) the remote audio or video stream. |
3104
321
 
3105
- This parameter is used for the screen sharing related interface [selectScreenCaptureTarget](https://write.woa.com/document/87030026264555520), for setting a series of advanced control parameters when specifying the sharing target.
322
+ ## TRTCAudioQuality
3106
323
 
3107
- For example: whether to capture the mouse, whether to capture sub-windows, whether to draw a border around the shared target, etc.
3108
- <table>
3109
- <tr>
3110
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
324
+ #### Sound quality
3111
325
 
3112
- <td rowspan="1" colSpan="1" >Description</td>
3113
- </tr>
326
+ TRTC provides three carefully calibrated modes to meet the diverse pursuit of audio quality in various vertical scenarios:
327
+ - Vocal Mode (Speech): Suitable for applications focused on voice communication. This mode offers strong audio transmission resistance, ensuring optimal smoothness in weak network environments through various voice processing techniques.
3114
328
 
3115
- <tr>
3116
- <td rowspan="1" colSpan="1" >enableCaptureChildWindow</td>
329
+ - Music Mode (Music): Suitable for scenarios with high vocal demands. This mode transmits a large amount of audio data, ensuring high-fidelity detail reproduction of music signals across all frequency bands through various technologies.
3117
330
 
3118
- <td rowspan="1" colSpan="1" >[Field meaning] Whether to capture sub-windows during window capture (the sub-window needs to have the Owner or Popup attribute), default is false.</td>
3119
- </tr>
331
+ - Default Mode (Default): Positioned between Speech and Music, this mode offers better music reproduction than the Vocal Mode but transmits much less data than the Music Mode. It is well-suited for various scenarios.
3120
332
 
3121
- <tr>
3122
- <td rowspan="1" colSpan="1" >enableCaptureMouse</td>
333
+ | Enumeration | Value | Description |
334
+ | --- | --- | --- |
335
+ | TRTCAudioQualitySpeech | 1 | Vocal Mode: Sampling Rate: 16k; Mono; Encoding Bitrate: 16kbps; Offers the strongest network resistance among the modes, suitable for voice-focused scenarios such as online meetings and voice calls. |
336
+ | TRTCAudioQualityDefault | 2 | Default Mode: Sampling Rate: 48k; Mono; Encoding Bitrate: 50kbps; A tier between Speech and Music, the default level of the SDK, recommended. |
337
+ | TRTCAudioQualityMusic | 3 | Music Mode: Sampling Rate: 48k; Full-band Stereo; Encoding Bitrate: 128kbps; Suitable for scenarios requiring high-fidelity music transmission, such as online karaoke and music live streaming. |
3123
338
 
3124
- <td rowspan="1" colSpan="1" >[Field meaning] Whether to capture the mouse along with the target content, default is true.</td>
3125
- </tr>
339
+ ## TRTCAudioFrameFormat
3126
340
 
3127
- <tr>
3128
- <td rowspan="1" colSpan="1" >enableHighLight</td>
341
+ #### Content format of audio frame
342
+ | Enumeration | Value | Description |
343
+ | --- | --- | --- |
344
+ | TRTCAudioFrameFormatNone | 0 | None |
345
+ | TRTCAudioFrameFormatPCM | Not Defined | Audio data in PCM format. |
3129
346
 
3130
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to highlight the window being shared (draw a border around the shared target), default is true.</td>
3131
- </tr>
347
+ ## TRTCAudioFrameOperationMode
3132
348
 
3133
- <tr>
3134
- <td rowspan="1" colSpan="1" >enableHighPerformance</td>
349
+ #### Audio Callback Data Read/Write Mode
3135
350
 
3136
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to enable High-Performance Mode (only effective when sharing the screen), default is true.<br>[Special Instruction] Performance is optimal when enabled, but it will lose anti-occlusion capability. If you enable both enableHighLight and enableHighPerformance, the remote user can see the highlighted border.</td>
3137
- </tr>
351
+ TRTC provides two operation modes for audio callback data.
352
+ - Read-Write Mode: You can retrieve and modify the callback audio data. This is the default mode.
3138
353
 
3139
- <tr>
3140
- <td rowspan="1" colSpan="1" >highLightColor</td>
354
+ - Read-Only Mode: You can only retrieve the audio data from the callback.
3141
355
 
3142
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the color of the highlight border in RGB format. If 0 is passed, the default color is used, which is #FFE640.</td>
3143
- </tr>
356
+ | Enumeration | Value | Description |
357
+ | --- | --- | --- |
358
+ | TRTCAudioFrameOperationModeReadWrite | 0 | Read-Write Mode: You can retrieve and modify the callback audio data. |
359
+ | TRTCAudioFrameOperationModeReadOnly | 1 | Read-Only Mode: You can only retrieve the audio data from the callback. |
3144
360
 
3145
- <tr>
3146
- <td rowspan="1" colSpan="1" >highLightWidth</td>
361
+ ## TRTCLogLevel
3147
362
 
3148
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the width of the highlight border. If 0 is passed, the default stroke width is used. The default width is 5px, and the maximum value you can set is 50.</td>
3149
- </tr>
3150
- </table>
363
+ #### Log Level
3151
364
 
365
+ Different log levels define different levels of detail and log quantities. It is recommended to set the log level to TRTCLogLevelInfo under normal circumstances.
366
+ | Enumeration | Value | Description |
367
+ | --- | --- | --- |
368
+ | TRTCLogLevelVerbose | 0 | Output all levels of logs. |
369
+ | TRTCLogLevelDebug | 1 | Output DEBUG, INFO, WARNING, ERROR, and FATAL levels of logs. |
370
+ | TRTCLogLevelInfo | 2 | Output INFO, WARNING, ERROR, and FATAL levels of logs. |
371
+ | TRTCLogLevelWarn | 3 | Output WARNING, ERROR, and FATAL levels of logs. |
372
+ | TRTCLogLevelError | 4 | Output ERROR and FATAL levels of logs. |
373
+ | TRTCLogLevelFatal | 5 | Output only FATAL level logs. |
374
+ | TRTCLogLevelNone | 6 | Do not output any SDK logs. |
3152
375
 
3153
- ## TRTCAudioParallelParams
376
+ ## TRTCScreenCaptureSourceType
3154
377
 
378
+ #### Target Type for Screen Sharing (Only applicable to desktop devices)
379
+ | Enumeration | Value | Description |
380
+ | --- | --- | --- |
381
+ | TRTCScreenCaptureSourceTypeUnknown | -1 | Undefined. |
382
+ | TRTCScreenCaptureSourceTypeWindow | 0 | The share target is a window of an application. |
383
+ | TRTCScreenCaptureSourceTypeScreen | 1 | The share target is the screen of a monitor. |
384
+ | TRTCScreenCaptureSourceTypeCustom | 2 | This sharing target is a user-defined data source. |
3155
385
 
386
+ ## TRTCTranscodingConfigMode
3156
387
 
3157
- #### Parameters for Intelligent Concurrent Playback Strategy of Remote Audio Stream
388
+ #### Layout Mode for Cloud Mixed Streaming
3158
389
 
3159
- This parameter is used to set the intelligent concurrent playback strategy for remote audio streams.
3160
- <table>
3161
- <tr>
3162
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
390
+ TRTC's cloud mixed streaming service can combine multiple audio and video streams in a room into one stream. Therefore, you need to specify a layout plan for the screen. We offer the following layout modes.
391
+ | Enumeration | Value | Description |
392
+ | --- | --- | --- |
393
+ | TRTCTranscodingConfigMode_Unknown | 0 | Undefined. |
394
+ | TRTCTranscodingConfigMode_Manual | 1 | Fully Manual Layout Mode.<br>In this mode, you need to specify the exact layout position for each screen. This mode offers the highest degree of freedom but is the least user-friendly:<br>- You need to fill in all parameters in TRTCTranscodingConfig, including the position coordinates for each screen (TRTCMixUser).<br>- You need to monitor the onUserVideoAvailable() and onUserAudioAvailable() event callbacks in ITRTCCloudCallback, and continuously adjust the mixUsers parameters based on the audio and video status of users on each mic in the current room. |
395
+ | TRTCTranscodingConfigMode_Template_PureAudio | 2 | Pure Audio Mode.<br>This mode is suitable for voice call (AudioCall) and voice chat room (VoiceChatRoom) audio-only applications.<br>- After entering the room, you only need to set up the mixing configuration once through the setMixTranscodingConfig interface. The SDK will then automatically mix the audio of all on-mic users in the room into the current user's live stream.<br>- You don't need to set the mixUsers parameters in TRTCTranscodingConfig. Just set the audioSampleRate, audioBitrate, and audioChannels parameters. |
396
+ | TRTCTranscodingConfigMode_Template_PresetLayout | 3 | Pre-layout Mode.<br>The most popular layout mode because it supports pre-setting the positions of each screen using placeholders, and then the SDK will automatically adapt and adjust based on the number of screens in the room.<br>In this mode, you still need to set the mixUsers parameters, but you can set the userId to "Placeholder". The available placeholders are:<br>- "$PLACE_HOLDER_REMOTE$" : Represents the remote user's screen. Multiple instances can be set.<br>- "$PLACE_HOLDER_LOCAL_MAIN$" : Represents the local camera screen. Only one instance is allowed.<br>- "$PLACE_HOLDER_LOCAL_SUB$" : Represents the local screen sharing. Only one instance is allowed.<br>In this mode, you do not need to monitor the onUserVideoAvailable and onUserAudioAvailable callbacks in ITRTCCloudCallback for real-time adjustment. You just need to call setMixTranscodingConfig once after successfully entering the room; thereafter, the SDK will automatically fill the real userId into the placeholders you set. |
397
+ | TRTCTranscodingConfigMode_Template_ScreenSharing | 4 | Screen Sharing Mode.<br>Suitable for online education scenarios and other screen sharing-centric applications, this mode is only supported on Windows and Mac SDKs.<br>In this mode, the SDK will first build a canvas based on the target resolution you set via the videoWidth and videoHeight parameters,<br>- If the teacher does not activate the screen sharing, the SDK will proportionally stretch and draw the teacher's camera feed onto the canvas;<br>- When the teacher activates screen sharing, the SDK will draw the screen sharing feed onto the same canvas.<br>The purpose of this layout is to ensure that the output resolution of the stream mixing module is consistent, avoiding screen tearing issues during course playback and web viewing (web players do not support variable resolutions).<br>Additionally, the students' audio will be mixed into the teacher's audio and video stream by default.<br>Since video content in teaching mode is primarily screen sharing, simultaneously transmitting the camera feed and the screen sharing feed is very bandwidth-intensive.<br>The recommended approach is to directly render the camera feed onto the current screen via the setLocalVideoRenderCallback interface.<br>In this mode, you don't need to set the mixUsers parameters in TRTCTranscodingConfig. The SDK will not mix the students' screens to prevent interference with the screen sharing effect.<br>You can set the width x height in TRTCTranscodingConfig to 0px × 0px. The SDK will automatically calculate a suitable resolution based on the user's current screen aspect ratio<br>- If the teacher's current screen width is <= 1920px, the SDK will use the actual resolution of the teacher's current screen.<br>- If the teacher's current screen width is > 1920px, the SDK will choose one of the three resolutions based on the current screen aspect ratio: 1920x1080 (16:9), 1920x1200 (16:10), or 1920x1440 (4:3). |
3163
398
 
3164
- <td rowspan="1" colSpan="1" >Description</td>
3165
- </tr>
399
+ ## TRTCRecordType
3166
400
 
3167
- <tr>
3168
- <td rowspan="1" colSpan="1" >includeUsersCount</td>
401
+ #### Media Recording Type
3169
402
 
3170
- <td rowspan="1" colSpan="1" >[Field meaning] Designated users who will definitely be able to play concurrently.<br>[Special note] List of user IDs for guaranteed concurrent playback. These users are not part of the intelligent selection.<br>The number of includeUsers must be less than maxCount, otherwise, the concurrent playback setting is invalid.<br>includeUsers is only effective when maxCount > 0. When includeUsers is effective, the maximum number of concurrent intelligent selections = maxCount - the number of effective includeUsers.</td>
3171
- </tr>
403
+ This enumeration type is used for the local media recording interface startLocalRecording to specify whether to record audio and video files or pure audio files.
404
+ | Enumeration | Value | Description |
405
+ | --- | --- | --- |
406
+ | TRTCLocalRecordType_Audio | 0 | Audio recording only. |
407
+ | TRTCLocalRecordType_Video | 1 | Video recording only. |
408
+ | TRTCLocalRecordType_Both | 2 | Record both audio and video. |
3172
409
 
3173
- <tr>
3174
- <td rowspan="1" colSpan="1" >maxCount</td>
410
+ ## TRTCMixInputType
3175
411
 
3176
- <td rowspan="1" colSpan="1" >[Field meaning] Maximum number of concurrent playbacks. Default value: 0.<br>- If maxCount > 0 and the actual number of users > maxCount, SDK will intelligently select maxCount streams for playback in real-time, significantly reducing performance consumption.<br>- If maxCount = 0, SDK will not limit the number of concurrent playbacks, which might cause performance issues in rooms with a high number of participants.</td>
3177
- </tr>
3178
- </table>
412
+ #### Mixed Streaming Input Type
413
+ | Enumeration | Value | Description |
414
+ | --- | --- | --- |
415
+ | TRTCMixInputTypeUndefined | 0 | Default value. Considering compatibility with older versions, if you specify the inputType as Undefined, the SDK will determine the mixed input type based on the value of another parameter, pureAudio. |
416
+ | TRTCMixInputTypeAudioVideo | 1 | Mix both audio and video. |
417
+ | TRTCMixInputTypePureVideo | 2 | Mix video only. |
418
+ | TRTCMixInputTypePureAudio | 3 | Mix audio only. |
419
+ | TRTCMixInputTypeWatermark | 4 | Mix watermarks. In this case, you do not need to specify the userId field but need to specify the image field. Using png format images is recommended. |
3179
420
 
421
+ ## TRTCWaterMarkSrcType
3180
422
 
3181
- ## TRTCUser
423
+ #### Watermark image source type
424
+ | Enumeration | Value | Description |
425
+ | --- | --- | --- |
426
+ | TRTCWaterMarkSrcTypeFile | 0 | Image file path, supports BMP, GIF, JPEG, PNG, TIFF, Exif, WMF, and EMF file formats. |
427
+ | TRTCWaterMarkSrcTypeBGRA32 | 1 | BGRA32 format memory block |
428
+ | TRTCWaterMarkSrcTypeRGBA32 | 2 | RGBA32 format memory block. |
3182
429
 
430
+ ## TRTCAudioRecordingContent
3183
431
 
432
+ #### Audio Recording Content Type
3184
433
 
3185
- #### User information on media stream publishing configuration
434
+ This enumeration type is used for the audio recording interface startAudioRecording to specify the content of the audio to be recorded.
435
+ | Enumeration | Value | Description |
436
+ | --- | --- | --- |
437
+ | TRTCAudioRecordingContentAll | 0 | Record all local and remote audio. |
438
+ | TRTCAudioRecordingContentLocal | 1 | Record local audio only. |
439
+ | TRTCAudioRecordingContentRemote | 2 | Record remote audio only. |
3186
440
 
3187
- You can set this parameter, along with media stream target publishing parameters ([TRTCPublishTarget](https://write.woa.com/document/87030132707430400)) and stream mixing transcoding parameters ([TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)), to transcode multiple audio and video streams you specify and publish them to the target publishing address you provide
3188
- <table>
3189
- <tr>
3190
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
441
+ ## TRTCPublishMode
3191
442
 
3192
- <td rowspan="1" colSpan="1" >Description</td>
3193
- </tr>
443
+ #### Media Stream Publication Mode
3194
444
 
3195
- <tr>
3196
- <td rowspan="1" colSpan="1" >intRoomId</td>
445
+ This enumeration type is used for the media stream publishing interface startPublishMediaStream. TRTC's media stream publishing service can mix multiple audio and video streams in the room into one stream and publish it to a CDN or push it back to the room. You can also publish your current audio and video stream to Tencent or a third-party CDN. Therefore, you need to specify the publishing mode of the corresponding media stream. We provide the following modes.
446
+ | Enumeration | Value | Description |
447
+ | --- | --- | --- |
448
+ | TRTCPublishModeUnknown | 0 | Undefined. |
449
+ | TRTCPublishBigStreamToCdn | 1 | You can set this parameter to publish the main stream (TRTCVideoStreamTypeBig) in your room to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol). |
450
+ | TRTCPublishSubStreamToCdn | 2 | You can set this parameter to publish the substream (TRTCVideoStreamTypeSub) in your room to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol). |
451
+ | TRTCPublishMixStreamToCdn | 3 | You can set this parameter, together with encoding output parameters (TRTCStreamEncoderParam) and mix stream transcoding parameters (TRTCStreamMixingConfig), to transcode and publish your specified multiple audio and video streams to Tencent or third-party live streaming CDN services (only supports standard RTMP protocol). |
452
+ | TRTCPublishMixStreamToRoom | 4 | You can set this parameter, together with media stream encoding output parameters (TRTCStreamEncoderParam) and mix stream transcoding parameters (TRTCStreamMixingConfig), to transcode and publish your specified multiple audio and video streams into your specified room.<br>- Specify the robot information for the pushback room through TRTCPublishTarget TRTCUser. |
3197
453
 
3198
- <td rowspan="1" colSpan="1" >[Field meaning] Numeric room number, which needs to match the room number type in your join room parameters ([TRTCParams](https://write.woa.com/document/87030132707430400)).<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Note] intRoomId and strRoomId are mutually exclusive. If you choose strRoomId in your room entry parameters, then intRoomId needs to be set to 0. If both are filled, the SDK will prioritize intRoomId.</td>
3199
- </tr>
454
+ ## TRTCEncryptionAlgorithm
3200
455
 
3201
- <tr>
3202
- <td rowspan="1" colSpan="1" >strRoomId</td>
456
+ #### Encryption Algorithm
3203
457
 
3204
- <td rowspan="1" colSpan="1" >[Field meaning] String room number, which needs to match the room number type in your join room parameters ([TRTCParams](https://write.woa.com/document/87030132707430400)).<br>[Special Note] intRoomId and strRoomId are mutually exclusive. If you choose roomId in your room entry parameters, then strRoomId does not need to be filled. If both are filled, the SDK will prioritize intRoomId.<br>[Recommended Value] Length limit is 64 bytes. The following character set range is supported (a total of 89 characters):<br>- Upper and lowercase English letters (a-zA-Z);<br>- Numbers (0-9);<br>- Space,` ! `,` # `,` $ `,` % `,` & `,` ( `,` ) `,` + `,` - `,` : `,` ; `,` < `,` = `,` . `,` > `,` ? `,` @ `,` [ `,` ] `,` ^ `,` _ `,` { `,` } `,` \| `,` ~ `,` , `.</td>
3205
- </tr>
458
+ This enumeration type is used for the selection of the private encryption algorithm for media streams.
459
+ | Enumeration | Value | Description |
460
+ | --- | --- | --- |
461
+ | TRTCEncryptionAlgorithmAes128Gcm | 0 | AES GCM 128. |
462
+ | TRTCEncryptionAlgorithmAes256Gcm | 1 | AES GCM 256. |
3206
463
 
3207
- <tr>
3208
- <td rowspan="1" colSpan="1" >userId</td>
464
+ ## TRTCSpeedTestScene
3209
465
 
3210
- <td rowspan="1" colSpan="1" >[Field meaning] User identifier, the current user's userId, equivalent to username, using UTF-8 encoding.<br>[Recommended Value] If a user's ID in your account system is "mike", then userId can be set to "mike".</td>
3211
- </tr>
3212
- </table>
466
+ #### Speed Test Scenario
3213
467
 
468
+ This enumeration type is used for selecting the speed test scenario.
469
+ | Enumeration | Value | Description |
470
+ | --- | --- | --- |
471
+ | TRTCSpeedTestScene_DelayTesting | 1 | Latency test. |
472
+ | TRTCSpeedTestScene_DelayAndBandwidthTesting | 2 | Latency and bandwidth test. |
473
+ | TRTCSpeedTestScene_OnlineChorusTesting | 3 | Online chorus test. |
3214
474
 
3215
- ## TRTCPublishCdnUrl
475
+ ## TRTCGravitySensorAdaptiveMode
3216
476
 
477
+ #### Set Adaptation Mode for Gravity Sensor (Only applicable to mobile devices)
478
+ | Enumeration | Value | Description |
479
+ | --- | --- | --- |
480
+ | TRTCGravitySensorAdaptiveMode_Disable | 0 | Turn off gravity sensing. Based on the current captured resolution and the set encoding resolution, if they are inconsistent, rotate by 90 degrees to ensure the maximum frame size. |
481
+ | TRTCGravitySensorAdaptiveMode_FillByCenterCrop | 1 | Enable gravity sensing. Always ensure the remote screen image is correct. When there is a resolution inconsistency, use the centered cropping mode. |
482
+ | TRTCGravitySensorAdaptiveMode_FitWithBlackBorder | 2 | Enable gravity sensing. Always ensure the remote screen image is correct. When there is a resolution inconsistency, use the black border overlay mode. |
3217
483
 
484
+ ## TRTCParams
3218
485
 
3219
- #### URL configuration for publishing audio and video streams to Tencent or third-party CDN
486
+ #### Room entry parameters
3220
487
 
3221
- This configuration is for the target streaming configuration ([TRTCPublishTarget](https://write.woa.com/document/87030132707430400)) in the media stream publishing interface [startPublishMediaStream](https://write.woa.com/document/87030026264555520)
3222
- <table>
3223
- <tr>
3224
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
488
+ As an entry parameter for the TRTC SDK, only if this parameter is filled in correctly can you successfully enter the audio and video room specified by roomId or strRoomId.
3225
489
 
3226
- <td rowspan="1" colSpan="1" >Description</td>
3227
- </tr>
490
+ Due to historical reasons, TRTC supports two types of room numbers, numeric and string, which are roomId and strRoomId respectively.
3228
491
 
3229
- <tr>
3230
- <td rowspan="1" colSpan="1" >isInternalLine</td>
492
+ Please note: Do not mix roomId and strRoomId, as they are not interchangeable. For example, the number 123 and the string "123" are considered two completely different rooms in TRTC.
493
+ | Enumeration Types | Description |
494
+ | --- | --- |
495
+ | businessInfo | [Field Meaning] Business data field (optional). This field is required for some advanced features.<br>[Recommended Value] Please do not set this field yourself. |
496
+ | privateMapKey | [Field Meaning] Permission ticket used for permission control (optional). If you want only specific userIds to enter a room, you need to use privateMapKey for permission protection.<br>[Recommended Value] Only recommended for customers with high-level security requirements. For more details, please refer to [Room Entry Permission Protection](https://cloud.tencent.com/document/product/647/32240). |
497
+ | role | [Field Meaning] Role in live streaming scenarios, only applicable to live streaming scenarios (TRTCAppSceneLIVE and TRTCAppSceneVoiceChatRoom). Specifying this parameter in a calling scenario is ineffective.<br>[Recommended Value] Default value: Anchor (TRTCRoleAnchor). |
498
+ | roomId | [Field Meaning] Numeric room number, where users (userId) in the same room can see each other and make audio and video calls.<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Explanation] roomId and strRoomId are mutually exclusive. If you choose strRoomId, roomId must be set to 0. If both are filled, the SDK will prioritize roomId.<br>[Please note] Do not mix roomId and strRoomId as they are not interchangeable. For example, the number 123 and the string `123` are considered two entirely different rooms in TRTC. |
499
+ | sdkAppId | [Field Meaning] Application Identifier (Required). Tencent Cloud uses sdkAppId for billing statistics.<br>[Recommended Value] This ID can be obtained from the account information page after creating an application in the [TRTC Console](https://console.cloud.tencent.com/rav/). |
500
+ | strRoomId | [Field Meaning] String room number, where users (userId) in the same room can see each other and make audio and video calls.<br>[Special Explanation] roomId and strRoomId are mutually exclusive. If you choose strRoomId, roomId must be set to 0. If both are filled, the SDK will prioritize roomId.<br>[Please note] Do not mix roomId and strRoomId as they are not interchangeable. For example, the number 123 and the string `123` are considered two entirely different rooms in TRTC.<br>[Recommended Value] Length limit is 64 bytes. The following character set range is supported (a total of 89 characters):<br>- Upper and lowercase English letters (a-zA-Z);<br>- Numbers (0-9);<br>- Space,` ! `,` # `,` $ `,` % `,` & `,` ( `,` ) `,` + `,` - `,` : `,` ; `,` < `,` = `,` . `,` > `,` ? `,` @ `,` [ `,` ] `,` ^ `,` _ `,` { `,` } `,` \\| `,` ~ `,` , `. |
501
+ | streamId | [Field Meaning] Used to specify the streamId on the Tencent CSS platform (optional). Once set, you can play the user's audio and video streams on the Tencent CSS CDN through the standard pull streaming scheme (FLV or HLS).<br>[Recommended Value] Length limit is 64 bytes and can be left blank. A recommended scheme is to use ` sdkappid_roomid_userid_main ` as the streamId. This naming convention is easy to identify and will not conflict with your multiple applications.<br>[Special Note] To use Tencent CSS CDN, you need to first enable the "Automatic Bypass Live Streaming" switch on the feature configuration page in the [console](https://console.cloud.tencent.com/trtc/).<br>[Reference Document][CDN Bypass Live Streaming](https://cloud.tencent.com/document/product/647/16826). |
502
+ | userDefineRecordId | [Field Meaning] Cloud recording switch (optional). Used to specify whether to record this user's audio and video streams in the cloud.<br>[Reference Document][Cloud Recording](https://cloud.tencent.com/document/product/647/16823).<br>[Recommended Value] Length limit is 64 bytes. Only uppercase and lowercase English letters (a-zA-Z), numbers (0-9), underscores, and hyphens are allowed.<br>Scheme 1: Manual Recording Scheme:<br>1. Enable Cloud Recording in the [Console](https://console.cloud.tencent.com/trtc)>Application Management>Cloud Recording Configuration.<br>2. Set the ` recording mode ` to ` manual recording `.<br>3. After setting manual recording, only users who set the userDefineRecordId parameter in a TRTC room will have recorded video files on the cloud. Users who do not specify this parameter will not be recorded.<br>4. The cloud will name the recorded files in the format "userDefineRecordId_start time_end time".<br>Scheme 2: Automatic Recording Scheme:<br>1. Enable Cloud Recording in the [Console](https://console.cloud.tencent.com/trtc)>Application Management>Cloud Recording Configuration.<br>2. Set the ` recording mode ` to ` automatic recording `.<br>3. After setting automatic recording, any user with audio/video uplink in a TRTC room will have recorded video files on the cloud.<br>4. The files will be named in the format ` userDefineRecordId_start time_end time `. If userDefineRecordId is not specified, the files will be named in the format ` streamId_start time_end time `. |
503
+ | userId | [Field Meaning] User Identification (Required). The current user's userId, equivalent to username, using UTF-8 encoding.<br>[Recommended Value] If a user's ID in your account system is "mike", then userId can be set to "mike". |
504
+ | userSig | [Field Meaning] User Signature (Required). The verification signature corresponding to the current userId, equivalent to using the cloud service's login password.<br>[Recommended Value] For the specific calculation method, please see [How to Calculate UserSig](https://cloud.tencent.com/document/product/647/17275). |
3231
505
 
3232
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies whether the audio and video stream is published to Tencent Cloud.<br>[Recommended Values] Default: true.<br>[Special Instructions] If your target live streaming service provider is Tencent, set this parameter to true. The backend billing system will not charge for the retweet service fee in this case.</td>
3233
- </tr>
506
+ ## TRTCVideoEncParam
3234
507
 
3235
- <tr>
3236
- <td rowspan="1" colSpan="1" >rtmpUrl</td>
508
+ #### Video encoding parameters
3237
509
 
3238
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the streaming address (RTMP format) of the audio and video stream on Tencent or third-party live streaming service providers.<br>[Recommended Value] The rules for the streaming address vary greatly between service providers. Please fill in a valid streaming URL according to the requirements of the target service provider. The TRTC backend server will publish the standard format audio and video streams to the third-party provider according to the URL you filled in.<br>[Special Instructions] The streaming URL must be in RTMP format and comply with your target live streaming service provider's specifications, otherwise, the target service provider will reject push-stream requests from the TRTC backend services.</td>
3239
- </tr>
3240
- </table>
510
+ This setting determines the picture quality seen by remote users and also the picture quality of the video files recorded on the cloud.
511
+ | Enumeration Types | Description |
512
+ | --- | --- |
513
+ | enableAdjustRes | [Field Meaning] Whether to allow dynamic resolution adjustment (enabling this will impact cloud recording).<br>[Recommended Value] This feature is suitable for scenarios where cloud recording is not needed. When enabled, the SDK will intelligently select an appropriate resolution based on the current network conditions to avoid inefficient encoding modes like "high resolution + low bitrate".<br>[Special Note] Default value: Disabled. If you need cloud recording, do not enable this feature because if the video resolution changes, the recorded MP4 on the cloud cannot be played properly on regular players. |
514
+ | minVideoBitrate | [Field Meaning] Minimum video bitrate. The SDK will actively lower the video bitrate when the network is poor to maintain smoothness, with the minimum lowered to the value set by minVideoBitrate.<br>[Special Note] Default value: 0, in which case the minimum bitrate will be automatically calculated by the SDK based on the resolution you specified.<br>[Recommended Value] You can set both videoBitrate and minVideoBitrate parameters simultaneously to constrain the SDK's video bitrate adjustment range:<br>- If you pursue ` allowing stuttering under weak networks but maintaining clarity `, you can set minVideoBitrate to 60% of videoBitrate.<br>- If you pursue ` allowing blurriness under weak networks but maintaining smoothness `, you can set minVideoBitrate to a lower value (e.g., 100kbps).<br>- If you set videoBitrate and minVideoBitrate to the same value, it is equivalent to disabling the SDK's adaptive video bitrate adjustment capability. |
515
+ | resMode | [Field Meaning] Resolution Mode (horizontal resolution or vertical resolution).<br>[Recommended Value] For mobile platforms (iOS, Android), it is recommended to choose Portrait. For desktop platforms (Windows, Mac), it is recommended to choose Landscape.<br>[Special Note] If you need to use vertical resolution, specify resMode as Portrait, e.g., 640 × 360 + Portrait = 360 × 640. |
516
+ | videoBitrate | [Field Meaning] Target video bitrate. The SDK will encode according to the target bitrate and will only actively lower the video bitrate in weak network environments.<br>[Recommended Value] Please refer to the optimal bitrate annotations for each level in TRTCVideoResolution, which can also be appropriately increased. For example, TRTCVideoResolution_1280_720 corresponds to a target bitrate of 1200kbps, but you can set it to 1500kbps for better visual clarity.<br>[Special Note] You can set both videoBitrate and minVideoBitrate parameters simultaneously to constrain the SDK's video bitrate adjustment range:<br>- If you prefer "allowing stuttering under weak network conditions but maintaining clarity," you can set minVideoBitrate to 60% of videoBitrate.<br>- If you prefer "allowing blurring under weak network conditions but maintaining smoothness," you can set minVideoBitrate to a lower value (e.g., 100kbps).<br>- If you set videoBitrate and minVideoBitrate to the same value, it is equivalent to disabling the SDK's adaptive video bitrate adjustment capability. |
517
+ | videoFps | [Field Meaning] Video capture frame rate.<br>[Recommended Value] 15fps or 20fps. Below 5fps, lag sensation is noticeable. Below 10fps, there will be slight lag. Above 20fps, it will waste bandwidth (the frame rate of movies is 24fps).<br>[Special Note] Some Android phones' front-facing cameras do not support a capture frame rate above 15fps. The capture frame rate of the front-facing camera of some Android phones with a beauty feature may be below 10fps. |
518
+ | videoResolution | [Field Meaning] Video resolution.<br>[Special Note] If you need to use vertical resolution, specify resMode as Portrait, e.g., 640 × 360 + Portrait = 360 × 640.<br>[Recommended Values]<br>- Mobile video call: It is recommended to choose 360 × 640 or lower resolution, with resMode set to Portrait (vertical resolution).<br>- Mobile online live streaming: It is recommended to choose 540 × 960, with resMode set to Portrait (vertical resolution).<br>- Desktop platform (Win + Mac): It is recommended to choose 640 × 360 or higher resolution, with resMode set to Landscape (horizontal resolution). |
3241
519
 
520
+ ## TRTCNetworkQosParam
3242
521
 
3243
- ## TRTCPublishTarget
522
+ #### Network flow control (Qos) parameter set
3244
523
 
524
+ Network traffic control parameters, this setting determines the SDK's adjustment strategy in poor network conditions (for example: "Clarity Priority" or "Smoothness Priority").
525
+ | Enumeration Types | Description |
526
+ | --- | --- |
527
+ | controlMode | [Field Meaning] Flow control mode (deprecated).<br>[Recommended Values] Cloud Control.<br>[Special Note] Please set it to Cloud Control mode (TRTCQosControlModeServer). |
528
+ | preference | [Field Meaning] Clarity Priority or Smooth Priority.<br>[Recommended Values] Clarity Priority.<br>[Special Note] This parameter mainly affects TRTC's audio and video performance in poor network environments:<br>- Smooth Priority: When the current network is insufficient to transmit both clear and smooth images, it prioritizes the smoothness of the picture, which results in a blurrier image with more mosaics. See TRTCVideoQosPreferenceSmooth<br>- Clarity Priority (default): When the current network is insufficient to transmit both clear and smooth images, it prioritizes the clarity of the picture, which results in more stuttering. See TRTCVideoQosPreferenceClear |
3245
529
 
530
+ ## TRTCRenderParams
3246
531
 
3247
- #### Target Push Configuration
532
+ #### Rendering parameters for video footage
3248
533
 
3249
- This configuration is for the media stream publishing interface [startPublishMediaStream](https://write.woa.com/document/87030026264555520).
3250
- <table>
3251
- <tr>
3252
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
534
+ You can control the screen's rotation angle, fill mode, and left-right mirror mode by setting this parameter.
535
+ | Enumeration Types | Description |
536
+ | --- | --- |
537
+ | fillMode | [Field Meaning] Screen Fill Mode.<br>[Recommended Values] Fill (the screen may be stretched or cropped) or Fit (the screen may have black edges), Default: TRTCVideoFillMode_Fill. |
538
+ | mirrorType | [Field Meaning] Screen Mirror Mode.<br>[Recommended Value] Default value: TRTCVideoMirrorType_Auto. |
539
+ | rotation | [Field Meaning] Clockwise rotation angle of the image.<br>[Recommended Value] Supports 90, 180, and 270 rotation angles. Default value: TRTCVideoRotation0. |
3253
540
 
3254
- <td rowspan="1" colSpan="1" >Description</td>
3255
- </tr>
541
+ ## TRTCQualityInfo
3256
542
 
3257
- <tr>
3258
- <td rowspan="1" colSpan="1" >cdnUrlList</td>
543
+ #### Network quality
3259
544
 
3260
- <td rowspan="1" colSpan="1" >[Field Meaning] The streaming address (RTMP format) for publishing to Tencent or third-party live streaming service providers.<br>[Special Instructions] If your mode is set to TRTCPublishMixStreamToRoom, you do not need to set this parameter.</td>
3261
- </tr>
545
+ Represents the quality of the network. This value can be used to display each user's network quality on the user interface.
546
+ | Enumeration Types | Description |
547
+ | --- | --- |
548
+ | quality | Network quality |
549
+ | userId | User ID |
3262
550
 
3263
- <tr>
3264
- <td rowspan="1" colSpan="1" >cdnUrlListSize</td>
551
+ ## TRTCVolumeInfo
3265
552
 
3266
- <td rowspan="1" colSpan="1" >[Field Meaning] Number of elements in the cdnUrlList array.<br>[Special Instructions] If your mode is set to TRTCPublishMixStreamToRoom, you do not need to set this parameter.</td>
3267
- </tr>
553
+ #### Volume level
3268
554
 
3269
- <tr>
3270
- <td rowspan="1" colSpan="1" >mixStreamIdentity</td>
555
+ Represents the evaluation value of voice volume. This value can be used to display each user's volume on the user interface.
556
+ | Enumeration Types | Description |
557
+ | --- | --- |
558
+ | pitch | The voice frequency of the local user (in Hz), range [0 - 4000]. For remote users, this value is always 0. |
559
+ | spectrumData | Audio spectrum data represents the distribution of audio data in the frequency domain, divided into 256 frequency bands. The spectrumData records the energy value of each frequency band, each energy value ranges from [-300, 0], in dBFS.<br>**Note**<br>Local spectrum is calculated using the audio data before encoding, affected by local collection volume and BGM, etc. Remote spectrum is calculated using received audio data, and local adjustments to remote playback volume will not affect it. |
560
+ | spectrumDataLength | spectrumDataLength records the length of the audio spectrum data, which is 256. |
561
+ | userId | The userId of the speaker. If the userId is empty, it represents the current user. |
562
+ | vad | Detect vocals or not, 0: Non-vocals, 1: Vocals. |
563
+ | volume | The speaker's volume. Value range: [0-100]. |
3271
564
 
3272
- <td rowspan="1" colSpan="1" >[Field Meaning] Push-back Room Robot Information.<br>[Special Instructions] You need to set this parameter only if your mode is set to TRTCPublishMixStreamToRoom.<br>[Special Instructions] After setting, the transcoded audio and video data will be pushed back to your specified room. It is recommended to set a special userId to avoid confusion between the push-back robot and the host using the TRTC SDK to join the room.<br>[Special Instructions] Users involved in stream mixing cannot subscribe to the transcoded stream.<br>[Special Note] When the subscription mode you set before entering the room ([setDefaultStreamRecvMode](https://write.woa.com/document/87030026264555520)) is set to manual, you will need to manage the audio and video streams you wish to pull yourself (typically, when you pull the transcoding stream of the room, you should unsubscribe from the corresponding audio and video single streams involved in transcoding).<br>[Special Explanation] If the subscription mode you set before entering the room ([setDefaultStreamRecvMode](https://write.woa.com/document/87030026264555520)) is automatic, users not participating in transcoding will automatically receive the transcoded stream sent by the backend and will no longer receive the audio and video single streams involved in transcoding. Unless you explicitly unsubscribe ([muteRemoteVideoStream](https://write.woa.com/document/87030026264555520) and [muteRemoteAudio](https://write.woa.com/document/87030026264555520)), the transcoded stream data will continue to be sent.</td>
3273
- </tr>
565
+ ## TRTCSpeedTestParams
3274
566
 
3275
- <tr>
3276
- <td rowspan="1" colSpan="1" >mode</td>
567
+ #### Speed test parameters
3277
568
 
3278
- <td rowspan="1" colSpan="1" >[Field Meaning] Media Stream Publishing Mode.<br>[Recommended Values] Please choose according to your business scenario requirements. TRTC supports relay, transcoding, and rollback to RTC room modes.<br>[Special Explanation] If your business scenario requires multiple publishing modes, you can call the media stream publishing interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520)) multiple times and set different TRTCPublishTargets separately.<br>[Special Explanation] For the same mode, please correspond to a media stream publishing interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520)), and use updatePublishCDNStream for updates when adjustments are needed later.</td>
3279
- </tr>
3280
- </table>
569
+ You can test the network speed before the user enters the room through the startSpeedTest interface (Note: Do not call during a call).
570
+ | Enumeration Types | Description |
571
+ | --- | --- |
572
+ | expectedDownBandwidth | Expected downstream bandwidth (kbps, value range: 10–5000, 0 means not to test).<br>**Note**<br>When the parameter scene is set to TRTCSpeedTestScene_OnlineChorusTesting, to obtain more accurate RTT/jitter information, the value range is limited to 10–1000. |
573
+ | expectedUpBandwidth | Expected upstream bandwidth (kbps, value range: 10–5000, 0 means not to test).<br>**Note**<br>When the parameter scene is set to TRTCSpeedTestScene_OnlineChorusTesting, to obtain more accurate RTT/jitter information, the value range is limited to 10–1000. |
574
+ | scene | Speed Testing Scenario. |
575
+ | sdkAppId | Application identifier, please refer to the relevant instructions in TRTCParams. |
576
+ | userId | User identifier, please refer to the relevant instructions in TRTCParams. |
577
+ | userSig | User signature, please refer to the relevant instructions in TRTCParams. |
3281
578
 
579
+ ## TRTCSpeedTestResult
3282
580
 
3283
- ## TRTCVideoLayout
581
+ #### Network speed test results
3284
582
 
583
+ You can test the network speed before the user enters the room through the startSpeedTest interface (Note: Do not call during a call).
584
+ | Enumeration Types | Description |
585
+ | --- | --- |
586
+ | availableDownBandwidth | Downstream bandwidth (kbps, -1: invalid value). |
587
+ | availableUpBandwidth | Uplink bandwidth (kbps, -1: invalid value). |
588
+ | downJitter | Downlink packet jitter (ms), indicating the stability of data communication in the user's current network environment. The smaller the value, the better. The normal value range is 0ms to 100ms. -1 means that the speed test did not obtain a valid value. Generally, WiFi networks have slightly higher jitter than 4G/5G environments. |
589
+ | downLostRate | Downlink packet loss rate, the value range is [0 - 1.0]. For example, 0.2 means that out of every 10 packets received from the server, 2 might be lost mid-transmission. |
590
+ | errMsg | Bandwidth test error information. |
591
+ | ip | Server IP address. |
592
+ | quality | Internal evaluation algorithm calculates the network quality. For more information, please refer to TRTCQuality. |
593
+ | rtt | Latency (ms), representing the round-trip network time between the current device and the TRTC server. The smaller the value, the better. The normal value range is 10ms to 100ms. |
594
+ | success | Test success or failure. |
595
+ | upJitter | Uplink packet jitter (ms), indicating the stability of data communication in the user's current network environment. The smaller the value, the better. The normal value range is 0ms to 100ms. -1 means that the speed test did not obtain a valid value. Generally, WiFi networks have slightly higher jitter than 4G/5G environments. |
596
+ | upLostRate | Uplink packet loss rate, the value range is [0 - 1.0]. For example, 0.3 means that out of every 10 packets sent to the server, 3 might be lost mid-transmission. |
3285
597
 
598
+ ## TRTCTexture
3286
599
 
3287
- #### Transcode Video Layout
600
+ #### Video texture data
601
+ | Enumeration Types | Description |
602
+ | --- | --- |
603
+ | glContext | [Field meaning] The OpenGL context environment where the texture resides, valid on Windows and Android platforms |
604
+ | glTextureId | [Field meaning] Video texture ID. |
605
+ | } | [Field meaning] D3D11 texture, i.e., ID3D11Texture2D pointer, valid only on Windows platform. |
3288
606
 
3289
- This configuration is for the transcoding settings ([TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)) in the media stream publishing interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520)).
607
+ ## TRTCVideoFrame
3290
608
 
3291
- For specifying the position, size, layer, and stream type of each video screen in the transcoded stream.
3292
- <table>
3293
- <tr>
3294
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
609
+ #### Video frame information
3295
610
 
3296
- <td rowspan="1" colSpan="1" >Description</td>
3297
- </tr>
611
+ TRTCVideoFrame describes the raw data of a video frame, which is the video frame data before encoding or after decoding.
612
+ | Enumeration Types | Description |
613
+ | --- | --- |
614
+ | bufferType | [Field meaning] Video data structure type. |
615
+ | data | [Field meaning] Video data when bufferType is TRTCVideoBufferType_Buffer, carrying memory blocks for the C++ layer. |
616
+ | height | [Field meaning] Video height. |
617
+ | length | [Field meaning] Length of video data, unit is bytes. For i420: length = width * height * 3 / 2; For BGRA32: length = width * height * 4. |
618
+ | rotation | [Field meaning] Clockwise rotation angle of video pixels. |
619
+ | texture | [Field meaning] Video data when bufferType is TRTCVideoBufferType_Texture, containing texture data for OpenGL rendering. |
620
+ | timestamp | [Field meaning] Timestamp of the video frame, in milliseconds.<br>[Recommended values] Can be set to 0 when capturing Definition video. If this parameter is 0, the SDK will automatically populate the timestamp field, but please control the intervals of sendCustomVideoData calls "evenly". |
621
+ | videoFormat | [Field meaning] Pixel format of the video. |
622
+ | width | [Field meaning] Video width. |
3298
623
 
3299
- <tr>
3300
- <td rowspan="1" colSpan="1" >backgroundColor</td>
624
+ ## TRTCAudioFrame
3301
625
 
3302
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241).</td>
3303
- </tr>
626
+ #### Audio frame data
627
+ | Enumeration Types | Description |
628
+ | --- | --- |
629
+ | audioFormat | [Field meaning] Audio frame format. |
630
+ | channel | [Field meaning] Number of channels. |
631
+ | data | [Field meaning] Audio data. |
632
+ | extraData | [Field meaning] Extra audio data. The data written by the remote user through ` onLocalProcessedAudioFrame ` will be callbacked via this field. |
633
+ | extraDataLength | [Field meaning] Length of audio message data. |
634
+ | length | [Field meaning] Length of audio data. |
635
+ | sampleRate | [Field meaning] Sample rate. |
636
+ | timestamp | [Field meaning] Timestamp, in milliseconds. |
3304
637
 
3305
- <tr>
3306
- <td rowspan="1" colSpan="1" >fillMode</td>
638
+ ## TRTCMixUser
3307
639
 
3308
- <td rowspan="1" colSpan="1" >[Field Meaning] Screen Fill Mode.<br>[Recommended Values] Fill (the screen may be stretched or cropped) or Fit (the screen may have black edges), Default: [TRTCVideoFillMode_Fill](https://write.woa.com/document/87030132707430400).</td>
3309
- </tr>
640
+ #### Description information of each stream in Cloud Mixed Streaming
3310
641
 
3311
- <tr>
3312
- <td rowspan="1" colSpan="1" >fixedVideoStreamType</td>
642
+ TRTCMixUser is used to specify the position, size, layer, stream type, etc., of each video screen in Cloud Mixed Streaming.
643
+ | Enumeration Types | Description |
644
+ | --- | --- |
645
+ | image | [Field meaning] Placeholder Image or Watermark Image<br>- A placeholder image refers to an image displayed in the mixed screen when the corresponding userId's mixed content is pure audio.<br>- A watermark image refers to a semi-transparent image pasted on the mixed screen, always covering the mixed screen.<br>- When you specify inputType as TRTCMixInputTypePureAudio, the image is a placeholder image, and you need to specify the userId.<br>- When you specify inputType as TRTCMixInputTypeWatermark, the image is a watermark image, and you do not need to specify the userId.<br>[Recommended Values] Default: empty, which means no placeholder image or watermark image is set.<br>[Special Note]<br>- You can set the image to an asset ID found in the console. This requires you to click the [Add Image] button to upload it beforehand in "[Console](https://console.cloud.tencent.com/trtc) => Application Management => Feature Configuration => Asset Management".<br>- Upon successful upload, you will receive a corresponding "image ID". Convert the "image ID" into a string and set it to the image field accordingly (e.g., if the "image ID" is 63, you can set image to @"63").<br>- You can also set the image to a URL address, and Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as watermarks.<br>- The image is only effective when inputType is set to TRTCMixInputTypePureAudio or TRTCMixInputTypeWatermark. |
646
+ | inputType | [Field meaning] Specifies the mixed content of the stream (only audio, only video, mixed audio and video, watermarking).<br>[Default Value] Default: TRTCMixInputTypeUndefined.<br>[Special Note]<br>- When inputType is set to TRTCMixInputTypeUndefined and pureAudio is set to YES, it is equivalent to setting inputType to TRTCMixInputTypePureAudio.<br>- When inputType is set to TRTCMixInputTypeUndefined and pureAudio is set to NO, it is equivalent to setting inputType to TRTCMixInputTypeAudioVideo.<br>- When inputType is set to TRTCMixInputTypeWatermark, you do not need to specify the userId field but must specify the image field. |
647
+ | pureAudio | [Field meaning] Specifies whether the stream is audio-only.<br>[Recommended Values] Default: false.<br>[Special Note] Deprecated. It is recommended to use the newly introduced field inputType starting from version 8.5. |
648
+ | rect | [Field meaning] Specifies the coordinate area of the screen (unit: pixels). |
649
+ | renderMode | [Field meaning] The display mode of the screen during output.<br>[Recommended Values] Default: for video streams, 0.0 for cropping, 1 for scaling, and 2 for scaling with a black background.<br>[Special Note] The watermark image and placeholder image currently do not support setting renderMode. Default forced stretching is applied. |
650
+ | roomId | [Field meaning] The room number of the audio and video stream (setting it to an empty value represents the room number of the current user). |
651
+ | soundLevel | [Field meaning] The volume level of the audio participating in the mix (range: 0 - 100).<br>[Default Value] Default: 100. |
652
+ | streamType | [Field Meaning] Specifies whether this video stream is a main stream (TRTCVideoStreamTypeBig) or a sub-stream (TRTCVideoStreamTypeSub). |
653
+ | userId | [Field Meaning] User ID |
654
+ | zOrder | [Field Meaning] Specifies the level of the screen (Range: 1 - 15, unique). |
3313
655
 
3314
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies whether this video stream is a main stream ([TRTCVideoStreamTypeBig](https://write.woa.com/document/87030132707430400)) or a sub-stream ([TRTCVideoStreamTypeSub](https://write.woa.com/document/87030132707430400)).</td>
3315
- </tr>
656
+ ## TRTCTranscodingConfig
3316
657
 
3317
- <tr>
3318
- <td rowspan="1" colSpan="1" >fixedVideoUser</td>
658
+ #### Layout and transcoding parameters for Cloud Mixed Streaming
3319
659
 
3320
- <td rowspan="1" colSpan="1" >[Field Meaning] User Information Participating in Transcoding.<br>[Special Note] User information ([TRTCUser](https://write.woa.com/document/87030132707430400)) can be left unfilled (i.e., userId, intRoomId, and strRoomId are all left blank). In this case, when there is an anchor streaming audio and video data in the room initiating the stream mix, the TRTC back-end server will automatically populate the corresponding anchor's audio and video into your specified layout.</td>
3321
- </tr>
660
+ For specifying the layout position and encoding parameters of each screen during mix streaming and on-cloud transcoding.
661
+ | Enumeration Types | Description |
662
+ | --- | --- |
663
+ | appId | [Field Meaning] AppID of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [TRTC console](https://console.cloud.tencent.com/trtc) [Application Management]=>[Application Information], and obtain the appid from [CDN Live Streaming Info]. |
664
+ | audioBitrate | [Field Meaning] Specifies the target audio bitrate for cloud transcoding.<br>[Recommended Value] Default: 64kbps, range: [32,192]. |
665
+ | audioChannels | [Field Meaning] Specifies the number of audio channels for cloud transcoding.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo. |
666
+ | audioCodec | [Field Meaning] Specifies the output stream audio encoding type for cloud transcoding.<br>[Recommended Value] Default: 0, representing LC-AAC. The allowable values are: 0 - LC-AAC, 1 - HE-AAC, 2 - HE-AACv2.<br>[Special Explanation] HE-AAC and HE-AACv2 support output stream audio sample rates of [48000, 44100, 32000, 24000, 16000].<br>[Special Explanation] When audio encoding is set to HE-AACv2, only stereo output is supported.<br>[Special Note] HE-AAC and HE-AACv2 values only take effect when the output stream is the additional streamId you set. |
667
+ | audioSampleRate | [Field Meaning] Specifies the target audio sampling rate for cloud transcoding.<br>[Recommended Values] Default: 48000Hz. Supports 12000Hz, 16000Hz, 22050Hz, 24000Hz, 32000Hz, 44100Hz, 48000Hz. |
668
+ | backgroundColor | [Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241). |
669
+ | backgroundImage | [Field Meaning] Specifies the background image of the mixed-screen.<br>[Recommended Values] Default: empty, meaning no background image is set.<br>[Special Note]<br>- You can set the image to an asset ID found in the console. This requires you to click the [Add Image] button to upload it beforehand in "[Console](https://console.cloud.tencent.com/trtc) => Application Management => Feature Configuration => Asset Management".<br>- Upon successful upload, you will receive a corresponding "image ID". Convert the "image ID" into a string and set it to the image field accordingly (e.g., if the "image ID" is 63, you can set image to @"63").<br>- You can also set the image to a URL address, and Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. |
670
+ | bizId | [Field Meaning] bizid of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [ TRTC Console](https://console.cloud.tencent.com/trtc) [Application Management] => [Application Information], and obtain the bizid from [CDN Live Streaming Info]. |
671
+ | mixUsersArray | [Field Meaning] Specifies the position, size, layer, and stream type information for each video screen in the cloud mix.<br>[Recommended Values] This field is an array of TRTCMixUser type. Each element in the array represents the information for each screen. |
672
+ | mixUsersArraySize | [Field meaning] Number of elements in the mixUsersArray. |
673
+ | mode | [Field Meaning] Layout mode.<br>[Recommended Values] Please choose according to your business scenario requirements. Pre-layout mode is a well-suited option. |
674
+ | streamId | [Field Meaning] Live stream ID for output to CDN.<br>[Recommended Value] Default: Null Value, meaning that the multiple audio and video streams in the room will ultimately be mixed into the interface caller's audio and video stream.<br>- If this parameter is not set, the SDK will execute the default logic, meaning the multiple audio and video streams in the room will be mixed into the interface caller's audio and video stream, i.e., A + B => A.<br>- If you set this parameter, the SDK will mix the multiple audio and video streams in the room into the live stream you specified, i.e., A + B => C (C represents the streamId you specified). |
675
+ | videoBitrate | [Field Meaning] Specifies the target video bitrate (kbps) for cloud transcoding.<br>[Recommended Value] If set to 0, TRTC will estimate a reasonable bitrate based on videoWidth and videoHeight. You can also refer to the bitrate value recommended in the video resolution enum Definition (see the comment section). |
676
+ | videoFramerate | [Field Meaning] Specifies the target video frame rate (FPS) for cloud transcoding.<br>[Recommended Value] Default: 15fps, range: (0,30]. |
677
+ | videoGOP | [Field Meaning] Specifies the target video keyframe interval (GOP) for cloud transcoding.<br>[Recommended Value] Default: 2 seconds, range: [1,8]. |
678
+ | videoHeight | [Field Meaning] Specifies the target resolution (height) for cloud transcoding.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 640. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background. |
679
+ | videoSeiParams | [Field Meaning] Stream Mixing SEI Parameters. Not specified by default.<br>[Special Note] Parameters are passed in as a JSON String. Example:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>Supported fields and their meanings:<br>- payloadContent: Required. The payload content of the transparent SEI; cannot be empty<br>- payloadType: Required. The type of SEI message, with a range of values: 5, or integers within [100, 254] (excluding 244, which is an internal self-definition timestamp SEI);<br>- payloadUuid: Required when payloadType is 5, otherwise this value is ignored. This value must be a 32-character hexadecimal number;<br>- interval: Optional, default is 1000. The sending interval of SEI, in milliseconds;<br>- followIdr: Optional, default is false. When set to true, SEI will be ensured with keyframes, otherwise, it will not be ensured. |
680
+ | videoWidth | [Field Meaning] Specifies the target resolution (width) for cloud transcoding.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 360. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background. |
3322
681
 
3323
- <tr>
3324
- <td rowspan="1" colSpan="1" >placeHolderImage</td>
682
+ ## TRTCPublishCDNParam
3325
683
 
3326
- <td rowspan="1" colSpan="1" >[Field Meaning] Placeholder image URL, i.e., when the specified user is temporarily only sending audio, Tencent Cloud's back-end server will mix the image specified by this URL into the final screen.<br>[Recommended Values] Default: empty, which means no placeholder image is set.<br>[Special Note] At this time, you need to specify the user information for fixedVideoUser's userId.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as placeholders.</td>
3327
- </tr>
684
+ #### Retweet parameters when publishing audio and video streams to non-Tencent Cloud CDN
3328
685
 
3329
- <tr>
3330
- <td rowspan="1" colSpan="1" >rect</td>
686
+ The TRTC backend service supports publishing audio and video streams to third-party live streaming CDN service providers using the standard RTMP protocol.
3331
687
 
3332
- <td rowspan="1" colSpan="1" >[Field meaning] Specifies the coordinate area of the screen (unit: pixels).</td>
3333
- </tr>
688
+ If you are using Tencent CSS CDN Service, you can disregard this parameter and use the startPublish interface directly.
689
+ | Enumeration Types | Description |
690
+ | --- | --- |
691
+ | appId | [Field Meaning] AppID of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [TRTC console](https://console.cloud.tencent.com/trtc) [Application Management]=>[Application Information], and obtain the appid from [CDN Live Streaming Info]. |
692
+ | bizId | [Field Meaning] bizid of Tencent CSS service.<br>[Recommended Value] Please click in sequence in the [ TRTC Console](https://console.cloud.tencent.com/trtc) [Application Management] => [Application Information], and obtain the bizid from [CDN Live Streaming Info]. |
693
+ | streamId | [Field Meaning] The streamId that needs to be relayed.<br>[Recommended Value] Default value: empty. If not filled, the default relay is the bidder's bypass stream. |
694
+ | url | [Field Meaning] Specifies the streaming address (RTMP format) of the audio and video stream on the third-party live streaming service provider.<br>[Recommended Value] The rules for the streaming address vary greatly between service providers. Please fill in a valid streaming URL according to the requirements of the target service provider. The TRTC backend server will publish the standard format audio and video streams to the third-party provider according to the URL you filled in.<br>[Special Instructions] The streaming URL must be in RTMP format and comply with your target live streaming service provider's specifications, otherwise, the target service provider will reject push-stream requests from the TRTC backend services. |
3334
695
 
3335
- <tr>
3336
- <td rowspan="1" colSpan="1" >zOrder</td>
696
+ ## TRTCAudioRecordingParams
3337
697
 
3338
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the level of the screen (Range: 0 - 15, unique).</td>
3339
- </tr>
3340
- </table>
698
+ #### Recording parameters for local audio files
3341
699
 
700
+ This parameter is used to specify recording parameters in the audio recording interface startAudioRecording.
701
+ | Enumeration Types | Description |
702
+ | --- | --- |
703
+ | filePath | [Field meaning] The save path of the recording file (required).<br>[Special Instructions] This path must include the file name and format suffix, as the suffix determines the format of the recording file. The currently supported formats are PCM, WAV, and AAC.<br>For example: If you specify the path as "mypath/record/audio.aac", it means you want the SDK to generate an AAC format audio recording file.<br>Please specify a legal path with read and write permissions, otherwise the recording file cannot be generated. |
704
+ | maxDurationPerFile | [Field meaning] maxDurationPerFile recording file split duration, unit: milliseconds, minimum value: 10000. The default value is 0, which means no splitting. |
705
+ | recordingContent | [Field meaning] Audio recording content type.<br>[Special Instructions] By default, all local and remote audio is recorded. |
3342
706
 
3343
- ## TRTCWatermark
707
+ ## TRTCLocalRecordingParams
3344
708
 
709
+ #### Recording parameters for local media files
3345
710
 
711
+ This parameter is used to specify recording-related parameters in the local media file recording interface startLocalRecording.
3346
712
 
3347
- #### Watermark Layout
713
+ The interface startLocalRecording is an enhanced version of the interface startAudioRecording. The former can record video files, while the latter can only record audio files.
714
+ | Enumeration Types | Description |
715
+ | --- | --- |
716
+ | filePath | [Field meaning] The address of the recording file (required). Please ensure the path has read and write permissions and is legal, otherwise the recording file cannot be generated.<br>[Special Instructions] This path must be precise to the file name and format suffix. The suffix determines the format of the recorded file. Currently, the only supported format is MP4.<br>For example: If you specify the path as "mypath/record/test.mp4", it means you want the SDK to generate a local video file in MP4 format.<br>Please specify a legal path with read and write permissions, otherwise the recording file cannot be generated. |
717
+ | interval | [Field meaning] interval recording information update frequency, unit: milliseconds, valid range: 1000-10000. Default value is -1, meaning no callback. |
718
+ | maxDurationPerFile | [Field meaning] maxDurationPerFile recording file split duration, unit: milliseconds, minimum value: 10000. The default value is 0, which means no splitting. |
719
+ | recordType | [Field meaning] Media recording type, default value: TRTCRecordTypeBoth, meaning to record both audio and video simultaneously. |
3348
720
 
3349
- This configuration is used in the Transcoding Configuration ([TRTCStreamMixingConfig](https://write.woa.com/document/87030132707430400)) of the Media Stream Publishing Interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520))
3350
- <table>
3351
- <tr>
3352
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
721
+ ## TRTCSwitchRoomConfig
3353
722
 
3354
- <td rowspan="1" colSpan="1" >Description</td>
3355
- </tr>
723
+ #### Room Switching Parameters
3356
724
 
3357
- <tr>
3358
- <td rowspan="1" colSpan="1" >rect</td>
725
+ This parameter is used for the room switching interface switchRoom, allowing users to quickly switch from one room to another.
726
+ | Enumeration Types | Description |
727
+ | --- | --- |
728
+ | privateMapKey | [Field Meaning] Permission ticket used for permission control (optional). If you want only specific userIds to enter a room, you need to use privateMapKey for permission protection.<br>[Recommended Value] Only recommended for customers with high-level security requirements. For more details, please refer to [Room Entry Permission Protection](https://cloud.tencent.com/document/product/647/32240). |
729
+ | roomId | [Field meaning] Numeric room number [optional], users in the same room can see each other and have audio and video calls.<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Note] roomId and strRoomId must and can only fill one. If both are filled, roomId is preferred. |
730
+ | strRoomId | [Field meaning] String room number [optional], users in the same room can see each other and have audio and video calls.<br>[Special Note] roomId and strRoomId must and can only fill one. If both are filled, roomId is preferred. |
731
+ | userSig | [Field meaning] User signature [optional], the verification signature corresponding to the current userId, equivalent to a log-in password.<br>If you do not specify a newly calculated userSig when switching rooms, the SDK will continue using the userSig specified when you entered the room (enterRoom).<br>You must ensure the old userSig is within its valid period when switching rooms; otherwise, the room switch will fail.<br>[Recommended Value] For the specific calculation method, please see [How to Calculate UserSig](https://cloud.tencent.com/document/product/647/17275). |
3359
732
 
3360
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the coordinate area of the watermark screen (unit: pixels).</td>
3361
- </tr>
733
+ ## TRTCAudioFrameDelegateFormat
3362
734
 
3363
- <tr>
3364
- <td rowspan="1" colSpan="1" >watermarkUrl</td>
735
+ #### Format parameters for audio custom callback
3365
736
 
3366
- <td rowspan="1" colSpan="1" >[Field Meaning] Watermark URL, Tencent Cloud's back-end server will mix the image specified by this URL into the final screen.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as watermarks.</td>
3367
- </tr>
737
+ This parameter is used in the audio self Definition callback related interfaces to set the format of the audio data retrieved by the SDK callback (including sampling rate, number of channels, etc.).
738
+ | Enumeration Types | Description |
739
+ | --- | --- |
740
+ | channel | [Field meaning] Number of channels.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo. |
741
+ | mode | [Field meaning] Callback data read/write mode<br>[Recommended Values] TRTCAudioFrameOperationModeReadOnly: only retrieve audio data from the callback. The available modes are TRTCAudioFrameOperationModeReadOnly and TRTCAudioFrameOperationModeReadWrite. |
742
+ | sampleRate | [Field meaning] Sample rate.<br>[Recommended Values] Default: 48000Hz. Supports 16000, 32000, 44100, 48000. |
743
+ | samplesPerCall | [Field meaning] Number of sampling points.<br>[Recommended Values] The value must be an integer multiple of sampleRate/100. |
3368
744
 
3369
- <tr>
3370
- <td rowspan="1" colSpan="1" >zOrder</td>
745
+ ## TRTCImageBuffer
3371
746
 
3372
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the level of the watermark screen (Range: 0 - 15, unique).</td>
3373
- </tr>
3374
- </table>
747
+ #### TRTC screen sharing icon information and mute image spacer
748
+ | Enumeration Types | Description |
749
+ | --- | --- |
750
+ | buffer | Contents of image storage, generally in BGRA structure. |
751
+ | height | Height of the image. |
752
+ | length | Size of the image data. |
753
+ | width | Width of the image. |
3375
754
 
755
+ ## TRTCScreenCaptureSourceInfo
3376
756
 
3377
- ## TRTCStreamEncoderParam
757
+ #### Target information for screen sharing (only applicable to desktop systems)
3378
758
 
759
+ When users are sharing a screen, they can choose to capture the entire desktop or just a specific program window.
3379
760
 
761
+ TRTCScreenCaptureSourceInfo describes the target information to be shared, including ID, name, thumbnail, etc. The field information in this structure is read-only.
762
+ | Enumeration Types | Description |
763
+ | --- | --- |
764
+ | height | [Field meaning] Screen/Window height, in pixels. |
765
+ | iconBGRA | [Field meaning] Icon of the shared window. |
766
+ | isMainScreen | [Field meaning] Whether it is the main display screen (applies to the multi-monitor setup). |
767
+ | isMinimizeWindow | [Field meaning] Whether the window is minimized. |
768
+ | sourceId | [Field meaning] The ID of the capture source: for a window, this field represents the window ID; for a screen, this field represents the monitor ID. |
769
+ | sourceName | [Field meaning] Capturing source name (encoded in UTF8). |
770
+ | thumbBGRA | [Field meaning] Thumbnail of the shared window. |
771
+ | type | [Field meaning] Collection source type (Is it sharing the entire screen or a specific window?). |
772
+ | width | [Field meaning] Screen/Window width, in pixels. |
773
+ | x | [Field meaning] Screen/Window x coordinate, in pixels. |
774
+ | y | [Field meaning] Screen/Window y coordinate, in pixels. |
3380
775
 
3381
- #### Media Stream Encoding Output Parameters
776
+ ## TRTCScreenCaptureProperty
3382
777
 
3383
- [Field Meaning] This configuration is used in the Media Stream Publishing Interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520)).
778
+ #### Advanced control parameters for screen sharing
3384
779
 
3385
- [Special Note] When the mode configuration in your publishing target ([TRTCPublishTarget](https://write.woa.com/document/87030132707430400)) is set to TRTCPublish_MixStream_ToCdn or TRTCPublish_MixStream_ToRoom, this parameter is required.
780
+ This parameter is used for the screen sharing related interface selectScreenCaptureTarget, for setting a series of advanced control parameters when specifying the sharing target.
3386
781
 
3387
- [Special Explanation] When you use the retweet service (mode is TRTCPublish_BigStream_ToCdn or TRTCPublish_SubStream_ToCdn), to ensure better stability and CDN play compatibility, it is also recommended that you fill in the specific parameters of this configuration.
3388
- <table>
3389
- <tr>
3390
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
782
+ For example: whether to capture the mouse, whether to capture sub-windows, whether to draw a border around the shared target, etc.
783
+ | Enumeration Types | Description |
784
+ | --- | --- |
785
+ | enableCaptureChildWindow | [Field meaning] Whether to capture sub-windows during window capture (the sub-window needs to have the Owner or Popup attribute), default is false. |
786
+ | enableCaptureMouse | [Field meaning] Whether to capture the mouse along with the target content, default is true. |
787
+ | enableHighLight | [Field Meaning] Whether to highlight the window being shared (draw a border around the shared target), default is true. |
788
+ | enableHighPerformance | [Field Meaning] Whether to enable High-Performance Mode (only effective when sharing the screen), default is true.<br>[Special Instruction] Performance is optimal when enabled, but it will lose anti-occlusion capability. If you enable both enableHighLight and enableHighPerformance, the remote user can see the highlighted border. |
789
+ | highLightColor | [Field Meaning] Specifies the color of the highlight border in RGB format. If 0 is passed, the default color is used, which is #FFE640. |
790
+ | highLightWidth | [Field Meaning] Specifies the width of the highlight border. If 0 is passed, the default stroke width is used. The default width is 5px, and the maximum value you can set is 50. |
3391
791
 
3392
- <td rowspan="1" colSpan="1" >Description</td>
3393
- </tr>
792
+ ## TRTCAudioParallelParams
3394
793
 
3395
- <tr>
3396
- <td rowspan="1" colSpan="1" >audioEncodedChannelNum</td>
794
+ #### Parameters for Intelligent Concurrent Playback Strategy of Remote Audio Stream
3397
795
 
3398
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio channel count for the media publish stream.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo.</td>
3399
- </tr>
796
+ This parameter is used to set the intelligent concurrent playback strategy for remote audio streams.
797
+ | Enumeration Types | Description |
798
+ | --- | --- |
799
+ | includeUsersCount | [Field meaning] Designated users who will definitely be able to play concurrently.<br>[Special note] List of user IDs for guaranteed concurrent playback. These users are not part of the intelligent selection.<br>The number of includeUsers must be less than maxCount, otherwise, the concurrent playback setting is invalid.<br>includeUsers is only effective when maxCount > 0. When includeUsers is effective, the maximum number of concurrent intelligent selections = maxCount - the number of effective includeUsers. |
800
+ | maxCount | [Field meaning] Maximum number of concurrent playbacks. Default value: 0.<br>- If maxCount > 0 and the actual number of users > maxCount, SDK will intelligently select maxCount streams for playback in real-time, significantly reducing performance consumption.<br>- If maxCount = 0, SDK will not limit the number of concurrent playbacks, which might cause performance issues in rooms with a high number of participants. |
3400
801
 
3401
- <tr>
3402
- <td rowspan="1" colSpan="1" >audioEncodedCodecType</td>
802
+ ## TRTCUser
3403
803
 
3404
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio encoding type for the media publish stream.<br>[Recommended Value] Default: 0, representing LC-AAC. The allowable values are: 0 - LC-AAC, 1 - HE-AAC, 2 - HE-AACv2.<br>[Special Explanation] HE-AAC and HE-AACv2 support output stream audio sample rates of [48000, 44100, 32000, 24000, 16000].<br>[Special Explanation] When audio encoding is set to HE-AACv2, only stereo output is supported.</td>
3405
- </tr>
804
+ #### User information on media stream publishing configuration
3406
805
 
3407
- <tr>
3408
- <td rowspan="1" colSpan="1" >audioEncodedKbps</td>
806
+ You can set this parameter, along with media stream target publishing parameters (TRTCPublishTarget) and stream mixing transcoding parameters (TRTCStreamMixingConfig), to transcode multiple audio and video streams you specify and publish them to the target publishing address you provide
807
+ | Enumeration Types | Description |
808
+ | --- | --- |
809
+ | intRoomId | [Field meaning] Numeric room number, which needs to match the room number type in your join room parameters (TRTCParams).<br>[Recommended Value] Value range: 1 - 4294967294.<br>[Special Note] intRoomId and strRoomId are mutually exclusive. If you choose strRoomId in your room entry parameters, then intRoomId needs to be set to 0. If both are filled, the SDK will prioritize intRoomId. |
810
+ | strRoomId | [Field meaning] String room number, which needs to match the room number type in your join room parameters (TRTCParams).<br>[Special Note] intRoomId and strRoomId are mutually exclusive. If you choose roomId in your room entry parameters, then strRoomId does not need to be filled. If both are filled, the SDK will prioritize intRoomId.<br>[Recommended Value] Length limit is 64 bytes. The following character set range is supported (a total of 89 characters):<br>- Upper and lowercase English letters (a-zA-Z);<br>- Numbers (0-9);<br>- Space,` ! `,` # `,` $ `,` % `,` & `,` ( `,` ) `,` + `,` - `,` : `,` ; `,` < `,` = `,` . `,` > `,` ? `,` @ `,` [ `,` ] `,` ^ `,` _ `,` { `,` } `,` \\| `,` ~ `,` , `. |
811
+ | userId | [Field meaning] User identifier, the current user's userId, equivalent to username, using UTF-8 encoding.<br>[Recommended Value] If a user's ID in your account system is "mike", then userId can be set to "mike". |
3409
812
 
3410
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio bitrate (kbps) for the media publish stream.<br>[Recommended Value] Default: 50kbps, range: [32,192].</td>
3411
- </tr>
813
+ ## TRTCPublishCdnUrl
3412
814
 
3413
- <tr>
3414
- <td rowspan="1" colSpan="1" >audioEncodedSampleRate</td>
815
+ #### URL configuration for publishing audio and video streams to Tencent or third-party CDN
3415
816
 
3416
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target audio sampling rate for the media publish stream.<br>[Recommended Value] Default: 48000Hz. Values are [48000, 44100, 32000, 24000, 16000, 8000], unit is Hz.</td>
3417
- </tr>
817
+ This configuration is for the target streaming configuration (TRTCPublishTarget) in the media stream publishing interface startPublishMediaStream
818
+ | Enumeration Types | Description |
819
+ | --- | --- |
820
+ | isInternalLine | [Field Meaning] Specifies whether the audio and video stream is published to Tencent Cloud.<br>[Recommended Values] Default: true.<br>[Special Instructions] If your target live streaming service provider is Tencent, set this parameter to true. The backend billing system will not charge for the retweet service fee in this case. |
821
+ | rtmpUrl | [Field Meaning] Specifies the streaming address (RTMP format) of the audio and video stream on Tencent or third-party live streaming service providers.<br>[Recommended Value] The rules for the streaming address vary greatly between service providers. Please fill in a valid streaming URL according to the requirements of the target service provider. The TRTC backend server will publish the standard format audio and video streams to the third-party provider according to the URL you filled in.<br>[Special Instructions] The streaming URL must be in RTMP format and comply with your target live streaming service provider's specifications, otherwise, the target service provider will reject push-stream requests from the TRTC backend services. |
3418
822
 
3419
- <tr>
3420
- <td rowspan="1" colSpan="1" >videoEncodedCodecType</td>
823
+ ## TRTCPublishTarget
3421
824
 
3422
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video encoding type for the media publish stream.<br>[Recommended Value] Default: 0, representing H264. The allowable values are: 0 - H264, 1 - H265.</td>
3423
- </tr>
825
+ #### Target Push Configuration
3424
826
 
3425
- <tr>
3426
- <td rowspan="1" colSpan="1" >videoEncodedFPS</td>
827
+ This configuration is for the media stream publishing interface startPublishMediaStream.
828
+ | Enumeration Types | Description |
829
+ | --- | --- |
830
+ | cdnUrlList | [Field Meaning] The streaming address (RTMP format) for publishing to Tencent or third-party live streaming service providers.<br>[Special Instructions] If your mode is set to TRTCPublishMixStreamToRoom, you do not need to set this parameter. |
831
+ | cdnUrlListSize | [Field Meaning] Number of elements in the cdnUrlList array.<br>[Special Instructions] If your mode is set to TRTCPublishMixStreamToRoom, you do not need to set this parameter. |
832
+ | mixStreamIdentity | [Field Meaning] Push-back Room Robot Information.<br>[Special Instructions] You need to set this parameter only if your mode is set to TRTCPublishMixStreamToRoom.<br>[Special Instructions] After setting, the transcoded audio and video data will be pushed back to your specified room. It is recommended to set a special userId to avoid confusion between the push-back robot and the host using the TRTC SDK to join the room.<br>[Special Instructions] Users involved in stream mixing cannot subscribe to the transcoded stream.<br>[Special Note] When the subscription mode you set before entering the room (setDefaultStreamRecvMode) is set to manual, you will need to manage the audio and video streams you wish to pull yourself (typically, when you pull the transcoding stream of the room, you should unsubscribe from the corresponding audio and video single streams involved in transcoding).<br>[Special Explanation] If the subscription mode you set before entering the room (setDefaultStreamRecvMode) is automatic, users not participating in transcoding will automatically receive the transcoded stream sent by the backend and will no longer receive the audio and video single streams involved in transcoding. Unless you explicitly unsubscribe (muteRemoteVideoStream and muteRemoteAudio), the transcoded stream data will continue to be sent. |
833
+ | mode | [Field Meaning] Media Stream Publishing Mode.<br>[Recommended Values] Please choose according to your business scenario requirements. TRTC supports relay, transcoding, and rollback to RTC room modes.<br>[Special Explanation] If your business scenario requires multiple publishing modes, you can call the media stream publishing interface (startPublishMediaStream) multiple times and set different TRTCPublishTargets separately.<br>[Special Explanation] For the same mode, please correspond to a media stream publishing interface (startPublishMediaStream), and use updatePublishCDNStream for updates when adjustments are needed later. |
3427
834
 
3428
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video frame rate (FPS) for the media publish stream.<br>[Recommended Value] Recommended value: 20fps, range: (0,30].</td>
3429
- </tr>
835
+ ## TRTCVideoLayout
3430
836
 
3431
- <tr>
3432
- <td rowspan="1" colSpan="1" >videoEncodedGOP</td>
837
+ #### Transcode Video Layout
3433
838
 
3434
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video keyframe interval (GOP) for the media publish stream.<br>[Recommended Value] Recommended value: 3 seconds, range: [1,5].</td>
3435
- </tr>
839
+ This configuration is for the transcoding settings (TRTCStreamMixingConfig) in the media stream publishing interface (startPublishMediaStream).
3436
840
 
3437
- <tr>
3438
- <td rowspan="1" colSpan="1" >videoEncodedHeight</td>
841
+ For specifying the position, size, layer, and stream type of each video screen in the transcoded stream.
842
+ | Enumeration Types | Description |
843
+ | --- | --- |
844
+ | backgroundColor | [Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241). |
845
+ | fillMode | [Field Meaning] Screen Fill Mode.<br>[Recommended Values] Fill (the screen may be stretched or cropped) or Fit (the screen may have black edges), Default: TRTCVideoFillMode_Fill. |
846
+ | fixedVideoStreamType | [Field Meaning] Specifies whether this video stream is a main stream (TRTCVideoStreamTypeBig) or a sub-stream (TRTCVideoStreamTypeSub). |
847
+ | fixedVideoUser | [Field Meaning] User Information Participating in Transcoding.<br>[Special Note] User information (TRTCUser) can be left unfilled (i.e., userId, intRoomId, and strRoomId are all left blank). In this case, when there is an anchor streaming audio and video data in the room initiating the stream mix, the TRTC back-end server will automatically populate the corresponding anchor's audio and video into your specified layout. |
848
+ | placeHolderImage | [Field Meaning] Placeholder image URL, i.e., when the specified user is temporarily only sending audio, Tencent Cloud's back-end server will mix the image specified by this URL into the final screen.<br>[Recommended Values] Default: empty, which means no placeholder image is set.<br>[Special Note] At this time, you need to specify the user information for fixedVideoUser's userId.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as placeholders. |
849
+ | rect | [Field meaning] Specifies the coordinate area of the screen (unit: pixels). |
850
+ | zOrder | [Field Meaning] Specifies the level of the screen (Range: 0 - 15, unique). |
3439
851
 
3440
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target resolution (height) for the media publish stream.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 640. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background.</td>
3441
- </tr>
852
+ ## TRTCWatermark
3442
853
 
3443
- <tr>
3444
- <td rowspan="1" colSpan="1" >videoEncodedKbps</td>
854
+ #### Watermark Layout
3445
855
 
3446
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target video bitrate (kbps) for the media publish stream.<br>[Recommended Values] If set to 0, TRTC will estimate a reasonable bitrate based on videoEncodedWidth and videoEncodedHeight. You can also refer to the bitrate value recommended in the video resolution enum Definition (see the comment section).</td>
3447
- </tr>
856
+ This configuration is used in the Transcoding Configuration (TRTCStreamMixingConfig) of the Media Stream Publishing Interface (startPublishMediaStream)
857
+ | Enumeration Types | Description |
858
+ | --- | --- |
859
+ | rect | [Field Meaning] Specifies the coordinate area of the watermark screen (unit: pixels). |
860
+ | watermarkUrl | [Field Meaning] Watermark URL, Tencent Cloud's back-end server will mix the image specified by this URL into the final screen.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as watermarks. |
861
+ | zOrder | [Field Meaning] Specifies the level of the watermark screen (Range: 0 - 15, unique). |
3448
862
 
3449
- <tr>
3450
- <td rowspan="1" colSpan="1" >videoEncodedWidth</td>
863
+ ## TRTCStreamEncoderParam
3451
864
 
3452
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the target resolution (width) for the media publish stream.<br>[Recommended Values] Unit: Pixel Value. Recommended value: 368. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background.</td>
3453
- </tr>
865
+ #### Media Stream Encoding Output Parameters
3454
866
 
3455
- <tr>
3456
- <td rowspan="1" colSpan="1" >videoSeiParams</td>
867
+ [Field Meaning] This configuration is used in the Media Stream Publishing Interface (startPublishMediaStream).
3457
868
 
3458
- <td rowspan="1" colSpan="1" >[Field Meaning] Stream Mixing SEI Parameters. Not specified by default.<br>[Special Note] Parameters are passed in as a JSON String. Example:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>Supported fields and their meanings:<br>- payloadContent: Required. The payload content of the transparent SEI; cannot be empty<br>- payloadType: Required. The type of SEI message, with a range of values: 5, or integers within [100, 254] (excluding 244, which is an internal self-definition timestamp SEI);<br>- payloadUuid: Required when payloadType is 5, otherwise this value is ignored. This value must be a 32-character hexadecimal number;<br>- interval: Optional, default is 1000. The sending interval of SEI, in milliseconds;<br>- followIdr: Optional, default is false. When set to true, SEI will be ensured with keyframes, otherwise, it will not be ensured.</td>
3459
- </tr>
3460
- </table>
869
+ [Special Note] When the mode configuration in your publishing target (TRTCPublishTarget) is set to TRTCPublish_MixStream_ToCdn or TRTCPublish_MixStream_ToRoom, this parameter is required.
3461
870
 
871
+ [Special Explanation] When you use the retweet service (mode is TRTCPublish_BigStream_ToCdn or TRTCPublish_SubStream_ToCdn), to ensure better stability and CDN play compatibility, it is also recommended that you fill in the specific parameters of this configuration.
872
+ | Enumeration Types | Description |
873
+ | --- | --- |
874
+ | audioEncodedChannelNum | [Field Meaning] Specifies the target audio channel count for the media publish stream.<br>[Recommended Value] Default: 1, representing mono. The allowable values are: 1 - mono, 2 - stereo. |
875
+ | audioEncodedCodecType | [Field Meaning] Specifies the target audio encoding type for the media publish stream.<br>[Recommended Value] Default: 0, representing LC-AAC. The allowable values are: 0 - LC-AAC, 1 - HE-AAC, 2 - HE-AACv2.<br>[Special Explanation] HE-AAC and HE-AACv2 support output stream audio sample rates of [48000, 44100, 32000, 24000, 16000].<br>[Special Explanation] When audio encoding is set to HE-AACv2, only stereo output is supported. |
876
+ | audioEncodedKbps | [Field Meaning] Specifies the target audio bitrate (kbps) for the media publish stream.<br>[Recommended Value] Default: 50kbps, range: [32,192]. |
877
+ | audioEncodedSampleRate | [Field Meaning] Specifies the target audio sampling rate for the media publish stream.<br>[Recommended Value] Default: 48000Hz. Values are [48000, 44100, 32000, 24000, 16000, 8000], unit is Hz. |
878
+ | videoEncodedCodecType | [Field Meaning] Specifies the target video encoding type for the media publish stream.<br>[Recommended Value] Default: 0, representing H264. The allowable values are: 0 - H264, 1 - H265. |
879
+ | videoEncodedFPS | [Field Meaning] Specifies the target video frame rate (FPS) for the media publish stream.<br>[Recommended Value] Recommended value: 20fps, range: (0,30]. |
880
+ | videoEncodedGOP | [Field Meaning] Specifies the target video keyframe interval (GOP) for the media publish stream.<br>[Recommended Value] Recommended value: 3 seconds, range: [1,5]. |
881
+ | videoEncodedHeight | [Field Meaning] Specifies the target resolution (height) for the media publish stream.<br>[Recommended Value] Unit: Pixel Value. Recommended value: 640. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background. |
882
+ | videoEncodedKbps | [Field Meaning] Specifies the target video bitrate (kbps) for the media publish stream.<br>[Recommended Values] If set to 0, TRTC will estimate a reasonable bitrate based on videoEncodedWidth and videoEncodedHeight. You can also refer to the bitrate value recommended in the video resolution enum Definition (see the comment section). |
883
+ | videoEncodedWidth | [Field Meaning] Specifies the target resolution (width) for the media publish stream.<br>[Recommended Values] Unit: Pixel Value. Recommended value: 368. If you are only mixing audio streams, set both width and height to 0, otherwise, the mixed transcoding live stream will have a black background. |
884
+ | videoSeiParams | [Field Meaning] Stream Mixing SEI Parameters. Not specified by default.<br>[Special Note] Parameters are passed in as a JSON String. Example:<br>`{`<br>` "payLoadContent":"xxx",`<br>` "payloadType":5,`<br>` "payloadUuid":"1234567890abcdef1234567890abcdef",`<br>` "interval":1000,`<br>` "followIdr":false`<br>`}`<br>Supported fields and their meanings:<br>- payloadContent: Required. The payload content of the transparent SEI; cannot be empty<br>- payloadType: Required. The type of SEI message, with a range of values: 5, or integers within [100, 254] (excluding 244, which is an internal self-definition timestamp SEI);<br>- payloadUuid: Required when payloadType is 5, otherwise this value is ignored. This value must be a 32-character hexadecimal number;<br>- interval: Optional, default is 1000. The sending interval of SEI, in milliseconds;<br>- followIdr: Optional, default is false. When set to true, SEI will be ensured with keyframes, otherwise, it will not be ensured. |
3462
885
 
3463
886
  ## TRTCStreamMixingConfig
3464
887
 
3465
-
3466
-
3467
888
  #### Media Stream Transcoding Configuration Parameters
3468
889
 
3469
- This configuration is used for the media stream publish interface ([startPublishMediaStream](https://write.woa.com/document/87030026264555520)).
890
+ This configuration is used for the media stream publish interface (startPublishMediaStream).
3470
891
 
3471
892
  For specifying the layout position information of each screen and the input audio information during transcoding.
3472
- <table>
3473
- <tr>
3474
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
3475
-
3476
- <td rowspan="1" colSpan="1" >Description</td>
3477
- </tr>
3478
-
3479
- <tr>
3480
- <td rowspan="1" colSpan="1" >audioMixUserList</td>
3481
-
3482
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the information of each input audio stream in the transcoding stream.<br>[Recommended Values] This field is an array of TRTCUser type. Each element in the array represents information for each input audio stream.<br>[Special Note] User information can be left blank (i.e., audioMixUserList is empty). In this case, if the audio-related encoding output parameters in TRTCStreamEncoderParam are set, the TRTC backend server will automatically mix the audio of all hosts (currently supports up to 16 audio and video inputs).</td>
3483
- </tr>
3484
-
3485
- <tr>
3486
- <td rowspan="1" colSpan="1" >audioMixUserListSize</td>
3487
-
3488
- <td rowspan="1" colSpan="1" >[Field Meaning] Number of elements in the audioMixUserList array.</td>
3489
- </tr>
3490
-
3491
- <tr>
3492
- <td rowspan="1" colSpan="1" >backgroundColor</td>
3493
-
3494
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241).</td>
3495
- </tr>
3496
-
3497
- <tr>
3498
- <td rowspan="1" colSpan="1" >backgroundImage</td>
3499
-
3500
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the background image URL for the mixed screen. Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>[Recommended Values] Default: empty, meaning no background image is set.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as background images.</td>
3501
- </tr>
3502
-
3503
- <tr>
3504
- <td rowspan="1" colSpan="1" >videoLayoutList</td>
3505
-
3506
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the position, size, layer, and stream type information for each video screen in the mixed picture.<br>[Recommended Values] This field is an array of TRTCVideoLayout type. Each element in the array represents the information for each screen.</td>
3507
- </tr>
3508
-
3509
- <tr>
3510
- <td rowspan="1" colSpan="1" >videoLayoutListSize</td>
3511
-
3512
- <td rowspan="1" colSpan="1" >[Field Meaning] Number of elements in the videoLayoutList array.</td>
3513
- </tr>
3514
-
3515
- <tr>
3516
- <td rowspan="1" colSpan="1" >watermarkList</td>
3517
-
3518
- <td rowspan="1" colSpan="1" >[Field Meaning] Specifies the position, size, layer, etc., information for each watermarked screen in the mixed picture.<br>[Recommended Values] This field is an array of TRTCWatermark type. Each element in the array represents the information for each watermark.</td>
3519
- </tr>
3520
-
3521
- <tr>
3522
- <td rowspan="1" colSpan="1" >watermarkListSize</td>
3523
-
3524
- <td rowspan="1" colSpan="1" >[Field Meaning] Number of elements in the watermarkList array.</td>
3525
- </tr>
3526
- </table>
3527
-
893
+ | Enumeration Types | Description |
894
+ | --- | --- |
895
+ | audioMixUserList | [Field Meaning] Specifies the information of each input audio stream in the transcoding stream.<br>[Recommended Values] This field is an array of TRTCUser type. Each element in the array represents information for each input audio stream.<br>[Special Note] User information can be left blank (i.e., audioMixUserList is empty). In this case, if the audio-related encoding output parameters in TRTCStreamEncoderParam are set, the TRTC backend server will automatically mix the audio of all hosts (currently supports up to 16 audio and video inputs). |
896
+ | audioMixUserListSize | [Field Meaning] Number of elements in the audioMixUserList array. |
897
+ | backgroundColor | [Field Meaning] Specifies the background color of the mixed-screen.<br>[Recommended Values] Default: 0x000000 represents black. The format is a hexadecimal number, e.g., "0x61B9F1" represents RGB values as (97,158,241). |
898
+ | backgroundImage | [Field Meaning] Specifies the background image URL for the mixed screen. Tencent Cloud's backend server will mix the image specified by the URL into the final screen.<br>[Recommended Values] Default: empty, meaning no background image is set.<br>[Special Note]<br>- The URL length is limited to 512 bytes. The size of the image must not exceed 2MB.<br>- Supported image formats include png, jpg, jpeg, and bmp. It is recommended to use semi-transparent png images as background images. |
899
+ | videoLayoutList | [Field Meaning] Specifies the position, size, layer, and stream type information for each video screen in the mixed picture.<br>[Recommended Values] This field is an array of TRTCVideoLayout type. Each element in the array represents the information for each screen. |
900
+ | videoLayoutListSize | [Field Meaning] Number of elements in the videoLayoutList array. |
901
+ | watermarkList | [Field Meaning] Specifies the position, size, layer, etc., information for each watermarked screen in the mixed picture.<br>[Recommended Values] This field is an array of TRTCWatermark type. Each element in the array represents the information for each watermark. |
902
+ | watermarkListSize | [Field Meaning] Number of elements in the watermarkList array. |
3528
903
 
3529
904
  ## TRTCPayloadPrivateEncryptionConfig
3530
905
 
3531
-
3532
-
3533
906
  #### Media Stream Private Encryption Configuration
3534
907
 
3535
908
  This configuration is used to set the algorithm and key for private media stream encryption.
3536
- <table>
3537
- <tr>
3538
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
3539
-
3540
- <td rowspan="1" colSpan="1" >Description</td>
3541
- </tr>
3542
-
3543
- <tr>
3544
- <td rowspan="1" colSpan="1" >encryptionAlgorithm</td>
3545
-
3546
- <td rowspan="1" colSpan="1" >[Field Meaning] Encryption algorithm, default is TRTCEncryptionAlgorithmAes128Gcm.</td>
3547
- </tr>
3548
-
3549
- <tr>
3550
- <td rowspan="1" colSpan="1" >encryptionKey</td>
3551
-
3552
- <td rowspan="1" colSpan="1" >[Field Meaning] Encryption key, string type.<br>[Recommended Values] If the encryption algorithm is TRTCEncryptionAlgorithmAes128Gcm, the key length needs to be 16 bytes; if the encryption algorithm is TRTCEncryptionAlgorithmAes256Gcm, the key length needs to be 32 bytes.</td>
3553
- </tr>
3554
-
3555
- <tr>
3556
- <td rowspan="1" colSpan="1" >encryptionSalt[32]</td>
3557
-
3558
- <td rowspan="1" colSpan="1" >[Field Meaning] Salt, initial vector for encryption.<br>[Recommended Values] Ensure that the array filled in for this parameter is not empty, not all zeros, and the data length is 32 bytes.</td>
3559
- </tr>
3560
- </table>
3561
-
909
+ | Enumeration Types | Description |
910
+ | --- | --- |
911
+ | encryptionAlgorithm | [Field Meaning] Encryption algorithm, default is TRTCEncryptionAlgorithmAes128Gcm. |
912
+ | encryptionKey | [Field Meaning] Encryption key, string type.<br>[Recommended Values] If the encryption algorithm is TRTCEncryptionAlgorithmAes128Gcm, the key length needs to be 16 bytes; if the encryption algorithm is TRTCEncryptionAlgorithmAes256Gcm, the key length needs to be 32 bytes. |
913
+ | encryptionSalt[32] | [Field Meaning] Salt, initial vector for encryption.<br>[Recommended Values] Ensure that the array filled in for this parameter is not empty, not all zeros, and the data length is 32 bytes. |
3562
914
 
3563
915
  ## TRTCAudioVolumeEvaluateParams
3564
916
 
3565
-
3566
-
3567
917
  #### Volume Assessment and related parameter settings
3568
918
 
3569
919
  This setting is used to enable voice detection and sound spectrum calculation.
3570
- <table>
3571
- <tr>
3572
- <td rowspan="1" colSpan="1" >Enumeration Types</td>
3573
-
3574
- <td rowspan="1" colSpan="1" >Description</td>
3575
- </tr>
3576
-
3577
- <tr>
3578
- <td rowspan="1" colSpan="1" >enablePitchCalculation</td>
3579
-
3580
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to enable local voice frequency calculation</td>
3581
- </tr>
3582
-
3583
- <tr>
3584
- <td rowspan="1" colSpan="1" >enableSpectrumCalculation</td>
3585
-
3586
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to enable sound spectrum calculation.</td>
3587
- </tr>
3588
-
3589
- <tr>
3590
- <td rowspan="1" colSpan="1" >enableVadDetection</td>
3591
-
3592
- <td rowspan="1" colSpan="1" >[Field Meaning] Whether to enable local voice detection.<br>[Please Note] It takes effect only when called before startLocalAudio.</td>
3593
- </tr>
3594
-
3595
- <tr>
3596
- <td rowspan="1" colSpan="1" >interval</td>
3597
-
3598
- <td rowspan="1" colSpan="1" >[Field Meaning] Sets the trigger interval for the onUserVoiceVolume callback, in milliseconds. The minimum interval is 100ms. If the value is less than or equal to 0, the callback will be disabled.<br>[Recommended Value] Recommended value: 300 milliseconds.<br>[Special Instruction] When the interval is greater than 0, the volume prompt will be enabled by default without additional settings.</td>
3599
- </tr>
3600
- </table>
920
+ | Enumeration Types | Description |
921
+ | --- | --- |
922
+ | enablePitchCalculation | [Field Meaning] Whether to enable local voice frequency calculation |
923
+ | enableSpectrumCalculation | [Field Meaning] Whether to enable sound spectrum calculation. |
924
+ | enableVadDetection | [Field Meaning] Whether to enable local voice detection.<br>[Please Note] It takes effect only when called before startLocalAudio. |
925
+ | interval | [Field Meaning] Sets the trigger interval for the onUserVoiceVolume callback, in milliseconds. The minimum interval is 100ms. If the value is less than or equal to 0, the callback will be disabled.<br>[Recommended Value] Recommended value: 300 milliseconds.<br>[Special Instruction] When the interval is greater than 0, the volume prompt will be enabled by default without additional settings. |