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