RTMP, HTTP, LMNOP…what’s with all the initials and which is better? Well, LMNOP is just part of the alphabet so we’ll skip that. The others though, are extremely important. But what’s the difference?
HTTP video streaming – The most basic of videos streaming methods on the web. Make a video, upload to your host and create a hyperlink and you’re on your way. However, there are limitations to what can be done with HTTP streaming. For example, you can’t do live streaming as it requires an actual file to work. Also, you can’t determine the amount of bandwidth that a user has and HTTP is far from optimal so it creates heavy server load when you have a lot of viewers.
RTMP video streaming – Real Time Messaging Protocol on the other hand is far more robust and allows for a variety of things that can’t be done with HTTP video streaming. First of all, it can do live streaming, it’s more efficient, video scrubbing to non-downloaded parts is possible, better encryption making the video harder to pirate. Of course, it’s not all wine and roses. Since it uses a different port it might come into problems with some firewalls and it requires there be enough bandwidth at all times for the video to play. Finally, you need an RTMP server like Flash Media Server or Wowza.
Adaptive Bitrate Streaming - Nowadays, most adaptive bitrate is done through HTTP where in the past it was a combination of RTP and RTSP. HTTP adaptive bitrate is supported by Flash (as Dynamic Streaming), Apple Quicktime and iOS (based on progressive downloading), Microsoft (as part of Smooth Streaming), Octoshape (their multi-bitrate offering) and others.
If you want your video content to reach the iOS crowd your best bet is this last one because it is not only supported by the iPhone and iPad but also allows for best viewer experience over mobile networks that are far less stable than traditional wired connections.