We’ve been streaming content from the internet for a long time, and it’s gotten to the point that the internet is synonymous with services like Netflix and Youtube. But what exactly is streaming, and how does it work?
Streaming Happens Bit by Bit
When you want to watch a video or play a song on your computer, you need to download it first. There’s no way around that. Knowing this, you may look at Netflix or Spotify and ask “how did we figure out how to make videos and music download instantaneously?” Well, that’s just the thing. When you stream media, it isn’t downloading to your computer instantaneously; it’s downloading piece by piece in real-time.
The word “streaming” is self-descriptive. Information arrives at your computer in a continuous, steady stream of information. If downloading movies is akin to buying bottled water, streaming movies is like using a faucet to fill an empty bottle.
You could compare streaming a movie to watching a VHS tape. When you play a VHS tape, every second of video and audio is scanned piece by piece. This happens as you’re watching in real-time, which means that any interruptions will suddenly pause or end your movie watching experience.
When you stream a movie or a song, your computer downloads and decodes itty-bitty pieces of a media file in real-time. If you have an unusually fast internet connection, then the file may be fully downloaded before you’re finished watching or listening to it, which is why a stream will sometimes go on for a while even if the internet cuts out. That being said, anything that you stream doesn’t go into your computer’s permanent storage (although some services, like Spotify, will put some small cache files on your device to make future playbacks faster).
Businesses Work Hard to Make Streaming Fast
Streaming video and audio from the internet isn’t new; it just feels new because it’s finally convenient. Watching a video or playing a song from a website happened bit by bit used to be an annoying and time-consuming affair. The stream would constantly stop and start, and you could spend minutes just waiting for media to buffer (and sometimes, it wouldn’t buffer at all).
But the way that streaming works has mostly stayed the same. Files download bit by bit as you’re watching or listening to them. It’s the infrastructure that’s changed, and businesses like Youtube and Netflix have worked hard (and spent a lot of money) building that infrastructure.
Youtube and Netflix used to use only one or two servers to host their content, and it didn’t work. Users that were far away from the servers experienced a lot of lag, and high-traffic days (Saturday night, for example) would slow streaming servers to a crawl. Companies have solved this problem by building Content Delivery Networks (CDNs), to store and send content. A CDN is a dense, global network of servers that all contain the same content. This reduces lag, keeps servers in densely populated areas from becoming overloaded.
Of course, a powerful CDN is useless if all of your users have crappy internet connections. In some ways, this issue solves itself over time. ISPs are always competing for faster, more powerful internet connections, and advances like worldwide Google Fiber and 5G home internet connections are just over the horizon.
But some streaming services and ISPs have realized that, despite fast home internet connections and dense CDNs, high global internet traffic can cause streaming lag. Not to mention, services like Netflix use more than 15% of the world’s global internet bandwidth. When a lot of people are streaming the newest season of Stranger Things, the whole internet can slow down.
As a result, streaming services tend to provide Open Connect Appliances (OCAs) to ISPs. These OCAs are basically hard drives that are full of popular movies, songs, and other streamable content, and they reduce the need for your ISP to redirect your internet traffic to a Netflix or Hulu server. This not only makes streaming faster, but it also prevents the whole internet from slowing down at the mercy of Netflix.
Live Streaming Presents New Problems
With live video streaming on platforms like Facebook Live or Twitch, the information that you’re receiving on your computer is happening in real-time (or as close to that as possible). So as you can imagine, a live streamer needs to be able to upload content as fast as you can download content.
As a livestreamer is recording their video, every millisecond of that video (and its accompanying audio) is broken down into tiny little files. These tiny files are compressed and organized by an encoder, they fly across the internet, and your computer downloads them bit by bit. Since the files are encoded, your computer can put them together in a comprehensible video, and there shouldn’t be much lag between you and the streaming source.
Popular live streaming services like Twitch and Youtube utilize a global network of servers to reduce lag and to improve video streaming quality. But all live streamed videos are at the mercy of a livestreamer’s internet connection. As you can imagine, livestreamers can’t use OCAs. Luckily, the development of fast home internet connections, like Google Fiber, has made live streaming possible, and the implementation of 5G home internet connections will take the quality of live streams a bit further.
The Future of Streaming is Video Games
The idea of playing video games in your browser isn’t very new. A good bit of the internet is dedicated to small games, and there’s plenty of people that go on Facebook specifically for Farmville and Candy Crush. But some companies are trying to take browser gaming a step further by creating streaming services for resource-heavy console games.
Just to be clear, we aren’t talking about livestreaming Farm Simulator on Twitch, we’re talking about remotely playing video games, without a dedicated console or a $1000 computer. With game streaming, a server far away from your home handles all the number crunching that’s needed to power resource hungry games. Services like Google’s Project Stream and Nvidia’s GEFORCE NOW promise that your crappy $100 laptop will be able to play even the biggest, most beautiful games. This can save people a lot of money, and it’ll eliminate the barrier that hardware limitations have set for video games.
Of course, streaming a video game to someone’s computer is a lot more difficult than streaming a movie. You aren’t progressively downloading a static file; you’re manipulating and interacting with a file with real-time. If there’s any lag between controller inputs and on-screen activity, then the game is unplayable. You could look at services like Skype and Facetime as a pre-cursor to game streaming, as they require fast two-way connections. But game streaming needs to be much more seamless.
Resource-heavy game streaming services aren’t mainstream or super reliable yet, so companies have been tight-lipped about their trade secrets. But we do know that they’re essentially following in Netflix’s footsteps. Companies like Nvidia are building CDN’s that are full of superpowered graphics cards, and Google is trying to figure out how to pair Open Connect Appliances that are full of games to the high-speed Google Fiber home internet services. Either way, game streaming is the next step in the story of streaming media.