前回は、外部サーバにある動画ファイルの再生する方法をご紹介しました。
しかし、動画ファイルの読み込みが完了するまで、再生することができないので、
サイズが大きい動画ファイルだと、再生までしばらく時間がかかってしまいます。
そこで、今回から数回に分けて、外部サーバにある動画ファイルのストリーミング再生を
行う方法をご紹介していきたいと思います。
第1回目は、外部サーバ上でどのようにストリーミング再生を行うかご紹介します。
まず、ストリーミング再生とはなにか簡単に説明します。
ストリーミング再生とはネットワーク経由で動画ファイルを再生する方式です。
動画ファイルの読み込みを行いながら、同時に読み込んだ分の再生を行うことができます。
ストリーミング再生には、2種類あります。
・プログレッシブダウンロード再生
→ 動画ファイルをダウンロードしながら、再生が開始される
パソコンに動画ファイルが保存される
・リアルストリーミング再生
→ 動画ファイルの一部がダウンロードされ、バッファに格納される
バッファに格納された部分からリアルタイムで再生が開始される
※ライブ配信が可能
パソコンに動画ファイルは保存されない
下記にメリット/デメリットを記載しておきます。
・メリット
ユーザが動画ファイルの読み込みが完了するまで待つ必要がない
リアルタイムで再生することができる
※リアルストリーミング再生のみ
動画ファイルがハード機器に保存されない
※プログレッシブダウンロード再生のみ
・デメリット
ネットワーク環境がない場所では、動画ファイルを再生できない
ネットワークの接続状態によっては、読み込みが遅く再生中に止まることがある
それでは、どのようにストリーミング再生を行うかご紹介したいと思いましたが、
ここで1つ大きな問題が発生してしまいました。
ストリーミング再生を行うには、どうすればよいのかいろいろ調べてみましたが、
まず第1に、ストリーミングサーバを構築する必要があるようです。。。
なんとか簡単にストリーミングサーバを構築できないかと、またさらに、調べたところ、
PHPでストリーミングサーバを構築できるフレームワークを見つけました。
「xmoovStream」という、フレームワークです。
ソースは、GitHubからダウンロードすることができます。
ストリーミング再生が行えそうなフレームワークを見つけることができたので、今回は一旦終了します。
次回は、「xmoovStream」フレームワークを利用して、実際にストリーミング再生を
実施するところをご紹介していきたいと思います。
最後までご覧いただき有難うございました。
弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。