Subscribe via E-mail

Your email:

Posts by category

MediaPlatform® Blog

Current Articles | RSS Feed RSS Feed

More on Video Streaming

  
  
  
  
  
  
  

describe the imageBy Mr. Bitz

It has come to Mr. Bitz’s attention that not everyone out there has the kind of lucidity on the important subjects of video streaming that our world simply demands.  This is a serious matter.  Video streaming is one of those stealth topics that underlies many aspects of modern technology life.   Mr. Bitz is here to explain all of life’s big mysteries to you.  Understand that video streaming is central to the design of mobile devices, the capacity of corporate data networks, and even the future of what we now call television. So, what is it? 

Most of us know what video streaming is, even if we can’t explain it very well.  You click on a video player in your Web browser and after a few seconds of something called “buffering,” the video starts to play.  Sometimes, if the network connection is slow, the video will stop as the stream catches up to where you are.  Let’s look at what’s actually happening.

Video files can be huge.  Even with compression, a few minutes of video can be many megabytes of data.  To avoid having people wait for ten minute to download a two minute video file, some very clever folks developed a concept called streaming.  Streaming involves chopping up that massive video file into pieces and sending them to your device one at a time.  The media player on your device then decodes the data, piece by piece, and plays the media for you.  Before the player starts showing you the video, it stores up a few chunks as a “buffer,” allowing you to see the material without interruption. The device is receiving pieces of the stream in advance of your viewing them. If the network gets slow, you will outrun the stream and have to wait for it to catch up.  This is what happens when your online video freezes.   

Mr. Bitz has found that most people grasp the streaming concept pretty easily.  However, where things get complex, and Mr. Bitz finds his tell-it-like-a-four-year-old skills in high demand, is in the slightly deeper technical aspects of streaming.  It’s easy for smart people to get confused when trying to figure out what is meant by codecs, formats, and transports.  For example, if Mr. Bitz said that he was going to stream an FLV video in the H264/AAC codec using RMTP, you might find that a bit opaque.  Let’s break it down and understand what that means.

One reason that streaming is confusing is that it is time-based and involves multiple processes.  In contrast to a simple data management task, such as creating and saving a Word document, where you have a single file in one data format (.doc or .docx), with streaming you have a core video data format, a “container” using for moving the data as well as the time-based dimension of moving the data itself in a continuous stream.     

Video streaming contains three layers of data management:

1)      The encoded bits (e.g. H264 for video and AAC for audio)

2)      The “container” that holds the encoded bits together (e.g. FLV or MP4)

3)      The “transport” that is used to move the stream from the media server to the player (e.g. RMTP)

Based on a discussion with the eminently brilliant video expert, Erik Herz of MediaPlatform, Mr. Bitz has come up with a useful allegory that presents a real world analogy to streaming.  (Yes, hard as it is to believe, even Mr. Bitz occasionally has to have things explained to him.  Don’t want to blow your mind or anything, but it can happen…)  Here goes:  Imagine that you like assembling jigsaw puzzles. The bigger the better.  You want to assemble a jigsaw with 50 billion pieces! This puzzle is so huge that it has to be shipped to you in a freight train. Every boxcar contains a billion puzzle pieces.   The train pulls up. You start unloading the boxcars in order to assemble the puzzle.  In this allegory, the boxcars are pieces of the FLV file. FLV is a data container for encoded video data.  The puzzle pieces are the H264 encoded representation of the video. The train tracks are the network “transport,” such as RMTP. The big pile of pieces that you're adding to the puzzle is the "buffer."  A special file called an M3U8 tells the player the order in which to play the stream. It’s analogous to the ship’s manifest, instructing the train workers on which car to unload first.

As with so many other processes that occur in computing, all of this happens so quickly that you hardly realize it's going on.  Mr. Bitz hopes that this explanation of streaming will help you understand better what's going on when you watch a video on your PC or mobile device - or when you're trying to get your head around what's going on in your datacenter when you're trying to stream videos.  There's a lot of room for confusion, given the multiple layers of technology inherent in streaming, a situation that's compounded by competing transport and format standards.  It's often difficult to tell where you're having a problem. However, as long as Mr. Bitz is here, you have an ally in understanding the root cause of your video issues.

Comments

Currently, there are no comments. Be the first to post one!
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics