Real Time Media Flow Protocol

Real Time Media Flow Protocol (RTMFP) は Adobe が開発しているプロトコル。RTMFP は低レイテンシの UDP ストリーミングや複数の Adobe Flash プレーヤー間の P2P 通信を可能にし、リッチなライブのリアルタイムコミュニケーションを可能にする。Flash Player 10.0 から利用可能。サーバー側は Adobe Media Server が対応。UDPポート番号1935および19350〜65535。
概要.
RTMFP を使うと、ソーシャルネットワークやマルチユーザーゲームなどの、ライブ・リアルタイムコミュニケーションを利用しているアプリケーションはより高品質なコミュニケーションを提供できる。RTMFP はエンドユーザー間を直接つなぎ、それぞれのコンピュータのマイクとカメラで直接通信ができる。
P2P の確立にはUDPホールパンチングを利用しており、ファイアウォールなどにより、UDPホールパンチングが失敗する場合は、P2P 通信は利用できない。
RTMP と RTMFPの違い.
主な違いは、それぞれのプロトコルがどのネットワークを使うかにある。RTMFP は User Datagram Protocol (UDP) を利用するのに対して、RTMP は Transmission Control Protocol (TCP) を利用する。ライブストリーミングメディアを配信する際、レイテンシやオーバーヘッドを減らしたり、信頼性を犠牲にしてもパケット損失により大きな耐性があるなど、UDP を利用するプロトコルはTCP を利用するプロトコルに比べていくつかの利点がある。無線インターネット接続など、パケットロスの多い通信環境では、TCP を利用すると再送のためレイテンシが大きくなる。
UDP であるにもかかわらず、TCP のような信頼性のある通信にも Flash Player 10.1 から対応しており、クライアント側の codice_1 の codice_2 などで設定する。
サーバーからの UDP ユニキャストにも使えるが、RTMPとは異なり、RTMFP はデータをサーバーを経由せずに直接他の Adobe Flash プレーヤーに送ることもできる。ただし、最初の P2P コネクションを確立するために、サーバーサイドの接続は必要となる。
アプリケーションレベルマルチキャスト.
Flash Player 10.0 までの P2P は機能としては、1対1の通信のみであったが、10.1 からアプリケーションレベルでマルチキャストが行えるようになった。Flash Player 側で適切な配信経路（オーバーレイ・ネットワーク）を見つけ出し、P2P でつながったグループ全体に配信できるようになった。
歴史.
この技術は2006年の Amicima の買収に基づく。