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 P2P-, SFU-, and MCU-based media flows in a single session and switch dynamically while the session is live. 

Why use LiveSwitch Cloud?

In addition to providing a full, cross-platform WebRTC stack, LiveSwitch offers a number of exclusive features that you will want 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

LiveSwitch gives you the power to add these features to your application with minimum effort.

Selective Forwarding for Video Conferencing

Unlike mesh peer-to-peer networks, selective forwarding use a one-up, many-down architecture that lets participants send their media once to the server where it is distributed out to connected downstream clients. A peer-to-peer architecture requires participants to upload their media several times - once for each remote peer - requiring powerful devices to encode multiple times, wasting upstream bandwidth and battery life.

A reduction in upstream bandwidth and client load means you can scale your application out much further on the client. Because the server forwards the media packets without decoding or re-encoding them, it also keeps the server load minimal, allowing you to make the most of each instance. It also means simulcast can be employed in a conference or broadcast to ensure all downstream clients receive the best quality stream their device and network can accommodate.

Mixing for Multiparty Audio & Video

LiveSwitch also functions as a multipoint control unit, or MCU, and supports mixing audio and video together into a single stream based on standard or user-defined video templates - offloading even more load to the LiveSwitch Cloud servers.

With just 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 automatically, and the output of that stream is delivered to each user in the format their device requires.

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. For convenience's sake, 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 how to switch between peer-to-peer, SFU and MCU modes. It also demonstrates how to perform token-based authentication, and 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 we recommend using Visual Studio, as well, as we ship both TypeScript and JavaScript flavours; for Java/Android use either IntelliJ or Android Studio; and for iOS/macOS, use Xcode.

Note that when you are running the Xamarin iOS example, you should make sure that the path of the example does not have any spaces. If you try to run this example from a path with spaces, the example will 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. We support Android, iOS, MacOS, almost any flavour 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.

Do you offer support?

Yes! Do not hesitate to contact our enthusiastic support team, who are available to answer your questions at support@frozenmountain.com and https://support.frozenmountain.com.

Does LiveSwitch support WebRTC?

Yes! LiveSwitch's network tunnelling strategies are identical to the ones 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 that are 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 will automatically use 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.


Frozen Mountain Support