Cloud Console
You can manage your applications and channels in the LiveSwitch Cloud Console. You can also check your applications' Channel, Client, and Connection statistics reports in the Console. To access your Console, log into https://console.liveswitch.io.
Dashboard
The Dashboard is a landing page that shows your applications' activity reports.
If you have more than one application, you can switch between them by clicking the Change icon.
Clients and Connections
Graph | Description |
---|---|
Clients | Total number of currently active clients. |
Connections | Total number of currently active connections. The number count depends on your connection type. For example, if you have five clients, for an SFU connection type, there are 25 connections. for an MCU connection type, there are 10 connections. |
Channels | Total number of active Channels. |
Bandwidth | The bandwidth your application is using across all connected clients and servers. |
Connections per Hour | Accumulated number of connections per hour for the past 12 hours. The graph time zone is UTC. |
Connections per Day | Accumulated number of connections per day for the past seven days. |
Tip
You can create a connection to test out by clicking the CREATE A CONNECTION link. It creates an MCU connection using CodePen right away.
Usage Stats
This section provides several aggregate reports on your client platform and browser usages, and so on. With this information, you can target your app development effort in the right direction.
Graph | Description |
---|---|
Usage by Platform | Which platforms your clients are using for the past 30 days ("Web" means any web app running on any operating system). |
Web Usage by Browser | Which browsers your clients are using for the past 30 days. |
Usage by SDK Version | Which versions of the SDK your clients are using for the past 30 days. You should always upgrade your SDK to the latest version. |
Unique IPs by Location
Your clients can connect from anywhere in the world. This section reports on the geographical distribution of your client connections so that you can target them with localized insights. Note that this chart is populated with your data an hour after connections are established.
Sessions
The Sessions page displays channel session activities for each application.
Session Information
If you have more than one application, you can switch between them by clicking the Change icon. For the selected application, it lists the following:
- Live shows real-time channel, client, and connection details for each session.
- Previous 24 Hours shows channel, client, and connection details for the last 24 hours for each session.
Connections Statistics
For a given connection, you can see the user, device, and client counts and IDs. You can also drill down to see statistical graphs that show the quality of your connections. For information about the relationship between users, devices, and clients, see Binding Hierarchy.
To see the statistics graphs:
click the Channel ID → the Client ID → the Connection ID.
You can see video or audio connection statistics, or zoom in or out:
To see video connection statistics, click Video.
To see audio connection statistics, click Audio.
To zoom in or out, use the sliders, or click 1M (one minute), 5M (five minutes), or All (the entire time).
Note
The graphs only show the connection statistics from the client (sender) to the LiveSwitch Cloud server (receiver).
Graph | Description |
---|---|
Bytes Sent | Bytes sent by the sender. |
Bytes Received | Bytes received by the receiver. |
Packets Sent | Packets sent by the sender. |
Packets Received | Packets received by the receiver. |
Packets Lost | Packets lost from the sender to the receiver. Packet loss can reduce the quality of the stream. |
NACK Count | (Video only) NACK stands for Negative ACKnowledgement. NACK Count indicates how many times the receiver has sent a NACK packet after detecting that one or more packets were lost. |
PLI Count | (Video only) PLI stands for Picture Loss Indication. PLI Count indicates how many times the receiver has lost a full-frame. |
FIR Count | (Video only) FIR Stands for Full Intra Request. FIR Count indicates how many FIR packets the sender has received. The receiver sends an FIR packet to the sender any time it falls behind or loses packets and can't decode the incoming stream. The higher the FIR Count is, the more often frames were dropped, which may indicate that the media's bitrate is too high for the available bandwidth . |
Jitter | When packets are sent, they might not be delivered in the sequence to the receiver. Since audio and video are time-sensitive, LiveSwitch collects the received packets and reorders them to the correct sequence. Jitter is the variation in the time between packets arriving. If the jitter is higher than 15-20 milliseconds, it can increase latency and result in packet loss. |
RTT | RTT stands for Round Trip Time. RTT is the time between a request being sent and a response being received. |
Application Configuration
The Applications page displays a listing of your configured applications. Applications consist of one or more channels. Channels are what your clients join. You can configure media settings for specific channels. Applications have configuration properties shared by all clients, regardless of which channel they join. These properties are the application's Name, Shared Secret, and Webhook Configurations.
You can create as few or as many applications as you need. You can also add webhooks to trigger your external services, or customize your SFU, MCU, and Codecs.
Note
The term "Application" is different from the term "App". App refers to your client application.
Name
Name of your application. You can give your application a human-readable name so that it's easy to identify.
Application ID
ID of your application. It's read-only and can't be changed.
Gateway URL
The Gateway URL indicates the entry point for the Gateway and is used by LiveSwitch Media Servers and SIP Connectors.
Shared Secret
The Shared Secret is used to authenticate client join requests.
Webhook Configuration
Webhooks are user-defined HTTP callbacks that can send event-triggered notifications or updates to an external web server. You can use webhooks to hook your own processing into LiveSwitch events. LiveSwitch sends out webhook event updates as an HTTP POST request with the body formatted in JSON.
To add a new webhook, click New and set the following:
Control | Description |
---|---|
Name | Name of the webhook (does not have to be unique). |
URL | The server to POST event information to (both HTTP and HTTPS are supported, but HTTPS is recommended). |
Event Category | Choose which level the webhook applies to:
|
Event Lifecycle | The events available for the given category. When triggered, events send a POST to your configured webhook. |
Batch | Turn on the control to POST multiple events in a single call. Otherwise, each event results in a separate call. |
Disabled | Turn on the control to disable all events. |
For information on sample JSON object for each event, see Webhooks in the Developer Guides.
Channel Overrides Configuration
If your media configuration for an application doesn't satisfy certain usages, you can resolve this by adding Channel overrides.
You can add unlimited number of channels for an Application and configure each channel for specific purposes. For example, clients might join a channel to stream audio and video from their mic and camera, and join a different channel specifically to stream screen capture video. For the former, you set up the default audio and video encoder configuration in the application's Advanced Setup. For the latter, you add Channel Overrides to specify a different video encoding configuration.
To add Channel Overrides:
- Click New, and enter a Channel Pattern.
The channel pattern supports the wildcard '*' character. When a client requests to join a channel, LiveSwitch assigns channels to the client that best matches in the order specified in the channel list. You can drag channels in the list to change their order.
- Set up the SFU, MCU, audio, video configurations that apply to that channel pattern.
Advanced Setup
LiveSwitch uses default media configurations. However, you can customize the media settings in the Advanced Setup section.
SFU Configuration
Set configuration options for Selective Forwarding Unit (SFU) connections. For more information on SFU connections, see Stream using SFU.
Limit SFU Upstream Bitrate
Set the maximum upstream audio bitrate and video bitrate by entering your desired values in Kbps in Audio Input Max Bitrate and Video Input Max Bitrate. If not set, the default values are used.
Configure SFU Simulcast
LiveSwitch supports Simulcast, which allows multiple encoding per stream. In the Simulcast Config section, you can specify the maximum number of encodings per video input.
MCU Configuration
MCU stands for Multipoint Control Unit. MCU Configuration allows you to set configuration options for MCU connections. For information on how MCU connection works, see Stream using MCU.
Limit MCU Upstream Bitrate
You can set the maximum upstream audio bitrate and video bitrate by entering your desired values in kbps in Audio Input Max Bitrate and Video Input Max Bitrate. If not set, the default values are used.
Define Output Frame Resolution and Rate
To define the MCU video output frame resolution and rate, enter the desired value in Video Output Width, Video Output Height, and Video Output Frame Rate.
You should use the common resolutions because not all combinations are valid for all codecs. For example, 147x933 is not a valid resolution. You should also keep your frame rate to a reasonable value that is less than 30 frames per second.
Control MCU Layout
You can specify the margin between the frames in the output video in Video Input Margin.
If the input video frame is smaller than the output video frame, the output video fills the space with black bars. You can enable Crop Input Videos to enlarge the input video to fit the output video frame.
Configure MCU Simulcast
LiveSwitch supports Simulcast, which allows multiple encoding per stream. In the Simulcast Config section, you can specify the maximum number of encodings per video input.
Audio Codecs
Specify the audio codecs that you want to use in your app. By default, most audio codecs are enabled. If you disable too many codecs, the connection may fail because there are no available codecs. The supported codecs are:
Tip
You should always enable Opus. Opus can efficiently handle most use cases, from low-bandwidth calls to high-quality music. Set the maximum allowed bitrate in Kbps for Opus.
- Opus
- PCMU
- PCMA
- G.722
Note
The Max Bitrate is the downstream rate which means if you specify 1024, this is the maximum rate that is sent in the downstream connection.
Video Codecs
Specify the video codecs that you want to use in your app and, if necessary, the maximum bitrate in Kbps for each. By default, all video codes are enabled. If you disable too many video codecs, the connection might fail if there are no available codecs. The supported codecs are:
Note
The Max Bitrate is the downstream rate which means if you specify 1024, this is the maximum rate that is sent in the downstream connection.
API Keys
LiveSwitch Cloud REST API uses API keys to authenticate users. To send an HTTP request to the REST API, you must include a valid API key in the X-API-Key
header. You can try out the REST API here.
To create an API key, click New and enter a tag for your key. You can use the same tag for different API keys. You can also edit or delete an API key.
Note
- The REST API limits 20 requests per API Key per second. Exceeding this limit results in a 429 Too Many Requests response.
- Any API call using a deleted key returns a 401 Unauthorized response.
Subscription
The Subscription page allows you to view the details of your LiveSwitch Cloud subscription. If you want to make changes to your subscription plan, contact Sales.
Downloads
The Downloads page allows you to download the latest version of the client SDK.