目的
-
クラウドストレージに曲を置いて再生できるようにしたい!
-
「さくらのベースストレージの無料期間が伸びたそうな。
2015/02/28まで無料! これは使ってみるしかねぇ!
対象者
- 楽曲数が多すぎて普通のクラウドストレージに置けない人
- 何となく可逆圧縮で保存したい人
- HDDの容量が不安な人
楽曲管理の課題
容量
曲が沢山あると、普通のクラウドストレージには置けなくなります(10GBも無い人はBOXとか、もっと少ない人はDropboxに置くといいのでは)。
かと言って、曲を選別してそれだけ置くのもなんかめんどくさい。
形式
可逆圧縮で保存していると、容量が圧倒的に増える上、再生できるプレイヤーも限られてきます。
HTML5のAudioも、flacに対応してはいるもののブラウザが非対応だったり。
ちなみに自分はWavPackを愛用しています。
さくらのBASE Storageとは
Amazon S3と一緒。
ざっくり言えば、容量無制限のファイル置き場。
普通は従量課金ですが、さくらのはβ版なのでどうやら使いたい放題の模様。
Amazon S3用のツール&情報が使えるので楽です。
解決策
とりあえず単純な方法を試してみました。
- さくらのBASE Storageβ に曲を置く
- s3fsでマウント
- SubSonicでストリーミング
以上です。簡単ですね。
ちなみに、この方法ではストリーミングする時にmp3に変換される(はず)ので、可逆圧縮の音質のまま外で楽しみたい!なんていう高度なことはできません。
ガチで聞きたいときは、マウントした曲を手元に持ってくるなりして再生しましょう。
手順
1. さくらのBASE Storageβ に曲を置く
- アカウントを作ります。電話番号が必須です。
- CrossFTPなどでアップロードします。
FPTの設定は、S3/HTTPSで、ホストはb.storage.sakura.ad.jp、Access Keyはアクセストークンのユーザ名、Secretはトークンです。
以上。この辺は適当です。
2. s3fsでマウント
Linux環境が無い人は、VMWare Playerとかで作りましょう。
今回はUbuntu 14.04を新規インストールした前提で進めます。
必要なソフトウェアのインストール
$ sudo apt-get install git
$ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support autotools-dev automake
$ sudo apt-get install libfuse-dev
(もしかしたら足りないかもしれないので、適宜インストールしてください)
s3fsのインストール
$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git
$ cd s3fs-fuse
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
s3fsのアクセス設定
トークンを設定してアクセスできるようにします。
FTPの時に使ったアレです。
ユーザ名とトークンをコロン(:)で区切っただけのファイルを用意します。
$ vi ~/.passwd-s3fs
username:token
$ chmod 600 ~/.passwd-s3fs
マウント
~/s3にマウントします。
なお、s3fsによるマウントは、1ユーザー専用になるらしく、なにもしないとrootしかアクセス出来ない厳しいフォルダになります。
そのため、アクセスしたい人のuidとgidを指定してあげないといけません。
以下のコマンドでは、uidもgidも1000だと仮定します。
また、use_cacheを指定するとキャッシュしてくれて少しアクセスが早くなります。
sudo s3fs fortest /mnt/s3 -o url=https://b.storage.sakura.ad.jp -o allow_other -o use_cache=/tmp -o uid=1000 -o gid=1000
終わったら、アップロードしたものが見える化確認しましょう。
3. SubSonicでストリーミング
公式ドキュメントの通りに入れます。
Javaは7にしときます。
Web上のプレイヤーを有効にするため、Flashも入れます。
$ sudo apt-get install openjdk-7-jre
$ wget (sourceforge上subsonicのアドレス)
$ sudo dpkg -i (落としたやつ)
$ apt-get install flashplugin-installer
後は、Subsonicで曲の場所を指定すれば再生できます。
今後の展望
ここまでで大体のファイルはlocalhostでストリーミング再生されました。
さらに色々したい方は…
- どこでも聞きたい方は、自分のサーバーで上記セットアップをして、外からアクセスできるようにしましょう。
認証を掛けて自分だけアクセスできるようにした方が、著作権云々的に良いと思います。 - WavPackなど他の形式もストリーミングしたい!という方は、SubSonicの設定にあるので追加してみてください。
- マウントしたファイルをWindowsで再生したい!という方は、sambaとかでアクセスできるように設定。
自分はとりあえず、ホストWindows、ゲストUbuntuのVMWareで
- 普段はSubSonic上で再生
- 好きな曲はsamba経由のアクセスでAIMP
しつつ調査してゆきたいと思います。
きっと(2)を書くと思ってタイトルに(1)を付けていますが、(2)は無いかも…。
(Windowsで直接マウントできたら、ストリーミングしなければすぐやん…)