Ever wondered what happens behind the scenes when a video is recorded? How does it reach potential audiences?
In this blog, we will discuss what is video streaming & then provide a simple overview of the video streaming process. Finally, we'll be discussing the different types of streaming (live and on-demand).
The blog will also briefly discuss the other technologies used in secure video streaming and how to stream live video from a remote location to your potential audiences.
This blog aims 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 viewing 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 happens when you watch a video on YouTube or Netflix 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 video streaming takes place.
We have consulted various research documents, which 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 it can be easily transmitted over the Internet.
- Transmission: Video is delivered from the capture point to the user over the Internet. The video is broken down into small chunks and then transmitted through a video streaming protocol to make the video streamable. The process usually takes place on 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 form.
- Display: The viewer can then view the video from an application or web player (e.g., HTML5 Player).
How is Video Streaming Different from Downloading?
In download, the entire video file is downloaded on the users’ device for it to play. In video streaming, the video is loaded in chunks rather than a whole.
In video streaming, parts of a video are encoded, transmitted, and decoded. When a user plays a role in 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. The user experiences minimum load time (or buffering) when viewing a video.
The size and duration of a chunk 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 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, you can readily view it.
What are the Different Types of Video Streaming?
Real-Time Encoding: Real-time encoding referred to video 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 a user is streamed and stored videos when demanded. In simple terms, this refers to on-demand video streaming, much like YouTube.
The following diagram can summarize the difference between these two.
An additional step is added in pre-encoded video streaming, 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 embedded on this page.
How Can You Use Different Technologies to Provide Secure Video Streaming?
In video streaming, certain technologies can help optimize the video streaming process & make it more secure. These technologies help improve video quality, reduce buffering and help support playback on different devices (tablet, mobile, TV). They also make secure video streaming by compliant with various regulations.
To explain how video can be optimized for streaming & how to stream live video from a remote location, here are the various technologies that our platform VIDIZMO uses.
Video transcoding is when an existing video file is re-encoded into different file formats. This means that different versions of varying quality are created in simple terms. 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 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 users' 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 the 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.
Post a comment