Media & Entertainment Industry Trends, Technology and Research

#6 Concept Series : What is the difference between Progressive Download, RTMP Streaming and Adaptive Streaming

Posted In Featured, Media Concepts, New Media, OTT - By Nitin Narang on Wednesday, April 22nd, 2015 With 1 Comment

Online video delivery has a rich and eventful history and is fast becoming the medium of convenience for masses to get entertained. Today, online video delivery is far more predictable than ever in its history of over two decades. While concerns and areas of improvement are aplenty, the days of spinning wheels waiting for video to start playing are largely gone. This journey was neither short nor easy and continues to witness technology and infrastructure upgrades. Online Video Delivery Models

Online Video exists in form of live streaming and Video on Demand (VOD) and has multiple consumption points. Some of these popular interfaces include Desktop (PC), Smart TV, Mobile web, Mobile Applications, ipad, gaming consoles and IP connected media players connecting to TV. OTT (Over the Top) video is growing rapidly and  OTT pay TV revenue is soon expected to surpass USD 10 Billion mark. Although OTT is still not ready for prime time it is not far when it will pose tough challenges to traditional media and have a noticeable share in overall media revenues. HBO has gone direct and DISH launched SLING TV, an OTT based service  for $20 a month. It is only a matter of time when major broadcast networks will launch lite versions of their offerings to win back millennials, cord-cutters and non-cable consumers.

Online Video Delivery Background

Video DownloadRewind few years and the only mode for content playback was to download the complete file which meant waiting for several minutes based on the connection speed before viewing could be possible.  But in last 5 few years, online video has taken a major leap with service providers having a critical task to ensure seamless viewing experience for its subscribers. This mission gets more complex with network variations, shared nature of internet pipe, variations in device capability and more. Currently, three key technologies namely progressive download, RTMP/RTSP streaming and adaptive streaming fill all segments of online video delivery. The three video delivery models are technically different but are equally popular based on the nature of end use. Let us understand the difference between them.

Progressive Download or HTTP Streaming

An evolution to simple download was server based delivery over HTTP where, as the file is sufficiently downloaded (or buffered) on client machine, it can be played back. This basic version is called Progressive Download.  Download of content happens sequentially (linear) and hence skipping ahead is not allowed. Progressive download was a significant improvement from earlier simple download where users could not play until entire file was not downloaded. Progressive download gave feeling of streaming and reduced waiting time for playback. It is easy to implement, requires no special web servers and content gets downloaded over standard HTTP over TCP. It works on universal browser port and media-players begin to video playback as soon as minimum file is downloaded. But progressive download presents concerns with security due to local caching of downloaded content, absence of monitoring and quality adjustment, restriction of linear playback (i.e. inability to jump ahead unless that portion is already download) and amount of wasted bandwidth for non-viewed content.

RTMP/RTSP chunk based delivery

A content delivery mechanism using specialized streaming servers (e.g. Flash media Server, Wowza etc.) over RTMP (Real Time Messaging Protocol) or RTSP (Real time streaming protocol) streaming protocols. It offers content security by transferring chunks of media which get instantly consumed by the media player without any local caching. It supports streaming of live content (i.e. streaming content as it is getting generated or captured) and being stateful connected protocol, server can detect environment changes and make transfer speed decisions to improve user experience.  It enables fast forward and rewind of video and saves bandwidth by downloading content just in time. The technology takes advantage of delivery over UDP protocol (with TCP rollover) and can achieve much faster transfer rates. It further uses trick modes by providing initial burst of content data to immediately start playback.

Adaptive Streaming – Best of both world’s or multi-bit rate streaming MBR

Most popular form of video streaming with benefits of quality switching and ease of delivery over HTTP. It aggregates segments of multi-bit encoded videos (typically 5 -10 sec each) which are indexed and referenced by the client using a manifest file. This manifest file contains index of chunks and their location. Client downloads the manifest file and periodically requests for highest quality of video which its environment can support using manifest lookup. The flexibility to switch video segments based on CPU availability, network conditions etc. ensures un-interrupted playback. The technology can successfully manage combination of device (low and high performance) and network (slow and fast) conditions to get best viewing experience. E.g. every few seconds client can evaluate its environment and if network connection is good, it requests/receives high bitrate stream and if connection speed drops, degrades to a lower bit-rate content while ensuring continuous playback. There are three established adaptive streaming technologies available today, these are Adobe’s HDS (HTTP Dynamic Streaming), Apple’s HLS (HTTP Live Streaming) and Microsoft’s Smooth Streaming and an emerging specification from MPEG standards body, MPEG DASH.

Difference between Progressive Download, Streaming and Adaptive Streaming

 Progressive DownloadStreamingAdaptive Streaming
Basic DefinitionClients request for file using HTTP GET and server sends entire file over HTTP as
fast as possible in best case delivery. It works similar to how content (images, text) gets downloaded in a normal web browser using repeated HTTP GET.
Clients and server maintain a persistent control and data connection. Server transfers chunks of data based on clients (player) request. Just in Time transfer of dataContent is encoded for multiple bit rates, an index file (manifest) created with chunk naming and location details. Client periodically reviews capability and requests best suited chunk from available list. An intelligent and flexible HTTP GET
Transport Protocol /
Network Considerations
HTTP over TCP (port 80)
No special consideration, works over HTTP using normal web server
RTMP (1395) , RTSP over TCP/UDP, RTMPe (encrypted)
Requires special provisioning for ports
Can work over simple HTTP server over TCP
Monitoring & ControlNo monitoring and control. One way connection
Downloads content as quickly as possible without any monitoring or control
Stateful data and control connection. Server based monitoring and controlEfficient monitoring and control. Client can switch low or high bit-rate stream based on client and network environment
Media StorageFile is download and stored in temporary directory.Media player requests and receives file fragments, plays and discards them.Media player requests and receives file fragments, plays and discards
Client/Server RequirementNo special client or Server requirements. Any web server with the correct MIME types/Content Handlers, etc. will deliver progressive media. E.g. Apache HTTP serverStreaming server like Adobe Flash Media Server, Wowza, Red5. Corresponding Client PlayerNo special Server Requirements e.g. Apache HTTP Server can delivery HLS. Client player which understands manifest /chunking model
Key BenefitsEasy to Setup
No special licenses required.
Since local copy exists, enables watching over without downloading again
Ensures quality of video is maintained although there could be delays based on network bandwidth
An excellent technique for serving high quality video to user on slower network connections
Can access any part of video without waiting for entire file download
Support real-time broadcasting.
Added security as streaming video has no local caching
Download happens based on playback. Throttles download based on amount of video played. Prevents wastage of bandwidth.
High flexibility to change video quality on the fly. Depending on network bandwidth and CPU conditions, client can request/receive a higher or lower quality stream.
CDNs can cache content reducing network delays and higher performance.
An intelligent and adaptable streaming technology for all environments. Can successfully manage combination of device (low and high performance) and network (slow and fast) conditions
Behavior in slow connectionLong wait before content made available. Can still enjoy high quality contentWait before content becomes available. Publisher may provide options to choose content qualityA slow connection will force users to watch low quality content only
Pre-processing RequirementsNo special processingServer manages reading / sending chunks of dataRequires content to be encoded for multiple-bit-rates. Requires manifest lookup to determine which segment to request
Content SecurityContent is stored locally in temporary folder. Less secureNo temporary storage and hence more secure. Although stream capture software canDRM integration available for specific adaptive streaming technologies
Bandwidth UsageLess efficient and wastage of bandwidth since entire file is download and all may not be playedMore efficient as downloads only part of file actually being watchedChucks can be cached at CDN and reused by multiple clients (improving performance and saving bandwidth
DisadvantagesBandwidth is wasted on data which is downloaded but not watched.
Stream quality depends on the video file that is being downloaded and can’t be changed mid-stream
Cannot jump ahead to in timeline and need to wait before download is complete. Fast Forward possible only for downloaded content
Significant waiting time to start the play
Adds significant cost and complexity for setup and operations
Requires special network configuration for port enabling (RTMP/RTSP) which are often blocked by corporate firewalls
RTSP is not widely supported by servers and CDNs.
Lack of standardization. Not fully supported on many platforms. Apple HLS is the most popular format . Possibility of having DASH as the common standard in future. Requirements to have multiple encoded version requiring additional content processing and storage
Video Play at a timeline / locationCannot jump ahead in timeline. Linear in naturePossible to jump ahead in timelinePossible to go to future point in timeline and request/receive segments for playback
Example of Online Video PlatformsYouTube, VimeoHuluBBC, Netflix, HBO GO
Additional InformationPsuedo future seek enabled using range requests (support in FLV). Generally deployed with of multiple versions of content (e.g mobile quality, low resolution SD, HD etc.) and to stream a version base on client requestUDP as preferred model for video delivery with TCP as fallbackChunk boundaries (when aligned with ad breaks) represent opportunities for targeted advertising insertion for live streams.

All video delivery technologies are widely used today and each has its own unique benefits and challenges. Decision to select a particular video delivery mode largely depends on the requirements, budget, nature of content, network conditions among others.

About - Digital Media Technology Consultant. I have passion for TV technology, digital convergence and changing face of Media and Entertainment industry.