foltiaをチェンジセット111にアップデート
foltiaがアップデートされたようなので、さっそく自分の環境でアップデートしてみた。
主な変更点はこんな感じです。
・epgdumpの追加インストール
tsファイルからXMLTV形式のXMLを取得する「epgdump」プログラムのインストールが必要です。
こちらなどからダウンロード可能です。
http://sourceforge.jp/projects/rec10/svn/view/epgdump/?root=rec10
・foltia_epgテーブル構成変更
・SQLite環境でfolcastがまったく動いてなかったのを修正。
これ以降の内容は、foltiaを既にインストールしている人を対象にしているので、foltiaを新規にインストールする人は参考にならないかも。過去の記事は以下に残しておく。
目次
- foltiaのダウンロード
- epgdumpのインストール
- データベースの更新
- 動作確認
- 最後に
foltiaのダウンロード
Subversionでfoltiaをアップデートする。新規インストールの際には/home/foltia/tmp/foltiaにダウンロードしたので、対象ディレクトリに移動してアップデートを実行する。アップデートが終わったら、/home/foltia/phpと/home/foltia/perlにコピーする。
[foltia@foltiasrv foltia]$ ls -aFl 合計 20 drwxrwxr-x 5 foltia foltia 4096 3月 10 21:36 ./ drwxrwxr-x 5 foltia foltia 4096 7月 24 21:27 ../ drwxrwxr-x 6 foltia foltia 4096 3月 10 21:36 .svn/ drwxrwxr-x 5 foltia foltia 4096 3月 10 21:36 doc/ drwxrwxr-x 5 foltia foltia 4096 3月 13 21:04 install/ [foltia@foltiasrv foltia]$ svn update U install/perl/foltialib.pl A install/perl/epgimport.pl U install/perl/folprep.pl U install/perl/updatem2pfiletable.pl U install/perl/db/Pg.pl A install/perl/channelscan.pl U install/perl/digitaltvrecording.pl U install/perl/getxml2db.pl A install/perl/digitalradiorecording.pl U install/perl/schedulecheck.pl U install/perl/xmltv2foltia.pl U install/perl/ipodtranscode.pl U install/perl/cron_foltia_dayly.sh U install/perl/deletemovie.pl U install/perl/recwrap.pl U install/php/folcast.php U install/php/m.php U install/php/deletemovie.php U install/php/showplaylist.php U install/php/viewepg.php U install/php/listreserve.php U install/php/index.php U install/php/titlelist.php U install/php/delepgp.php U install/mktable.sqlite.txt U install/mktable.txt リビジョン 111 に更新しました。 [foltia@foltiasrv foltia]$ cd [foltia@foltiasrv ~]$ cp -r tmp/foltia/install/php/* php/ cp: cannot create regular file `php/StarlightBreaker/.svn/text-base/sb-config.php.template.svn-base': 許可がありません cp: cannot create regular file `php/StarlightBreaker/.svn/text-base/sb-edit.php.svn-base': 許可がありません cp: cannot create regular file `php/StarlightBreaker/.svn/text-base/sb-write.php.svn-base': 許可がありません cp: cannot create regular file `php/StarlightBreaker/.svn/entries': 許可がありません cp: cannot create regular file `php/StarlightBreaker/.svn/all-wcprops': 許可がありません cp: cannot create regular file `php/img/.svn/text-base/icon.png.svn-base': 許可がありません cp: cannot create regular file `php/img/.svn/text-base/no-thumbnail-img.png.svn-base': 許可がありません cp: cannot create regular file `php/img/.svn/entries': 許可がありません cp: cannot create regular file `php/img/.svn/prop-base/icon.png.svn-base': 許可がありません cp: cannot create regular file `php/img/.svn/prop-base/no-thumbnail-img.png.svn-base': 許可がありません cp: cannot create regular file `php/img/.svn/all-wcprops': 許可がありません [foltia@foltiasrv ~]$ cp -r tmp/foltia/install/perl/* perl/ cp: cannot create regular file `perl/db/.svn/text-base/SQLite.pl.svn-base': 許可がありません cp: cannot create regular file `perl/db/.svn/text-base/Pg.pl.svn-base': 許可がありません cp: cannot create regular file `perl/db/.svn/entries': 許可がありません cp: cannot create regular file `perl/db/.svn/all-wcprops': 許可がありません cp: cannot create regular file `perl/irda/.svn/entries': 許可がありません cp: cannot create regular file `perl/irda/.svn/all-wcprops': 許可がありません cp: cannot create regular file `perl/tool/.svn/entries': 許可がありません cp: cannot create regular file `perl/tool/.svn/all-wcprops': 許可がありません cp: cannot create regular file `perl/transcode/.svn/text-base/vfr4psp.sh.svn-base': 許可がありません cp: cannot create regular file `perl/transcode/.svn/entries': 許可がありません cp: cannot create regular file `perl/transcode/.svn/prop-base/vfr4psp.sh.svn-base': 許可がありません cp: cannot create regular file `perl/transcode/.svn/all-wcprops': 許可がありません
コピー時にいくつかコピーできないファイルがあるが、svn関連なので無視する。
epgdumpのインストール
既にインストール済みだったけど、記事に起こしていなかったのでここで記載する。epgdumpのソースはepgrecのページで紹介されていたものを利用した。
上記ページのepgdumpr2.tar.gzをダウンロードし、/home/foltia/tmp/配下に保存する。コンパイルした後のepgdumpを/home/foltia/perl/tool/配下に保存することを忘れないように。
[foltia@foltiasrv tmp]$ ls TsSplitter.exe foltia iui-0.31.tar.gz tss.py c44e16dbb0e2.tar.bz2 foltia.conf.swo mktable.sqlite_osaka.txt d89f0da0a7e4.tar.bz2 foltia.conf.swp neroAacEnc epgdumpr2.tar.gz gpac-0.4.5.tar.gz php.ini.swp [foltia@foltiasrv tmp]$ tar xvzf epgdumpr2.tar.gz epgdumpr2/ epgdumpr2/eit.h epgdumpr2/tags epgdumpr2/eit.c epgdumpr2/sdt.h epgdumpr2/Makefile epgdumpr2/util.c epgdumpr2/ts.h epgdumpr2/xmldata.c epgdumpr2/util.h epgdumpr2/ts.c epgdumpr2/epgdump.c epgdumpr2/aribstr.c epgdumpr2/sdt.c epgdumpr2/readme.txt epgdumpr2/aribstr.h epgdumpr2/ts_ctl.h [foltia@foltiasrv tmp]$ cd epgdumpr2 [foltia@foltiasrv epgdumpr2]$ make gcc -std=c99 -O2 -Wall -g -c epgdump.c epgdump.c: In function 'xmlspecialchars': epgdump.c:150: warning: implicit declaration of function 'strrep' epgdump.c: In function 'main': epgdump.c:358: warning: 'return' with no value, in function returning non-void 〜(以下、略)〜 [foltia@foltiasrv epgdumpr2]$ ls Makefile aribstr.o eit.o epgdump.o sdt.h ts.c ts_ctl.h util.o aribstr.c eit.c epgdump readme.txt sdt.o ts.h util.c xmldata.c aribstr.h eit.h epgdump.c sdt.c tags ts.o util.h [foltia@foltiasrv epgdumpr2]$ cp epgdump /home/foltia/perl/tool/
データベースの更新
foltia_epgのテーブル構成が変更されているので、削除→新規作成を行う。foltia_epgは名前の通りEPG番組表情報なので、このテーブルが削除されても録画データが消える等の影響はない。
[foltia@foltiasrv ~]$ sqlite3 foltia.sqlite SQLite version 3.3.6 Enter ".help" for instructions sqlite> drop table foltia_epg; sqlite> create table foltia_epg ( ...> epgid integer PRIMARY KEY AUTOINCREMENT, ...> startdatetime integer, ...> enddatetime integer, ...> lengthmin integer , ...> ontvchannel text, ...> epgtitle text, ...> epgdesc text, ...> epgcategory text ...> ); sqlite> create index foltia_epg_startdatetime_index on foltia_epg (startdatetime); sqlite> create index foltia_epg_enddatetime_index on foltia_epg (enddatetime); sqlite> create index foltia_epg_ontvchannel_index on foltia_epg (ontvchannel); sqlite> .q
テーブルには番組データが入っていないので、epgimportでEPG番組表を取得する。epgimportはrecpt1で各チャンネルを数秒録画してTSファイルを取得し、それをepgdumpでEPG番組表を取り出している。録画時間は地上波は3秒、BSは36秒がデフォルトとなっており、「long」のオプションしていでそれぞれ60秒、120秒になり、これで約1週間分の番組表が取得できるらしい。
[foltia@foltiasrv ~]$ perl/epgimport.pl long pid = 29331 C/N = 32.732687dB Recording... Recorded 60sec pid = 29345 C/N = 31.773971dB Recording... Recorded 60sec pid = 29363 C/N = 31.349533dB Recording... Recorded 60sec pid = 29374 C/N = 32.221309dB pid = 29409 C/N = 32.872585dB Recording... Recorded 60sec pid = 29506 C/N = 34.098013dB Recording... Recorded 60sec pid = 29515 C/N = 31.453726dB Recording... Recorded 60sec pid = 29526 C/N = 16.236807dB Recording... Recorded 120sec
動作確認
最後に正常に動いているか動作確認する。まず、EPG番組表から。
きちんと表示されてる。以前のepmdumpとtv_grab.plの組み合わせでは歯抜けになって表示されないことが多々あり、そのために予約できないときがあった。今回のアップデートによってそのようなことが少なくなりそう。
folcastも以前までは番組個別のfolcastがうまくいかなかったが、今回のアップデートで番組個別でも正常に弾ロードすることを確認できた。すばらしい!
おまけだけど、キャプチャ画像一覧。foltiaは番組のサマリが見ることができるので、番組の未読/既読の確認が楽なのが魅力。