闇rubykaigiでカラオケとRailsの組み合わせについて発表

初参加した最後のrubykaigiで感極まったので、勢いで闇rubykaigiの当日応募枠に申し込んでみたら、抽選とか全然無かったので、普通に壇上に上がることになってしまった。


発表内容についての補足

カラオケ通の中では、動画再生デバイスの持ち込みはよく聞く話で、
PSPipod touchを利用するというのは結構ある話です。
でも再生をいちいち手動で管理するとか、超めんどいです。検索性も悪い。
なので、iPadから再生したい曲を検索して、自動で再生処理するシステムを作りました。
それについての発表です。


発表時間が二分だったので、こういう使い方してます。DEMOします。ぐらいしか話できなかったので、ちょっと補足しておきます。


駆け足で話しましたが、PCを持ち込むにあたって、重要なTipsがあります。
DAMマシンで、曲の予約番号を入力するところに、99と入れてDAMキーを押すと、筐体の設定画面に入れます。
そこで曲間BGVという設定を変更すると、選曲の合間に流れているプロモ映像を、
裏の端子からのビデオ入力に切り替えることができます。
これでPCの映像音声をカラオケ機が繋ってるディスプレイ、スピーカーから流すことが可能です。


システム構成についての補足です。
仕組みは以下のようになっています。



  • 夜中にニコ動のカラオケ動画をDLして、所定の場所に配置、mongodbに動画情報を登録しておく。
  • 同時にApache solrでデータのインデックスを作る。
  • iPad、ノートPC等からブラウザでWebフロントエンドにアクセスし、曲を検索、予約する。
  • 再生用PCから、サーバに対して、ポーリングする簡単なクライアントを起動する。
  • 予約キューがあれば取得し(形式はJSON)、動画のURLを判別、動画ファイルのURLをmplayerに渡して、動画データをDLしながら再生する。
  • mplayerは、ポーリングクライアントが終了を監視しており、再生が終了するまでは、次の予約キューは取得しない。


かなりシンプルな作りです。
仕組み的にsolrを使う必要性は無いんですが、私が使いたかったのと、
検索クエリのパースとか、タグによる絞りこみをsolrに丸投げ出来るので、
かなり検索の仕組みを作るのが楽になるという利点があって、solrを利用しています。


実体は、ブラウザから動画の再生を指示するためのフロントエンドなので、
細かい操作が必要なければ、ベッドから寝る前にアニメ見る時に使えたりします。

闇発表をしてみて

LTは人生二回目で、こういう場で発表することはそもそも初めての経験だったので、ものすごく緊張しました。
その分、いい思い出が出来たので、最後のrubykaigiに参加できて心から良かったと思います。
勢い大事ですね、やっぱり。