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

Ξ 5月 6th, 2007 | → 0 Comments | ∇ コンピュータ |

今日は朝から雨模様。ココスで昼飯。

昨日の話だが、PLEXTOR PX-TV402Uを購入。

VGA画質でLinuxでストリーミングをやるため。
ハードで圧縮・Linux対応でずっと探してたんですがようやく見つかった。
DV + WMEはスペックの関係でハーフVGAまでしか出来なかったし、以前、XVD CamCastを試したが画質・機能は申し分ないがコストが…。MPEG2TSは対応キャプチャが入手困難という状況で断念した。
※この製品も、PLEXTORがコンシューマー向け製品撤退?という話らしく、入手がだんだん難しくなってきている模様・・・。

※このあたりのサイトを参考。
GLAN TANKでTV録画
Linuxで録画

ということで、spook + VLC という環境で、映像3Mbps、音声128Kbpsで設定。
まあ、まずまずといったところ。

・送信側
Celeron 1GHz 128MB
Fedora Core 5 + spook(ストリーミング)

・受信側
P3 800MHz 128MB
Win2000 + VLC media player
※QuickTimeは重すぎた。ライセンス買わんと全画面表示できんし。

画面が明るい絵から暗い絵に切り替わると、同期がとれないのか、一瞬乱れるのだがこれはハードの問題なのだろうか?

他サイトで言われている音ずれは今のところなし。
あとはインターネット経由で問題ないか確認予定。

●端末で、VLC media playerで視聴するとこんな感じ。

●さらに、VLC media playerを全画面表示して、スキャコン経由でTVに出力

※画面が網目上になっているのは、走査線の関係です。実際はもっとはっきり見えます。

■下記、インストールログ
Fedora Core 5をベースにインストールを行った。

●カーネルアップデート
2.6.16以降じゃないとダメらしいのでアップデート。
# cd /usr/src
# tar ztvf /usr/local/src/linux-2.6.21.tar.gz

# cd /usr/src/linux-2.6.21
# make mrproper

# cd /usr/src/linux-2.6.11
# cp .config ../linux-2.6.21/

# cd /usr/src/linux-2.6.21
# make menuconfig
(OSS をインクルードしておく)

# make bzImage && make modules
# make modules_install
# installkernel 2.6.21 arch/i386/boot/bzImage System.map

(再起動)
起動したら、GRUB の defaultを変更する。

# vi /boot/grub/grub.conf
grub.conf
※このマシンは、FMV-6000CL2なんで、カーネルの起動オプションに「edd=off」を追加してます。これいれとかないと、起動しないんで。

●fxloadのインストール
# cd /usr/local/src
(http://sourceforge.net/project/showfiles.php?group_id=17679 からソースを取ってくる)
# tar xvf fxload-2002_04_11.tar.gz
# cd fxload-2002_04_11
# make
# make install

●USBドライバのインストール
# cd /usr/local/src
(http://oss.wischip.com/ からLinux用のソースを取ってくる)
# wget http://oss.wischip.com/wis-go7007-linux-0.9.8.tar.bz2
# tar xvf wis-go7007-linux-0.9.8.tar.bz2
(新しいカーネルだとコンパイルが通らないのでこのパッチを当てる)
# wget http://bart.ulyssis.org/go7007/wis-go7007_0.9.8_2.6.21.patch
# patch -p0 --verbose < wis-go7007_0.9.8_2.6.21.patch

# cd wis-go7007-linux-0.9.8
# make
# make install
# cd apps
# cp gorecord modet /usr/local/bin

(再起動)

※lsmodで確認
snd_go7007 6820 1 go7007
snd_pcm 80648 1 snd_go7007
snd_timer 22788 1 snd_pcm
snd_page_alloc 10248 1 snd_pcm
snd 49252 3 snd_go7007,snd_pcm,snd_timer
soundcore 9568 1 snd

●チャンネル変更プログラム
GLAN TANKでTV録画より、ダウンロード。
# cd /usr/local/src
# wget http://w3.quake3.jp/sushi-k/pool/glantank/spook/gochannel.tar.gz
# cd wis-go7007-linux-0.9.8
# tar xvf gochannel.tar.gz
# cd apps
# rm gochannel
# vi Makefile
gochannel: gochannel.c
gcc -Wall $(CFLAGS) -o gochannel gochannel.c tv-freq.c

# make
# cp gochannel /usr/local/bin
その後:今回の環境で、このツールを使うとチャンネル変更はできたのだが、音声が遅れるようになる?(謎)。なぜだろう??

●xvidcoreのインストール
# cd /usr/local/src
# wget http://downloads.xvid.org/downloads/xvidcore-1.1.2.tar.gz
# tar xvf xvidcore-1.1.2.tar.gz
# cd xvidcore-1.1.2
# cd build
# cd generic
# ./configure
# make
# make install

●spookのインストール
# cd /usr/local/src
# wget http://www.litech.org/spook/dist/spook-20050207.tar.bz2
# tar xvf spook-20050207.tar.bz2
# cd spook-20050207

(spook.sockのディレクトリ調整をする)
spook.sock がなぜかカレントディレクトリに作成されてしまうので、

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

となっているので、次のように書き換えた。

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

# mkdir /var/run/spook

# ./configure
# make
# make install

configファイルを/etcに配置し、

# vi /etc/spook.conf
spook.conf

# spook -c /etc/spook.conf

で起動確認。問題なかったんで起動スクリプトを下記のように。

# vi /etc/rc.d/init.d/spook
spook

# chmod 755 /etc/rc.d/init.d/spook

(自動起動設定)
# chkconfig --add spook
# chkconfig spook on
# chkconfig --list spook
spook 0:off 1:off 2:on 3:on 4:on 5:on 6:off

再起動後、クライアントから接続試験。
ALL OK!

 

About

    Place for about text

    The Munch theme is built with PS, brushes and patterns by milo IIIIVII.

    Open right sidebar.php in the theme folder to edit this message.
    Check my other themes too.

     

FlickR

    Solitude
    Solitude
    Solitude
    Solitude