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
として見られるように。
とりあえず、これで様子見。