What happens behind the scenes when a video is recorded? How does it reach potential audiences? In this blog, we are going to first provide a simple overview of the video streaming process and then discuss the different types of streaming (live and on-demand). Lastly, the blog will briefly discuss the different technologies used in video streaming and how you can leverage such technologies to stream video to your potential audiences.
The aim of this blog is to help you better understand the video streaming market, and you can then better choose the applications that are best suited for you.
What is Video Streaming?
Video streaming refers to when viewers can view a video over the internet without downloading it, through a browser or an application. In much more detail, video streaming is the continuous delivery of video files in chunks, one after the other, from the server to the client device.
Video streaming is what happens when you watch a video on YouTube, or attend a live event or an online meeting.
What is the Video Streaming Process?
The video streaming process is not new and has existed as a concept for decades. There has been academic and industrial research on various ways in which video streaming takes place. We have consulted various research documents, and these are included at the end of the blog. However, based on research and our experience in video streaming, the process can be summarized in the following diagram:
The process in its simplest form is as follows:
- Capture: Video is captured from a camera.
- Encoding: Video is then converted from raw formats to compressed digital formats so that they can be easily transmitted over the internet.
- Transmission: Video is delivered from point of capture to the user, over the internet. To make the video streamable, the video is broken down into small chunks and then transmitted through a video streaming protocol. The process usually takes place in a video streaming server.
- Decoding: Video is uncompressed into playable formats. This step may not be needed if the file was delivered using a compatible format.
- Display: The viewer can then view the video from an application or web player (eg, HTML5 Player).
How is Video Streaming Different from Downloading?
In downloading, the entire video file is downloaded on the user's device for it to play. In video streaming, the video is loaded in chunks rather than the whole.
In video streaming, parts of a video are encoded, transmitted, and decoded. This way, when a user plays a part of a video, the next part of the video goes through the streaming process, just in time for it to be ready when the user finishes watching the first part. This way, the user experiences minimum load time (or buffering), when viewing a video.
The size and duration of the chunks depend on the video streaming protocol that has been used. For instance, HLS creates byte-size chunks of about 10 seconds in length.
A good example would be the difference between watching a video on Google Drive and YouTube. When you want to watch a video on Google Drive, you would have to download the entire video. As opposed to YouTube, where it is streamed and you can readily view it.
What are the Different Types of Video Streaming?
Real-Time Encoding: Real-time encoding refers to video that is recorded from a capturing device (camera) and streamed to a user in real-time. In simple terms, this refers to live streaming or video conferencing (online meeting) solutions. Examples of this include YouTube live and Zoom.
Pre-Encoded: Pre-encoded video streaming is when pre-recorded and stored videos are streamed to a user when demanded. In simple terms, this refers to on-demand video streaming; much like YouTube.
The difference between these two can be summarized by the following diagram.
In pre-encoded video streaming, an additional step is added where videos are stored. These videos are later fetched by a player, as and when needed.
How Can You Use Different Technologies to Improve Video Streaming?
In video streaming, there are certain technologies that help optimize the video streaming process. These technologies help improve video quality, reduce buffering and help support playback on different devices (tablet, mobile, TV). They also help make your content more secure and compliant with various regulations. Here are the various technologies that VIDIZMO uses to optimize video streaming.
Transcoding is the process where an existing video file is re-encoded into different file formats. In simple terms, this means that different versions of varying quality, are created. A 1080p video will have varying versions created; 144p, 240p, 360p, 480p etc. Different file formats such as mpeg4, wmv, webm etc. are also created.
This helps support varying bandwidth conditions and playback on multiple devices. Users with poor bandwidth can choose to watch a 144p video, while users with devices that support only wmv format, can watch videos in wmv.
HTTP Live Streaming
This is a video streaming protocol that deliver video using HTTP (The same technology used to serve web content), and hence, it makes video playback highly compatible. Videos can be streamed from any ordinary HTTP server and easily play through any HTML5 Player.
Read more in our blog on HTTP Live Streaming (HLS).
Adaptive Bitrate Streaming
This is the technology that provides the familiar "auto" quality option on YouTube. Under adaptive bitrate streaming, video is transcoded into multiple resolutions and bitrates, and the video is streamed depending on the end users' internet connection. If the internet connection is poor, then the video is streamed in low quality. If the internet improves midway, adaptive bitrate streaming technology is smart enough to recognize this and send a higher quality stream instantaneously. The end result is minimal buffering and a disruption free viewing experience.
Content Delivery Network (CDN)
A content delivery network (CDN) is a server in the user’s location that helps reduce the distance between the original server and the user. In simple terms, rather than serving a video from the original storage every time a user has to watch it, the video is cached (saved) on a local server called CDN, and the video is fetched from this CDN every time a user in that location watches it.
If for instance, a viewer in Japan wants to watch a video stored in USA. Then, instead of streaming the video from USA every time, the video will be cached on a CDN in Japan. The video will then be streamed to each viewer in Japan through this CDN. This helps reduce load time by reducing the distance between the viewer and the stored video.
A CDN is recommended if you want to stream to large audiences that are located in different areas or are far from where the video content is stored.
Read more in our blog on CDN video streaming.
Enterprise Content Delivery Network (eCDN)
Content delivery networks address bandwidth challenges for streaming over the public internet, but do not work well in internal networks or intranet. Video streaming requires a lot of bandwidth - about 1 Mbps per viewer. Therefore, 1000s of MBs of video being transferred to 1000s of viewers through a single pipe can result in a creating a network congestion.
This is where enterprise content delivery networks help improve the process, by caching the video file on multiple edge-caching servers. Or by utilizing multicast or P2P streaming technologies. Read more on enterprise content delivery networks (eCDN).
Organizations can now also decide where to store video content, and this is usually done by organizations that have stringent security and compliance requirements. For instance, organizations in the EU have to ensure that video content that contains personal data, needs to be stored within the EU only.
There are solution providers in the video streaming market that allow you to pick and choose where videos are streamed from. Some of these options are:
- Commercial Cloud Data Centers: There are numerous cloud providers that organizations can choose to store data on; AWS, Azure and Google being the leading ones.
- Commercial Cloud Data Centers in Specific Location: Most leading cloud providers provide organizations with the option to choose the location as to where they would want to store their videos.
- Government Cloud Data Centers: AWS and Azure provide organizations in the US with the option to host data in government data centers, that only store data of federal, state, local, and tribal governments, and the operations of these data centers are carried out by screened US citizens.
- Private Data Centers or Local Drives: Organizations can store videos on their premises and employ their own security protocols to limit access.
VIDIZMO - Video Streaming Platform
The various technologies mentioned above can be used by organizations to improve their video streaming. However, implementing these technologies and managing them can be burdensome and requires IT resources.
Thankfully, due to enterprise video content management systems, organizations can make use of all of these technologies. These systems make use of transcoding and CDNs for improved load times. These systems also offer the flexibility to choose where videos should be stored and the networks over which they should be streamed.
All users need to do is upload videos and view them through YouTube-like portals; both internally or externally. They can live stream, record the stream and make it available as on-demand video.
VIDIZMO offers an enterprise video content management system that enables organizations to set up live/ on-demand video streaming for internal or external use. Organizations can choose the technology to use, according to their security, compliance and business requirements.
Or contact us if you have any questions.
Read our blog on the best video streaming solutions.
References for Additional Reading
Apostolopoulos, J. G., Tan, W. T., & Wee, S. J. (2002). Video streaming: Concepts, algorithms, and systems. HP Laboratories, report HPL-2002-260.
Wu, D., Hou, Y. T., Zhu, W., Zhang, Y. Q., & Peha, J. M. (2001). Streaming video over the Internet: approaches and directions. IEEE Transactions on circuits and systems for video technology, 11(3), 282-300.