2012年5月19日土曜日

FreeBSD8.3でPT2。

FreeBSD 8.3 で PT2 を使って 録画機 にした時のメモ。


ハード構成は面倒なのでパス。
使用OS は FreeBSD 8.3-RELEASE i386。
デスクトップ環境不使用。
他力本願なリンク集。
先人達に多謝。

炊飯ジャーの中でご飯がカピカピになったら悲しいので書き直しです。
書き直ししても他人の褌です。
でも、他人の褌の大きさとか色が合わないので手直しとか勝手にやっちゃってます。
赤褌は苦手です。

mysql51-server、php5、php5-extensions、apache22をportsからインストール。
phpはMULTIBYTE、php5-extensionsはPCNTL、SYSV系を忘れずに。
必要かも知らないlha、git、wgetも愛して。

apache22_enable="YES"
mysql_enable="YES"

を/etc/rc.confに追加。

cd /usr/ports/devel/libccid
make install clean
cd /usr/ports/devel/pcsc-lite
make install clean
echo 'pcscd_enable="YES"' >> /etc/rc.conf
cd /usr/ports/multimedia/ab25
make install clean


fetch http://ptx-kmod.googlecode.com/files/ptx-kmod-20120519.tgz
mkdir ptx-kmod
mv ptx-kmod-20120519.tgz ptx-kmod
cd ptx-kmod
tar zxf ptx-kmod-20120519.tgz
cd /dev/ptx/
make
make install
echo 'ptx_load="YES"' >> /boot/loader.conf
cd ../../etc

fetch http://www.marumo.ne.jp/junk/arib_std_b25-0.2.4.lzh
lha -x arib_std_b25-0.2.4.lzh(解凍出来なかったらportsから水に入れると良い感じ。)
patch -p1 < arib_std_b25-0.2.4.patch
cd src
make

ar -crv libarib_std_b25.a  arib_std_b25.o b_cas_card.o multi2.o ts_section_parser.o
cd ..
cp srcでarib25にして後で使いますです。



これでrebootすると/devにptx0.s0とかptx0.t0とかあったら良いですねぇ。

wget 'http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2-utf8.tar.gz' -O epgdumpr2-utf8.tar.gz
こんな感じでepgdumpr2-utf8を入手して下さい。

無理ならここで。EPGrec

ここから
epgdumpr2.patchを手に入れて
tar xvzf epgdumpr2-utf8.tar.gz
cp epgdumpr2.patch epgdumpr2
cd epgdumpr2
patch < epgdumpr2.patch
make
make install

次行くます。
ここから
http-rc4-grs.ver-patchの中身を手に入れるのです。
fetch http://hg.honeyplanet.jp/pt1/archive/b14397800eae.tar.bz2


tar zxf b14397800eae.tar.bz2
cp http-rc4-grs.ver-patchの中身 pt1-38a793ac3d9d/recpt1
下ごしらえしてあったarib25をpt1-38a793ac3d9d/recpt1に。
patch < Makefile.in.diff
patch < recpt1.c.diff
chmod 755 autogen.sh
./autogen.sh
./configure
patch -p1 < recpt1.diff
gmake
gmake install

混ぜたら美味しくいただかれました。

EPGrec設置

録画機のフロントエンドは EPGrec を使わせてもらってます。


git clone git://git.sourceforge.jp/gitroot/epgrec/epgrec.git
ここで入手して
cd epgrec
chmod 777 cache/ templates_c/ video/ thumbs/ settings/
chmod 755 do-record.sh* do-record.sh.friio* do-record.sh.test* do-record.sh.pt1* getepg.php* recomplete.php* gen-thumbnail.sh
cp config.php.sample config.php
cp do-record.sh.pt1do-record.sh


config.php の 中身を 地上デジタル放送 チャンネル一覧表 を見て変更。

ここからReservation.class_etc.diffを手に入れて撹拌です。
patch < Reservation.class_etc.diff


/var/at/at.allow を作って www を入れる。
echo "www" >> /var/at/at.allow

/etc/passwd のwwwを変更する。

-www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
+www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/bin/sh

/usr/bin に /usr/local/bin/php へのリンクを作る。

ln -s /usr/local/bin/php /usr/bin

php.ini に date.timezone = Asia/Tokyo を追記。

cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini
echo "date.timezone = Asia/Tokyo" >> /usr/local/etc/php.ini

php5-mysql を ports からインストール。
cd /usr/ports/databases/php5-mysql
make install clean

crontab を 編集。

29 */2 * * * www /usr/local/www/neginx/epgrec/getepg.php

を追加。

ちゃんと味見はしましたか?これないと挙動が酔っ払いになりますよ。

echo "*/1     *       *       *       *       root    /usr/libexec/atrun" >> /etc/crontab

後はデータベースの設定とかEPGrecの設定とかお好きなパッチを当てるとか工夫しながら食べて下さい。

// EPGrecをgitで入手した時にエラーが出る場合もあるやも。
// epgrec内でgit checkout 235d2edceae8a765f4514a9d4bd77da5cf4048ccすると動くかもしらぬい。

参考リンク
EPGrec
FreeBSDで地デジビデオサーバ
じゃっく☆彡と豆にメモ
FreeBSD で nginx + FastCGI + PHP
Ubuntu10.10 + PT2 + epgrec で、地デジ録画サーバーを作る。
適当な何かの別館
Rec10について
Honeyplanet Development
地上デジタル放送 チャンネル一覧表
順不同。

2012/06/25:追記。
DTV関係ツールダウンロードさんがサイト休止中に付き、色々探索中。
2012/09/15:追記。
色々腐ってたので書き直しましま。