The Real-Time Media Flow Protocol (RTMFP) is a communication protocol from Adobe that enables direct end user to end user peering communication between multiple instances of the Adobe® Flash® Player client and applications built using the Adobe AIR® framework for the delivery of rich, live, real-time communication.

By using RTMFP, applications that rely on live, real-time communication, such as social networks and multiuser games, can deliver higher quality communication solutions. Flash Player 10 and AIR 1.5 and later also enable end users to connect and communicate directly with each other using their computers' microphones and webcams. Flash Player 10 and AIR 1.5 do not support file or document sharing.

RTMFP can help reduce the bandwidth costs for direct, live, real-time communication solutions, such as audio and video chat and multiplayer games. Because RTMFP can send data directly between the end-user clients and not through the server, solutions are less expensive to scale.

RTMFP also increases the quality of delivery through the use of the User Datagram Protocol (UDP). UDP is a more efficient way to send video and audio data over the Internet that helps ensure connections are not interrupted if variations occur within the network.

RTMFP has two features that improve connection reliability over other protocols, such as the Transmission Control Protocol (TCP).

Rapid connection restore: Connections are reestablished 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 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, the connection will not be interrupted. This is a critical requirement for communication or live solutions.

The principle difference is how the protocols communicate over the network. RTMFP is based on UDP, whereas RTMP is based on TCP. UDP-based protocols have significant advantages over TCP-based protocols in the efficient delivery of live streaming media, decreased latency, increased voice/audio quality, and greater connection reliability.

Unlike RTMP, RTMFP also supports sending data directly from one Adobe Flash Player client 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. An Adobe Media Server user will also be required to authorize network address lookup and Network Address Translation (NAT) traversal services for the clients to prevent Flash Player from being used in an unmanaged way.

Communication today using RTMP — end users connect and communicate through the server

RTMFP enables a higher capacity and higher quality delivery for live communication solutions such as Voice over Internet Protocol (VoIP), webcam chat, and multiplayer games. Some examples of solutions that can be built using RTMFP include:

Webcam chat

VoIP

Multiplayer games

A developer leverages the published API of a social networking site and RTMFP to create a webcam chat application for use between users of the site.

The use of RTMFP in combination with Adobe Media Server enables end users to find and establish a one-way data/media stream directly with another end user.

Because RTMFP sends data between the clients and not the server, bandwidth is not being used at the server and is much less expensive to scale.

A developer builds a desktop application on Adobe AIR that allows an end user to "call" contacts listed in his or her instant message application. The AIR application will establish an RTMFP connection with Adobe Media Server to find a contact and receive information from the instant messaging interface.

The contact receives a notification of the incoming call and can accept or decline the call. Once a call is accepted, the audio will flow directly between the two end users' desktop clients, not through the server.

Because RTMFP uses UDP, end users experience a consistently high-quality experience even if variations occur in the network.

When a game developer wants to add multiplayer functionality to an application, it must be done in an efficient way so as not to cause latency and slow down the end-user experience.

By using RTMFP to send the data within the application, the data flow will occur directly between end users over UDP.

UDP is an efficient Internet protocol to allow partially reliable (lossy) delivery of media and data. UDP, unlike TCP, does not try to recover data that has been lost in transmission. This allows video and audio to keep up with live, real-time communication and reduce delay caused by latency, which is a priority for these types of real-time solutions. TCP waits for data packets, which can cause delays or interruptions in the delivery. UDP can also support communication in large enterprise networks protected by NAT routers, something TCP cannot do. Learn more about UDP.

RTMFP is different from other simple UDP protocols because it prioritizes transmission of multiple media flows.

TCP is the Internet protocol used by web browsing, file transfer, and email applications. TCP is used today by the HTTP protocol for web servers and the RTMP protocol to deliver video, audio, and data from Adobe Media Server to Flash Player and AIR. TCP is useful because it reliably delivers data, but that reliability may add latency, reducing the quality of live media streaming. Learn more about TCP.

RTMFP network traffic is always encrypted with 128-bit cipher. For a client to play a stream that is published via RTMFP, the client will need to know the name of the stream plus have the Peer ID of the publisher. The ID will be a 256-bit value associated with the publisher's identity. In addition, the publisher must accept a peer request before connection is made.

P2P has various meanings within the technology industry, but it typically refers to the establishment of a direct connection between two or more end users to aid in the movement of data and media.

There are three types of P2P solutions:

End user to end user: Two clients communicate directly without passing their data through the server for low-latency, real-time communication. This is the solution that Adobe is enabling with RTMFP.

Swarming: This is a form of "many to many" communication typically used to share file delivery via download. Swarming maximizes transfer speed by gathering pieces of a file and downloading these pieces simultaneously from other end users who already have them. Swarming solutions typically require a standalone application designed to locate and connect to other end users' computers that have the relevant content. These solutions typically have local file system access. RTMFP does not enable swarming solutions.

Multicast: This is a form of "one to many" communication over an IP infrastructure. Multicast speeds up content delivery and reduces the burden on the network because a source sends the data packet only once for delivery to a large number of end users. The nodes in the network take care of replicating the packet to reach multiple end users only where necessary. RTMFP does not enable multicast solutions.

RTMFP uses P2P techniques to help ensure a high-quality delivery and efficient use of the network. It is a managed connection, which means it requires the authorization of a server to make the introductions. The client must be connected to the server to retain the direct connection.

No. These other solutions are swarming solutions, which use many to many P2P communications to share the distribution of files among large numbers of clients. RTMFP enables direct end user to end user communication for live, real-time communication solutions, not file transfer.

RTMFP enables developers to establish direct end user to end user peering communication between two or more Adobe Flash Player clients or applications built using the Adobe AIR framework for delivery of live, real-time data. RTMFP is similar to RTMP for client-server connections because RTMFP has full support for all the Adobe Media Server functionality currently found in RTMP, including live streaming, recording and playback, shared objects, and remote function calls.

ActionScript® developers will be able to use ActionScript 2.0 or 3.0 to establish a NetConnection with a future version of Adobe Media Server. To make direct connections between Flash Player 10 (or later) clients, new extensions have been added to the ActionScript class NetStream to establish a Flash Player client as a publisher or subscriber.

RTMFP will have no impact on CDNs. CDNs primarily focus on the one-way delivery of video on demand and live video on a massive scale, not the direct end user to end user communication enabled by RTMFP. CDNs will play a critical role in the delivery of RTMFP-enabled applications by helping end users initiate the desired peering relationship.