TRTC Web SDK
An object-oriented WebRTC SDK library
[](https://www.npmjs.com/package/trtc-js-sdk) [](https://www.npmjs.com/package/trtc-js-sdk) [](https://www.npmjs.com/package/trtc-js-sdk) [](https://www.npmjs.com/package/trtc-js-sdk) [](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/index.html) [](https://github.com/LiteAVSDK/TRTC_Web)
English | [简体中文](https://github.com/LiteAVSDK/TRTC_Web/blob/main/SDK/README-zh_CN.md)
## Introduction
TRTC Web SDK is an object-oriented WebRTC SDK of Tencent Cloud's real-time communication solution. Web developers can use TRTC Web SDK to establish an audio/video calls or live streaming services on your website.
- [Online Demo](https://web.sdk.qcloud.com/trtc/webrtc/demo/api-sample/basic-rtc.html?lang=en)
## Environment Supports
TRTC Web SDK supports major modern browsers. For details, please refer to [Browsers Supported](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/tutorial-05-info-browser.html).
| [
](http://godban.github.io/browsers-support-badges/)
Chrome | [
](http://godban.github.io/browsers-support-badges/)
Edge | [
](http://godban.github.io/browsers-support-badges/)
Firefox | [
](http://godban.github.io/browsers-support-badges/)
Safari | [
](http://godban.github.io/browsers-support-badges/)
iOS Safari | [
](http://godban.github.io/browsers-support-badges/)
Opera |
| --------- | --------- | --------- | --------- | --------- | --------- |
| 56+ | 80+ | 56+ | 11+ | 11+ | 46+ |
## Install
npm:
```
$ npm install trtc-js-sdk --save
```
yarn:
```
$ yarn add trtc-js-sdk
```
Download manually:
1. download [webrtc_latest.zip](https://web.sdk.qcloud.com/trtc/webrtc/download/webrtc_latest.zip).
2. copy `base-js/js/trtc.js` to your project.
## Usage
Refer to the following two tutorials for a quick run-through of the demo and how to use the SDK to implement basic audio and video calling functionality.
- [Demo Quick Run](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/tutorial-10-basic-get-started-with-demo.html)
- [Basic Audio/Video Call](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/tutorial-11-basic-video-call.html)
Explore SDK documents:[TRTC Web SDK](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/index.html)
## API Overview
- [TRTC](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/TRTC.html) is the main entry to the entire TRTC SDK. You can use TRTC APIs to create a client object ([Client](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html)) and local stream object (LocalStream), check a browser's compatibility, set log levels, and upload logs.
- A client object [Client](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html) provides the core TRTC call capabilities, including entering a room [join()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#join), leaving a room [leave()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#leave), publishing a local stream [publish()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#publish), unpublishing a local stream [unpublish()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#unpublish), subscribing to a remote stream [subscribe()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#subscribe), and unsubscribing from a remote stream [unsubscribe()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#unsubscribe).
- Audio/video objects [Stream](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Stream.html) include local stream LocalStream and remote stream RemoteStream objects. The APIs in Stream are general APIs for the local and remote streams.
- Local streams [LocalStream](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/LocalStream.html) are created via [TRTC.createStream()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/TRTC.html#.createStream).
- Remove streams [RemoteStream](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/RemoteStream.html) are obtained through listening for 'stream-added' events from [Client.on()](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/Client.html#on).
## Directory
```
├── README.md
├── package.json
├── trtc.js // sdk file
├── trtc.esm.js // sdk file base on ES modules(support v4.11.7+)
├── trtc.umd.js // sdk file base on UMD modules(support v4.11.7+)
└── index.d.ts // ts declaration file(support v4.11.12+)
```
## Difference between sdk files
**trtc.js**
Default entry file, base on UMD modules, ES6 included.
Usage:
- `import TRTC from 'trtc-js-sdk'`
- or `