miniDLNA over ssh

お正月には実家で数日過ごします。
昨年までと環境が変わった点といえば、音楽の大部分をDLNAサーバに依存していることです。
実際には数日程度なら、clientに適当にコピーしておけば困らないのですが、
外からいつでもDLNAに接続できるようにしておくのもいいかも。
ということで試してみました。
まぁ、sshでトンネル掘ってDLNAを通す、というのが現実的な解法でしょう。
1. miniDLNAの現状確認
miniDLNAのport番号を確認するため、
/etc/minidlna.conf の設定をみる。
# Port number for HTTP traffic (descriptions, SOAP, media transfer).
port=8200
デフォルトです。
2. ssh接続
とりあえずlocalにsshした端末内だけで使えればよいので、
次のように接続する。
> ssh -L 8200:localhost:8200 foo@server.jp
結果はダメでした…
PC (rhythmbox), iPhone 4S (MLPlayer, Twonky Beam)で試してみましたがどちらも同じ。
DLNAの仕様では 7ms以内のレスポンスがないとイケナイらしいです。

radiko.jpのonDemand化

前置き:
私のネット環境はちょっと普通と違って2つのエリアのラジオを聴くことができます。
iPhoneでは住んでいる石川エリア、
PC(フレッツ光)では富山エリアです。
そもそも富山に住んでいた時にプロバイダと固定IP接続の契約をして、後に石川に越してきました。
toyamaの文字が入ったホスト名を(結果的に)維持しています。
radikoの地域判別の実装がどのようなものかは知らないのですが、google等でも地域を「富山」と仮定した情報が出てくるので、そんなオカシナことはしていないのでしょう。
一方iPhoneでは3Gで地域を認識したのか、普通に石川の放送が聴けます。
これまで、radikoはほとんどiPhoneで聴いていたので、特に問題ありませんでした。
実践:
では、onDemand化してみましょう。
超!A&Gの時と同じく次を参考にさせていただきました。
http://wiki.sarami.info/index.php?GetRadiko2.sh
スクリプトをそのまま活かして使わせて頂きます。
Debian Wheezyではswfextractとxmllintが必要なのでインストールします。
xmllintは次でインストール。
> sudo apt-get install libxml2-utils
swfextractは次を使用。
http://www.swftools.org/swftools-0.9.2.tar.gz
ダウンロードして展開し、
> ./configure
すると、
ERROR:
You need zlib to compile swftools
synapticでzlibを見てみるとzlib1gはインストール済みなので、zlib1g-devに必要なものがあるっぽい。
なので、インストール。
> sudo apt-get install zlib1g-dev
再び
> ./configure
> make
> sudo make install
これで準備はOK。
放送局、エリアコードは次のリストにあった。
http://www.dcc-jpl.com/foltia/wiki/radikomemo
エリアコード
富山: JP16
石川: JP17
チャンネルは次で取得できる。
http://radiko.jp/v2/station/list/${エリアコード}.xml
チャンネル コード 共通:
RN1 ラジオNIKKEI第1
RN2 ラジオNIKKEI第2
HOUSOU-DAIGAKU 放送大学
チャンネル コード JP16:
KNB KNBラジオ
FMTOYAMA FMとやま
チャンネル コード JP17:
MRO MRO北陸放送ラジオ
HELLOFIVE エフエム石川
テスト〜
> saveradiko.sh test 5 KNB
これで録音できました。
もちろんフレッツ光では石川(JP17)の放送局は聴けません/録音できません。

超!A&G onDemand化

超!A&G http://www.agqr.jp/ をよく聴いています。
リピート放送もあるのですが、拘束時間帯が決まってしまうのでその点が不便、
onDemandサービスのAG-ONもあるけれど、番組が限られていて一部は有料〜。
なので、自前onDemand化を考えてみます。
なお、前提として私の個人的な視聴を目的としています。
これらのコンテンツはもちろん著作権フリーではありません。
法的な問題を起こさないことはもちろん、クリエイターや製作関係諸氏の不利益や、結果的にデジタル ラジオ界隈の衰退を招くような行為がないようにと考えております。
では技術的な話へ進みます。
以前ちょっとgoogleった時に、超!A&Gがswfで配信されているということは知っていました。
次のURLを直接browserで開くと視聴できますね。
http://www.uniqueradio.jp/agplayerf/LIVEPlayer-HD0318.swf
特にDRMなどなく、技術的にこったことも必要ありません。
こういうオープンなシステムが一般的になるためにも、違法な配信など製作者側が困ることが無いようにしたいです。
それをどのように記録するか?ということ。
次が参考になりました。
http://wiki.sarami.info/index.php?GetAG.sh
スクリプトの中身を眺めてみると、ストリームを記録するには最低限rtmpdumpが必要ですね。
私はDebian Wheezyを使っているので次でインストール。
> sudo apt-get install rtmpdump
上記スクリプトの必要な部分のみを取り出してテストしてみるとOK。
後はこれを自動的に実行すると。
週に数番組聴いているので、
1. 30分毎にcronで管理スクリプトを起動
2. 目的の番組の開始タイミングであれば録画スクリプトを開始
のような処理をすればいいかな?

今日の不調

サーバから異音が…
まぁ、ファンがガナっているだけなのですが。
過去ログを辿ってみたら、ちょうど2年ごとに何かしら問題が起こってる。
サーバは4年前に購入、2年前に内蔵NICが故障。
バックアップ マシンは2年半前に購入、半年前にCPUファン不調。
ついでにバックアップ マシンに仕事を代替させるテストをして、
その間にサーバを止めて開けてみた。
う〜ん、異音がしているのは電源のファンでした。
筐体のファンとかCPUファンなら、それだけ替えれば簡単なのですが。

元に戻して再び電源を入れると音がしなくなったので、様子見します。
電源が調子悪くて電圧が落ちて/上がってファンに影響が出ている、とかだと心配だなぁ。

原因不明

メイン クライアント マシンのDebian Wheezyが起動中にコケるようになった。
ThinkPad E135
gdm3あたりでbalck outしてしまい、[Alt]+[Ctrl]+云々も効かない。
recovery modeで起動して、dmesgやXorgのログを見ても、原因を特定できない。
直前に変わったことをしていたわけでもないハズ。
半日くらい探ってみたが、手がかりなし…
ちょうど7.3がリリースされていたので、起動USBのテストも兼ねて再インストールしました。
何だか気持ち悪い。

年末のデータ バックアップ

各種データのバックアップは3段階でやってます。
・サーバにバックアップ (daily)
・サーバのバックアップ (weekly)
・外付HDDにバックアップ (非定期)
久しぶりに外付HDDへバックアップをしようとしたら、
USB接続しても認識してくれない…
外付けケースからHDDを取り出し、別の接続キットでつなぐと中身は無事。
結局、外付けケースが壊れてたのでした。
外付けケースは2,000円くらいの安いもので1年ちょっと経っているので、
買い替えた方がいいかな。

ISBN-13でAmazonの書籍を呼ぶ

書庫の、書影からAmazonへのリンクを見なおした。
これまでISBNでの検索を取得して、目的の書籍へ更にリンクをたどる2-ステップでした。
例えば、ISBN 978-4-480-09583-1 の書籍を次で呼んでいる。
http://www.amazon.co.jp/s/url=search-alias%3Daps&field-keywords=9784480095831
直接書籍を呼び出すことはできないか調べてみる。
次が参考になった。
FAQ: ISBN-13 for Amazon Associates @AmazonAssociates
ポイントは、
・ISBN-10がそのままASIN(Amazonの独自)コードになる。
・ISBN-13そのままは使えない。
ということで、ISBN-13をISBN-10に変換してやれば良いらしい。
例えば、例の書籍は次で呼べる。

問題は最後の桁のチェックサムを再計算すること。
これは次をそのまま利用させてもらえば便利。
http://dqn.sakusakutto.jp/2013/10/isbn13isbn10javascript.html
これで、ダイレクトに書籍を呼べるようになった。
ついでにアフィリエイト タグをつけてみよう。
残念ながらhontoでは同様な処理はできない様子。

iPhone に拒否られる

気がついたらDebian, UbuntuでiPhoneが接続してくれなくなりました。
「このPCを信頼しますか?」とiPhone上で表示され、
「許可」しても再び上のメッセージが、以下ループで…
iOS 7.0の時は問題なかったので、7.0.1 or 7.0.2になってからかな?
Googleってみると、
iOS 7 iPhone won’t connect @askubuntu
http://askubuntu.com/questions/336112/ios-7-iphone-wont-connect
Apple Fixes Threat from Fake iPhone Chargers in iOS 7 @the Mac Observer
http://www.macobserver.com/tmo/article/apple-fixes-threat-from-fake-iphone-chargers-in-ios-7
とりあえず待ちましょうか。
picturesの保存だけなので、急ぎはしないので。

X-Windowがコケた

数日前のことでした。
apt-get upgradeした後、Debianの起動時にX-Windowがコケるようになってしまいました。
[Alt]+[Ctrl]+[F1]でstartxしてみると、
/usr/share/X11/xorg.conf.d/20-thinkpad.conf の4行目TrackPointが云々…
該当の項目を削除すると、正常に起動するようになりました。
Two Finger Scroll用に私的に置いた設定ファイルです〜。
問題が解決するまで、試用にインストールしていたUbuntu Gnome 13.10 + Gnome 3.10の環境設定を進め、問題なく実用できるようになりました(w
修正した情報をまとめページに載せてあります。
Debian GNU/Linux 7.0 (wheezy) 関係

Gnome 3.10 でIMEの切り替えを[Ctrl]+[Space]にする

環境:Ubuntu Gnome 13.10 + Gnome 3.10
システム メニュー(設定)/キーボードのタブ:ショートカットでタイピングを選択、
「次の入力ソースへ切り替える」をクリックし、[Ctrl]+[Space]を押す。
参考:Ubuntu Weekly Recipe 第296回 Ubuntu 13.10と日本語入力
 http://gihyo.jp/admin/serial/01/ubuntu-recipe/0296?page=2