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 it can also serve as a guide if your organization needs to implement a video streaming solution.
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.
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 in its simplest form 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 as a 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 a chunk depends 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 a video sharing platform (like YouTube) and a video shared through WeTransfer. On WeTransfer, 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. Below is an example of an on-demand video from YouTube that is embedded on this page.
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.
To explain how video can be optimized for streaming, here are the various technologies that our platform VIDIZMO uses.
Video 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 .mp4 format, can watch videos in .mp4.
Adaptive Bitrate Streaming
This is the technology that provides the familiar "auto" quality option on YouTube. Under adaptive bitrate streaming, the player automatically detects the end users' internet connection and streams the best video quality based on this.
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.
Read more on Adaptive Bitrate Streaming.
HTTP Live Streaming
This is a video streaming protocol that delivers 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).
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 server every time a user has to watch it, the video is cached (saved) on an edge server, and the video is fetched from this CDN server every time a user in that location watches it.
If for instance, a viewer in Japan wants to watch a video being served from USA. Then, instead of streaming the video from USA every time, the video will be cached on a CDN (edge server) in Japan. The video will then be streamed to each viewer in Japan through this edge server. 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 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 video streaming solution providers 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 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.
Why Go Through The Complicated Process When You Can Use a Ready-Made Video Streaming Solution?
Thankfully, our enterprise video content management system VIDIZMO EnterpriseTube can allow your organization to make use of all of these technologies. Our system users transcoding and CDNs for improved load times. Our system also offers the flexibility to choose where videos should be stored and the networks over which they should be streamed. You can choose to stream on the cloud (Azure, AWS, Gov Cloud) or on-premises.
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.
Apart from the technologies discussed in this blog, VIDIZMO offers the following features:
- A YouTube-like video portal, where your audiences can view and engage on videos.
- You can choose to stream videos privately or keep them anonymous.
- You can go one step ahead and define for every video as to who can access them - select users or groups, your entire organization, or select departments.
- You can add quizzes and handouts for video-based training.
- You can share videos that are optimized for streaming, through tokenized links and email.
- All videos can be automatically transcribed using AI and these transcripts can be translated into around 50 languages.
- All videos are encrypted at rest and in transit.
- You can embed videos on any website or in an application like an LMS or CMS.
- You can automatically ingest recorded meetings from Zoom or MS Teams and optimize them for streaming.
Or contact us if you have any questions or leave them in the comments below.
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.