Real-Time Media Flow Protocol
The Secure Real-Time Media Flow Protocol (RTMFP) is a protocol suite developed by Adobe Systems for encrypted, efficient multimedia delivery through both client-server and peer-to-peer models over the Internet. The protocol was originally proprietary, but was later opened up and is now published as RFC 7016[1]
Operation
By using RTMFP, applications that rely on live, real‐time communications, such as social networking services and multi‐user games will be able to deliver higher quality communication solutions. RTMFP enables end‐users to connect and communicate directly with each other using their computer’s microphone and webcam. This solution enhances the current functionality in the Flash Player by creating a higher quality solution that will perform better regardless of variations in the network. RTMFP is a peer-to-peer system, but is only designed for direct end user to end user communication for real-time communication, not for file sharing between multiple peers using segmented downloading.[2] Facebook uses this protocol in its Pipe application[3] to transfer big files directly between two users.
Benefits
RTMFP will reduce the bandwidth costs for direct, live, real‐time communication solutions, such as audio and video chat and multi‐player games. Because RTMFP flows data between the end‐user clients and not the server, bandwidth is not being used at the server so solutions are less expensive to scale. RTMFP also increases the speed of delivery through the use of UDP. UDP is a more efficient (but less reliable) way to send video and audio data over the Internet that reduces the penalties associated with missing, dropped, or out of order packets. RTMFP has two features that may help to mitigate the effects of connection errors.
Rapid Connection Restore: Connections are re‐established quickly after brief outages. For example, when a wireless network connection experiences a dropout. After reconnection, the connection has full capabilities instantly.
IP Mobility: Active network peer sessions are maintained even if a client changes to a new IP address. For example, when a laptop on a wireless network is plugged into a wired connection and receives a new address.
Difference between RTMP and RTMFP
The principal difference is how the protocols communicate over the network. RTMFP is based on User Datagram Protocol (UDP),[1] whereas Real-Time Messaging Protocol (RTMP) is based on Transmission Control Protocol (TCP). UDP‐based protocols have some specific advantages over TCP‐based protocols when delivering live streaming media, such as decreased latency and overhead, and greater tolerance for dropped or missing packets, at the cost of decreased reliability. Unlike RTMP, RTMFP also supports sending data directly from one Adobe Flash Player to another, without going through a server. A server‐side connection will always be required to establish the initial connection between the end‐users and can be used to provide server‐side data execution or gateways into other systems. The user of a Flash Media Server will also be required to authorize network address lookup and NAT traversal services for the clients to prevent Flash Player from being used in an unmanaged way.
Application-level multicast
Flash Player 10.0 allowed only one-to-one communication for P2P, but from 10.1 application-level multicast is allowed. Flash Player finds appropriate distribution route (overlay network), and can distribute to the group, which is connected by P2P.
History
RTMFP's underlying protocols are the result of Adobe's acquisition of Amicima in 2006; strong architectural similarities exist between RTMFP and Amicima's GPL-licensed Secure Media Flow Protocol (MFP).
References
- Michael Thornburgh (November 2013). "Adobe's Secure Real-Time Media Flow Protocol". RFC. Internet Engineering Task Force. Retrieved March 6, 2014.
- RTMFP FAQ
- http://www.pipe.com/how/
External links
- Flash Player 10
- Flash Player 10 Release Notes
- Cirrus | Real Time Media Flow Protocol (RTMFP) - Adobe Labs
- Pipe - File Transfer App on Facebook
- RTMFP for Flash
- RTMFP in Flash Player 10 beta - Justin's Flash Blog
- Peer to Peer (P2P) in Flash Player 10 beta - Justin's Flash Blog
- C++ RTMP Server
- OpenRTMFP - CumulusServer is a complete open source and cross-platform RTMFP server extensible by way of scripting
- Camrumble.com - Open chatroulette script that's demonstrated the RTMFP