岸和田BBスタジオを見るためのコマンドラインツール

岸和田BBスタジオは競輪のストリーミング中継として、その安定した回線とカバーする開催の多さでファンに人気があり、私もよく見ている。普通にウェブブラウザを介して見れば良いのだが、ちょっと便利にするため自作のツールを使っている。unix系のコンソールで動き、動画再生プログラム(mplayer)を起動する。これを使おうと思う人はあまりいないような気もするが公開する。

ライブ中継

ライブを見るには、単にコンソールで、

mplayer mms://wm4.digi-c.com/kishiwada256 > /dev/null 2>&1

とたたけば良い。私は、デスクトップ上の右クリックで出るメニューから上のコマンドが実行できるように、Xのウインドウマネージャを設定している。

レースダイジェスト

下のRubyスクリプトを"kw-bb"という名のファイルで保存し、コマンドパスを通しておく。

#! /usr/bin/env ruby

str = case ARGV.shift
  when /(\d+)-(\d+)-(\d+)/
    t = Time.local($1[0, 4].to_i, $1[4, 2].to_i, $1[6, 2].to_i)
    (t + ($2.to_i - 1) * 24*3600).strftime('%y%m%d') +
    sprintf("_%02d", $3.to_i)
  when /(\d{3,4})-(\d+)/
    Time.new.strftime('%y') + sprintf("%04d", $1.to_i) +
    sprintf("_%02d", $2.to_i)
  when /(\d+)-(\d+)/
    t = Time.new - $1.to_i * 24*3600
    t.strftime('%y%m%d') + sprintf("_%02d", $2.to_i)
  when /(\d+)/
    Time.new.strftime('%y%m%d') + sprintf("_%02d", $1.to_i)
  else
    $stderr.puts \
      "arg err\n" +
      "examples:\n" +
      " 20060321-6-7 # 2006年3月21日を初日とする節の6日目第7R\n" +
      " 0326-7       # 今年の3月26日第7R\n" +
      " 3-7          # 3日前の第7R\n" +
      " 7            # 今日の第7R\n"
    exit(1)
end

system "mplayer mms://wm6.digi-c.com/kishiwada/m#{str}.wmv > /dev/null 2>&1"

例えば、今日行われた第5レースのダイジェストが見たければ、コンソールで、

kw-bb 5

を実行する。昨日の5レースなら、

kw-bb 1-5

とする。詳しくは引数なしでkw-bbを実行したときのメッセージを見られたい。