Join Lisa Larson-Kelley for an in-depth discussion in this video Choosing a delivery protocol, part of Up and Running with Flash Media Server 4.5 .
- View Offline
Now that you've gotten a crash course on the delivery methods available with Flash Media Server, you may be wondering how to choose which one to use. In this lesson, I'll give you the best use cases for each and make some recommendations to help make the decision easy. Let's start with RTMP. There are lots of advanced features available with this tried and true delivery protocol that you can't get with the others. With RTMP, you can stream live from a webcam directly in the browser, record video streams on the server; create richer applications that use server-side ActionScript, use the various logging and administration features built into FMS, combine video streaming with real-time communication in the same application.
And it also features inherent content protection using encrypted streaming and Flash Access, so it can be much more secure. And it has inherent content protection, encrypted streaming, and Flash Access support, so it can be very secure. There are also a couple of reasons you may not want to use RTMP. Sometimes RTMP traffic is blocked by the server administrator. Flash isn't supported on iOS, so your custom applications won't run there. So RTMP is great for most streaming needs and for creating real-time communication applications such as chat rooms and multiplayer games.
Next, we'll look at HTTP Dynamic Streaming or HDS. HDS is a very efficient delivery method for both live and on-demand streams. It's great for high-definition video and video to devices, where you'll need to switch to lower quality streams. Since it streams over standard HTTP connections, you can avoid the traffic blocks you might get with RTMP. You can serve the streams from a standard HTTP server, so you may be able to save some money on server costs, since HTTP servers are much more common and easier to maintain than media servers.
Protected HDS is now available in FMS 4.5, allowing you to encrypt your video files. It's like a Flash Access light, giving you content protection without the need for a Flash Access License Server. One potential drawback to HDS is that you need a special video player to parse the manifests and piece together the fragments. Open Source Media Framework and Strobe Media Player, both open source and free, support this logic. So you can use those as a starting point. And HDS is not supported in older versions of Flash Player.
Then there is HTTP Live Streaming. HLS is not supported in Flash, only on iOS devices and Safari and QuickTime on the Mac. It has the same benefits as HDS; it supports high-quality, live, and on-demand streaming and is hosted and delivered over standard HTTP connections. To stream live and on-demand video to iOS devices, you'll want to use HLS and FMS can package HLS streams alongside HDS streams. So it's not an either/or situation, you can use both side by side.
Protected HLS is now available in FMS 4.5, allowing you to add the same protection you have on your HDS streams. The one downside is that HLS is a video-only solution. To add the interactivity you could get with a Flash application, you'll need to build a custom iOS app. Next is Multicast. Multicast is a very specialized delivery solution. It's the obvious one for enterprise, especially those with networks enabled with multicast support. It can also be useful for multiplayer gaming as well as video streaming, because it provides very low latency.
Other good uses include inter-office videoconferencing, companywide broadcasts, even Real-Time Financial or News Tickers. And finally, there is RTMFP, Adobe's peer-to-peer protocol. RTMFP has similar use cases to RTMP. Both RTMP and RTMFP deliver live and on- demand video, audio, and data streams. They both provide low, latency real-time communication. You can use either one to power applications such as videoconferencing, text chat, live broadcasts, multiplayer games, and even live support.
RTMFP however is a natural choice for real-time communication in streaming when you need massive scale. It eliminates the need for huge server farms and network infrastructures to share large amounts of data. RTMFP applications can be quite complicated to develop though, and the developer community around it is currently pretty small. So the learning curve in getting an RTMFP app going can be steep. So hopefully that gave you some guidance in choosing the right delivery method. Next, let's review some key terms and concepts that you'll likely run into when publishing video with Flash Media Server.
- Why use Flash Media Server?
- Choosing a delivery protocol
- Understanding codecs
- Installing and testing Flash Media Server
- Streaming on-demand and live video with RTMP and HDS
- Writing and testing custom server-side applications
- Publishing multi-bitrate streams
- Streaming live video to devices with HLS