パスワードを忘れた? アカウント作成
453887 journal

hoagの日記: 余ったノートをジュークボックスにする

日記 by hoag

古いノートが余っていたので、スピーカーを付けて、.mp3 とか .wma とかのファイルを再生させる事にした。但し、操作はメインの PC から行う。 一応 X も上げてあるので、Xming などでつないでも良いのだが、ブラウザで操作できる様、CGI を作成してみた。 結果、数十行のコードで手軽にできたので、環境、その他のめも。

http サーバには、thttpd を使う。もう、web と CGI が動けば良いので、軽いもので。

再生には moc パッケージにある mocp コマンドを使う。そのままでは .mp3 と .wma のどちらだったかが再生できない ので、moc-ffmpeg-plugin パッケージも入れておく。

.mp3 と .wma の両方の再生ができれば、HP から取得できるたいていのファイルが再生できる。 ウェブラジオ(web radio) とかポッドキャスト(podcast) ってやつ。 mms:// なファイルは別途ローカルに保存しておく(一応、Debian でも Win でもできる)。

あとは、CGI でファイルの一覧を作って、そこから選んだファイルを再生用 CGI に渡して、内部から mocp コマンドを実行する、と。

この、mocp コマンド。実行すると、バックグラウンドにデーモンを起動して、すぐ処理が終了する。この点が CGI としては、すごく、好都合。 また、ボリュームの増減などもできて、便利便利。

CGI は Perl で、CGI モジュールを利用した。ヘッダなどの定型部分が楽に記述できる。

引っかかったのは、CGI の実行ユーザである www-data を audio グループに追加する必要があった事と、 perl に -Tw オプションを付ける事にしているため、入力値を一度正規表現に通してロンダリングする事位。 後はお決まりのファイルのパーミッションとか。

取りあえず、一覧を作って内部からコマンドを発行するだけの CGI をちょろっと作って、 ってのが簡単にできたのがうれしかったので。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...