8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらのBASE Storageで楽曲管理を考える (1)

Posted at

目的

対象者

  • 楽曲数が多すぎて普通のクラウドストレージに置けない人
  • 何となく可逆圧縮で保存したい人
  • HDDの容量が不安な人

楽曲管理の課題

容量

曲が沢山あると、普通のクラウドストレージには置けなくなります(10GBも無い人はBOXとか、もっと少ない人はDropboxに置くといいのでは)。
かと言って、曲を選別してそれだけ置くのもなんかめんどくさい。

形式

可逆圧縮で保存していると、容量が圧倒的に増える上、再生できるプレイヤーも限られてきます。
HTML5のAudioも、flacに対応してはいるもののブラウザが非対応だったり。
ちなみに自分はWavPackを愛用しています。

さくらのBASE Storageとは

Amazon S3と一緒。
ざっくり言えば、容量無制限のファイル置き場。
普通は従量課金ですが、さくらのはβ版なのでどうやら使いたい放題の模様。
Amazon S3用のツール&情報が使えるので楽です。

解決策

とりあえず単純な方法を試してみました。

  1. さくらのBASE Storageβ に曲を置く
  2. s3fsでマウント
  3. SubSonicでストリーミング

以上です。簡単ですね。

ちなみに、この方法ではストリーミングする時にmp3に変換される(はず)ので、可逆圧縮の音質のまま外で楽しみたい!なんていう高度なことはできません。
ガチで聞きたいときは、マウントした曲を手元に持ってくるなりして再生しましょう。

手順

1. さくらのBASE Storageβ に曲を置く

  1. アカウントを作ります。電話番号が必須です。
  2. 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で直接マウントできたら、ストリーミングしなければすぐやん…)

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?