Streaming is defined as delivering media (compressed video or audio) from one place to another over a network. The process involves a host system where the streaming media files are located and a client system that uses a player to request and display the media to a viewer (person using a computer, mobile, tablet or other Internet enabled devices).
Currently there are three different ways to “stream”:
- Progressive download. This involves downloading the media over HTTP, but beginning playback before the entire file is downloaded. After download, the media is stored in a temporary folder on a local drive and then viewed using a player on the local system. The media file is provided in a given bitrate or quality that does not change. This method is rapidly falling out of use as the content cannot be adequately protected.
- Streaming protocols. Real Time Messaging Protocol (RTMP) and Real Time Streaming Protocol (RTSP) are two protocols created specifically for streaming media over a network in real-time. They work by delivering chunks of the media file to a player which then displays the video for a viewer. After the chunks are played the player discards them so the media file is never stored on a client system. In some cases the bit rate of the video can be determined by the player or the viewer if the media creator provides the media files to do so.
- Adaptive streaming. In the last several years a new technology has been developed to allow a dynamic changing of the bitrate during streaming. This allows the best quality media to be seen given the current local conditions on the network and device. It requires the media to be encoded to support the technology. Most major service providers and technology creators are beginning to use adaptive streaming.
In addition to the method used to stream, there are other aspects to this technology. This includes whether or not to host the media files in house or use a CDN. There are also many considerations when it comes to encoding, file types, players, browsers and device support. The growth of video usage, and mobile in general, has increased the need to understand all the different options available for video streaming.