| FC5
でffmpeg0.4.8のコンパイルに成功したのでffserverでストリーミング配信の実験をしてみます。なぜ最新のソースを使用しないかという事
ですが、それは最新ソースだとffserverが動作しないからです。 参考リンクhttp://bbs.fedora.jp/read.php?FID=2&TID=1221 |
| http://prdownloads.sourceforge.net/ffmpeg/ffmpeg-0.4.8.tar.gzよ
りdownloadします。なぜ、古いバージョンが配布されているのだろうか?...作業はまずコンパイルしてインストールします。 |
| $ tar xvzf ffmpeg-0.4.8.tar.gz $ cd ffmpeg0.4.8 $ ./configure --cc=gcc32 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --extra-cflags=-O2 -march=i386 -mcpu=i686 $ make # make install |
| 次に/etc/ffserver.confを編集して設定します。元ファイルは/usr/share/doc/ffmpeg-
0.4.8/doc/にあるはずです。参考までに私の設定を載せておきます。 |
| # cat /etc/ffserver.conf Port 8090 BindAddress 0.0.0.0 MaxClients 1000 MaxBandwidth 1000 CustomLog - NoDaemon <Feed feed1.ffm> File /tmp/feed1.ffm FileMaxSize 200K ACL allow 127.0.0.1 </Feed> <Stream test1.mpg> Feed feed1.ffm Format mpeg AudioBitRate 32 AudioChannels 1 AudioSampleRate 44100 VideoBitRate 64 VideoFrameRate 3 VideoSize 160x128 VideoGopSize 12 #NoVideo </Stream> <Stream test.jpg> Feed feed1.ffm Format jpeg VideoFrameRate 2 VideoIntraOnly VideoSize 352x240 NoAudio </Stream> # ASF compatible <Stream test.asf> Feed feed1.ffm Format asf VideoFrameRate 15 VideoSize 352x240 VideoBitRate 256 VideoGopSize 30 AudioBitRate 64 StartSendOnKey </Stream> # <Stream test.rm> Feed feed1.ffm Format rm AudioBitRate 32 VideoBitRate 128 VideoFrameRate 25 VideoGopSize 25 #NoAudio </Stream> <Stream stat.html> Format status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 ACL allow 1.0.0.1 255.255.255.255 </Stream> <Redirect index.html> URL http://ffmpeg.sourceforge.net/ </Redirect> |
| 長いコマンドを打ち込むのは苦手なのでスクリプトを作成します。 |
| $ vi ffserver-start ---------------------------------------------------------- ffserver -f /etc/ffserver.conf ---------------------------------------------------------- # chmod 777 ffserver-start $ vi ffserver-cam ---------------------------------------------------------- ffmpeg -vd /dev/video0 http://localhost:8090/feed1.ffm ---------------------------------------------------------- # chmod 777 ffserver-cam |
| QV-4000のドライバーのコンパイルとインストールを行います。
インストール後にリブートが必要なようです。download先は http://www.saillard.org/linux/pwc/files/ |
| $ tar -jxvf pwc-10.0.11.tar.bz2 $ cd pwc-10.0.11 $ make # su # cp -p pwc.ko /lib/modules/$(uname -r)/kernel/drivers/usb/media/pwc/ # chown root:root /lib/modules/$(uname -r)/kernel/drivers/usb/media/pwc/pwc.ko -------------------------------------------------------------------------------- Kernel-2.6.17 以上の場合はコピーする場所が違う # cp -p pwc.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/pwc/pwc.ko # chown root:root /lib/modules/$(uname -r)/kernel/drivers/media/video/pwc/pwc.ko -------------------------------------------------------------------------------- # /sbin/depmod -a ←ここまでやったら再起動する。 |
| 確認のためQV-4000を接続してみます。 |
| # /sbin/lsmod | grep pwc ←モジュールがロードされているか確認する pwc 76656 0 videodev 9665 2 pwc,bttv |
| ドライバーの確認ツールとしてxawtvのコンパイルとインストールを
行います。
FC4まではダウンロードしたソースをそのままコンパイルすればOKでしたがFC5になってからはソースに一部手を加える必要がありますxawtv-
3.95.tar.gzをdownloadします。 http://linux.bytesex.org/xawtv/
展開して下の様に1行追加する。 |
| $ tar xvzf xawtv-3.95.tar.gz $ cd xawtv-3.95 $ vi console/fbtv.c char *snapbase;190行目の static char *snapbase; を、 static char default_title[128] = "???"; static char message[128] = ""; 次にfs.hを修正します。 追加後はこうなります。#define X_DISPLAY_MISSING 1 後は普通に作業を進める。 $ ./configure $ make # make install |
| それでは実際を確認してみましょう。 |
| # /sbin/lsmod | grep pwc ←モジュールがロードされているか確認する pwc 81140 0 videodev 9665 2 pwc,bttv $ xawtv -hwscan ←使用できるデバイスの確認 This is xawtv-3.95, running on Linux/i686 (2.6.16-1.2111_FC5) looking for available devices port 240-240 type : Xvideo, image scaler name : NV17 Video Overlay port 241-241 type : Xvideo, image scaler name : NV17 Video Texture port 242-273 type : Xvideo, image scaler name : NV05 Video Blitter port 274-274 [ -xvport 274 ] type : Xvideo, video overlay name : NVIDIA Video Interface Port /dev/video0: OK [ -device /dev/video0 ] type : v4l2 name : Vanilla iTVC15 card flags: capture tuner /dev/video1: OK [ -device /dev/video1 ] type : v4l2 name : Vanilla iTVC15 card flags: capture tuner /dev/video2: OK [ -device /dev/video2 ] type : v4l name : Logitech QuickCam Pro 4000 flags: capture $ xawtv -nogl -noxv -c /dev/video2 -geometry 640x480 これで画像が見えるはずです。 |
| ここまで問題がなければ、いよいよffserverの配信のテストです。まずコマンドライン端末を二つ立ててroot権限で先ほど作
成したスクリプトをそれぞれ実行してください。 実行できたらブラウザで http://localhost:8090/stat.html にアクセスしてみてください。ストリーミング配信されている 項目が表示されているはずです。あとはそれをクリックすればそれぞれのファイル形式でQV-4000の画像が再生されるはずなのですが、linuxの場合 はブラウザのプラグインの不備で再生されないことが多いようです。簡単なのは同じネットワーク上のwindowsのrealplayerでrm形式のファ イルを再生してみると確実です。 |
| Copyright©2005-2006 熊の巣 All Right Reserved. 管理人へメール |