foltia

5/5付でfoltiaがrev.99になっていて、recfriio/recpt1関係の更新があったみたい。再チャレンジ。

~foltia/perl

captureimagemaker.plは、captureimagemaker.pl.bakにリネーム(とりあえず)

~folitia/perl/tool

hdusrec、epgdump、tsselect、tsinfo_onesegを格納
hdusrecは、recpt1でシンボリックリンク

~foltia/perl/tool/tv_grab.pl

EPGをTSのEIDから拾うようにスクリプトを作成。チャンネルとIDの一覧はfoltiaのmktableから持ってきた。エラー処理は皆無。

#!/usr/bin/perl

$rtool="/home/foltia/perl/tool/hdusrec";
$ctool="/home/foltia/perl/tool/epgdump";
$dtool="/home/foltia/perl/xmltv2foltia.pl";
$dtime=30;
$tdir="/home/foltia/perl/tool";

@channel = (
    [ 18, '0009.ontvjapan.com' ], # TVK
    [ 20, '0016.ontvjapan.com' ], # MX
    [ 21, '0006.ontvjapan.com' ], # CX
    [ 22, '0005.ontvjapan.com' ], # TBS
    [ 23, '0008.ontvjapan.com' ], # TX
    [ 24, '0007.ontvjapan.com' ], # EX
    [ 25, '0004.ontvjapan.com' ], # NTV
    [ 26, '0041.ontvjapan.com' ], # ETV
    [ 27, '0031.ontvjapan.com' ], # NHK
    );

while ($ch = shift(@channel)) {
    $c = @$ch[0];
    $n = @$ch[1];

    $t1 = `mktemp ${tdir}/tv_grab.$c.ts`;
    chomp $t1;
    $com = "$rtool $c $dtime $t1";
    system($com);

    $t2 = `mktemp ${tdir}/tv_grab.$c.xml`;
    chomp $t2;
    $com = "$ctool $n $t1 $t2";
    system($com);

    $com = "$dtool < $t2";
    system($com);

    unlink($t1, $t2);
}

30秒だと少し足りなさそう。中間のTSが60MBくらい。epgdumpのソースを眺めるとPID=0x11,0x12,0x26,0x27しか見てないようなので、これらだけ出力するようなオプションをhdusrecに足すのがいいかなあ。

これでEPG予約入れてみた。さてファイルができてるか、明日のお楽しみ。