ソラマメブログ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
プロフィール
Hitomi Magne
Hitomi Magne
ヌーディスト件ダンサーです。Susukinoによく出没します
オーナーへメッセージ

2009年07月30日

SHOUTcastラジオを作るための情報

以前ラジオを作った話を書きましたが、具体的にSHOUTcastサーバからどうやって放送局を選ぶかの方法を書いていなかったのでメモ。以前参考にしたサイトの記述がちょっと古いという問題もありますので。

最近公式なラジオAPIのドキュメントを見つけました。これによると、まず
http://yp.shoutcast.com/sbin/newxml.phtml
を呼び出します。そうするとジャンル一覧がXML形式で帰ってきます。なお、
http://yp.shoutcast.com/sbin/newxml.phtml?rss=1
という風に"?rss=1"を追加して呼び出すとRSS形式で帰ってきます。処理しやすい方法を選ぶといいでしょう。
ジャンル一覧は大変大きいので、LSLでは多分受信できません。実用的には、メジャーなジャンル、自分が聞きたいジャンルをあらかじめ選択して、決めうちでスクリプトに入れてしまった方がいいです。あらかじめリストにPopとかRockとか80sとかAnimeとか入れちゃって、ダイアログで選ぶようにするわけです。それ以外のジャンルを聞きたい場合のためにサーチボタンを付ければ完璧です。

ジャンルが決まったら
http://yp.shoutcast.com/sbin/newxml.phtml?genre=Trance
みたいに、?genre=に続けてジャンルを記述して呼び出します。これも
http://yp.shoutcast.com/sbin/newxml.phtml?genre=Trance&rss=1
とすることでRSS形式の出力が得られます。なお、
http://yp.shoutcast.com/sbin/newxml.phtml?genre=Trance&limit=12
のように、&limit=の後に数字を入れると、そのジャンルの上位12局が帰ってきます。LSLでHTML受信できるのはわずか2000バイトほどですので、limitを有効に使いましょう。なお、limitで返る局の数を制御できますが、何番目から12局のように途中を飛ばすことはできなそうです。登録された局を隅から隅まで聞きたいという欲望は捨てましょうw
さて、
http://yp.shoutcast.com/sbin/newxml.phtml?search=japan
のようにすると、説明に"japan"が含まれる局が返ってきます。これを使えば検索機能が実装できます。

上記までで、ジャンルや検索結果に応じた放送局一覧が得られます。
局リストには、選局するためのベースURL、局の名前、ジャンル、ビットレート、放送形式、局idなどが含まれます。
放送形式(mt)はaudio/mp3とかaudio/aacとかですが、SLで聞けるのはmp3かoggなので、aacの局はここではねることもできるかと思います。とにかくこの情報の中で重要なのはベースURL(tunein base)と局id(id)です。
tunein baseには多分"/sbin/tunein-station.pls"と入っています。
idは12345みたいな数字の羅列です。
これを使って
http://yp.shoutcast.com/sbin/tunein-station.pls?id=12345
とすると、プレイリストが返ってきます。

前にも書きましたが、プレイリストファイルは実際にはテキストですが、インターネット上でのファイルの種別としては音声ファイルの扱いになっています。従ってLSLで受信することはできません。ここだけは外部サイトに処理を任せて、text形式に変換してもらわないといけません。




同じカテゴリー(スクリプト)の記事画像
ソラマメ風の新着表示を試しに作成
plsファイルの変換にYahoo! Pipes
同じカテゴリー(スクリプト)の記事
 ソラマメ風の新着表示を試しに作成 (2009-08-24 23:34)
 plsファイルの変換にYahoo! Pipes (2009-08-08 18:20)
 ソースコードを整形して色付けてくれるツール (2008-11-22 23:49)

Posted by Hitomi Magne at 15:22│Comments(0)スクリプト
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。