We all watch videos online – YouTube is the most popular video hosting platform for a reason! However, it’s not just about websites – it’s about the concept of live video streaming itself. Today, most of uploaded videos are high-quality, which means the file sizes are huge. Even if you have a high-speed Internet connection, downloading such a file takes forever. Do you want to wait for five minutes to watch a two minute clip? Probably not. And that’s exactly where video streaming comes in handy.
How does it work?
First, streaming chops a video file into a number of pieces and sends them to you one at a time. Basic computing involves creating files in a single format (.doc, for example), while video streaming consists of a core video format, a container used for moving data, and a time-based dimension data transmission. Therefore, video streaming contains three layers of data management:
- 1. The encoded bits (H.264);
- 2. The container that holds the encoded parts together (FLV,MP4);
- 3. The transport used for moving the stream from the media server to the user’s player (RTMP).
A special file called M3U8 defines the order in which the steam is played after the files are delivered. If you aren’t that keen on technology, you may find some of these terms a bit confusing. Here’s a fun way to look at streaming. Imagine you are assembling a giant jigsaw puzzle consisting of 50 billion pieces. The puzzle is so massive that it has to be shipped to you on an extra long train. Each boxcar contains a billion pieces. When the train arrives, you start unloading the boxcars in order to assemble the puzzle. The boxcars are the pieces of an FLV file. FLV (Flash Video) is a container for encoded video data, and the puzzle pieces are the H.264 encoded representation of the video. The train tracks are the network transport, such as RTMP (Real Time Messaging Protocol). And the cargo manifest that tells you which boxcars to unload first is an M3U8 file. We hope this explanation worked!
Encoding options for Video Streaming
[announce]
There are a few other important issues to mention. There are two basic encoding options based on the kind of production workflow you have – encoding the final delivery (appropriate for relatively small productions) or encoding a mezzanine. Video streaming requires real-time encoding.
When it comes to delivering your content to a target viewer, you also have two options – to set your own server (which is expensive and time consuming, but gives you an additional freedom of settings), or choose any of the specialized video streaming services.
What’s even more convenient, many streaming services these days exist as mobile applications. You’ve probably heard a lot about Periscope. This application caused a video streaming boom because it made video streaming easy and accessible for average users.
Modern technologies provide us with numerous opportunities to express ourselves and earn money along the way. Perhaps video streaming is exactly what you need!