Principles of Video Streaming.
Digital video has become ubiquitous in our lives – from watching HD full movies on Netflix to recording a party video and sharing it on YouTube. Video streaming, a subset of digital video, is also gaining traction in the market place. Streaming is used to showcase live digital video – such as concerts, sports events, breaking news, etc. Streaming is not just popular with consumers, but also becoming quite important for the enterprise. Recent market reports place the video streaming market just for the enterprise to be over $ 100M from 2010 onwards. And the compound annual growth rate to be 25% for the next 7 years.
What is Video Streaming?
In a nutshell, streaming video is the ability to watch video as its being downloaded. This means that users can start to view full-fledged movies within a few seconds, instead of having to first download the entire length of the movie. Another example of streaming video is live video, such as a sports game (where viewers can watch an event online as it happens.) There are many other uses of video streaming outside entertainment as well – for example: personal communications, video surveillance, emergency systems, business conferences, video storage, etc.
How does streaming work?
In essence, a website can have a link to a media hosting network. When a user clicks on the link, the user’s device is fed digitized video from the nearest available server on the internet. Also the content is automatically optimized for delivery based on the bandwidth conditions at that time. This is all done in the background – without any interaction from the user. Since the video streaming is from a hosted network (which is different from the website servers) there is no impact on the website performance.
3 main parts of a streaming system
A video streaming system consists on several different components that help to:
Create a stream: Either convert an existing video file or a live a feed
Deliver to user: Use a standard protocol to transfer the video content
Playback: Use a client to play the video on the device
Popular forms of delivery methods
On-demand is a popular way of delivering video to the user. On-demand works well for recorded clips that are either delivered or streamed. This action is initiated by the user and works well for movies, TV shows, conference highlights, webinars that have been recorded from before. The user has the ability to stop, pause, fast forward, rewind to any location on the video. So when you think of a video you watch on YouTube… then this is a good example of on-demand.
For live streaming, delivery can be either support unicast, splitting or multicasting. Unicasting is the simplest way to deliver a live stream and works well for a small audience. Splitting and multicasting allow for more than one server to distribute the live stream – effectively lowering the burden on a single server and giving faster, better performance.
Pros and Cons of Streaming
The biggest advantage of video streaming is that playback is almost instant. The user does not have to wait too long for a large file to download before starting to enjoy the video. Another good benefit of streaming is with copyright protection. Since it’s harder for the user to get a copy of the streamed file, the publisher has more control over who gets to see what and when. The drawback of streaming is the higher cost of software and more server configuration. However these are becoming less of a bother with the onset of SaaS video platforms.