皆様ご無沙汰しております。キバンインターナショナル 中村おりおです。英文法ドットコッムを始めとして弊社では動画教材を扱うことも多いのですが、今日はそれについて考えてみたいとも思います。今回は、1回目なので、まずは、足回りについて。
すべての人にeラーニンングを!
動画の配信を行う場合、主に以下のような2つの配信方式が考えられます。
(動画データをどのような通信プロトコルで送るか、ということです。)
●HTTP配信
HTTPの文字からも分かる通り、こちらは普通にWebサイトを閲覧するためのプロトコルです。
動画ファイルは、単に大きなデータとして送られてきます。昔は、動画データを全部ダウンロードしないと再生しない形が多かったのですが、現在では動画を見る側のソフトウェアが賢くなったためか、ダウンロードしたそばから再生を行ってくれるものが多いです。
動画を受けっとったそばから同時に再生してくれる事をストリーミング配信といいますが、HTTPプロトコルの場合は厳密に言うとストリーミングではないので、擬似ストリーミングと呼ばれたりもします。(最近はあまり、聞かなくなったような)
・ネットワーク上のトラブルが少ない
・データがキャッシュされる(※1)
・ダウンロードされていないところは再生されない
・普通のWebサーバで良い
●RTMP配信
FLVファイルをストリーミング配信を行うためのプロトコル。wmvのmmsや、RealNetworksのRTSPも多分一緒。ストーリミング配信専用のプロトコルなので、動画配信に適している。
・見たいところをすぐ再生できる
・キャッシュされない
・動画配信専用のプロトコルなので、大規模配信に適している(※2)
・専用の配信サーバが必要
●まとめ的な雑感
配信プロトコルによるメリット・デメリットをまとめてみると、概ね上のように。
特にHTTPプロトコルについては、世界で一番利用されているプロトコルなので、この方式で配信する場合は、ファイアウォールやProxyなどが余計な事をする事が少ない。但し、普通はブラウザがデータをキャッシュするので、そのあたりの対策を講じる必要がある。
●次回予告
HTTP配信を行うサーバ、つまりWebサーバでブラウザに「このデータはキャッシュしないでね」というお願いをする事はできるので、それが果たしてどの程度動くものなのか、検証してみる予定。
※(1) RTMPデータがキャッシュされない
RTMPデータがキャッシュされない、については、動画データの流出防止の観点で見た場合は万全ではない。単純に、画面を録画するソフトや機材での録画したりする等、いろいろ考えられるので。
※(2) 大規模配信に適している
大昔の記憶モードだが、単なるWebサーバの場合は、同時接続数が5くらい。動画用のプロトコルを使用し、専用のサーバを立てれば同時接続は数百でも問題ない、と動画配信系のサーバ屋さんに営業された覚えがある。配信数が小規模なせいか、そういう実感はないけど。