2016年10月23日

DLNAを外で聞きたい(そうだエージェントを作ろう)
Apple musicのストリーミングで、しばらく満足していたのですが、Apple Musicには宇多田ヒカルさんがおらず、ゆずさんもおらず、椎名林檎さんもいませんでした。どんなに大量の音楽を用意しようとも、大人の事情で人気のアーティストは登録できないのだろうと納得しました。やっぱり自分の気に入った音楽を入れたDLNAサーバから音楽を聴きたいと思いました。しかし、DLNAのプロトコルはインターネットを通しません。

通らないなら通すように、自作するしかありません。通せないプロトコルを、通せるエージェント(代理人)を自作し、通せるようにします。具体的には、SSDPのマルチキャストがインタネットが通りません。SSDPのマルチキャストは、このネットワークに誰かいますか?とマルチキャストして、俺がここにいるよ!とユニキャストで返ってくる簡単なプロトコルです。そこを通せば、なんとかなります。ここが通れば、あとはインタネットを普通に通るHTTPプロトコルです。

プロトタイプは、DLNAサーバはMINIDLNA(Linux)、DLNAクライアントはVLC(LINIX)で、インタネット部分はLinuxのIPマスカレードを使って、全部Linuxで行いました。音は出してませんが、音声部分のディレクトリ操作や再生操作などは動きました。しかし実際には、DLNAクライアントはiphoneにあるので、iphoneに移植しないといけません。このiphoneプログラムが癖ありで、私に移植できるかなぁというところです。
アンプやスピーカを自作するように、ソフトウェアも自作する人が増えたら、という気持ちで書いてます。もし、iphoneプログラムのソケット通信に強い方がいましたら、個別にメールで教えてください。iphoneプログラムは、Hello Worldから勉強しなければならず、先は遠すぎの感じです…。iphoneをあきらめて、AndroidはLinuxみたいなので、スマホを変えたほうが早いかなぁ。