←前回へ 次回へ→

山本雅史のソフトウェアコラム



【第3回】 Windows Media Serviceを使ったストリーミング・サーバー

 ソフトウェアをテーマにした不定期コラムです。今回はWindows Media Serviceを使ったストリーミング・サーバーを構築しています。(編集部)


●Windows Media Service

 Windows Media Service(以下WMサービス)は、Windows 2000 Serverに標準でバンドルされている機能だ。Windows 2000 Professionalでも動作する「WMエンコーダー」では、HTTPを利用した音楽データのユニキャストに対応しているが、音楽データなどをブロードキャストする機能は、「WMサービス」でしかサポートされていない。

 このため、WMサービスを利用してミュージック・サーバーを構築するには、Windows 2000 Serverが必須となり、少しコストがかかる。ちなみにWindows 2000 Serverの価格は5クライアントライセンス版で180,000円。

 WMサービスはWindows 2000のWindowsコンポーネントで、インストールするにはWebサーバーソフト「IIS(Internet Information Service)」が必須となる。もし、インストールしていない場合は、WMサービスと同時にインストールする必要がある。

 なお、できれば、IISやWMサービスが使用するディレクトリ(\Publish、\ASFroot)は、OSがインストールされているドライブではなく、データなどを保存している別のドライブに変更しておくほうがいいだろう。サーバーを運用していくと、これらのディレクトリに多くのデータを保存する可能性があるため、システムドライブよりもデータドライブに置いたほうが、スッキリするし、運用もしやすい(まあ、個人的な意見ですが)。また、コンテンツに関しては、NTFSでフォーマットしたドライブに置いておくほうが安全だ。FATよりもNTFSのほうが信頼性が高いし、1つのファイルが数GBの容量になっても、NTFSなら問題なく対応できる。

 WMサービスでは、ASFファイルベースのオーディオやビデオ、静止画、PowerPointのプレゼンテーション、WMエンコーダーからのライブ中継などをブロードキャストすることができる。ASFフォーマットでは、WMプレーヤー7.1が再生可能なデータはすべて扱える。つまり、WMオーディオ8、WMビデオ8、MP3、wavファイルなどが利用できる。WMサービスでは、ASFファイルをデータとして使用すると書かれているが、著者が試したところ、WMビデオやWMオーディオでもOKで、拡張子も変換する必要はなかった。そこで今回は、WMエンコーダーで圧縮できるWMオーディオ8を使用してテストを行なう。

 また、WMサービスは、システム上ストリーム数に制限は持たせていない。このため、物理的限界は、サーバーの性能、Ethernetの帯域などに左右される。100MbpsのLAN上で128kbpsのオーディオストリームを10本流したとしても約1.2Mbpsぐらいにしかならないから、Ethernetの負担にはあまりならないだろう。

 Ethernetの帯域よりも、10本ものストリームを配信するには、サーバー側のパフォーマンス(メモリ容量、ある程度のパフォーマンスのCPU、高速アクセスができるHDD)が必要になる。まあ、1~2本ぐらいのオーディオストリームを配信するには、あまり高パフォーマンスのサーバーでなくても大丈夫だ(もちろん、設定で、アクセスユーザー数や帯域の制限を行なうこともできる)。

 WMサービスでは、データの配信ポイントとなる「ステーション」を作成する必要がある。ステーションには、仮想的なIPアドレスとポート番号が割り当てられ、ブロードキャストができるようになるしくみになっている。

 ブロードキャストを利用するためのステーションは、WMサービスのウィザードにしたがって設定を行なっていけば簡単に作成できる。ここで、配信ファイル名、自動繰り返しの設定、再生回数などを指定することができる。もちろん、再生するファイルを複数個指定することも可能だ。

 また、データの配信には「mms」という独自のプロトコルが使用されている。このプロトコルで、直接サーバー上のデータを指定すれば、ステーションを使用しなくても、ユニキャストの配信は簡単に行なえる。

 これらの設定を行なうにはスタートメニューから「プログラム」→「管理ツール」→「Windows Media」を起動し、以下のような手順でステーションを作成していく。

1. 左側にある「サーバーの設定」→「マルチキャスト ステーション」を選択して、ステーションを作成する。



2. ブロードキャストのステーションを作成する。画面左のマルチキャストステーションの作成をクリックし、中央のステーションボタンをクリックして、新規作成を選択し、ウィザードを起動する。



3. 「新しいステーションの作成」をクリックする。



4. ステーション名を入力する。このステーション名で配信ポイントが作成される。配布モードは、「マルチキャストと配布」、もしくは「マルチキャストのみ」のどちらかを選ぶ。1つのWMサービスを使うだけなら、マルチキャストのみでOK(マルチキャストと配布を選択しても問題ない)。



5. プログラム名とストリーム名を入力する。ストリーム名は、配信する音楽データの名称。1つのプログラムでは、複数のストリームを格納することができる。このため、ストリームが1つしかない場合でも、プログラム名を指定する。なお、ウィザードでは、複数のストリームの設定ができないため、さらにストリームを追加したい場合には、ウィザード終了後に「マルチキャストステーション」のボタンを押して、手動で追加する必要がある。



6. 「ストリームオブジェクト入力ソースの種類を設定」では、ストリームのファイル形式を指定する。ここではASFを選択。



7. 「ストリームオブジェクトのソースURLの指定」では、配信するASFファイルのURLを<プロトコル名>://<ユニキャストサーバー名>/<ファイル名>の形式で入力。ここでは、WMサービスのASFRootの下に、再生時に参照するASFファイルを作成している。



8. 「ストリーム形式の情報を指定」では、手順7で指定したファイルの正確なパスを指定する。



9. 「ステーション情報ファイルのエクスポート パス」では、ブロードキャストの配信ポイントとなるステーション情報のファイルをどこに作成するのかを指定する。通常は、Webサーバーでアクセスできるように、Webサーバーのディレクトリに作成される。



10. 「ステーション情報ファイルのURL」では、「ステーション情報ファイルへのアクセスにHTTPパスを使う」を選択する。これにより、ブラウザでステーション情報ファイルにアクセスし、ブロードキャストされている音楽を聴くことができる。もう1つの「ステーション情報ファイルへのアクセスにネットワーク共有パスを使う」では、Windowsネットワーク上にある共有ディレクトリにステーション情報ファイルを作成することになる。



11. 「公開方法の選択」では、ステーション情報ファイルにアクセスするためのメタファイルをどのように作成するかを選択する。一番上のASFストリームを使用した、ASXファイルを作成するだけを選択するだけでOK。



12. ASXファイルの作成場所を指定する。ASXファイルは、ブラウザでアクセスしたときに、ステーション情報ファイルのURLをWMプレーヤーに引き渡す。これにより、ブラウザでASXファイルを表示すれば自動的にWMプレーヤーが起動し、再生が始まる。
 なお、ウィザードで作成するASXファイルでは、ステーション情報ファイルのURLの最後に「#7」が付け加えられていない点に注意。WMプレーヤーやWMエンコーダーがバージョン7以上のときは、これをつけないとうまく動作しない。また、ASXは、タグとしてHTMLに登録することができるため、通常のHTMLに埋め込むこともできる。

 もし、複数のストリームを1つのプログラムとしてブロードキャストするには、手順2の画面下にある「マルチキャストASDプログラムとストリーム」の「プログラム」をクリックして、ストリームを追加したいプログラムを選択する。後は、ストリームボタンを押し、新規作成で、新しいストリームを追加していく。

●コンテンツの作成

 今回は、WMA形式でブロードキャストを行なうため、WMプレーヤーを利用して、WMA8にCDを圧縮していく。問題は、WMプレーヤーは、日本のCDタイトルに関しては、アーティスト名、アルバム名、曲名などをインターネットサイトから自動取得できないこと。これに関しては、マイクロソフト側問題なので、現状ではユーザーが手動で入力しなければならない。

 WMAでの圧縮は、96kbpsぐらいでも十分な音で聞こえるため、128kbpsまでビットレートを上げなくてもいいだろう。

 標準では、作成したデータは、WMサービスの公開ポイントとなる\ASFRootの下に配置しなければならない。面倒な場合は、WMサービスの公開ポイントを新たに作成すればいい。ユニキャスト公開ポイントというボタンを押して、オンデマンドのユニキャスト公開ポイントに、新たなディレクトリを追加すればOKだ。

ブラウザでASXファイルにアクセスすれば、自動的にWMプレーヤーが起動して、ストリームの再生が始まる

 次回は、SHOUTcastを使ったストリーミング・サーバーの構築方法をレポートする。

(2001年8月9日)

[Reported by 山本雅史]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp

Copyright (c) 2001 impress corporation All rights reserved.