The nature of modern internet implies sharing your experience with other people. Whether you’re reading a news article or watching a music clip online, almost certainly you will be offered to share this event via one of the existing social networks. The high speed and low price of the broadband internet connection have made possible a whole new way of interpersonal communication – live video streaming. Live streaming video platforms like Twitch or streaming mobile applications like Periscope have become extremely popular lately.
The reason is the desire of users to be involved in a particular event in any part of the globe while maintaining the effect of presence. So, a new question has arisen: “What is the best technology for implementing live streaming platforms?” To help you answer this question, we’ll consider the using of the WebRTC technology for creating live video streaming apps.
Webrtc Live Video Streaming. Is It Worth It?
WebRTC provides developers with a simple API that allows implementing video calling capabilities for the web and mobile apps. Such functionality is currently supported by all main browsers such as Firefox, Chrome, and Opera and main mobile platforms such as Android and iOS.
You can think of WebRTC as a set of protocols that allows realizing real-time communication for creating video chatting apps and peer-to-peer video streaming applications. Let’s consider the main advantages of WebRTC as a core technology of p2p streaming software.
First of all, there’s no need for users to download and install any third-party proprietary software. WebRTC is a browser’s feature, so if a browser supports this technology, user’s device is completely ready to run a WebRTC based app. It’s barely possible to find a modern browser that does not support WebRTC. Even the Apple company was unable to ignore the rising popularity of this technology and has announced the WebRTC support for its Safari browser starting with version 11. Mobile users will be pleased with the low requirements to the bandwidth. Moreover, WebRTC allows eliminating connections to a server and cloud which has a positive effect on performance with a lower connection speed. Using WebRTC you guaranteed to get less latency without losing any video and audio quality. Since WebRTC eliminates the requirements of plugins like Flash, it allows developing communication tools using native HTML5 elements.
Even if creating a broadcasting service is not part of your plan, WebRTC still deserves your attention. This technology can significantly increase the attractiveness of any social media by providing an additional way of interpersonal communication. For example, less than a year after the Periscope integration into the Twitter app, the company announced that 100 million broadcasts had been started using the live streaming feature.
The number of devices that support the WebRTC technology is about to exceed 6 billion by 2019 according to current dynamics. We’ll see this technology not only on mobile devices but also on Wi-Fi cameras, for example. End-to-end encryption and peer-to-peer nature can prevent signal interception by male factor or server. A customer can access and control a video device via the web browser. Royalty-free video codecs like VP8 allows reducing costs on development. Such benefits did not go unnoticed by developers. For example, you can take a look at home security solutions built on WebRTC like NodeLink and Camio. Prospects for the entertainment business look promising, as well. Imagine the broadcasting platform that allows you to watch a concert of your favorite band switching between the available cameras. Fascinating indeed!
The concept of shared viewing found its embodiment in the Google Hangouts app back in 2012. Developers released a feature that allows users in a video chat to watch YouTube videos together and view each other’s reaction. This feature has become pretty popular since then. Technologies such as WebRTC allows developers to focus on user experience rather than on media streaming itself since the API takes care of the media engine. Such companies as Rabbit and Airtime have relied on streaming media from services like YouTube, Spotify, Netflix, Amazon, and created shared view platforms that work across all modern browsers.
Let’s consider some examples of how you can implement WebRTC live streaming functionality.
Implementing Peer-to-peer Live Video Streaming Functionality with WebRTC
In this chapter, we’ll take a look at how some live streaming alternatives may look like. Each solution is scalable so that you can broadcast to both large and small audiences.
WebRTC multi peers scheme implies building a network of WebRTC client viewers, each of which can pass the video stream to three other peers. Thus, you can transmit the original video stream to the first peer who can then replicate it to other three peers, which in their turn replicate it to nine peers, etc. Such an approach allows creating a scalable broadcasting network without requirement in additional space at the service providers network.
Torrent based WebRTC chain allows increasing the performance in the case of slow internet connection. Such an approach implies that every alternate peer can be connected to two other peers for stream replication. Slow users can be added to such network as independent endpoints.
WebRTC Relay nodes for multiple peers. This approach allows developing a career grade WebRTC live streaming platform using MediaStream and PeerConnection API. Along with repeaters and socket.IO used for behavior control and signaling, it allows creating a scalable broadcasting solution. The point is that a publisher transmits the original video stream to the repeaters with high upload and download bandwidth. The repeater is chosen in such a way as to be capable of handling six outgoing streams, so six viewers can be connected to a single repeater. For example, such scheme allows handling 24 viewers with only four repeaters. Increasing the number of repeaters, you can adapt your broadcasting platform for a larger audience.
The WebRTC technology is on the rise due to the easiness of use for users and convenience of development for coders. But what’s more important in the case of WebRTC live video streaming is the possibility to create scalable broadcasting networks suitable for different circumstances. WebRTC allows implementing solutions that can help eliminate unwanted investments and work properly in the case of a low-speed internet connection.
To build robust broadcasting networks and live streaming apps suitable for different business cases, hire WebRTC developers from XB Software.