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だったらきっと簡単だと思います。

_ インストール

  1. fusefs-kmod をインストール
    portinstall fusefs-kmod
  2. upnp をインストール
    portinstall upnp
  3. libiconv をインストール
    portinstall libiconv
  4. djmount-0.71 を展開
    tar xvfz djmount-0.71.tar.gz
  5. pach を当てる
    cd djmount-0.71
    patch -p1 < djmount.diff
  6. 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
  7. make
    make
    sudo make install

以下のコマンドでマウントできるようになりました。

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をインストールして 以下のようなスクリプトを書きました。

  • fileTV.cgi

    wizd のcgi-binにおきます

  • fileテレビ.html

    TV.cgiの使用例です。録画予約のリンクも入っていますが、LinkPlayerでは録画予約できません。 [sad]

    誰かもっとかっこいいページ作ってください。

    処理速度が遅いのか視聴中に落ちる時があります。その場合は 数秒間一時停止するとキャッシュ効果で安定します。 これを応用すれば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]


 
添付ファイル: fileTV.cgi 1670件 [詳細] filevrs.diff 1380件 [詳細] filerec.sh 1402件 [詳細] filedjmount_071.diff 1654件 [詳細] filedjmount.diff 770件 [詳細] fileencoder 1413件 [詳細] fileテレビ.html 1782件 [詳細]
Last-modified: Sun, 20 Nov 2011 17:40:56 JST (2857d)