2010/07/09 金曜日

安定稼働開始か?

Filed under: foltia,Technology — Nis @ 01:27:04

 foltiaでの自動アニメ録画は、ほぼ安定稼働。現時点で下記のtodoをクリア。

  1. 放送波(地上波、BS、CS)からEPGを取得して、アニメ以外も録画可能に。
  2. Core2QuadサーバをNFS経由で接続。トラコン処理をなんちゃってクラスタ化。
  3. DB未登録の録画ファイルも一覧表示(本家BBSで質問して、対応していただきました^^;)
  4. ログの選別&日付ごとsplit処理&古いログの消去(シェルスクリプト+cron)
  5. キャプチャ処理の高速化
  6. 録画開始時のログに、番組名、話数、放送局名を出力
  7. tss.pyで録画ファイルのスリム化を自動処理
  8. AT-X対応(B-CASカードを入れ替えて、digitaltvrecording.plのrecpt1引数を調整)

 

 ほとんどのことは、先人の方がweb上に残してくださっていることを追随しただけです。私独自のことといえば、なんちゃってクラスタと、ログ関連くらいでしょうか。

 なんちゃってクラスタは、どちらかというとクラスタっていうより、パトレイバー劇場版1の「こりゃあここの容量じゃおいつかねえや、ようし、つながった」(シゲ)のイメージですね。シゲさんのPCじゃ容量不足だから冷蔵庫(特車2課の電算室)のCPUパワーを使う → atomじゃ足りないので、Core2Quadつないで処理、です。そんなに難しいことをしているわけじゃありません。録画中にトラコン(iPod、PSP用動画変換処理)を動かしたら、たぶんDBが不整合起こすんじゃないかな。

 

 あと、最後に残った、3番組同時録画対応なのに3番組目を録画失敗していた件については、同じ放送局で番組が切り替わる時に、前の番組録画が終わっていないから次の録画が始まらないということみたいだ。(アナログ録画環境がないので、アナログ録画を試行してエラーログを繰り返し)

 もうすぐ終了する番組の録画プロセスをkillするってドキュメントに書いてあるのにおかしいなぁ、と思ったら、recfriioのプロセスしか見ていないようだった。使用する録画デバイスの優先順位はpt1>friioなので、

番組1 start---------------end (pt1の第1チューナ)
番組2          start-----------------end (pt1の第2チューナ)
番組3                 start-----------------end(friio)
番組4                        start--------------------end

 という放送順とすると、番組1はpt1(1)、番組2はpt1(2)、番組3はfriioで録画され、番組1終了と同時に始まる番組4のために番組1を録画してるrecpt1のプロセスをkillするべきところをrecfriioのプロセスしか見てないからkillできない。

 そこで、perl/recwrap.plのcontinuousrecordingcheckサブルーチン該当箇所を、

 

< my @processes =`ps ax | grep recfriio`;
> my @processes =`ps ax | grep -e recpt1 -e recfriio` ;
 
< if (/friiodetect/) {
> if (/recpt1|friiodetect/) {

 
  と、こんなdiffな感じで適当に直してみたら、ちゃんと録画が切り替わるようになった。この書き方が正しいかどうかわからないけど、とりあえず無事に動いてるみたい。これで木曜深夜の中京広域圏(以下略)

 ということで、こんどこそ安定稼働か?(笑)
 foltiaは導入のハードルはそれなりに高いですが、一度構築してしまえば、これほど楽なシステムはないです。それなりに知識がある人で、レコーダの「UIが迂遠で、動作ももっさり、操作カスタマイズもできない、機能追加は買い換えるしかない」なところに不満がある人はぜひ。
 foltiaで録画+PS3で再生の組み合わせはマジ最強。作者の方には本当に感謝。

 

 参考にさせていただいたサイト
アニメ自動録画システム foltia
CentOS 5.4にfoltiaを導入する – fujitaka’s lifelog
foltiaでメインストリームだけ残して不要なセグメントを削除する用に修正と、これまでの変更点をまとめて差分掲載する。 – あっち行ったり、こっち来たり。
[foltia] – だえもんだもん

 順次追加します。

27 queries. HTML convert time: 0.204 sec. Powered by WordPress $B$J$+$N$R$H(B