2014年3月の録画視聴環境

半分自分用のメモです。

ハードウェア構成

http://wanko.cc/machines.html の signum が録画、ストレージ、エンコードのすべての役割を担ってる。

  • 録画
    • PT2 x 1 (地上波 x 2、BS x 1)
      • 分波器とケーブル買えば BS x 2 にできるけど要らなそう
    • PT3 x 1 (地上波 x 2、BS x 2)
  • B-CAS カードリーダ

ソフトウェア構成

録画システム

最近自作し直した。

を設定しておくと、登録した tid の番組を片っ端から録画していくやつ。 「この回は MX で録ったから BS11 の回は録画しなくていいや」とかそういうことはやらないでとにかく録画する。

  • updater
    • 定期的にしょぼいカレンダーのデータを取得してローカルの番組 DB を更新し、時刻に変化があったら scheduler をリロードさせる (kill -HUP)
  • scheduler
    • 登録されてる tid の番組の開始時刻に recorder を起動する
      • 前のバージョンはこの部分を atd でやってたけど、いろいろつらくなって timerfd で自分で実装した
    • recorder の起動前後に好きな処理を追加できる
  • recorder
    • 録画する
    • recpt1 が出力した TS を tail -f して、B25 のデコーダと字幕抽出の2つにリアルタイムにデータを流してる
      • まれに B25 のデコードに失敗するので、recpt1 でデバイスファイルから読み込んだデータを一次ソースとしてディスクに保存してから後続の処理に回したいのでこうなってる

今は recorder の前後の処理として、

  • 録画前
  • 録画後
    • @eaglercd に録画完了ポスト
      • ファイルサイズと残り容量も一緒にポストしてる
    • エンコードキューへの追加用のファイルに録画した TS のファイル名を追記
      • 録画中に clean-ts (I/O bound) を実行すると recpt1 側がたまにドロップするので、毎朝5時に一気にエンコードキューに入れてる
      • もうだいぶ前の話で今ではこの状況が変わってるかもしれないので、近いうちに検証してみる
    • (2014-04-07) 試してみたら、3番組同時録画が連続する場合でも大丈夫そうだったので、録画直後に clean-ts してキューに入れるようにした

を行ってる。

視聴

  • PC
    • NFS でマウントして mpv で再生してる
    • 字幕も見たいときは mplayer
  • iPad
    • サーバに MediaTomb を入れて、8player で再生してる
    • MPEG2TS を直接再生できるのでおすすめ

その他

Chinachu がずっと気になっていながらまだ一度も試してない。