今回は、Flashで古典的なプログレッシブダウンロードストリーミングについて見てみようと思います。
Webサーバーに動画を置いて、再生する場合、通常プログレッシブダウンロードの形式になります。これは、ブラウザのキャッシュ内に動画データをダウンロードしながら再生を行います。それ以前の方式では、全部ダウンロードしきってから再生をしていたため、なかなか再生されないということがありました。
プログレッシブダウンロードで肝となるのが、通信ダウンロードの速度ですが、遅い場合、映像再生がダウンロードに追いついてしまい、止まりがちになります。また、ダウンロードされていない映像位置にシーク移動することはできないため、長尺の映像はどちらかというと不向きです。
ここではまず、FLV動画を再生して、どのくらいの通信速度でデータをダウンロードしているか見てみましょう。映像のビットレートは、1Mでエンコードしてあります。
試した環境では、平均して3.5Mbpsの速度がでており、瞬間的に10Mbpsを超えていることもあります。別のところでは、平均40Mbpsも速度がでました。
今度はMP4の動画を見てみましょう。
再生ボタンを押しても、動画はスタートしませんでした。ただ、ネットワーク上の通信はFLVのときと同様に、ダウンロードが進んでいることがわかります。これはなぜでしょうか?
原因は、FAST STARTが機能していないため起きた現象です。
FAST STARTとは、すべての動画データをダウンロードしなくても、動画を再生することができる機能のことで、MP4のエンコードは、エンコーダーによって、FAST STARTの設定があり、オンオフの設定ができます。この場合は、オフでエンコードしたため、すぐにスタートしませんでした。
これをオンにして、もう一度エンコードすると、ダウンロードしながら再生をすることができます。Adobe Media Encoderなど、エンコーダーの種類によって、元からFAST STARTはオンで設定自体ないものもあります。
今回の要点は、