Advantages and Disadvantages of HTTP, RTSP, and RTMP
Which technology and delivery mode will work best for you? The answer depends on many data points. Let’s explore a few. How large is your anticipated daily traffic or single event? Do you need to protect your content from being downloaded locally and republished by the user? (Think of a YouTube scenario where your favorite television show is available there, but probably should not be.) What is the length of your content: many files with short duration, or fewer files with very long length?
HTTP is less likely to be disallowed by routers, Network Address Translation (NAT), or firewall settings. No ports that are commonly closed by default need to be opened. Content is therefore more likely to get through to the client in more locations and without special settings. HTTP is also supported by more CDNs, a factor that can affect cost in large distribution models. In general, more available hardware and software works unmodified and as intended with HTTP than with RTSP or RTMP. Expertise in customizing HTTP content delivery using tools such as Hypertext Preprocessor (PHP) is also more widespread. Additionally, for large-scale events, HTTP natively and easily supports mirroring and edge caching, providing for massive-scale expansion when needed for the largest events. RTSP and RTMP can also be cached, but HTTP does so natively and without the need for proprietary or custom configurations.
Access is another consideration. Can everyone view your content after you make it available? From a site visitor’s point of view, one advantage of using HTTP is access. Many corporate networks use firewalls to block specific content. Popular methods of blocking are protocol and port restrictions. Some firewall rules allow only HTTP content served over port 80. However, this luxury is not always shared with RTMP-delivered Flash Video. The default port for RTMP connections is 1935-a port that may not be allowed on tight firewalls. If the first attempt of the Flash Player to play video over port 1935 fails, it tries to reconnect using a few different methods. To summarize, if you do not want to deal with firewalls and proxies, you should consider HTTP.
One benefit with RTMP worth mentioning here is its ability to provide multicast support. If you run an enterprise and want to take one stream inside your corporate network and deliver it to many users without initiating a new connection for each user, RTMP is the best technology. HTTP does not provide this function, nor do CDNs.
Security is critical with a lot of content, and if you are a distributor or aggregator, you know the term digital rights management (DRM) all too well. Can or will you allow your content to be saved locally on a user’s machine? RTMP has broad DRM support, and rights holders are very familiar with the ecosystem.
For example, one version of RTMP is RTMP Encryption (RTMPE), a new method for real-time cryptographic protection of content offered by Adobe. Some HTTP approaches such as Smooth Streaming are rapidly moving toward deployment of solutions for DRM as well. However, securing your content may be a concern. Some ABR technologies provide for secure transmission through Secure HTTP (HTTPS), which represents the secure way of transmitting HTTP video. HTTPS, however, is not a commonly accepted form of DRM, and it may provide a contractual and legal hurdle with rights holders who stipulate that DRM be used to protect their content. As a mode of transport, HTTP can be captured and saved locally. Chunked delivery can make this local capture more challenging, but the ability still exists. Conversely, RTMP is much less susceptible to local data capture, but in rare instances streams have been circumvented and saved locally using third-party applications.
The availability of plug-ins may be a concern to you as you consider these technologies. Flash is the most broadly deployed plug-in, but it has caveats. Dynamic Streaming requires Flash Player 10, which is growing in adoption (and pegged at nearly 80 percent as of July 2009), but has not reached full market penetration yet. Microsoft’s Silverlight has broad support on new PC builds; it is being used for some large-scale sports events (March Madness, Wimbledon, and 2010 Winter Olympics), but has not yet achieved the reach that Flash currently enjoys. Additionally, organizations such as Major League Baseball (MLB) and Indy Racing are using technologies from third-party providers that use HTTP, such as Swarmcast and Conviva. To summarize, if your video is compelling and users are required to install a plug-in, most will.
Tracking your content and how many people view it is a “must have” for most, but how granular must your details be? Due to the nature of RTMP discussed previously-where the player and server are in constant communication-reporting within RTMP is much more detailed and granular when compared to HTTP. The logs derived from RTMP servers provide specific data about what precisely a user did within a video. How long did the user watch? At what point in the video did the user disconnect? Did the user grab the “scroll bar” and advance through the video to a specific point? All these questions can be answered with an RTMP-based solution today. Expect HTTP-based technologies to improve on this deficiency in the future, but reporting is more robust with RTMP now.
Finally, and perhaps most importantly, what will it cost you to provide this content to your users? What will a CDN charge you to provide your content in one mode versus another? In the past, many CDNs charged a premium for RTMP streaming transit, because of the specialized skills needed to set up and manage those servers and the complexity in ensuring the content could get to the user. Today, the “Flash tax” is gone and the total cost to deliver content through RTMP has decreased. However, HTTP still represents most web traffic. Consider that pushing video through those same protocols and methods enables CDNs and those who own their infrastructure to realize economies of scale and the cost savings that accompany them. As a result, your total cost of ownership (TCO) may be less with HTTP than with RTMP.
Advantages and Disadvantages of HTTP, RTSP, and RTMP