7月
26
2006

続・ネトラヂをやってみちゃったり。

7月19日の「ネトラヂをやってみちゃったり。」の続編です。
前回はラジオ鯖を導入して、とりあえず動く・・・を目標に
しましたが、今回は再生している曲名をリアルタイムで
表示させる事が目標です。ラジオ鯖に関しては前回と
同じ前提条件で、曲名のリアルタイム表示には
「Do Something」というWinampのPLUG-INを使用します。
 

 

【前提条件】

●使用ソフト
 「Do Something」PLUG-INのみ。追加のソフトはナシ。
 
●アカウント・ディレクトリなど
 ≫SHOUTcast server インストールディレクトリ:
  /home/admin/piblic_html/webradio/
 
 ≫SHOUTcast グローバルアドレス:
  https://kaien-net.ddo.jp/~admin/webradio:8080
 
 ≫Do Something使用ポート:21(FTP)
 
 ≫Do Something 入力テンプレート:
  C:\ProgramFiles\Winamp\Plugins\Pltml.html
 
 ≫Do Something 出力テンプレート:
  D:\tmp\playlist.php
 
 ≫Do Something リモートファイル:
  /home/admin/piblic_html/webradio/playlist.php
 
 
●その他注意事項
 FTP鯖でPASVモードでの転送ができるようにしておくこと。
 また、ローカルPC防火壁でWinampがFTPポートを使用する際、
 邪魔しないようにしておく。

 
1.「Do Something」 PLUG-IN ダウンロード&インストール

Do Something」のサイトへアクセスし、「Do Something Binary Distribution
(PiMP Installer)」をクリック。適当なフォルダにダウソ後インスコ。

 
2.「Do Somthing」 Plug-in 設定
 
 2-1.入力テンプレートの準備
 
  今回のリアルタイム表示の仕組みは、現在聴いている曲のデータを
  入力テンプレートの記述に従って、出力テンプレートに吐き出し、
  それをFTPでサーバ上のリモートファイルに転送して使ってしまおう
  というものです。そのため、まずどういった感じで引数達を扱うのかを
  決めるテンプレート(入力テンプレート)を準備する必要がある訳ですね。

今回入力テンプレートは、下記サイト様に掲載されていたものをベースに、
本BLOGに合うようにカスタマイズしてみました。
イソプロピルアンチピリン – Winampで現在再生中の曲を表示
作成した入力テンプレート(今回は「Pltml.html」という名前で作成)は、
WinampのPlug-inフォルダに入れておきます。

  当初は曲データだけでいいや~くらいなノリだったんですが、色々と
  調べているうちに、Amazonから画像ひっぱってきたり、アフェリエイトに
  対応していたりするものを見つけたので、ちょっと欲が出ちったぃw

 
 2-2.Generate HTML Playlist

  ここでは、入力テンプレートに聴いている曲データの引数を渡して
  出力テンプレートに吐き出す設定を行います。

Winampを起動して「オプション」→「設定」と選択し、プラグインの項目の
「General Purpose」をクリック。右側の枠内に表示される
「Do Something Plugin(gen dosomething.dll)」をダブルクリック。
「Do Something! Modified」というタイトルのウィンドウが開くので、
「Actions」リストの中から「Generate HTML Playlist」を選択。
「Template In」には入力するテンプレート(今回は前提条件中のDo Something
入力テンプレート:C:\Program Files\Winamp\Plugins\Pltml.html)
を、「Template Out」には「Template In」で読み込んだテンプレートに
曲のタイトル等の引数を取り込んで実際に表示するテンプレートを
書き出す場所(今回は前提条件中のDo Something 出力テンプレート:D:\tmp\)を
入れる。入力が終わったら、右側にある「Add」ボタンを押下。
「Action List」に「Generate HTML Playlist」が追加されたのを確認する。

 
 2-3.FTP A File

  ここは、吐き出された出力テンプレートをFTPで鯖にうpる設定です。

先ほどの、「Do Something! Modified」というタイトルのウィンドウの中にある、
「Actions」のリストの中から、「FTP A File」を選択。
「Local File」には前提条件中のDo Something 出力テンプレート:D:\tmp\を、
リモートファイルには前提条件中のDo Something リモートファイル:
/home/admin/piblic_html/webradio/playlist.phpを設定する。
入力が終わったら、右側にある「Add」ボタンを押下。
「Action List」に「FTP A File」が追加されたのを確認する。

 
 2-4.その他

万一上手くいかなかった時のために「Enable Error Messages」と
「Show Status Window」にはチェックを入れておいたほうが良いと思われます。
「Temp Dir」は好みに応じて変更してくだされ。

 
3.問題点

 3-1.放送中STATUS

前回はラジオ鯖を設置して放送が可能になるまで、そして今回は
リアルタイムで曲名表示が行えるところまで行ったのだが、
放送しているのが否かを、もっと明示的に表示するような
コードを、入力テンプレートに記述必要がある。

 
 3-2.リロード

曲が変わった時に曲名を変えるには、一定周期でリロードを行う必要があるが、
今回はリロードボタンを付けて手動でリロードしてもらうという仕様にした。
オートリロードにした場合、それのON/OFF切替えが必要だったりするだろうから、
それなら今回の方法よりも「Do Something」の「Submit A URL」を使って、
曲名などの引数を直接CGIやPHPスクリプトへ渡して処理させた方が早い気が
するが、対応する時間も気力も無いので、まずはココまでw

 
 3-3.タイムラグ

これは今のところ解決案が無いのでつが、前回のSHOUTcast導入で、
ローカルで流れている音と、放送されている音にかなりのタイムラグがあるという
問題点があったが、今回リアルタイムで曲名を表示した場合、タイミングによっては、
しばらく流れている曲と曲名が食い違う時間が発生する可能性がある訳です。
何か妙案が無いかなぁ・・・気にならない程度にタイムラグ解消してくれれば
丸くおさまるんだけどなぁw

 
4.その他特記事項

 4-1.FTP-PASVモード

今回、最初は出力テンプレートがFTPで上手く転送できずに悩んでいたんですが、
FTPのログを見ていたらWinamp(Do Something)がPASVモードで転送してるのと、
鯖のvsFtpdの設定でPASVモードの許可とポート指定を行っておらず、更に
ポートも解放していなかったのが判明しまして。
vsFtpdのconfigファイルの再設定と、サーバ及びルータの該当ポート解放を
行った結果、何とか解決となりました。
ボンミスしちったぃ・・・まいった、まいったΣ(ノ∀`)ペチッ

 4-2.Siteへの貼り付け

曲名が出たところで燃え尽きてしまったので、それ以上は結構いい加減に
作ってしまったのだが、BLOGなどのSITE上にSHOUTcastを用いての放送を、
Windows Media Playerなどを使って貼り付ける場合、MP3ファイルなどの実態の
あるファイルを指定しないでEMBEDタグを用いるとエラーになってしまうため、
下記のようにして貼り付けてみた。
 
<object width=”150″ height=”50″>
<param name=”webradio” value=”https://kaien-net.ddo.jp/~admin/webradio:8080″>
<embed src=”https://kaien-net.ddo.jp/~admin/webradio:8080″ type=”application/x-mplayer2″ width=”150″ height=”50″></embed>
</object>

 4-3.Do Something 改造版

色々調べていたら、MP3のID3v2以外にも 、(mp3infpのライブラリを使用して)
WAV (.wav) 、TwinVQ (.vqf) 、WindowsMedia (.wma) 、OggVorbis (.ogg) 、
Monkey’s Audio APE Tag v1/v2 (.ape) からもタグ情報を読み込める改造版が
あるとの事だったので、それを使ってみたのですが、どうも最新版の
「Do Something」では、そのままで上記ファイル形式からタグが読めると
いう噂です。
 
≫イソプロピルアンチピリン: DoSomething Plugin 改造版

 4-4.NuSOAP

今回使用させて頂いた入力テンプレートは、曲名でAmazon検索してくれる
スグレモノでして、「NuSOAP」を使うという事だったので
サイトへ行ってダウンロード及び解凍後、「lib」フォルダに展開されたファイルを
SHOUTcast server インストールディレクトリ:/home/admin/piblic_html/webradio/へ
アップロードしました。

 
 

【参考にさせて頂いたサイト】

・「きりしま屋」様 – FTPで最近のWinAmp Playlistを表示する
・「XREA SUPPORT」様 – nusoapでAmazon
・「ウェブにおんがくを」様 – EmbedタグのType属性一覧

 
 

 


2024年4月
1234567
891011121314
15161718192021
22232425262728
2930  

Archives

Recommended