PukiWiki
FreeBSDでホームビデオサーバー
_ 地デジ化
そろそろ地デジに切り替え予定。
PT1を入手したので色々設定中。
FreeBSDで地デジビデオサーバ
_ アナログ
I-O DATA のテレビチューナー AVLT1/GXW を使って録画予約、テレビ鑑賞をするシステムを作ってみました。
_ ChangeLog
- TV王国が変わったので現在iEPGが使えなくなっています。ローカルではなんとか使えるようにできてるけど、cookie使うようになったので地域設定ができない。公開はもうちょっと待って(2007/11/24)
- TV.cgiでリモコン選局に対応(2007/01/04)
- 録画時間の計算ミス修正(2007/01/04)
- iEPG@TV王国の変更に対応(2007/01/03)
- 出力ファイル名を変更して、同時刻録画できない不具合修正(2007/01/03)
- rec.sh を最新環境に修正(2006/12/24)
- 最新の環境で再インストールしたので、大幅書換え(2006/12/23)
_ 買ったのはいいけど
テレビのアンテナ線を引き回すのが面倒で、すでに購入していたリンクプレーヤーで視聴できないかと買ったんだけど、対応してませんでした。*1
_ djmount
DLNAってなんぞや?と調べていたら、djmountというツールで どうにかなりそうとわかりました。 FreeBSDのportsはなかったので、FUSEのports等を使って強引に インストールしました。Linuxだったらきっと簡単だと思います。
_ インストール
- fusefs-kmod をインストール
portinstall fusefs-kmod
- upnp をインストール
portinstall upnp
- libiconv をインストール
portinstall libiconv
- djmount-0.71 を展開
tar xvfz djmount-0.71.tar.gz
- pach を当てる
cd djmount-0.71 patch -p1 < djmount.diff
- configure
setenv CFLAGS "-I/usr/local/include -L/usr/local/lib" ./configure --with-fuse-prefix=/usr/local --with-libupnp-prefix=/usr/local --with-external-libupnp --with-libiconv-prefix=/usr/local
- make
make sudo make install
- djmount-0.71のFreeBSDパッチ
djmount_071.diff
以下のコマンドでマウントできるようになりました。
djmount -o iocharset=euc-jp /mnt
こんな感じでみえます。
[tanuki:] ls /mnt/AVeL\ LinkTuner\ -\ 1.0\ \[00:A0:B0:71:01:E3]/ALL\ TV/ ./ 06 TV 6ch? TBSテレビ.mpg ../ 07 TV 38ch? テレビ埼玉.mpg .metadata/ 08 TV 8ch? フジテレビ.mpg 00 EXT 1? 外部入力1.mpg 09 TV 42ch? TVKテレビ.mpg 01 TV 1ch? NHK総合(東京).mpg 10 TV 10ch? テレビ朝日.mpg 03 TV 3ch? NHK教育(東京).mpg 11 TV 46ch? 千葉テレビ.mpg 04 TV 4ch? 日本テレビ.mpg 12 TV 12ch? テレビ東京.mpg 05 TV 14ch? MXテレビ.mpg
[tanuki:]ls /mnt/AVeL\ LinkTuner\ -\ 1.0\ \[00:A0:B0:71:01:E3]/ALL\ TV/.metadata/ ./ 06 TV 6ch? TBSテレビ.xml ../ 07 TV 38ch? テレビ埼玉.xml 00 EXT 1? 外部入力1.xml 08 TV 8ch? フジテレビ.xml 01 TV 1ch? NHK総合(東京).xml 09 TV 42ch? TVKテレビ.xml 03 TV 3ch? NHK教育(東京).xml 10 TV 10ch? テレビ朝日.xml 04 TV 4ch? 日本テレビ.xml 11 TV 46ch? 千葉テレビ.xml 05 TV 14ch? MXテレビ.xml 12 TV 12ch? テレビ東京.xml [tanuki:]cat 04* |nkf -e <?xml version="1.0" encoding="UTF-8"?> <item id="0/20/10004" parentID="0/20" restricted="1"> <dc:title>04 TV 4ch 日本テレビ </dc:title> <upnp:class>object.item.videoItem.videoBroadcast</upnp:class> <res bitrate="500000" colorDepth="24" resolution="720x480" protocolInfo="http-get:*:video/mpeg: DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=00" size="0"> http://10.0.2.125:49153/web/20/10004/04.mpeg2</res> </item>
これでmplayerなどでmpgを開けば視聴できるはず。 xml に記載されているURL にアクセスすれば直接視聴できます。
_ wizd経由でTVを見る
このままじゃあまり使えないので、リンクプレーヤーで見えるようにするために、wizdをインストールして 以下のようなスクリプトを書きました。
TV.cgi
wizd のcgi-binにおきます
テレビ.html
TV.cgiの使用例です。録画予約のリンクも入っていますが、LinkPlayerでは録画予約できません。
誰かもっとかっこいいページ作ってください。
処理速度が遅いのか視聴中に落ちる時があります。その場合は 数秒間一時停止するとキャッシュ効果で安定します。 これを応用すればwizd でDLNAのコンテンツを見えるようになるかも。
_ 録画予約
やっぱり録画予約したいので、Linux用のcgiファイルvrsを改造してみました。 Tuner2枚にも対応しているし、iEPGで予約できるので便利です。
あとはspool以下をwizdで見えるところにリンクすれば、 録画した映像をLinkPlayerで見ることができます。
_ Wake up LAN
結構AVLT1/GXWの音がうるさいので、Wake up LANを有効にしてみました。ports の net/wakeonlan をインストール。 上の録画用スクリプトで使っています。
_ ホームシアター
衝動買いでプロジェクター(BENQ MP610)を買ってしまいました。 LinkPlayerをつないでホームシアターを楽しんでます。







DLNA対応のリンクプレイヤーでないと見えないらしい。そんなの一言も書いてないじゃん。![[sad]](image/face/sad.png)