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) を利用するのに対して、RTMPTransmission Control Protocol (TCP) を利用する。ライブストリーミングメディアを配信する際、レイテンシやオーバーヘッドを減らしたり、信頼性を犠牲にしてもパケット損失により大きな耐性があるなど、UDP を利用するプロトコルはTCP を利用するプロトコルに比べていくつかの利点がある。無線インターネット接続など、パケットロスの多い通信環境では、TCP を利用すると再送のためレイテンシが大きくなる。

UDP であるにもかかわらず、TCP のような信頼性のある通信にも Flash Player 10.1 から対応しており、クライアント側の flash.net.NetStreamdataReliable などで設定する。

サーバーからの UDP ユニキャストにも使えるが、RTMPとは異なり、RTMFP はデータをサーバーを経由せずに直接他の Adobe Flash プレーヤーに送ることもできる。ただし、最初の P2P コネクションを確立するために、サーバーサイドの接続は必要となる。

アプリケーションレベルマルチキャスト[編集]

Flash Player 10.0 までの P2P は機能としては、1対1の通信のみであったが、10.1 からアプリケーションレベルでマルチキャストが行えるようになった。Flash Player 側で適切な配信経路(オーバーレイ・ネットワーク)を見つけ出し、P2P でつながったグループ全体に配信できるようになった。

歴史[編集]

この技術は2006年の Amicima の買収に基づく。

関連項目[編集]

外部リンク[編集]

  • Cirrus | Real Time Media Flow Protocol (RTMFP) - Adobe Labs
  • Adobe Flash Media Server - ピアアシストネットワーキングアプリケーションの構築
  • FAQ for Real-Time Media Flow Protocol - Adobe
  • RTMFP in Flash Player 10 beta - Justin's Flash Blog
  • Peer to Peer (P2P) in Flash Player 10 beta - Justin's Flash Blog
  • Video tutorial - Basics of P2P in Flash/Flex - FlashRealtime.com
  • RTMFP for Flash
  • OpenRTMFP Cumulus - RTMFP の P2P 接続を確立するためのオープン クロスプラットフォーム ランデブー サービス
  • 仕様など
    • RFC 7016: Adobe's Secure Real-Time Media Flow Protocol
    • RFC 7425: Adobe's RTMFP Profile for Flash Communication