PT2買ったのでfoltia HDをサーバーに導入しようとしたのですが,公式がFedora系推奨で動いているせいで,Debian鯖のオレ涙目.しかし,一応動くっぽいので,情報少ないの覚悟で入れてみました.苦難の道だけど,Debian系だからという部分は少ないので,わざわざDebianで入れようって人なら何とかなります.試行錯誤過ぎてうろ覚えなので,細かい命令とかミスは愛とフィーリングでカバーしてくだしあ.
環境は,NEC Express5800/110Ge上で走らせた2009年04月くらいのDebian lenny.環境の差違とかは適宜埋めてくださいな.
必要なハードウェア.
まずはNECのICカードリーダー SCR3310.定番品です.普通にビックカメラで山積みしてありました.Linuxで動かす以上,下手なブツに手を出すと爆死できます.
あとは,サン電子製 ダブル分波器 DSP-77FW-P.BS波と地上波を分ける分波と,同じ信号を2本に分ける分配を同時にやってくれる代物です.ただの信号を4つに分けるより電界強度が落ちないし,何よりもPT2の端子とピッタリの地上波 2本,BS/CS 2本を1つの機器から綺麗に出せるってのは精神衛生上非常によいです.オススメ.
PT2のドライバ周り
単にPT2使えるようにするだけなのでfoltia関係なしで既存の方法を割と使えるのですが,その情報をfoltiaに本当に関係ないかがわからなかったため,結局時間かかりました.
- まずは$adduser foltia 以下の流れは出来る限りfoltiaユーザーで行う.
- 必要なパッケージを先に入れておく.$ apt-get install g++ libboost-filesystem-dev libboost-thread-dev libglib2.0-dev libpcsclite-dev libccid libglib2.0-dev libpcsclite-dev libccid pcscd libboost-regex-dev pcsc-tools
- make時に無くて死ねるので,これも先に入れておく.$ apt-get install build-essential linux-headers-`uname -r`
- PT1ドライバ周りが詰まってるc44e16dbb0e2.tar.bz2ってのをどっかから持ってきてfoltiaユーザー領域にでも解凍しておく.このとき,pt1-ほげほげとかいう長い名前なので適当にリネームした方が楽.これは暗号周りのarib25ってのが含まれた最終verらしく,最新ドライバとarib25を別に落としてもおk.まあ,自分は枯れてるヤツで.
- BSへの給電であるLNB電源周りのオプションがあるので,環境によってはpt1_pci.cのstatic int lnb = 0;を2に書き換え.
- ./driver内でmake && $make install この時,エラーが出たら自分でシンボリックリンク張り直すとおk.
- /lib/modules/'uname -r'/kernel/drivers/video/pt1_drv.koが出来てたら完成.
- 後々でもいいので,デバイスの再認識や再起動後に$ lspci -v | grep ptでそれっぽいのが働いてるのを確認しておくと幸せ.
- ./arib25や./recpt1も同じく$make && make install
- ./b25_doc内のlibccid_Info.plistでデバイスのバージョンが違う事がよくあるらしく,:1,$s/1.3.1/1.3.8/gで全置換後,$ cp libccid_Info.plist /etc/libccid_Info.plist.
- デーモン再起動 /etc/init.d/pcscd restart
- $pcsc_scanでずらーっと出てB-CASの文字列確認できればおk.
- さあ,録画テストですよ.適当な場所で$ recpt1 --b25 --device /dev/pt1video2 チャンネル数 秒数 test.ts
ね?簡単でしょ?
PostgreSQL導入
foltiaは割と歴史があるせいなのか,PostgreSQLのEUC-JPという素敵な構成なので,頑張りましょう.
- $ apt-get installでpostgresql-8.3, postgresql8.3-server-dev-8.3, lbdbd-pg-perl, libwww-perl, libjcode-pm-perl, libschedule-at-perlを導入.
- いったんpostresql止める.
- postgresユーザーへ.
- postgresユーザーで弄るので,適当に/var/liv/postgresql/8.3とかに権限付け.この辺はアドリブで.
- 現状の./mainを消すなりバックアップするなりして,mkdir main.一応,所有者以外の権限切っておく.
- $ /usr/lib/postgrespl/8.3/bin/initdb --encoding=EUC-JPでDB再構築
- ./main内にサーバー証明書とかいるらしいので,いろんな所から引っ張ってくる./etc/postgresql-common/root.crtと,/etc/ssl/certs/ssl-cert-snakeoil.pem, /etc/ssl/private/ssl-cert-snakeoil.keyなので,コピーして適宜リネーム・権限付け.シンボリックリンク貼ると,権限周りでDB開始出来なかった.なんじゃらほい.
- rootに戻って, $ /etc/init.d/postgresql-8.3 start
- postgresに戻って, psql -lで動作確認.EUC-JPのテーブル確認できたらおk.
- ユーザーそのままで$createuser -P foltia.全部n.んで,晴れて$ createdb --owner=foltia foltiaをどうぞ.
注意点は1にも2にもEUC-JPのデータベースだってこと.後で爆死しないように注意.
Apache周り
- apache2, libapache2-mod-php5, phppgadminインスコ.
- /etc/apache2/conf.d/で,foltia.confを作っておく.内容は適宜.サムネイル表示用に,AddType image/jpeg .THMでmime type追加しておく.
- ついでにphppgadmin内にphp_flag register_globals Onも入れておく.精神衛生上.htaccessの方がいい人はそっちで.いらんかも.
- /etc/apache2/envvarsにexport APACHE_RUN_USER=foltiaを追記.
- Apache2再起動
Debian使いには釈迦に説法かもしれませんが,Debian系でのhttpd.confは変なので,Fedora系の知識は使えません.
foltia入れるための下準備
- まずmplayer.サムネイル作成用のjpegライブラリ込みでmakeするよー.適当なところで$ wget http://www.ijg.org/files/jpegsrc.v7.tar.gzして,あとは解凍からmake installまでがんがれ.
- $ ln -s /usr/local/lib/libjpeg.so.7 /usr/lib/libjpeg.so.7でシンボリックリンク貼っといて,おまじない程度に$ ldconfigしておく.
- MP4Boxが含まれるgpacパッケージを頑張って入れる. ./configure終わったら,$ cp config.h include/gpac/internal/ からの$ make lib appsをするのがコツ.
- apt-getでImageMagickとwine入れる.
- foltiaで使うPerlモジュールいろいろ入れる.CPANでTime::HiRes Schedule::At DBD::Pg Jcode.
- 入れてない人は,どうにかがんばってSubversion入れる.
- /home/foltiaとかの適当なところで魔法の呪文 $ svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
- ./configure --prefix=/usr --enable-jpegにだけ注意して,普通にmakeとinstall.
- もうそろそろ心が折れそうなので,先にfoltiaの本尊を拝むとする./home/foltiaとかの適当なところで魔法の呪文 $ svn co http://svn.dcc-jpl.com/foltia/trunk foltia
- 心が折れた.
今日のまとめ
ここまでで日付変わって心が折れました.よって,後半が正解かどうかはわかりません.たぶん,あとできちんとまとめます.さようなら.