ストリーミング配信してみたい


ストリーミングサーバのインストール
ストリーミングサーバを使うと、クライアントでファイルをダウンロードしながら再生ができます。ってことは、ファイルがなくてもサーバから送信できるので、ライブ中継のようにリアルタイムでエンコードしながらクライアントに送信ができちゃいます。
この技術は、アーチストのライブ中継や覗きサイトに応用され、我々もそれを意識することなく使用しています。

ってことで、自宅サーバでストリーミングサーバを構築してみましょう。
作成するシステムは、映像+音声をリアルタイムで配信するタイプのものです。映像、音声のキャプチャは自作PCのjollieで行いエンコードしたデータを、LANでサーバに送り、そこからインターネットに送信します。

Linuxサーバではリアルオーディオで有名なRealNetwork社のソフトを使用するのがいいみたいです。25クライアントまでという制限はあるが、なにしろタダなので。エンコード用のはWindows版もあるので、Windowsマシンでエンコして、Linuxサーバで配信という形になります。Linuxでキャプチャなんて設定したくねぇし。

で、サーバ用の配信ソフトHelix Universal Server - Basic とエンコード用のソフト Helix Producer Basic をダウンコロードしてきます。サーバ側ソフトは、ダウンロード時のフォームに記入したメールアドレスにキーが届き、使用にはそれが必要です。

サーバ側からインストール。ダウンロードした「rs-8-01-linux-libc6.bin」というファイルを適当なディレクトリ(/usr/local/bin/realserver)に放り込んで実行。インストーラが起動し、メールで届いたキーファイルの位置とか、各プロトコルのポート番号を指定すると完了。あと、管理者用アカウントとパスワードも聞かれるので適当に入れておきます。
プロトコルのポート番号はHTTPだけ8080にしたけど後はデフォルト。あと、配信サーバの管理はWEBサーバから行うので、そのポート番号を指定します(ってか設定を覚えておく)。今回は10080。

# Bin/rmserver rmserver.cfg &
でサーバが起動します。フリー版の制限の説明等出ますが、Enter押せばOKです。デフォルトの設定だと、
rtsp://www.dorarin.net/hoge.rm
にWEBブラウザかリアルオーディオプレーヤーからアクセスすると、/Contentの中のファイルにアクセスできるようになっているはずです。

サーバの設定はWEB上で行います。
http://www.dorarin.net:10080/admin/index.html
でサーバの設定画面に入れます。認証画面はインストール時に設定したアカウントを入れます。
 
設定など
ここで、リアルタイムエンコードを行うWindowsマシンからの接続を受け付けるよう設定しておきます。
「Broadcasting」タブの中の「RealNetworks Encoding」を開きます。「G2 to 8.5 Producer」でポート4040を指定します。Authenticationは「SecureEncoder」にし、その下の「Create」でWindows側ソフトから接続するユーザーを登録します。Authentication Realmsを「SecureEncoder」にし「Add a User to Realm」でユーザー名を登録します。


続いて、エンコード用のWindowsマシン側ソフトをインストールします。Windowsアプリなので、特に迷うこともなく終了。起動させて、ソースとなるInput側のキャプチャカードやサウンドカードの設定をします。

するとInput側の画面にキャプチャされた映像が表示されています。今回は試験的にテレビ放送の映像を流しておきました。
Output側のDestinationで右クリックし「Server Destination」画面を出します。


「Destination Name」は適当に。
「Stream Name」はプレイヤーからアクセスするときのファイル名。
「Broadcasting Method」は「Legacy Push」に。
あとは画面見て適当によろしく。
ちなみにここで入力するUserNameはサーバの設定で最後にWEBから作成したアカウントを入力します。

最後にEncodeボタンを押すと、Output側にも映像が表示され、サーバへデータが送られます。
クライアントのプレイヤーで
rtsp://www.dorarin.net/encoder/test.rm
にアクセスすると、全世界でテレビ放送が見られると言うわけです。

ちなみに、インターネット上に公開するには、RTSPプロトコルで使用するポート、デフォルトでは554を開ける必要があります。また、クライアントの接続環境によって、3種類までの転送レートのデータを用意することができます。
Windows側ソフトの「Audiences」で、16kから512kbpsくらいまで設定できた気がした。

感想など
正直言って、テレビやビデオ映像のリアルタイム配信は厳しいものがある。キャプチャカードの性能なのかPCのせいなのか、映像と音がずれまくり。CM1本くらいは平気でずれるので、セリフと行動が伴っていません。
うちの無線LANが遅いせいかサーバが遅いせいか、512kbpsで見ようとすると、ほとんど絵が動かねぇ。

というわけで、ビデオカメラをつないで映像だけの監視カメラとか、音だけの隠しマイク程度の用途なら全然問題なく使えそうなんだけど、自己満足程度。他人を満足させることはできなそうです。しょんぼし。





参考文献 ZDNet「ADSLを利用したストリーミングサーバ構築(前編)」
ZDNet「ADSLを利用したストリーミングサーバ構築(後編)」






Copyright ©1997-2003 doro All Rights Reserved.