FC2ブログ

PCで: アニメ録画予約について

 そろそろ番組改編期。以前にも紹介しましたが、私はいつも、見るアニメをGIGAZINEを参考にして選んでいます。この春からのなら、ここ↓。
2012年春季開始の新作アニメ一覧 - GIGAZINE

 さて、そうやって決めた番組をどうしているかというと、パソコンで録画しています。OSはLinuxを使って。
 ちゃんとした録画システムなんかもあったりするんですが、こういう風ながっちりと出来上がってしまっているのは、ちょっと手を入れたいなーと思ったときなんかに結構大変だし、大袈裟すぎるってのもあるし、その他色々で、結局導入していません。
 で、どうしているかというと、アニメワンのMy番組表に見たい番組を登録して、たまにチェックしてcronで自作のシェルスクリプトを呼び出して録画、なんてことをしています。

 ところがこのアニメワン、どうにも使いづらい。なんでこの情報がこんなところにあるんだとか、番組オフィシャルサイトへ行くにはどうしたらいいんだとか、My番組表に番組の長さが表示されないとか、My番組表に登録したのに放送予定が表示されない番組があるとか、たまに(特に改編期に)放送時刻が間違っているとか(突発的に変わったとかじゃなく)、放送日が過ぎた番組情報はどうなってるんだとか、その他諸々。
 というわけで、今回の改編を機に、ちょっとやり方を変えてみることにしました。

 方針としては、上記のように極力既存の小さなプログラムの組み合わせで実現すること。
 で、こんな風にすることにしました。

 まず、情報源としては、電波に乗ってやってくる番組表(EIT:イベント情報テーブル)を使う。ARIBのサイトで公開されている以下を参考にしました。
「地上デジタルテレビジョン放送運用規定 技術資料 ARIB TR-B14 4.4版 (第二分冊)」
「デジタル放送に使用する番組配列情報 標準規格 ARIB STD-B10 4.9版」
 やり方としては、cronで、一日一回、見たい番組を放送している局を一分くらい録画して、そのMPEG2-TSファイルからepgdump(by tomy ◆CfWlfzSGyg氏)を改造したものを使ってEITをXMLの形で出力します。
 そして、XSLTプロセッサのSablotronを使ってHTMLに変換します。まあ、epgdumpを改造してしまうので出力するXMLでスタイルシートを指定してしまうという手もありますが、さすがにそこまで特注品にしてしまうのはなんかそもそもの方針に反する気もしますし。
 で、この出来上がったHTMLを保存しておけば過去の放送も(実績でなく予定ですけど)わかります。でも、保存はその元のXMLの方にしておいが方がいいかな?

 結局やったことは、epgdumpを改造して、XSLTのスタイルシートを書いて、適当にシェルスクリプトを書いただけ。あとは、cron, Sablotron, HTMLを見るためにWebブラウザをそのまま使います。
 スタイルシートでは、EITからカテゴリがアニメのものだけを選び出して表にし、お気に入り作品だけタイトルの背景に色を付けます。あと、番組が30分でない場合は、放送時間の背景に色を付けます。アニメは殆んど30分ですが、実は、アニメワンが放送時間の長さを表示しないために、第一話だけ時間が長いなんてのを見逃して半分しか録れなかったことがあったりしたので。
 そのために、epgdumpは、終了時刻に加えてdurationを出力するようにしました。

 実は、番組配列情報にはシリーズ記述子(Series descriptor)というのが規定されています。で、シリーズものの番組には共通のIDが付いていて、全何話で、今回のは第何話で、なんていう情報が含まれているのです。
 epgdumpの改造に当たってはそれを出力するようにもしてみたんですが、どうもこの情報、さっぱり送られてきていないようです。他にも、電波に乗ってきた情報を調べてそう結論付けた人がいましたし。残念。
 まあ、その過程でeit.cには結構手を入れましたが。効率とか読みやすさとか。

 改造したepgdumpの出力の冒頭部分は、こんな感じです。
<?xml version="1.0" encoding="UTF-8"?>
<tv generator-info-name="tsEPG2xml" generator-info-url="http://localhost/">
  <channel id="mx">
    <display-name lang="ja_JP">TOKYO MX1</display-name>
  </channel>
  <programme start="20120317210000 +0900" stop="20120317215500 +0900" duration="3300">
    <title lang="ja_JP">東京の窓から</title>
    <desc lang="ja_JP">「江戸っ子は前衛である」ニューヨークの次郎長が世界の現代美術界に仁義をきる。そのココロは?</desc>
    <category lang="ja_JP">その他</category>
    <category lang="en">etc</category>
  </programme>
  <programme start="20120317215500 +0900" stop="20120317220000 +0900" duration="300">
    <title lang="ja_JP">TOKYO MX NEWS</title>
    <desc lang="ja_JP">東京の週末のニュースをお届けします。</desc>
    <category lang="ja_JP">ニュース・報道</category>
...

 これを変換して、こんな感じにします。
Start Duration Title Desc
2012-03-17 22:00:00 1800 D.C.Ⅱ~ダ・カーポⅡ~ #6「人間キライ」
2012-03-17 22:30:00 1800 D.C.Ⅱ~ダ・カーポⅡ~ #7「にわか嵐」
2012-03-17 23:30:00 1800 Aチャンネル #10「炭酸 Act up」
2012-03-18 00:00:00 1800 偽物語【終】 #11「つきひフェニックス 其ノ肆」
2012-03-18 00:30:00 1800 ひだまりスケッチ&ひだまりスケッチ×365 ベストセレクション #11「11月27日 そこに愛はあるのか?」
2012-03-18 01:00:00 1800 モーレツ宇宙海賊 #11「閃光の彷徨者(ワンダラー)」
2012-03-18 02:00:00 1800 BRAVE10 #11「闇の慟哭」
2012-03-18 16:30:00 1800 【二】ディズニータイム リロ・アンド・スティッチ #3「ミスター・ステンチー」
2012-03-18 17:00:00 1800 小公女セーラ #44「おお この子だ!」
2012-03-18 18:30:00 1800 円谷劇場「ウルトラマンネオス」 #4「赤い巨人!セブン21 怪獣ノゼラ・サゾラ登場」
2012-03-18 22:00:00 1800 輪廻のラグランジェ #11「鴨川絶対防衛ライン」
2012-03-19 18:30:00 1800 モジャ公 #53「小さな大ぼうけんモジャ」
2012-03-19 19:00:00 1800 妖怪人間ベム #25「ベロを呼ぶ幽霊」
2012-03-19 19:30:00 1800 妖怪人間ベム【終】 #26「亡者の洞穴」
2012-03-20 01:30:00 1800 ゼロの使い魔F #11「ルイズの選択」
2012-03-20 18:30:00 1800 キテレツ大百科 #172「海底SOS!龍宮の使いと金歯のサメ」
2012-03-20 22:00:00 1740 アニメの神様『ドラゴンボールZ』 #285「超感激!!できたぜみんなの元気玉」
2012-03-20 22:29:00 1860 アニメの神様『機動戦士ガンダムSEED リマスター版』 #12「フレイの選択」
2012-03-20 23:00:00 1800 TIGER&BUNNY【再】【終】 #25「Eternal Immortality.」(永久不滅)
2012-03-21 01:30:00 1800 パパのいうことを聞きなさい! #11

 お気に入り番組の一覧は、こんな感じで用意します。
<?xml version="1.0" encoding="UTF-8" ?>
<favorites>
  <title>モーレツ</title>
  <title>偽物語</title>
  <title>ギルティ</title>
  <title>輪廻</title>
  <title>未来日記</title>
  <title>使い魔</title>
...
 番組のタイトルに部分マッチするように書くのですが、あまり生真面目に書くと、微妙に変わったりしたときにヒットしなくなってしまうので、その辺りは適当に。
 ちなみに、何故か『リコーダーとランドセル』が表に出てこないのでどうしてかと思ったら、カテゴリがアニメじゃなく映画になってるんですね。

 上記のお気に入り番組のタイトル一覧をfavorites.xmlの名前で保存し、以下のファイル(XSLTスタイルシート)を適当な名前で同じディレクトリに置いて、sabcmdを実行します。
anime_xsl.txt (FC2の制限から、名前を.txtにしています)
 で、こんな感じで。
$ sabcmd anime.xsl mx.xml mx_"$(date '+%Y%m%d_%H%M')".html

 まあ、実際にはもっと色々なことをするシェルスクリプトを用意しましたが。例えば、出来上がったHTMLへのシンボリックリンクを特定のディレクトリに集めて、ブラウザでそのディレクトリを表示すれば見やすい、とか。
 XSLTなんてあまり書いたことがないので、無駄があったり途中からいい加減になったりしているのはご愛敬(笑)。
 ともあれ、これでしばらくやってみて、4月から使えるかどうか確認する予定です。

 あとは、局ごとに別のHTMLは見づらいとか、突発的に番組が変更されたときの対処とか、できれば対応したいな。

コメント

非公開コメント

シリーズ記述子について

出力するかどうかは、放送局次第です。

私の地元では1局だけ出力してます。

Re: シリーズ記述子について

情報ありがとうございます。
まあ、ARIB STD-B10でも任意となっていますから仕方ありませんが、送ってくれるととても便利ですよね。
プロフィール

水響俊二

Author:水響俊二
水響 俊二 [MIZUKI Shunji]

暫定的に、18禁作品の感想などは裏サイトで書いています。
   

最新記事
最新コメント
カテゴリ
検索フォーム
リンク
RSSリンクの表示
月別アーカイブ
アクセス解析中