Web経由でオーディオファイルの管理と再生ができるAmpache

  Ampache は、手持ちの楽曲コレクションにWebインタフェースを与えるLAMPアプリケーションであり、ネットワーク上での楽曲の検索、評価、再生を可能にする。トランスコーディングにも対応しており、クライアント側では、サーバ側のロスレス符号化されたFLACファイルを再生したり、MP3オーディオファイルとしてストリーミング再生したりできる。

 Ampacheのパッケージは、Ubuntu Hardyの標準リポジトリに収録されているほか、openSUSE 11でもワンクリックでインストールできる。しかしFedoraのリポジトリには入っていない。そこで、この記事では64ビットのFedora 8マシンでAmpache 3.4.1をソースからビルドする方法も紹介する。

 以下、LAMPがすでにインストールされているという前提で話を進める。Ampacheをセットアップするには、まず次のようにしてパッケージをWebサーバのDocumentRoot(通常は「/var/www/html」のようになっている)に展開する。

# grep DocumentRoot /etc/httpd/conf/httpd.conf
...
DocumentRoot "/var/www/html"
...
# cd /var/www/html
# tar xzvf /.../ampache-3.4.1.tar.gz
# ln -s ampache-3.4.1 ampache
# chown -R root.apache ampache*

 AmpacheではMySQLデータベースを使用するので、次のように、データベースのセットアップと、そのデータベースにフルアクセスできる管理者アカウントの設定も行う。また、先に進む前にパスワードを変更しておくこと。

# mysql -p
mysql> CREATE DATABASE ampache;
mysql> GRANT ALL ON ampache.* TO ampache@"%" IDENTIFIED BY 'ampachepass';
mysql> FLUSH PRIVILEGES;
mysql> \q

 インストールを続けるには、Webブラウザで「http://127.0.0.1/ampache/」にアクセスしてAmpacheを開く。上記の管理者アカウントの設定でファイルパーミッションの問題が起こる可能性には対処してあるので、Ampache用データベースのセットアップが可能なMySQLアカウントのユーザ名とパスワードさえあれば、インストールの次の段階に移ることができる。これには、先に設定したユーザampacheとそのパスワードが使える。3つの段階に分かれたインストールの2番目の作業では、このユーザ名とパスワードを使ってAmpache用データベースに接続し、「ampache.cfg.php」という設定ファイルをダウンロードする。このファイルは、Ampacheを実行しているWebサーバにコピーする必要がある。Ampacheを実行しているサーバで以下のコマンドを実行すると、この設定ファイルがインストールされる。

# cp /.../ampache.cfg.php /var/www/html/ampache/config/
# chown root.apache /var/www/html/ampache/config/ampache.cfg.php
# ls -lh /var/www/html/ampache/config/ampache.cfg.php
-rw-r----- 1 root apache 19K 2008-06-27 20:42 /var/www/html/ampache/config/ampache.cfg.php

 インストールの最終段階では、Ampache管理者のアカウントとパスワードを作成する。この作業が終われば、標準のAmpacheログイン画面が現れるはずだ。管理者アカウントにログインすると、メニューの下に並んだボタン列の左のほうにツールチップで“Admin”と表示されるボタンがある。新しいカタログやユーザの作成、アクセスコントロールの設定、その他の管理タスクの実行は、このボタンを使って行う。画面の左側にはメインメニュー、右側にはプレイリストがそれぞれ表示され、画面中央の表示内容は実行する動作によって変化する。

 自分のユーザアカウントを作成したら、手持ちの楽曲ファイルの場所を指定しておく必要がある。管理者メニューの「Add a Catalog」オプションを選択すると、カタログ名とそのカタログの楽曲ファイルが置かれているパスの入力が求められる。

 カタログを追加すると、ブラウズボタン(メニューの左から2番目)をクリックすることで曲名、アルバム、アーチストなどをキーにしてカタログ内の楽曲ファイルを参照できるようになる。画面左側のブラウズメニューから「Albums」をクリックすると、カタログディレクトリ内のアルバム名が正確に表示される。アルバム名のとなりにあるプラス記号をクリックすると、画面右側に表示されているプレイリストにそのアルバムが追加される。プレイリストの表示領域の上部には、再生開始、新規プレイリストの追加、プレイリストの消去といった操作用の少数のアイコン、それに、ランダム再生や表示中のプレイリストに“関連した”楽曲の再生などの各機能が選択できるドロップダウンメニューが用意されている。デフォルトでは、プレイリストの再生ボタンをクリックすると、Webブラウザによってm3u形式のプレイリストファイルがダウンロードされる。ダウンロードされたm3uファイルをAmarokのようなアプリケーションで開けば、プレイリストが表示され再生を始めることができる。このm3uファイルには、オーディオファイルをサーバからストリーミングできるように、Ampacheのインストール先を指すHTTPのURLが含まれている。

ampache1_thumb.jpg
Ampache

 Ampacheには、Webブラウザからの直接再生を可能にするFlashコンポーネントが含まれている。これを利用するには、設定アイコン(メニューの右から2番目)を選択して、ストリーミングセクションに進み、デフォルトの「Stream」ではなく「Type of Playback to Flash player」を設定する。Flashプレーヤーの利用を指定すると、プレイリストの再生ボタンのクリックにより、機能の限られた再生用インタフェースを持つ新たなウィンドウがポップアップ表示され、再生が開始される。FlashプレーヤーはMP3オーディオしかサポートしていないが、Ampacheではトランスコーディングによってサーバ上で別のオーディオ形式に変換できるため、たとえクライアントマシン側の再生環境に制限があってもFLACファイルの音楽をFlashプレーヤーで楽しめるはずだ。

 Ampacheでは、デフォルトでm4aオーディオのトランスコーディングが有効になっている。ただし、オーディオのトランスコーディングを行うには、その機能が有効になっていること、変換前後の各フォーマットをAmpacheがサポートしていること、フォーマット変換を行うコマンドがわかっていること、というすべての条件を満たす必要がある。こうした設定オプションは「config/ampache.cfg.php」ファイルに記述されており、m4a、MP3、FLAC間のトランスコーディング用オプションはすでに用意されているが、後ろの2つはデフォルトで無効になっている。単純に「config/ampache.cfg.php」ファイル中の「transcode_flac = true」という行のコメントを解除すれば、サーバ上のFLACファイルがFlashプレーヤーへの送信前にMP3ファイルに変換され、再生が行えた。ただ、1つ問題があって、上記のFLACファイル再生のオプションを有効にしたままだと、ストリーミング再生に戻った場合もAmarok側のFLACが再生されずにトランスコーディングされたMP3が再生される。リモートIPアドレスに限ってトランスコーディングを明示的に有効化にする方法の記述はあるのだが、Flash系プレーヤーを使用するクライアントでのみトランスコーディングを有効にする方法については情報が見つからなかった。設定項目の「Transcoding」でどんな設定を選んでも、設定ファイル中の「transcode_flac = true」を有効にしない限り、トランスコーディングされたFLACファイルをFlashプレーヤーで再生することはできなかった。

 m3uプレイリストファイルをダウンロードせずにAmpache側にすべてを行わせるのであれば、こちらの手順に従い、再生を行うマシン側でMusic Player Daemonを設定して、このデーモンをAmpacheから直接制御することができる。また、Amarokの最新開発版を使うのであれば、マニュアルの詳しい説明にあるように、AmarokをAmpacheのクライアントとして利用することも可能だ。

まとめ

 音楽を聴くのに複数のクライアントを使っているなら、どのマシンからも同じように楽曲を参照できるというAmpacheの機能は魅力的だ。また、Flashクライアントは、Flash機能を備えた組み込みデバイスやセットトップボックスでの再生を可能にするすばらしいオプションである。よりシームレスな環境を望むなら、Ampacheの下でMusic Player Daemonを利用することでm3uファイルによる仲介の必要性をなくすことができる。

Ben Martinは10年以上もファイルシステムに携わっている。博士号を持ち、現在はlibferris、各種ファイルシステム、検索ソリューションを中心としたコンサルティングサービスを手がけている。

Linux.com 原文