映像制作 eラーニングのことならビズバレー
文字サイズの変更 標準 
大きい
ホーム > スタッフブログ
スタッフブログ
k.takahashi
k.taguchi
j.hashimoto
j.katou
y.hotate
m.kawai
s_inomata
m_muraoka
ビズバレーは、東京都 千代田区で活動する、映像制作、DVD、eラーニングを扱う会社です。

今回は、HLSで代替ストリーミングをやってみようと思います。これはどういうものかというと、HLSを配信するサーバーが、障害などで停止して配信できなくなった時、バックアップのサーバーに自動的に切り替えを行うものです。とくに、こういった自動的な切り替えを「フェイルオーバー」と言います。

簡単にできるので、さっそく設定してみようと思います。

今回の想定は、配信サーバー2台(プライマリサーバー、バックアップサーバー)に、接続用サーバー1台です。そして、プライマリサーバー上から映像を配信している最中に、サーバーが停止して、バックアップサーバーに切り替わるというシナリオです。



代替ストリームの設定は、マスタインデックスファイルで行います。前回、アダプティブストリームの話をしたときに出てきたファイルと同じもので、記述は、下記のようになります。

BANDWIDTHの値は同じで、プライマリとバックアップで接続先の違うアドレスを追加します。設定はこれだけです。



動画の切り替わりが分かりやすいように、プライマリとバックアップの文字を書いておきます。

用意した動画

(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org

では、実際に確認をしてみましょう。



動画解説
(開始時)
ブラウザからは接続用サーバーにアクセスを行います、そうするとマスタインデックスファイルの記述順から、プライマリサーバーに接続され映像が再生されます。この状態では、バックアップサーバーは、何もせず待機しているだけです。


再生開始時は、読み込み順によりプライマリサーバーに接続

(0分25秒)
次に、プライマリサーバーに異常が発生したと想定して、Webサーバーを停止させます。
※ちなみにWebサーバーは、LinuxのDebianです。



(1分20秒)
しばらくすると、映像がバックアップサーバー側に切り替わります。これがフェイルオーバーです。


映像が止まることなく切り替る

サーバーが停止しても、クライアント側は、バッファに溜まっている映像データがあるので、すぐには止まりません。その間にバックアップサーバーに接続が切り替わると、停止することなく再生が続きます。

プライマリサーバーは、停止状態から起動状態に復帰させても、再生中に切り替わったバックアップサーバーから戻ることはありません。再度 接続し直す必要があります。

このような代替ストリームの設定は、簡単にできる1つの保険みたいなものです。バックアップサーバーは、普段は接続されない予備機にあたるため、費用を考慮する必要があるでしょう。

そして、サーバーの負荷分散がされているわけではないので、基本は1台のサーバーでストリームを行います。負荷分散させるには、ロードバランサーやCDN(コンテンツデリバリネットワーク)を利用する必要があります。

次回は、WindowsのIISを使ったHTTP Live Streaming の仕方について説明いたします。
https://bizvalley.co.jp/blog/1471.html