Sending data to large groups of people in a multi-party conference has historically been difficult. That is why we are excited to announce that LiveSwitch now supports the broadcasting of data channels over SFU and MCU connections -- an industry first!
This advancement brings with it many exciting implications, that we will discuss in detail below, but before we dive in, let’s look more deeply at data channels as they are today.
What are Data Channels?
In the WebRTC world, audio and video get a lot of fanfare, but there is another form of communication that is equally important - data transfer. Just like with audio and video, parties need to securely and easily transfer binary or text data from peer to peer in real-time. This data could take on many forms, from simple chat text strings to file sharing, spatial data, coordinates and more.
The WebRTCDataChannel API was setup to allow bi-directional data transfer directly between peers. It was designed to mimic the WebSocket API, but rather than relying on a TCP connection which although reliable is high in latency and prone to bottlenecks, data channels use UDP-based streams with the configurability of the Stream Control Transmission Protocol (SCTP) protocol. This design allows the best of both worlds: reliable delivery like in TCP but with reduced congestion on the network like in UDP.
The following chart from html5rocks, provides a great overview of each of the protocols discussed above:
Encryption is mandatory for all WebRTC Data Channel components. With RTCDataChannels all data is secured with Datagram Transport Layer Security (DTLS). DTLS supports the majority of TLS cipher suites, meaning your data will be as secure as using any standard SSL based connection. DTLS is standardized and built in to all browsers that support WebRTC.
While the data channels WebRTC specification make it easy to securely and reliably transfer data from one peer to another, it is not set up to allow you to broadcast data from one peer to many.
LiveSwitch can Broadcast Data Channels
That is why we are so excited to announce that, starting with LiveSwitch 1.2, we have now included the ability to broadcast data channels over MCU and SFU connections. This means that you can send data to any number of participants without taking on the additional upload bandwidth that is normally incurred in a simple peer-to-peer mesh network.
Let’s break this down: say you have 12 people participating in a conference, and one of those participant wants to send everyone 2 Mbps of data. On a traditional peer-to-peer network that participant would need to upload 2 Mbps 11 times (for a total of 22 Mbps) in order to successfully transfer the data to everyone in the conversation. This would seriously affect bandwidth and latency.
However, by broadcasting the data channel with LiveSwitch, that person would only need to upload 2 Mbps of data one time to the server. The server then forwards the data to everyone on the same channel allowing the sender to only send 2 Mbps of data total. This number is unchanged if there are 100 or even 1000 in a session.
As you can see, the real world benefits of data channel broadcasting are huge especially as it relates to multi-party use cases that require a large amount of data transfer.
If you need a multi-party video conferencing platform with the ability to transfer large amounts of data, we've got you covered. Check out LiveSwitch -- the massively flexible, highly scalable video conferencing solution.