LiveSwitch Cloud

What is 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 Cloud 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. 

Why use LiveSwitch Cloud?

LiveSwitch provides a full cross-platform WebRTC stack. You can use the following exclusive features in your application:

  • live call analytics
  • 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

SFU for Video Conferencing

Mesh P2P networks require participants to upload their media several times - one for each remote peer, while SFU 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 application 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 can function as a multipoint control unit or MCU. It allows you to mix 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 LiveSwitch Cloud 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.

Do you have a demo?

Yes! 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. Some commonly asked questions are answered below, or you can skip ahead to the next sections to learn how to download the Client SDK and start building your own app!

How do I 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.

What's in the Download?

In each of the client platform downloads found in the LiveSwitch Cloud Console, you'll find two folders: Examples and Libraries. There are no surprises here - the Examples folder contains source code for demos that you can use as a starting point to build your own apps, and the Libraries folder contains compiled binaries for the platform to include in your own apps.

Building an Example

In the Examples folder, the Chat example demonstrates the core features of LiveSwitch, including 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 Web, it's recommended to use Visual Studio. The example includes both TypeScript and JavaScript flavors.
  • 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.

What platforms does LiveSwitch support?

LiveSwitch provides client SDKs for all modern platforms, with libraries written in C#, JavaScript, Java, and Objective-C. It supports Android, iOS, macOS, almost any flavor of .NET, Windows 10, UWP (Desktop), Xamarin, and a few other minor platforms. The LiveSwitch server components can run on Windows Servers with .NET-Core, or Linux.

Does LiveSwitch support WebRTC?

Yes! LiveSwitch's network tunneling strategies are identical to those recommended by the WebRTC specification. LiveSwitch's WebRTC implementation provides a complete audio/video/data-channel stack that is fully interoperable with other modern WebRTC implementations.

Does LiveSwitch support ORTC?

Yes! Microsoft Edge is fully supported with LiveSwitch. We support all ORTC APIs currently implemented in Edge, and we provide seamless interoperability between ORTC and WebRTC browsers.

Does LiveSwitch support Internet Explorer?

Yes! LiveSwitch is bundled with an ActiveX plugin for Internet Explorer users. This is tightly integrated with the JavaScript SDK so that the browser automatically uses the plugin if native WebRTC functionality is unavailable.

Does LiveSwitch support Safari, Opera, and Edge?

Yes! LiveSwitch fully supports plugin-free WebRTC communications in iOS 11+ and Safari 11+ for macOS High Sierra and the latest version of all WebRTC or ORTC compliant browsers on Windows 7+.

Third-Party Dependencies

Internal Dependencies

Libraries used in the core of LiveSwitch.

Library

Vendor

License

Platform

BouncyCastle

Open Source

MIT

All except nativeiOS/macOS for DTLS encryption.

libssl / libcrypto

Open Source

Apache 1.0 / BSD

native iOS/macOS for DTLS encryption.

SkiaSharp Xamarin MIT .NET (Media Server) for video mixing.

External Dependencies

Libraries that are necessary for audio/video capture and processing.

Library

Vendor

License

Platform

NAudio

Open Source

Ms-PL

.NET for audio capture and playback.

AForge.NET

Open Source

LGPL v3

.NET for camera capture.

Sarxos

Open Source

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

Google

BSD

All except iOS/macOS for echo cancellation.

libyuv

Google

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).

  1. libopenh264 is not included or shipped in release artifacts. It is downloaded at runtime by clients that are configured to use software H.264.

Optional Dependencies

Library

Vendor

License

Used By

log4net

Apache

Apache 2.0

.NET for logging.

Json.NET

Newtonsoft

MIT

.NET for JSON serialization.

Redis Open Source BSD LiveSwitch Gateway state provider.