Written by: Roshan Dwivedi
The frenzy behind the live streaming content is not a news anymore. According to reports, streaming video accounts for over two-thirds of all internet traffic and is expected to jump to 82% by 2020. OTT players are constantly evolving their service by investing on original content, prioritizing seamless content delivery and ensuring immersive viewing experience by deploying a plethora of emerging technologies such as Artificial Intelligence (AI) and Virtual Reality (VR).
But have you ever wondered, what does it take to make a live streaming possible? What is the science behind live streaming? While technology is largely responsible for the seamless streaming of a live video, each glitch you come across on a live streaming video has also an explanation to it.
Let’s discuss how live streaming works for you as a viewer and what it takes for the provider.
1. Key Frames and Video Compression
The video and audio data in streaming media files are compressed just like static image files are compressed using compression algorithm. It reduces the number of bytes in each frame thereby decreasing the bandwidth requirement to live stream a video.
Video files are basically a number of still images called frames that are combined one after another into a single file. Each frame is showcased at some certain number of frames per second to create the illusion of movement. However, most of the time there is no change in the video between two frames. If we take an example of a video demonstration of an application, it may show the opening of a new window in the application without change for few minutes while the audio narrates the application. If nothing changes, it is unnecessary to send a new frame of video data. This significantly decreases the bandwidth requirements.
But if we consider a video demonstrating some application and the mouse pointer moves around the application as a pointing device and pointing out different areas of the application, bandwidth requirements can also be tackled here by only sending the changes to the new frame. As the entire frame is not being sent each time, bandwidth requirements are reduced. So, more the movement more area of the screen is changed and more video data will be sent to update the next frame. Similarly, if the entire screen changed from one to another, the whole frame would have to be sent.
2. Frame Rate
Another factor which may have an effect on the bandwidth requirement is frame rate. If there is substantial change between frames, then the size of each frame is larger and more data must be transferred for each frame. So, in case of higher frame rates, bandwidth requirement will be higher. Similarly, if there is a little to negligible change between frames, then little or no video data is transferred for each frame. Depending on the content of the video, increasing frame rate may or may not have an effect on the requirement of bandwidth.
[Read More on How High Frame Rate(HFR) is affecting video content]
3. Bandwidth Spikes and Buffering
Buffering is primarily implemented to avoid network congestion. Buffering works by storing a portion of the video locally and playing the video by retrieving data from the local buffer. Before the player starts playing, the player downloads some segment of the video which is usually of 10 seconds and stores it locally. It plays the video by retrieving frames from this local buffer while continually downloading more of the video to keep the buffer full.
Buffering is also helpful in encoding videos that contain spikes of high bandwidth. This happens when a video suddenly requires more bandwidth. Current media encoders take into account the time taken by the buffer, that while the extra data caused by bandwidth spike is being delivered, the video can be played from the buffer without interrupting the playback. So, amount of buffering time reflects the success of an encoding process.
4. Multi-bitrate Streaming
As a streaming service provider, your streams reach thousands or even millions of people every day. While some viewers will prefer to stream in the best streaming quality, some might prefer streaming with lower resolution in order to save data. Similarly, while some might be using Wifi or fiber internet, some might be using uneven mobile network or DSL lines. So, what encoder setting do you think will be ideal to provide each group, a standard viewing experience?
Here comes multi-bitrate streaming. Multi-bitrate streaming requires you to set up your coding software to encode various versions of your live stream that is sent to your video streaming platform simultaneously. Muvi’s adaptive bitrate video platform automatically serves each category of viewers with internet connection specific streaming quality.
[HLS vs RTMP: Improve your Content Delivery by demystifying streaming protocols ]
Although multi-bitrate streaming is pretty apt for video hosting services, one must not forget the baggage it comes with. Consumption of more data, greater internet bandwidth, additional processing power are a few downsides of the technology. However, seamless content delivery without compromising with the streaming quality is a major USP of multi-bitrate streaming and this outshines the negative aspects of the technology.
[ Load your live feed on Muvi platform and deliver real-time content to your viewers instantly. Try now. ]