Video Streaming: How We Got Here and Why It Works So Well
Whether we’re just catching a sports game on our computer, video chatting with friends, or just watching our favorite streamer play games on Twitch, Video streaming has become a huge part of our lives. It’s nevertheless awe-inspiring to take a second to consider how big of a technological marvel it is that this is even possible.
If you told the most advanced computer scientists just a few decades ago that we had people streaming high-definition video and audio from personal computers and phones across the world, they’d be dumbfounded. It’s therefore worth taking a closer look at how streaming is not only possible but has become such a consumer-friendly industry (Not to mention a lucrative one).
So What Exactly is Streaming?
All media consumption can be categorized as either streaming (Radio, Cable TV, Twitch) or non-streaming (Video Tapes, CDs). While non-streaming media delivery involves having the entire contents of the file downloaded, streaming is the act of delivering data continually as it is being consumed, without requiring the recipient to store the data in its entirety.
While we’ve been streaming radio and cable television since the first half of the 20th century, streaming video over the internet presented its own challenges. Bandwidth was simply too weak and file sizes were too large to be able to efficiently stream video in the 1980s, when the internet was in its infancy.
How Efficient Video Streaming Became Possible
A crucial point in the development of effective media streaming was the discovery of the Discrete Cosine Transform (DCT), which is a method of encoding data points in terms of Cosine functions for the sake of data compression. While it was conceived by Nasir Ahmed in 1972, it would later be used to create the H.261 video compression standard in 1988. H.261 was a groundbreaking standard whose use of DCT would become an industry staple until this day.
H.261 was the first compression standard that made streaming video practical. The application of DCT to video compression combined with increased investment in internet infrastructure would allow streaming to develop rapidly over the next two decades.
Some notable milestones include:
- Modified Discrete Cosine Transform is introduced as a more effective compression method for large datasets, is used in the creation of highly efficient audio formats such as MP3 (1987)
- Mbone is created as a virtual network for streaming data over the internet (1992)
- A band of software engineers called Severe Tire Damage becomes the first group to perform live on the internet over MBone (1993)
- RealNetworks live streams a Yankees vs Mariners baseball game over the internet, becoming the first sports game to be broadcasted this way (1995)
- President Bill Clinton holds the first-ever presidential webcast, streaming video and fielding questions over the internet (1999)
- The video streaming website YouTube is created (2005)
Some Helpful Terms
As we get into the weeds of how exactly modern video streaming works, it’s helpful to define some key terms that you might see in your research
- Bitrate: The speed at which data is streamed. Commonly measured in Megabits per Second
- Adaptive Bitrate Streaming: In order to stream video without buffering, there must be a constant bitrate. In order to achieve this constant bitrate in the face of an insufficient connection, Adaptive Bitrate Streaming automatically adjusts the video quality in order to reduce file sizes and maintain the necessary bitrate.
- Transcoding: Converting from one compression codec to another
- Transmuxing: AKA transcode-multiplexing, Changing the protocol in which the video is stored
- Transrating: Changing the bitrate
- Transizing: Changing the resolution of the streamed video
- Content Delivery Network(CDN): Networks of servers across a geographic region that can be used to send data across the world efficiently
The Streaming Process
Let’s now take a look at the journey streamed video takes to get from its publisher to its recipient.
- First, the video and audio are recorded by the publisher. If this is not a live stream, then this data will be stored on a server ready to be delivered.
- The data is then broken down into small, discrete parts, called packets
- These packets are compressed, most commonly in the H.264 standard (Which uses DCT), and packed into a protocol that complies with the receiving computer
- Depending on the device that is requesting the streamed data, servers will transcode, transmux, translate, and transize the data so that it works on the user’s specific device
4. The compressed and correctly formatted data packets are then shipped over a CDN to the recipient’s computer
It is a modern marvel that these steps are able to occur continuously for millions of computers, not to mention the incredible quality of the video that is being streamed!
Thanks for reading!
What modern technology do you think is amazing that we too often take for granted? Let us know down in the comments.
Creating Your First Neural Network in Python w/ Tensorflow
If you’ve looked into Machine Learning even a little bit, you’ve heard of Tensorflow, one of the most popular tools for designing… (Read More)