2014-02-09 [長年日記]
スキーに行ってきた
ということで2年ぶりのスキー。まあ毎回のことだけど、諸々の手続きは友達におまかせで、当日までどこに行くか知らずに出発。今回は戸隠だったようです。
戸隠スキー場ははじめてだったけど、関東からはちょっと距離があるためか人がそんなに多くはなく、初心者でも頂上から降りられるコースがあり、いいところでした。
関東は土日にかけて雪で大変だったようだけど、金曜日深夜発、日曜日夜帰着でほぼ雪の影響はなく、ちょっと吹雪いたけどスキー場の雪質も良くて、概ね良い旅でした。
HTL21 1/856sec. +0.0 MAP
HTL21 1/12658sec. +0.0 MAP
HTL21 1/60sec. +0.0 MAP
2014-02-20 [長年日記]
ampacheでオーディオストリーミング
いままで、スマートフォンでの音楽再生はSDカードにライブラリすべてを入れておいて再生していたのだけど、実際に聞く曲は限られていて、それ以外のデータはSDカードの容量だけを使う肥やしと化していた。ただ、事前に曲を選んでプレイリストを作成、データ転送というのも面倒だし、唐突に違う曲が聞きたくなることもあるじゃない。ということでピコーンとなったのでオーディオストリーミングサーバーを立ち上げることにした。
Dropboxを使用するソリューションもあるみたいなんだけど、さいわい、帯域もディスク容量も余っているさくらVPSもあるし、ここにセットアップすることに。いろいろ検索した感じ、subsonicが良さそうで、セットアップもしたのだけど、androidアプリから再生するには$1/monthのプレミアム版にアップグレードする必要があるらしく、何か相手のサーバーリソースを使っているならともかく、リソースはすべて自前で買い切りではなく月額というのは高いなーということでこちらは諦めることにした。
再度探してみたところ、ampacheが良さそうだったのでこちらを導入することに。
まずは音楽データをサーバーに配置。今回はrsyncで送信したけど、osxでのファイルのパーミッションと文字コードが特殊なので、適切にオプションを設定する必要がある。また、osxのrsyncが古く、いくつかのオプションが使えないので、homebrewでrsyncをインストールし、そちらを使用している。
$rsync -azv --iconv=UTF8-MAC,UTF-8 --chmod=a+r,Da+x --exclude=".*" (snip)iTunes\ Music/Music/ user@hostname:~/music
こんな感じで、転送先のファイルが644、ディレクトリが755になっていればOK。
次に必要なソフトウェアをインストール。ubuntuではampache自体もパッケージとして存在するのだけど、今回の構成には不要なものもついてくるので、ampacheは単体でインストールすることにした。
#sudo apt-get install mysql-server php5 php5-mpf php5-mysql
こんな感じ。
ampacheはgithubから持ってきて、最終リリースの3.6-alpha6をチェックアウト。適当にパーミッションを設定しておく。
#git clone https://github.com/ampache/ampache.git #cd ampache;git checkout 3.6-alpha6 #chown www-data:www-data -R ../ampache
今回はnginx->php-mpf->ampacheという構成にするので、nginxの設定ファイルを編集。
server { (中略) gzip off; root /path/to/ampache; index index.php; location ~ ^/config { deny all; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
こんな感じ。/configには設定ファイルがあるので外部からはアクセス出来ないようにしておく。
あとはブラウザでアクセスしてデータベース、ユーザーの設定を行い、カタログの生成をすればOK。ブラウザから曲データにアクセスできるようになる(以下続く)。
2014-02-21 [長年日記]
ampacheでオーディオストリーミング(その2)
続き。
ということでブラウザからアクセスできるようになっていること前提で、android端末からストリーミング再生するまで。
まずはampacheの設定から。admin権限でログインし、ACL追加を選択してACLタイプでAPI/RPCを選択して追加。アドレス範囲は環境に合わせて適当に。あとは端末からアクセスする用のユーザーを追加。まあadminで入ってもいいけど、そこはお好みで。
あとは端末側。今回使用するアプリは、この2つ。
JUST PLAYERを起動し、[メニュー]->[データソースを変更]から、Ampacheを選択し、サーバー情報を入力して接続。今回はサーバー側とアプリ側で交互に設定変更やらデータベースの構築やらをやったら変な状態になってしまって一時再生できない状態になってしまった*1のだけど、一旦アプリをアンインストールし、ファイラーで/storage/sdcard0/data/jp.co.kayo.android.localplayerを削除したら復活し、それ以降は安定して動作している。
あとはブラウザからプレイリストを作成したりして、ストリーミングであることを意識することなくSDカードにデータがあった状態とほぼ同じような環境で使用できている。あとはローカルPCからサーバーへのデータの同期、さらに端末への情報の同期が自動的に行えるようにすれば理想の環境のできあがりかなあ。
*1 データはフェッチしているっぽいけど、再生できない
2014-02-27 [長年日記]
Kitkat on TBi11M
続き。この間OmniROMを導入したのだけど、ちょっと不安定だったので、非公式版のCyanogenModを入れてみることにした。
Recoveryはこの間と一緒でTWRP(BigPart版)。パーティションの切り直し(/systemの拡張)は済んでいるのでその続き。
まずはリカバリモードで起動してデータの消去。SDカード以外は全部消す。そのあとリンク先のROMとGappsを焼く。ROMは*-wingray.zipでOK。
あとは再起動するだけ。最初の起動時にCyanogenModのスプラッシュがずっと出る状態になってしまい、再度起動しなおしたらちゃんと起動した。ログは確認していないので何が起きていたのかは不明。
まだほとんどアプリをインストールしていないこともあるけど、今のところ安定して動作してる。枕元で大きな目覚まし時計になっているので使用用途はいまから考えることにする。