tencent cloud


SDK Download

Last updated: 2023-05-22 15:43:58
Player SDK
Chat SDK
All-in-One SDK

Use Cases
Video call
720p/1080p one-to-one or group video callsEach room allows up to 300 concurrent users, and up to 50 users can turn their cameras on at the same time.
Video calls, video conferencing, video socializing, online medical consultation, video customer service, video interviews
Audio call
One-to-one or group audio calls with 48 kHz sample rate and dual channelsEach room allows up to 300 concurrent users, and up to 50 users can turn their mics on at the same time.
One-to-one or group audio calls, audio chat, chat-based online games
Interactive video streaming
Same-room communication between anchors and audience membersCross-room communication between anchors.Smooth mic on/off without waiting, anchor latency less than 300 ms.There is no upper limit on the cumulative number of anchors in a room, and up to 50 users can communicate at the same timeThe low-latency live streaming mode supports streaming to up to 100,000 concurrent users, with playback latency as low as 1,000 ms.
Interactive classes, live shopping, party live streaming, same-room/cross-room communication
Interactive audio streaming
Same-room communication between anchors and audience membersCross-room communication between anchors.Smooth mic on/off without waiting, anchor latency less than 300 ms.There is no upper limit on the cumulative number of anchors in a room, and up to 50 users can communicate at the same timeThe low-latency live streaming mode supports streaming to up to 100,000 concurrent users, with playback latency as low as 1,000 ms.
Drop-in audio chat, chat-based online games, audio chat rooms, same-room/cross-room audio communication, karaoke rooms, FM radio
Advanced Features
Use Cases
Audience members can mic on to communicate with the anchor. Smooth mic on/off without waiting.
Interactive live streaming, online classes, chat rooms
Cross-room communication
Anchors from different rooms can communicate with each other while audience members watch.
Showroom streaming, cross-room interaction, cross-room classes
Screen sharing
Share the desktop, a window (for example, a Microsoft PowerPoint window), or a portion of the desktop
Online classes, PowerPoint presentation, remote support
Server-side local recording
Server-side local recording relies on the Linux SDK, which is currently offered to a limited number of customers. If you have questions about the SDK or want to use it, please contact us at colleenyu@tencent.com.
Recording, archiving, compliance
On-cloud recording
On-cloud recording relies on the relay-to-CDN feature and leverages the capabilities of CSS to record live streaming sessions (audio/video). Recording files are saved securely and in real time to VOD.
Audiovisual recording, archiving, compliance
On-Cloud MixTranscoding
TRTC uses an MCU cluster to mix and transcode the audio and video streams in a room and publishes the mixed stream to CSS for on-cloud recording or CDN playback.
Stream mixing, recording format conversion
High audio quality
48 kHz sample rate, end-to-end 192 Kbps bitrate, and dual channels for a clear and immersive audio interaction experience
Audio calls, video calls, interactive live streaming, audio chat rooms, high-audio-quality FM radio, music classes, karaoke rooms, online classes
High video quality
720/1080p video quality
Video calls, interactive live streaming, online classes
3A processing
Leveraging the industry-leading 3A (acoustic echo cancellation, active noise suppression, automatic gain control) technologies of Tencent Ethereal Audio Lab, TRTC can ensure audio quality even when multiple people speak at the same time or in the presence of background noise.
All audio applications
AI-based noise suppression
Remove intermittent noises that traditional noise suppression technologies cannot handle, such as coughing, sneezing, and car horns
Audio calls, video calls, interactive live streaming, audio chat rooms, online classes
Basic beautification
Basic beautification effects including skin brightening, skin smoothing, rosy skin, and basic filters
Video calls, interactive live streaming, online classes
Background music
Use local music files in formats such as MP3, AAC, and WAV as background music
Audio calls, video calls, interactive live streaming, interactive classes, audio chat rooms, online karaoke, FM radio
Audio effects
Audio effects such as applauding, cheering, whistling, and booing
Audio calls, video calls, interactive live streaming, audio chat rooms, karaoke rooms, FM radio
Publishing system audio
Publish the audio you play locally, for example, the music played by QQ Music on your computer, to remote users
Interactive live streaming, online classes, audio chat rooms, FM radio
Voice change
Voice changing effects such as girl, man, and heavy metal
Audio calls, video calls, interactive live streaming, audio chat rooms, karaoke rooms, FM radio
Reverb effects such as karaoke room, small room, hall, and shower room
Audio calls, video calls, interactive live streaming, audio chat rooms, karaoke rooms, FM radio
Volume callback
Data on volume levels, based on which you can generate waveform animations or send volume reminders to users
Audio calls, video calls, audio chat rooms, FM radio, karaoke rooms, and speech detection
In-ear monitoring
Capture local audio and play it back in the user’s earphones, usually for voice quality check or pitch control during singing
Interactive live streaming, showroom streaming, karaoke rooms
Custom audio
Callback of raw audio for custom processing. You can connect the SDK to non-standard external devices or use local audio files
Non-standard device connection, custom audio effects, speech processing, speech recognition
Custom video
Custom video sources and renderers. You can use non-camera video sources such as video files, external devices, and third-party sources
Custom beautification effects, custom data sources, multi-device management, video recognition, image processing
SEI messages
Embed custom information such as lyrics and questions as SEI frames into published video streams
Karaoke rooms, live quizzes, interactive live streaming

Core features
Use Cases
Live stream publishing
Publish live streams using RTMP or RTC, with increased adaptability to network fluctuations and faster transmission speed that help deliver a reliable and low-latency publishing experience
Live playback
Play RTMP, FLV, HLS, DASH, or WebRTC streams. Smooth and HD viewing experience
Live stream watching
Mic connect
RTC-based low-latency communication between the host and audience members as well as between hosts from different rooms, with host-audience latency lower than 300 ms
Host-audience interaction, host interaction
Mobile (game) screen recording
Stream the host’s phone screen and camera video at the same time
Game streaming, mobile presentation
Video capturing
Capturing parameters
Resolution, frame rate, audio sample rate, GOP, bitrate, etc.
Aspect ratio
Capture videos in the aspect ratio of 16:9, 4:3, or 1:1
Publish streams in portrait mode, landscape left mode, or landscape right mode
Video quality selection
SD, HD, or FHD
Turn on/off the flashlight
Camera switch and zoom
Switch between the front and rear cameras and zoom in or out
Auto and manual focus
Turn on/off auto and manual focus
Photo taking
Take photos
Video flipping
Horizontally flip the camera video or the published video. The front camera is flipped by default.
Add watermarks to captured videos
Take a screenshot of the phone screen
Pausing audio/video
Pause audio or video during live streaming
Add custom filters and adjust the filter strength
Basic beautification
Smooth skin, brightening, and rosy skin
Audio capturing
Background music
Select a local MP3 file as the background music before capturing
Pitch change
Change the music pitch
Audio mix
Mix voice and music audio with independent volume adjustment
In-ear monitoring
When earphones (wired or wireless) are used, the user can hear the audio captured by their local mic in their own earphones
Recreate multi-directional and 3D sounds using dual-channel audio
AI-based noise suppression
Built-in noise suppression is based on a psychoacoustic model and can increase the signal-to-noise ratio by more than 20 dB without compromising the sound quality
Voice change
Voice changing effects such as girl and man
Reverb effects, which can be used together with voice changing to produce various sound effects
Disable the mic during capturing to publish only video images
Auto volume adjustment
The SDK can adjust the volume automatically depending on ambient sound
Live stream publishing
RTMP publishing
Publish 180-1080p videos using RTMP or RTMPS
WebRTC publishing
Publish streams using WebRTC
SRT publishing
Publish streams using SRT
QUIC publishing
Publish streams using QUIC
Publishing from screen
Publish a stream containing content captured from the screen
SEI messages
Insert text data as SEI (Supplemental Enhancement Information) into the audio/video stream. The information is published by the host and received by audience members. This allows you to show text information in sync with audio/video content.
Adaptive bitrate
The SDK can automatically adjust the bitrate (multiple control modes supported) according to network conditions to deliver a smoother streaming experience
Audio-only push
Capture and publish audio-only streams, which helps you save bandwidth costs
External publishing source
Publish from an external source
Auto reconnection
The SDK can automatically reconnect after a disconnection occurs
Live playback
RTMP playback
Play RTMP streams
FLV playback
Play FLV streams
HLS playback
Play HLS streams
DASH playback
Play DASH streams
WebRTC playback
Play WebRTC streams
Mic connect
Same-room communication
One-to-multiple video interaction between the host and audience members
Cross-room communication
One-to-one video interaction between hosts
Quality monitoring
Quality monitoring
Monitor publishing and playback performance

iOS & Android
Playback protocols/formats
VOD, live
Supported formats for live playback
Supported formats for VOD playback
Live Event Broadcasting (LEB)
Live and VOD playback
Play DASH videos
QUIC transmission
Use the QUIC protocol to transmit data with higher efficiency
SDR/HDR videos
Play SDR and HDR10/HLG videos
H.264 playback and decoding (software/hardware)
Play and decode (based on software or hardware) H.264 videos
H.265 hardware decoding
Play and decode (based on hardware) H.265 videos
Audio-only playback
Play audio files in formats such as MP3
Dual-channel audio
Play dual-channel audio
Custom HTTP headers
Customize the header in an HTTP request for video sources
Play HTTPS videos
HTTP 2.0
Support for HTTP 2.0
Playback features
Predownload a video, with configurable download size limits and resolution. This feature can greatly reduce the time to first frame (TTFF) and is optimized to reduce the energy consumption of the playback device
Downloading while playing
Download a video in advance during playback (you can configure a download policy). This allows network resources to be freed up sooner
Accurate seeking
Play from a specific point on the progress bar. Seeking is accurate to the frame in mobile applications and accurate to the millisecond on the web
Real-time download speed
Get the download speed in real time, which you can show to users when playback stutters. This is also what enables bandwidth detection, a prerequisite for adaptive bitrate
Add multiple players on a page and play videos on different layers at the same time
Dynamic frame sync
Fast forward to the current playback progress when a lag occurs to ensure the real-timeliness of live streaming
Playback control
URL playback
Play a live or VOD video via its URL
File ID playback
Play a video via its VOD file ID, which corresponds to the video’s available resolutions, thumbnails, and timestamp information
Local playback
Play a local video file
Basic control
Start, stop, pause, and resume playback
Picture-in-picture (floating window)
Play a video in PiP mode. For mobile applications, PiP is supported both within the application and out of the application
Cache seeking
If a video is already cached, seeking will be based on the cache and is therefore faster
Time shifting
Play an ongoing live stream from an earlier time point
Progress bar marking and thumbnail previews
Add marks to a progress bar and show thumbnail previews (image sprites)
Set a thumbnail for a video
Manually replay a video after playback ends
Automatically replay a video after playback ends
Play a list of videos in sequence in a continuous loop (after the last video of the list is finished, playback starts from the first video again)
Checkpoint restart
Resume a video from where you left off
Custom playback start time
Set a playback start time
Playback speed
Play a video at 0.5-3x speed
Background playback
Play audio/video even when the application is in the background
Playback callbacks
Receive callbacks for the playback status, first frame rendering, end of playback, and playback failure
The SDK retries automatically when playback fails
Volume adjustment
Adjust the system volume and mute audio in real time
Video quality selection
Smoothly switch between HLS streams of different definitions
Custom definition names
Use custom names for streams of different definitions
Capture a frame of a video
Play video previews of a specific length
On-screen comments
Show user comments that scroll across the video
Imported subtitles
Import subtitle files
Referer allowlist/blocklist
Configure an allowlist/blocklist and use the "Referer" field in a playback request to determine whether to allow or block the request
Key hotlink protection
Add parameters for validity period, preview time, and max viewer IP count to playback request URLs to protect videos from unauthorized distribution
HLS encryption
Encrypt HLS streams with a key based on AES
HLS private encryption
Encrypt videos in the cloud using VOD’s private protocol. The encrypted videos can be decrypted only by the Player SDK, which effectively prevents videos from being decrypted by various browser extensions and cracking tools
Commercial-grade DRM
Encrypt videos using Apple’s FairPlay or Google’s Widevine
Secure download
Download encrypted videos. The videos can only be decrypted and played by the Player SDK
Dynamic watermark
Add a watermark that moves randomly across the video to prevent piracy
Digital watermark
A low-cost way to track users that distribute videos without authorization
Custom UI
We offer player components that include UI elements
Fill modes
Select different ways to fit the video to the screen
Custom player size
Set the player dimensions
Pause image
Show an image when the video is paused, which can be used for advertising
Video flipping
Flip a video horizontally or vertically
Rotate videos by a specific angle (you can also specify the rotate parameter of a video file to rotate the video automatically)
Screen locking
Lock the screen for immersive playback (disable rotation and hide system bars)
Brightness adjustment
Adjust the brightness during playback
Package size
Android: arm64: 4.4 M armv7: 4.2 M dex: 573 KB iOS: arm64: 5.3M

Custom UI
We provide a complete set of UI interaction source code in the UGSV demo app. You can reuse the code directly or customize your own UI based on it
Aspect ratio
Shoot videos in the aspect ratio of 16:9, 4:3, or 1:1
Video quality selection
Shoot videos in SD, HD, or FHD and at a specified bitrate, frame rate, and GOP
Shooting control
Switch the camera and adjust brightness during shooting
Duration limits
Set the maximum and minimum video duration allowed
Add a watermark to the video shot
Focal length
Adjust the focal length during shooting
Focus mode
Auto or manual focus
Segment-based shooting
Pause shooting to generate a video segment, which can be deleted
Take photos
Speed change
Shoot a video in slow or fast motion
Background music
Select a local MP3 file as the background music before shooting
Voice change/reverb
Select a voice changing effect (such as girl or man) or reverb effect (such as karaoke room or hall) before shooting
Swipe to preview the video with different filters applied; customize filters; set the filter strength
Basic beautification
Apply effects including smooth skin, brightening, and rosy skin and adjust the strength
Advanced beautification
Apply effects including big eyes, slim face, V shape, slim chin, short face, and slim nose, and adjust the strength
Animated stickers
Apply face reshaping effects and stickers based on facial recognition technology
AI-based keying
Change the background to an animated image, PowerPoint, or other background image
Green screen keying
Replace the green background of a video with an animated image, PowerPoint, or other image
Quick import
Quickly import videos on Android
Video clipping
Create a video clip from an original video by specifying a start and end time
Bitrate setting
Generate a video at the specified bitrate
Thumbnail generation
Capture a video frame at the specified time to use as the thumbnail
Preview by frame
Move the cursor across the timeline to preview a video at a specific time point
Apply filters and set the filter strength
Time effects
Apply time effects to a video such as reverse, loop, and slow motion
Special effects
Add special effects such as soul out, rock light, split screen, and phantom
Background music
Select a preset track or local MP3 file to use as the background music (you can clip the track and adjust the music volume)
Static/Animated stickers
Add an animated or static sticker to the specified segment of a video at the specified location
Add text of a specific style (such as speech bubbles) to the specified segment of a video at the specified location
Image transitions
Add transition effects such as rotate and fade between multiple images and convert the images into a video
Video splicing
Splice videos in the specified sequence
Shoot a video while playing an existing video and splice the two videos into one split-screen video
Video upload
Upload to VOD
VOD offers services such as media management and content moderation
VOD player
A VOD player-based, open-source solution that integrates features including data pulling, orientation change, definition selection, on-screen comments, and time shifting
Package size
Android: arm64-v8a: 4.4M armeabi-v7a: 3.9M dex: 0.81M iOS: arm64: 8.5M armv7: 8.3M

User accounts
Account import
Import multiple user accounts at a time
Account deactivation
Deactivate an account by invalidating the UserSig
Account deletion
Delete multiple user accounts at a time
User online status
Track the online status of logged-in users
Account query
Query the status (already imported or not) of multiple accounts at a time
Multi-device login
Single-platform login
A user can remain logged in on only one platform (Android, iPhone, iPad, Windows, Mac, or web) at a time
Double-platform login (default)
A user can remain logged in on the web while logged in to one other device (Android, iPhone, iPad, Windows, and Mac) at the same time
Triple-platform login
A user can remain logged in on one mobile platform (Android, iPhone, or iPad), one desktop platform (Windows or Mac), and on web at the same time.
Multiple-platform login
A user can remain logged in on an unlimited number of platforms (Android, iPhone, iPad, Windows, Mac, and web) at a time.
Message types
The message content is text.
The message content is an image URL and image information such as the dimensions.
You need to design your own emojis.
Duration information (in seconds) is required for audio messages.
The message content is location information including the location name, longitude, and latitude.
The message content is a file URL and file information such as the size and format. The file can be in any format and cannot exceed 100 MB.
Short video
The message content is a video URL and video information such as the size, duration, and format. The video can be in any format and cannot exceed 100 MB.
Custom messages such as red packets and rock-paper-scissors
Preset and custom system messages
Group tips
System messages about the entry/exit of a group member, change of group description, change of a user profile, and other group updates
You can combine up to 300 messages.
Messaging features
Message download
The application administrator can call an API to get all the one-to-one or group messages in a particular hour of a particular day in the last seven days
Offline push
Push message notifications to a logged-in user who has moved the application to the background
Message roaming
When a user logs in on a new device, their message history stored in the server (on the cloud) will be synced to the new device. The messages are stored for seven days by default. You can purchase a value-added service to increase the storage period.
Multi-device sync
Sync messages on all devices. Users can receive messages on multiple devices at the same time.
Message history
Message history can be stored locally or on the cloud.
Message recall
Recall a message after it has been delivered. By default, messages that were delivered more than 2 minutes ago cannot be recalled. Only one-to-one and group chat messages can be recalled. Messages sent in audio-video groups (AVChatRooms) cannot be recalled.
Read receipts
See if messages have been read in a one-to-one chat
Message forwarding
Forward messages to another user or group
Mentioning (@)
A group @ message is essentially the same as other messages. They differ only in terms of UI logic.
Typing indicator
This feature can be implemented by sending a custom online message.
Offline push
Apple APNs, Xiaomi push, Huawei push, Meizu push, OPPO push, vivo push, and Google FCM push
Message deleting
Use the remove API to remove messages from local storage
Red packets
Red packet messages are similar to @ messages and can be implemented through TIMCustomElem.
Push to all users
Chat provides a set of RESTful APIs to push notifications to all users or users that have specific tags or attributes. The client can receive such messages through the online push or offline push (Android background notifications or APNs) method of the SDK.
Local message search
Search for friends, groups, group members, and messages and organize chats
Profile features
Setting user profiles
A user can edit information including their nickname, verification method, profile photo, gender, age, status, and location.
Viewing user profiles
A user can view their own profile as well as the profile of a friend or stranger.
Search by field
Search for user profiles by field
Custom user profiles
Up to 20 custom user profile fields
Relationship chain features
Searching for friends
Search for a friend by account ID
Friend requests
By default, a user does not need to add a note when sending a friend request. You can make it mandatory.
Adding friends
Send a friend request
Importing friends
Import multiple one-way friends at a time
Updating friends
Update a user’s relationships with multiple friends
Deleting friends
Delete friends
Querying all friends
Query all friends. By default, only basic user information is returned.
Accepting/Rejecting friend requests
Accept or reject a friend request received
Add any user to the blocklist (this will unfriend the user)
Remove a user from the blocklist
Querying the blocklist
Query the list of blocked users
Add remarks for a friend
Custom friend profiles
Up to 20 custom friend profile fields
Creating a friend list
Create a friend list and specify the friends to add to that list (a user can be added to different friend lists)
Deleting a friend list
Delete a friend list
Verifying friends
Verify multiple friends at a time
Verifying blocked users
Query the block status of multiple users at a time
Adding to a friend list
Add a friend to a friend list
Removing from a friend list
Remove a friend from a friend list
Renaming a friend list
Rename a friend list
Querying a friend list
Get the information of a friend list
Querying all friend lists
Get the information of all friend lists. You can also get friend list information when you query all friends.
Relationship chain storage
The SDK can store relationship chain information.
System notifications on friend profile changes
Receive system notifications about friend profile changes
Relationship chain change notifications
Receive system notifications about relationship chain changes
Group features
Group Type
Work groups
A work group is similar to a regular WeChat group. Only a group member can invite other users to join a work group, and the invitation does not need to be approved by the invited user or group owner.
Public groups
A public group is like a QQ group. The group owner can designate group admins. A user can search for a public group by group ID and send a request to join it. The request needs to be approved by the group owner or an admin.
Meeting groups
The members of a meeting group can join and leave freely, and can view the group’s message history upon entry. Meeting groups are ideal for TRTC scenarios such as audio/video conferences and online education.
Audio-video groups
For audio-video groups, there is no limit on the number of members. A member can join and leave freely. However, message history is not saved. Audio-video groups can be used in CSS scenarios to implement on-screen comments.
Community groups
A community group can have up to 100,000 members. A member can join and leave freely, and message history is stored. A user can search for a community group by group ID and join it, without the need for approval by an admin.

Same/Cross-room communication
Video shooting/edit/upload/publishing
Audio/Video call
Live playback
VOD playback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support