Features

Last updated: 2021-07-27 16:21:46

    What is a RoomID in TRTC? What is its value range?

    A RoomID (room ID) uniquely identifies a room and can range from 1 to 4294967295. You are responsible for maintaining and assigning the Room IDs of your applications.

    What is a UserID in TRTC? What is its value range?

    A UserID (user ID) uniquely identifies a user in a TRTC application. It can contain letters (case sensitive), digits, and underscores, preferably not longer than 32 bytes.

    How long is the lifecycle of a TRTC room?

    • The first user who enters a room is the owner of the room, but cannot close the room.
    • In the call modes, TRTC closes a room when all users exit the room.
    • In the live streaming modes, if the last user who exits a room is an anchor, TRTC will close the room immediately; if the user is a viewer, TRTC will close the room in 10 minutes.
    • A user will be removed from a room 90 seconds after unexpected disconnection. If all users are unexpectedly disconnected, the room will be closed after 90 seconds.
    • If a user attempts to enter a room that does not exist, TRTC will automatically create a room with the ID entered.

    Can users not subscribe to audio/video streams?

    To enable instant streaming, TRTC subscribes users to audio/video streams by default upon room entry. You can call the setDefaultStreamRecvMode API to switch to the manual subscription mode.

    Can I specify a stream ID for relayed push in TRTC?

    Yes. You can specify a streamId via TRTCParams of enterRoom or call the startPublishing API to pass in the streamId.

    What roles are supported during live streaming in TRTC? How do they differ from each other?

    The live streaming scenarios (TRTCAppSceneLIVE and TRTCAppSceneVoiceChatRoom) support two roles: TRTCRoleAnchor (anchor) and TRTCRoleAudience (viewer). An anchor can both send and receive audio/video data, but a viewer can only receive and play back others' data. You can call switchRole() to switch roles.

    What is a role in TRTC?

    The concept of roles (anchors and viewers) is applicable only in the live streaming scenarios. The anchor role (TRTCRoleAnchor), which can be assigned to 30 users at the same time, can both send and receive audio/video, and the viewer role (TRTCRoleAudience), which can be assigned to 100,000 users at the same time, can only receive audio/video.

    What application scenarios are supported in TRTC rooms?

    The following application scenarios are supported:

    • TRTCAppSceneVideoCall: the video call scenario, which is suitable for one-to-one video calls, video conferences with up to 300 participants, online medical consultation, video chat, and video interviews
    • TRTCAppSceneLIVE: the interactive video live broadcasting scenario, which is suitable for low-latency video live streaming, interactive classroom for up to 100,000 participants, live video competition, video dating, remote training, and mega conferences
    • TRTCAppSceneAudioCall: the audio call scenario, which is suitable for one-to-one audio calls, audio conferences with up to 300 participants, audio chat, and online Werewolf playing
    • TRTCAppSceneVoiceChatRoom: the interactive audio live broadcasting scenario, which is suitable for low-latency audio live streaming, live audio co-anchoring, audio chat rooms, karaoke, and FM broadcasting

    What platforms does TRTC support?

    TRTC supports platforms including iOS, Android, Windows (C++), Windows (C#), macOS, desktop browsers, and Electron. For more information, see Supported Platforms.

    What are the differences among TRTC Lite, Professional, and Enterprise?

    See Differences Among Editions.

    Does TRTC support co-anchoring during live streaming?

    Yes. For detailed instructions, see:

    How many rooms can there be in TRTC at the same time?

    There can be up to 4,294,967,294 concurrent rooms in TRTC. No limits are set on the number of non-concurrent rooms.

    How do I create a room?

    A room is automatically created by TRTC when a user enters a room. Therefore, you do not need to manually create a room. Just call the client API for room entry.

    What is the upper limit on the bandwidth used for the video service of TRTC?

    There isn’t a limit.

    Can TRTC be deployed on-premises?

    No, it cannot.

    How long is the average delay in TRTC?

    The average end-to-end delay of TRTC around the globe is less than 300 ms.

    Does TRTC support active calling?

    You can enable this feature using signaling channels. For example, you can use the custom message feature of IM to enable active calling. For more information, see the scenario-specific demos in the SDK source code.

    Can users use Bluetooth earphones when having one-to-one video calls in TRTC?

    Yes, they can.

    Can TRTC be used outside the Chinese mainland?

    Yes, it can.

    Does TRTC support screen sharing on PCs?

    Yes. For details, see the following documents:

    For information on the screen sharing APIs, see Client APIs > All Platforms (C++), Client APIs > Windows (C#), or Client APIs > Electron.

    Can I share local video files in TRTC?

    Yes. You can achieve this using the Custom Capturing and Rendering feature.

    Can I record live streaming videos and store the recording files locally on my phone?

    Recording files cannot be stored locally on phones. They are stored in VOD by default. You can download and save them to your phone. For more information, please see On-Cloud Recording and Playback.

    Does TRTC support audio-only streams?

    Yes, it does.

    Can there be more than one screen sharing image in the same room?

    Currently, only one screen sharing substream is allowed in a room.

    When a specified window is shared (SourceTypeWindow), if the window size changes, will the resolution of the video stream change accordingly?

    By default, the TRTC SDK automatically adjusts encoding parameters based on the size of the shared window.
    If you want to fix the resolution, call the setSubStreamEncoderParam API to set the encoding parameters for screen sharing or set the encoding parameters when calling startScreenCapture.

    Does TRTC support 1080p videos?

    Yes. You can set the resolution through setVideoEncoderParam, the video encoding parameter of the SDK.

    Can I customize data capturing in TRTC?

    You can on some platforms. For details, see Custom Capture and Rendering.

    Is communication between TRTC and the ILVB SDK possible?

    No, it's not.

    Is communication between TRTC and MLVB possible?

    TRTC and MLVB have different backend architectures and therefore cannot communicate with each other. Relayed push from TRTC to CDNs is possible though.

    How do different room entry modes (AppScene) vary from one another in TRTC?

    TRTC has four room entry modes. Video call (VideoCall) and audio call (·VoiceCall) are the call modes, and interactive video live streaming (Live) and interactive audio live streaming (VoiceChatRoom`) are the live streaming modes.

    • The call modes allow a maximum of 300 users in each TRTC room, and up to 30 of them can speak at the same time. The call modes are suitable for scenarios such as one-to-one video calls, video conferences with up to 300 participants, online medical consultation, video interviews, video customer service, and online Werewolf playing.
    • The live streaming modes allow a maximum of 100,000 concurrent users in each room, with smooth mic connection/disconnection. Co-anchoring latency is kept below 300 ms and watch latency below 1,000 ms. The live streaming modes are suitable for scenarios such as low-latency interactive live streaming, interactive classrooms for up to 100,000 participants, video dating, online education, remote training, and mega conferences.

    Can I use the hands-free mode during video calls in TRTC?

    Yes. You can enable the hands-free mode by setting audio routes. In a native SDK, use the setAudioRoute API to switch routes.

    Does TRTC support volume reminders?

    Yes. You can call the enableAudioVolumeEvaluation API to enable volume reminders.

    Does TRTC support mirror images?

    Yes. You can call the setLocalViewMirror API to set the mirroring mode for the preview image of the local camera or call setVideoEncoderMirror to set the mirroring mode for encoded images.

    Can I record the audio of a TRTC call and save the recording file locally?

    Yes. You can call startAudioRecording to record all the audio of a call, including that of the local user, remote users and the background music, into a single file in the format of PCM, WAV, or AAC.

    Can I record the video of a TRTC call into a file?

    TRTC supports audio/video recording on a local server. To use this feature, please submit a ticket for the SDK and instructions.
    You can also use the on-cloud recording and playback feature to record videos.

    Does TRTC support floating windows (like those in WeChat) or switching between big and small images?

    These features are part of UI design, for which the TRTC SDK sets no restrictions. The official demo provides sample code for image floating and the grid layout and supports floating windows, switching between big and small images, and dragging images. For more information, see the official demo.

    How do I make an audio-only call in TRTC?

    TRTC does not use separate channels for audio and video. You can make an audio-only call by calling only startLocalAudio but not `startLocalPreview.

    How do I enable relayed push and recording for an audio-only call in TRTC?

    • In TRTC SDK below version 6.9, you need to construct json{\"Str_uc_params\":{\"pure_audio_push_mod\":1}} and pass it in TRTCParams.businessInfo during room entry. 1 means relayed push, and 2 means relayed push and recording.
    • In TRTC SDK 6.9 or above, just set the scene parameter to TRTCAppSceneAudioCall or TRTCAppSceneVoiceChatRoom during room entry.

    Can I kick a user out, forbid a user to speak, or mute a user in a TRTC room?

    Yes, you can.

    • To enable the features through simple signaling operations, use sendCustomCmdMsg, the custom signaling API of TRTC, to define your own control signaling, and users who receive the message will perform the action expected. For example, to kick out a user, just define a kick-out signaling, and the user receiving it will exit the room.
    • If you want to implement a more comprehensive operation logic, we recommend that you use Instant Messaging to map the TRTC room to an IM group and enable the features via the sending/receiving of custom messages in the group.

    Can TRTC pull and play back RTMP/FLV streams?

    Yes. The TRTC SDK has integrated TXLivePlayer. If you need more player features, consider using the all-featured LiteAVSDK_Professional.

    How many people can be in the same call in TRTC?

    • In the call modes, each room can accommodate up to 300 concurrent users, and up to 30 of them can enable their cameras or mics.
    • In the live streaming modes, each room can accommodate up to 100,000 concurrent viewers, and up to 30 of them can be assigned the anchor role and enable their cameras or mics.

    How do I start a live streaming session in TRTC?

    TRTC offers a dedicated low-latency interactive live streaming solution that allows up to 100,000 participants with co-anchoring latency kept as low as 200 ms and watch latency below 1s. It adapts excellently to poor network conditions and is optimized for the complicated mobile network environments.
    For detailed directions, please see Live Streaming Mode.

    Can I use the custom message sending API of TRTC to implement features such as chat rooms and on-screen comments?

    No. Custom message sending is intended for simple and low-frequency signaling scenarios. For details, see Sending Custom Messages > Use Limits.

    Can I loop background music in TRTC? Can I adjust the playback progress of background music?

    Yes. You can call the playback API again in the completion callback to loop background music, and call setBGMPosition() to set the playback progress.

    Note:

    setBGMPosition() has been replaced with TXAudioEffectManager seekMusicToPosInMS since version 7.3.

    Can I listen for the entry/exit of users through callbacks in TRTC? Can I use onUserEnter or onUserExit?

    Yes. You can use onRemoteUserEnterRoom and onRemoteUserLeaveRoom to listen for the entry/exit of users, but callbacks are triggered only for users who can send data.

    Note:

    onUserEnter and onUserExit have been replaced with onRemoteUserEnterRoom and onRemoteUserLeaveRoom since version 6.8.

    How do I listen for network disconnection and reconnection in TRTC?

    You can listen for the events through the following callbacks:

    • onConnectionLost: the SDK is disconnected from the server.
    • onTryToReconnect: the SDK tries to reconnect to the server.
    • onConnectionRecovery: the SDK is reconnected to the server.

    Is there a callback for first frame rendering? Can I listen for the start of image rendering or audio playback?

    Yes. You can use onFirstVideoFrame and onFirstAudioFrame to listen for the events.

    Can I take a screenshot of a video in TRTC?

    Currently, you can call snapshotVideo() on iOS and Android to take screenshots of local and remote videos.

    Why do I fail to connect peripheral devices such as Bluetooth earphones to TRTC?

    Currently, TRTC supports mainstream Bluetooth earphones and peripherals, but for some devices, there are still compatibility issues. We recommend that you use our official demos, WeChat, and QQ audio/video calls to test the compatibility of a device.

    How do I get information such as the upstream/downstream bitrate, resolution, packet loss rate, and audio sample rate of a TRTC audio/video call?

    You can call the onStatistics() API of the SDK to get the statistics.

    Does TRTC’s background music API playBGM() support online music?

    No. Currently, it supports only local music. You can download an online music file and then call playBGM() to play it back.

    Can I set the local audio capturing volume or the playback volume of each remote user?

    Yes. You can call setAudioCaptureVolume() to set the audio capturing volume of the SDK and setRemoteAudioVolume() to set the playback volume of a remote user.

    What are the differences between stopLocalPreview and muteLocalVideo?

    • stopLocalPreview is used to stop local video capturing. If you call this API, both you and other users will not be able to see your image.
    • muteLocalVideo is used to stop the sending of local video images. If you call this API, other users will not see your image, but you can still preview your own image.

    What are the differences between stopLocalAudio and muteLocalAudio?

    • stopLocalAudio is used to disable the capturing and sending of local audio.
    • When muteLocalAudio is called, TRTC does not stop the sending of audio/video data. It continues to send muted data packets at extremely low bitrate.

    What resolutions does the TRTC SDK support?

    We recommend that you set the resolution as instructed in Setting Image Quality for better image quality.

    How do I set the upstream video bitrate, resolution, and frame rate in the TRTC SDK?

    Call the setVideoEncoderParam() API of TRTCCloud and set videoResolution (resolution), videoFps (frame rate), and videoBitrate (bitrate) in TRTCVideoEncParam.

    How do I set the rotation degree of an image in the TRTC SDK?

    Please see Video Image Rotation and Zooming.

    How do I make a video call in the landscape mode?

    Please see Video Image Rotation and Zooming.

    How do I match the rotation degrees of the local and remote images if they are different?

    Please see Video Image Rotation and Zooming.

    See Setting Image Quality > Recommended Configuration.

    Can I test my network speed in TRTC? How?

    Yes, you can. For details, see Testing Network Speed Before Chat.

    Can I control access to a TRTC room to allow only authorized users to enter the room?

    Yes. For details, please see Enabling Advanced Permission Control.

    Can I pull and play back streams through CDNs?

    Yes, you can. For details, please see CDN Relayed Live Streaming.

    What formats does TRTC support for custom rendering?

    • iOS: I420, NV12, and BGRA
    • Android: I420 and Texture2D

    What is TRTC?

    Tencent Real-Time Communication (TRTC) leverages Tencent's years of experience in network and audio/video technologies to offer group audio/video calls and low-latency interactive live streaming solutions, allowing you to quickly develop cost-effective, low-latency, and high-quality interactive audio/video services. For details, please see Product Introduction > Overview.

    How can I try out the TRTC demo?

    Please see Free Demo.

    How can I get started quickly with TRTC?

    TRTC offers demo source code for different platforms to allow you to quickly build your own apps. For details, please see User Tutorial.

    How do I enable on-cloud recording and playback in TRTC?

    Please see On-Cloud Recording and Playback.