My Stream Radio

apache + php + ruby +sqlite3で構築。

仕組み

  • mp3該当ディレクトリをhttpプロトコルから読めるようにシンボリックリンク作成
  • apacheの権限を追加して、スクリプト上からコマンドを可にする。
  • rubygemのmp3infoでタグリストをsqliteのDBにぶっこむ。
  • phpでwebフロントを作って、m3uファイルを動的生成
  • mp3のリストはrubyをシェル経由でたたくw

m3uの仕様

基本m3uはただのURLのリストなんだけど、それだけだと曲名などが拾えないので、winampが推奨している拡張仕様で記述する。
http://www.cdwavmp3.com/mp3/player/playlist.html
↑ここにまとめがあるけども、自分用にまとめると

  • A.URLのみ
  • B.EXTM3U(winamp仕様)
  • C.Sonique用
    プレイヤーバージョン読み込み編集/保存
    A形式B形式C形式
    Winamp2.91
    KbMedia Player2.31×
    Audioactive Player2.06c×
    Sonique1.96
    SCMPX1.51
    DSマルチメディアプレイヤー6.40×
    Windows Media Player9.00××
    WinPlay32.3b5××
    んで、Bの記述で書くと
    #EXTM3U
    #EXTINF:秒数,アーティスト名 - タイトル
    url
    #EXTINF:秒数,アーティスト名 - タイトル
    url
    秒数ははしょっても問題ないっぽい。

番組リスト

大体お笑い第3世代のラジオを中心にストリーミングしている。

  • ナインティナインのオールナイトニッポン
  • レディオ・イシバシ~ノ
  • ウンナンタイム
  • 松本人志の放送室
  • くりぃむしちゅーのオールナイトニッポン
  • 大泉洋のサンサンサンデー

ナインティナインのオールナイトニッポン

DB化

自分専用の簡易DBをsqliteで作成中。
DB化するメリットは含む検索とか、mp3タグとの連動がしやすくなるから。 一応、php+sqlite2でwebインターフェイスは作ってみた。

オールナイトニッ本

始発に乗って有楽町行こうと思って5時に情報集めたら既に99人以上いて諦めたorz