We recently worked with a large online project in which users steam videos from different countries. Viewers can go to steamers’ personal channels and watch their streams. And the most important values here are the real-time mode and low delays.
The main problem here is not only to deliver the stream on time, but also to keep the quality of the video on high. The speed and the quality are exactly the parameters on which this service makes money. Another important point - the geography of streamers and viewers is very wide, and, of course, the Internet quality is different for everyone. Accordingly, it becomes difficult to guarantee everyone the perfect video signal.
But we came up with the solution and did what our competitors could not do for them. We arranged direct publishing of videos from webcams using just a standard WebRTC set of protocols, in which we achieved maximum bandwidth from the channel. It happens that the channel has good bandwidth, but at the same time unexpected delays or losses may appear, and there may be quality problems. We were able to write an adaptive bitrate adjustment algorithm that checks and tries to raise the bitrate until errors begin to occur. This was not easy, because any adaptive algorithm is a complicated thing that you have to debug directly when using the service at the post-production stage. Therefore, we had to test the algorithm on the end-user, and in the end, everything went very well.
Thanks to what we’ve managed to do taking just WebRTC as a basis, on each device of each user, the video will be of the highest quality possible according to the parameters of their devices. The most essential thing in video streaming is good stable signal without interference and without loss of quality at maximum speed. That’s what keeping viewers and streamers themselves satisfied, and that’s what giving our customers the advantage.