A class defining the properties of the config parameter in the createClient method.

Note:

  • Ensure that you do not leave mode and codec as empty.
  • Ensure that you set these properties before calling Client.join.

Set the Channel Profile

The table below lists the corresponding channel profile settings between different versions of the Web SDK:

Before v2.3 From v2.3
createClient({mode: "interop"}) createClient({mode: "live", codec: "vp8"})
createClient({mode: "h264_interop"}) createClient({mode: "live", codec: "h264"})

Set the Proxy Server

Define proxyServer and turnServer if you need to set a proxy server. For a tutorial on deploying the Proxy server on a Web client, see Deploy the Enterprise Proxy.

Note:

Proxy services by different service providers may result in slow performance if you are using the Firefox browser. Therefore, Agora recommends using the same service provider for the proxy services. If you use different service providers, Agora recommends not using the Firefox browser.

example

Sample Code

var config = {
     mode: "live",
     codec: "vp8",
     proxyServer: "YOUR NGINX PROXY SERVER IP",
     turnServer: {
         turnServerURL: "YOUR TURNSERVER URL",
         username: "YOUR USERNAME",
         password: "YOUR PASSWORD",
         udpport: "THE UDP PORT YOU WANT TO ADD",
         tcpport: "THE TCP PORT YOU WANT TO ADD",
         forceturn: false
     }
}
var client = AgoraRTC.createClient(config);```

Hierarchy

  • ClientConfig

Index

Properties

codec

codec: "vp8" | "h264"

The codec the Web browser uses for encoding.

  • "vp8": Sets the browser to use VP8 for encoding.
  • "h264": Sets the browser to use H.264 for encoding.

Note:

mode

mode: "live" | "rtc"

The channel profile.

Agora Web SDK needs to know the application scenario to apply different optimization methods.

Currently Agora Web SDK supports the following channel profiles:

  • "live": Sets the channel profile as live broadcast. Host and audience roles that can be set by calling the Client.setClientRole method. The host sends and receives voice/video, while the audience can only receive voice/video.
  • "rtc": Sets the channel profile as communication. This is used in one-on-one calls or group calls, where all users in the channel can talk freely.

Note:

If you need to communicate with Agora Native SDK, Agora recommends the following settings:

  • For Native SDK v2.3.2 and later:
    • Set mode as "rtc" or "live" if the Native SDK uses the communication channel profile.
    • Set mode as "live" if the Native SDK uses the live broadcast channel profile.
  • For Native SDK before v2.3.2, set mode as "live" regardless of which channel profile the Native SDK uses.

Note:

The "rtc" mode supports the Agora Recording SDK 2.3.3 or later.

Optional proxyServer

proxyServer: string

Your Nginx server domain name.

ASCII characters only, and the string length must be greater than 0 and less than 256 bytes.

Enterprise users with a company firewall can use this property to pass signaling messages to the Agora SD-RTN through the Nginx Server.

Optional turnServer

turnServer: object

TURN server settings.

Enterprise users with a company firewall can use this property to pass audio and video data to the Agora SD-RTN through the TURN Server.

Type declaration

  • Optional forceturn?: boolean

    Sets whether to force data transfer by TURN Server:

    • true: Force data transfer.
    • false: (default) Not to force data transfer.
  • password: string

    Your TURN Server password. ASCII characters only, and the string length must be greater than 0 and less than 256 bytes.

  • Optional tcpport?: string

    The TCP port(s) you want add to TURN Server. Numeric characters only, and the string length must be greater than 0 and less than 256 bytes.

  • turnServerURL: string

    Your TURN Server URL address. ASCII characters only, and the string length must be greater than 0 and less than 256 bytes.

  • udpport: string

    The UDP port(s) you want to add to TURN Server. Numeric characters only, and the string length must be greater than 0 and less than 256 bytes.

  • username: string

    Your TURN Server username. ASCII characters only, and the string length must be greater than 0 and less than 256 bytes.