Flash Videoのプレイヤー開発 【その4】
こんにちは。
システム開発部 ASP開発・カスタマイズチームの川上です。
ここ数日間は気温が上がったり下がったりで、春なのか冬なのかはっきりしない気候が続
いていますが、体調を崩されていませんか?
私は花粉症がひどい為、花粉がいつ飛んで来るかビクビクしながら日々過ごしています。
前置きはさておき、久しぶりのエントリーとなりましたので、前回までの内容を振り返り
ながら進めさせていただきます。
第4回目のテーマは、
「Flashビデオのストリーミング配信」と「配信プロトコル」についてです。
プレイヤーの作成方法をご紹介しました。
この方式のことを「プログレッシブダウンロード」と呼び、ビデオファイルをダウンロー
ドしながら再生させることができます。
今回は「プログレッシブダウンロード」ではなく、「ストリーミング」という配信方法を
利用したプレイヤー開発について、配信プロトコルと注意しなければならない点をご紹介
させていただきます。
「プログレッシブダウンロード」と「ストリーミング」の違いについては第1回でご紹介した
「Flash Videoのプレイヤー開発について」 をご覧下さい。
Flashビデオをストリーミング配信するには、「Flash Media Server」(以下、FMS)と
呼ばれる専用のサーバーが必要となります。
このFMS上にFlashビデオを配置し、アクセスすればよいだけですが、FMSが配信に利用する
ポートとプロトコルが特殊な為、エンドユーザーの視聴環境によっては切り替えて接続を
行う必要があります。
FMSからストリーミングビデオをFlash Playerに配信する際に用いるプロトコルは
RTMP(Real-time Messaging Protocol) と呼ばれるプロトコルです。
RTMPはセキュリティ、パフォーマンスを強化したRTMPEも含めると、以下の5つの構成で
提供されています。
1.RTMP:暗号化されない標準的な RTMP
1935ポート、80ポートを利用して配信します
2.RTMPS:このプロトコルは、SSLを介して送信される RTMP です
SSL はセキュアな TCP/IP 接続を可能にするプロトコルです
443ポートを利用して配信します
3.RTMPT:このプロトコルは HTTP を介してトンネリングされる RTMP です
RTMP データは有効な HTTP データとしてカプセル化します
HTTP(80)ポートを利用して配信します
4.RTMPE:このプロトコルは、RTMP が暗号化され、SSL より高速であるとともに、
SSL のような証明書の管理を必要としません
(Flash Player 9,0,115,0 以降で再生可能)
5.RTMPTE:このプロトコルは、HTTP を介して「トンネリング」される RTMPE です
(※Adobe Flash Media Serverドキュメント抜粋)
通常、RTMPでFMSに接続を行う場合、以下のようなシーケンスで接続が切り替わっていきます。
RTMP(1935) -> RTMP(80) -> RTMPS(443) -> RTMPT(HTTPトンネリング)
このように段階的に再生可能かどうかを確認する仕様がとられていますが、このことを
「プロトコルのロールオーバー」といい、Flashが標準で搭載しているビデオコンポーネント
「FLVPlayback」では、上記段階で最終段階まで到達する時間が非常に長くかかってしまいます。
これを回避する為に手動でプロトコルを切り換えてあげる必要がありますが、その方法に
ついて、アドビ社からご提供されているサイトが参考になると思いますので、ご紹介させて
いただきます。
「HTTP Tunneling protocols」
「The Trouble with Proxy Servers」
Jストリームではプレイヤーを制作する際に、上記のように切り替え段階で時間がかからない
ように対策を行っているため、すばやく快適にビデオを再生できるサービスを提供させて
いただいております。
(Jストリームが提供するストリーミングサーバー)
次回は実際に「FMSを用いたFlashビデオプレイヤーの作成」について、解説致します。
ご期待下さい。
【関連記事】■Flash Videoのプレイヤー開発 【その1】
■Flash Videoのプレイヤー開発 【その2】
■Flash Videoのプレイヤー開発 【その3】


コメント