ストリーミングサーバ(spook) その2

PX-TV402Uを2台ゲットしたので、2台つなげてみました。

で、当然同時に2台使ってストリーミングサーバを行いたくなるわけで(笑)、その備忘録を。

1.USBホストカードの問題
ベースサーバである、FMV-6000CL2ですが、USB1.1なので当然帯域が足りないわけでUSB 2.0カードを増設。

最初に、メーカーよりLinux Readyとのことで、RATOCのREX-PCIU3を買ってみてさしたのだが、1台だけで使っていてもブロックノイズが出たり、止まったりしてダメだった(ぉぃ

次に、ダメもとで、玄人志向のUSB2.0V4-LPを試してみた。これが意外と良かった!。まったく問題が出ない(笑)。

ということで、この構成で進めることに。

2.spookサーバの問題
PX-TV402Uを2台つなげると、デバイスがそれぞれ、

/dev/video0、/dev/dsp1
/dev/video1、/dev/dsp2
(/dev/dsp0は本体のサウンドカードが認識しているようだ)

と認識されるようであった。
spook.confを見ると、複数使えるような雰囲気なので、そのとおりに設定してみた。

http://xxxxxxxxxx:7070/tv
http://xxxxxxxxxx:7070/tv2

というように設定してみた。
クライアントからそれぞれ接続すると、うまくいった!!!。

と、思ったのだがしばらくすると、
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:00 spook[2109]: v4l2: dropping frame
May 10 21:29:01 spook[2109]: v4l2: dropping frame
May 10 21:29:01 spook[2109]: v4l2: dropping frame
May 10 21:29:01 spook[2109]: v4l2: dropping frame
May 10 21:29:01 spook[2109]: v4l2: dropping frame
May 10 21:29:01 spook[2109]: v4l2: dropping frame

というように大量にログを吐き出し、止まってしまう・・・。うーん、困った。

で、ダメもとで、spookを2つ起動できないか設定してみた。
1つ目のポートを7070、2つ目をポートを7071として、confファイルを2つに分ける。

# /usr/local/bin/spook -c /etc/spook.conf
# /usr/local/bin/spook -c /etc/spook2.conf

と実行したいところだが、ただ、これだとsockファイルがバッティングすると思われたので、ソースファイルを改造。

# grep spook2 *
control.c: strcpy( addr.sun_path, "/var/run/spook/spook2.sock" );
spookctl.c: strcpy( addr.sun_path, "/var/run/spook/spook2.sock" );

というようにソースを書き換えて、再コンパイル。
spookとspook2という実行ファイルを作って、/usr/local/binに放り込んだ。

で、

# /usr/local/bin/spook -c /etc/spook.conf
# /usr/local/bin/spook2 -c /etc/spook2.conf

とテスト実行。クライアントでそれぞれ受信してみた。
おー、これはいける!。今のところ問題なし。ということでこの構成で行くことに。
クライアントからは、

http://xxxxxxxxxx:7070/tv
http://xxxxxxxxxx:7071/tv

として見られるように。
とりあえず、これで様子見。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)