2012年9月7日金曜日

レコーダーを作った

フバレコインスパイアードレコーダー『ツアレコーダー』を作った。
http://recorder.0xc.info/

Twitterのアイコンは画像処理の大先生ウシヤマさんにつくって頂いた。感謝。

設計思想


  • 基本的にTwitterのタイムラインをUIとする(そのうち簡単なWeb UI作る)
  • ひとまず録画機能のみとする
  • そのうちボット機能をつける
  • Rubyで書く
  • データベースに Groonga を使う
  • できるだけスレッドやプロセスを増やさない (Twitter監視プロセス/録画スレッド(最大4)/予約管理プロセス)
  • 外部コマンドは recpt1 (recpt1ctl) と epgdump 以外使わない
  • EPGをTSから取得し検索のデータソースとする

データベース


データベースに Groonga を使ったのは、最初SQLite+DataMapperでやろうとしたけど話にならないくらい遅かったし、RDBMS使うほど大きなプロジェクトでもなかったし、どうしようと思案していたところ、Groonga が調度良いという提案を頂いたから。ちなみに Groonga 触り始めたのはこれが始めて。
Groonga は高速だし、テーブル間のリファレンスも定義できるしそれでいてKVS的アクセスができて大変便利。

Twitter UI


メンションにより録画予約/番組検索する
録画の開始、終了を通知する


その他


今のところPT3一枚しか刺さってない(これ以上空きがない)ので最大4並列録画しかできない。
細かいテクノロジーや使ってる小技については追ってメモる。

0 件のコメント:

コメントを投稿