Why LiveSwitch Cloud
LiveSwitch Cloud is a highly flexible, fully managed, enterprise-grade, live video broadcasting platform with stunning video quality and exceptional access to real-time metrics, reports, and integrations.
LiveSwitch provides unparalleled flexibility to combine peer-to-peer (P2P)-, Selective Forwarding (SFU)-, and Mixing Control Unit (MCU)-based media flows in a single session and switch dynamically while the session is live.
LiveSwitch provides a full cross-platform WebRTC stack. You can use the following exclusive features in your app:
- Token-based authentication
- Support for multiple simultaneous devices
- Powerful channel-based session management
- P2P, MCU, and SFU modes
- Support for H264 and VP8, VP9, G711, and Opus codecs
- Presence management
- REST API and Webhooks control
- Live call analytics
SFU for Video Conferencing
LiveSwitch supports SFU that uses a one-up, many-down architecture. With SFU, participants send their media to the server only once. The server subsequently distributes the media to connected downstream clients.
SFU reduces upstream bandwidth and client load. This allows you to scale your app out much further on the client. The server forwards the media packets without decoding or re-encoding them. Thus, you can keep the server load minimal to make the most of each instance.
You can also use simulcast in a conference or broadcast. Simulcast allows downstream clients to receive the best possible quality stream.
Mixing for Multiparty Audio & Video
LiveSwitch supports MCU that mixes audio and video into a single stream based on standard or custom video templates. If a connection goes over MCU, it offloads the stream to the servers.
MCU connection has only one upload stream and one download stream for each call participant. This is especially useful for legacy and resource-constrained devices. The server handles all the mixing and delivers the stream to users in their devices' format.
A demo is available online at https://meet.liveswitch.io. Open up the demo in a few browser windows or ask some friends to help you out.
Download the LiveSwitch Cloud SDK
The LiveSwitch SDK is available for multiple platforms. These are packaged together in a single download available at your LiveSwitch Cloud Console's downloads page.
In each of the client platform downloads, you'll find two folders:
- Examples folder which contains source code for demos that you can use as a starting point to build your own apps.
- Libraries folder which contains compiled binaries for the platform to include in your own apps.
Create a Sample App
You can learn LiveSwitch by creating a sample app following the Get Started Guide. The Get Started Guide includes step-by-step tutorials to set up your development environment and create apps for C#, Android, iOS, and TypeScript with all the basic functionalities of LiveSwitch, such as client registration, media streaming, screen sharing, text chat, and file transferring, etc.
Explore the Example App
You can also learn LiveSwitch by exploring the Chat example in the downloaded package for all the supported platforms. The Chat example demonstrates the following:
- How to switch among P2P, SFU, and MCU modes
- How to perform token-based authentication
- How to send and display a chat message
To build the example, navigate to the folder for your platform and load the project in an appropriate IDE:
- For C#, use Visual Studio.
- For Java and Android, use either IntelliJ or Android Studio.
- For iOS and macOS, use Xcode.
Note that when you run the Xamarin iOS example, make sure there are no spaces in the example's path. Otherwise, the example does not build.
LiveSwitch supports WebRTC. LiveSwitch's network tunneling strategies are identical to those recommended by the WebRTC specification. LiveSwitch's WebRTC implementation provides complete audio, video, and data-channel stack that is fully interoperable with other modern WebRTC implementations.
|Browser||Supported by LiveSwitch?|
|Safari||Yes. LiveSwitch fully supports plugin-free WebRTC communications in iOS 11+ and Safari 11+ for macOS High Sierra.|
LiveSwitch uses the following libraries:
|BouncyCastle||Open-source software (OSS)||MIT||All except nativeiOS/macOS for DTLS encryption.|
|libssl / libcrypto||OSS||Apache 1.0 / BSD||native iOS/macOS for DTLS encryption.|
|SkiaSharp||Xamarin||MIT||.NET (Media Server) for video mixing.|
The following libraries are necessary for capturing and processing audio and video:
|NAudio||OSS||Ms-PL||.NET for audio capture and playback.|
|AForge.NET||OSS||LGPL v3||.NET for camera capture.|
|Sarxos||OSS||MIT||Java for camera capture.|
|libvpx||WebM Project||New BSD||All for video encoding/decoding.|
|libopus||Xiph.Org||BSD||All for audio encoding/decoding.|
|libaudioprocessing||BSD||All except iOS/macOS for echo cancellation.|
|libyuv||BSD||All for YUV conversion.|
|libopenh2641||Cisco||Two-Clause BSD / AVC/H.264 Patent Portfolio License||All except iOS/macOS for video encoding/decoding (downloaded at runtime).|
- libopenh264 is not included or shipped in release artifacts. It is downloaded at runtime by clients that are configured to use software H.264.
The following libraries are optional:
|log4net||Apache||Apache 2.0||.NET for logging.|
|Json.NET||Newtonsoft||MIT||.NET for JSON serialization.|
|Redis||OSS||BSD||LiveSwitch Gateway state provider.|