ストリーミングサーバの構築
CATVやADSLといった常時接続の高速回線を持つと自前で様々なサーバを運営したくなるものです。そこで手軽に出来るストリーミングサーバ構築をしてみましょう(^^)。なるべくお金をかけずに簡単に出来る方法を紹介します。
SHOUTcast | HelixUniversalServerBASIC | WindowsMediaエンコーダー | Darwin Streaming Server | Streamsicle
StreamingServer
- 自宅サーバの長所と短所
- 実際単に映像や音声を自宅から配信する場合、無理にストリーミングサーバを用意しなくても普通のwebサーバからも行えます。しかし自宅でサーバを動かすということはそれ以上の魅力も持ってます(^^)。
まずはその利点です。
- 容量を気にせず好きなだけHDDが使える
- ライブ配信が出来る
- ランニングコストが安価で済む
- CGIやJava、JavaScript等を好きなだけ使える
- 逆に欠点として
- 安定した回線品質を保てない
- メンテナンスが大変
- 固定IPで無いとIPアドレスが変動してしまい面倒である
- というようなものがあると思います。そうは言ってやはり自分でサーバを立てることはそれ以上の楽しさもあるわけですね。
- ルーターとポート番号の設定
- ADSLやCATVを使ってサーバを構築する場合ブロードバンドルーターがあると便利です。ポート番号によってPCを選ぶことが可能ですからHTTPサーバとストリーミングサーバを別のPCに分けることが出来ます。これはルーターにより機能は様々ですがヴァーチャルサーバ機能、静的NAT機能とかいろいろ呼ばれていますのでご自分の使用しているルーターのマニュアルをよく確認してください。
- ストリーミング用のソフトウェアはそれぞれポート番号が決まってますのでこれらを確認し通信出来るようにポートを開きます。
- 自宅サーバで必要になる"よく知られた"ポート番号はHTTP:80、ftp:20、21で一般的なサーバ構築には一番使うポートです。
- HelixUniversalServerではデフォルト値でPNA:7070、HTTP:8080、RTSP:554、Monitor:9090、AdminPort:任意となっています。ライブ配信ではRealProducer側では4040を使いますのでこちらも開いておきます。HelixServerではWindowsMediaを配信するため1755も開けます。
- DarwinStreamingServerではデフォルト値でRTSP:554、AdminPort:1220です。(そのままではRTSP値がHelixUniversalServerとかちあうことになりますので両方使う場合、どちらかを変える必要があります。)
- SHOUTcastでは管理、配信用に8000が必要です。
- WindowsMediaエンコーダーは自動で空いているポート番号を捜しますがデフォルト値として8080を使用します。
- これらのポート番号はストリーミングサーバに必要なものですので使用するサーバに合せてポートを開きます。複数のPCを使用している場合サーバとするPCをIPアドレス(ルーター側でDHCPは使用しません。IPアドレスはPCごとに固定したものを使用します。)、もしくはMACアドレス(ネットワーク機器固有の番号)で指定させます。これにより一つのIPアドレスで80番はLinuxサーバでHelixUniversalServerを起動させ別の8080番ではWindowsサーバでWindowsMediaエンコーダーを使用することも可能になります。但し一台のPCでまかなう場合はこの限りではありません。
またAdminPortを使用すれば外部からサーバのリモート接続も出来ますので出先からも設定の変更等が可能になります。
- グローバルIPとダイナミックDNS
- グローバルIPが無ければ外に公開することは出来ません。ADSLなどは割り当てられるアドレスがグローバルである場合も多いですがCATVでは通常プライベートIPが多くオプションのグローバルIPサービスなどを利用しなければなりません。またグローバルIPが割り当ての場合はダイナミックDNSサービスを利用することで固定IPと同じ使い方が出来ます。これこそ最適な方法ですね。
但し一部のISPではプライベートIPのみという場合もありますのでご自身の契約しているISPに確認してみてください。
- hostファイルを使ったドメイン名を使った場合の対処の仕方
- ダイナミックDNSを使う場合、サーバと同じネットワークにあるPCはダイナミックDNS上のドメイン名をそのまま使うことが出来ません(つまりドメイン名でのアクセスが出来ない)。これには外部のプロキシサーバを使うことで解決出来ますが大部分の外部プロキシサーバはストリーミングに対応していないためHelixUniversalServerやWindowsMediaPlayerではプロキシサーバ経由でのアクセスが難しい場合があります。この場合裏技的に.hostというファイルを使うことでこの問題を解決することが可能です。
- このファイルはローカルネットワークの名前解決に使うものでWindows2000の場合C:\WINNT\system32\drivers\etcにあります。プレーンなテキストですのでメモ帳等でダイナミックDNSに対応したドメイン名とローカルPCのIPアドレスをリンクさせます。
- 具体的にはこのファイルの最後に以下のように追加します。
- 192.168.1.1 ドメイン名
- 最初のIPアドレスがサーバの稼働しているPCのアドレス、そして後ろはドメイン名です。これらを記載することで問題解決が可能です。
- 無論実際に別の回線、つまり外部から確認しないとサーバの状態は判りません。定期的に外部からアクセスする必要はありますね。
- ストリーミングサーバソフト
- なるべく安価に運営したいのでソフトも無料で使えるものを用意しましょう。幸い現在は多数のサーバソフトが無償で使えますので大体のフォーマットはサポート出来ます。まずはサーバの種類です。
- 上記したサーバソフトはWindowsMediaエンコーダー以外はLinuxを初めとした多くのプラットフォームに移植されており自分の環境にあったものを使用することが可能です。
- ライブ配信
- なんといっても最大の面白さはこのライブ配信機能でしょう(^^)。通常ライブサーバをレンタルするとかなりいい金額ですが自前で用意すればこんな問題も起りませんね。ライブ配信については各Serverの構築ガイドを参照してください。
- インターネットラジオ
- サーバソフトにより24時間の擬似ライブ配信も可能です。この機能を使ってインターネットラジオも手軽に構築することが可能です。
- 環境は?
- サーバと言えばやはりLinuxという風潮ですが実は私、全然疎いものですのでここでは全てWindows環境で行っておりますのでご了承ください(^^)。
- 上記のソフトは全てWindows版もリリースされておりますがやはり95/98系はサーバとして無理があるためWindowsでもNT/2000系ということになっています。NT系とはいってもサーバ版では無くワークステーション版/プロフェッショナル版で稼働しますのでOSに多大なお金を掛ける必要は無いでしょう(^^)。
- またサーバとして運営するのでHTTPサーバも一緒に稼働させるとなお楽しめます。フリー版でもいくつか公開されていますのでインストールしてみるのもよいと思います。
- 参考までにうちのサーバスペックを、PV-450、メモリ256KB、CATVによる上り2.0Mの回線(下りは500K前後です)、ストリーミングサーバとしてHelixUniversalServer、DarwinSS、SHOUTcastが稼働しています。
- お薦めのHTTPサーバはAN HTTPDです、公式ページはこちら
- ブロードバンドルーターのNAT機能をを使用することで稼働させるサーバを別のPCに割り当てられます。これによりLinuxとWindowsを同じIPで扱えます。このあたりの設定等は自宅web構築を扱ったサイトで確認してみてください。
最終更新日:2004-06-17 8:51:05 |