ひこぽんのーと

覚書と雑記です。

Raspberry PiでDNLA Music Serverから曲を取得して再生するのこと。

うちの環境にはBuffaloのLinkStationというNASがあって、
こいつがDNLA Media Serverの機能を持っているので、
ミュージックライブラリとして使っていた。
VLCにはUPnP機能があったので、これで再生していた。
しかし、再生するにはパソコンを立ちあげなければいけない。
スマホにもUPnPメディアクライアントはあるけれど、
再生にはスマホを使わないといけない。

というわけで、
サーバーとして24h稼働しているRaspberry Pi
このような音楽の再生ができないかと考えた。

調査の結果、以下のことがわかった。

  • DNLAはUPnPの仕様に基づいて作られている。
  • UPnP Media Serverのコンテンツを再生するには、Media Rendererの実装が必要である。
  • Media ServerとMedia Rendererの操作を行うためにクライアントが必要。
    操作のための通信方式がSSPDだったり、SOAPだったりする。

ここまでわかるまで、SSPDやらSOAPやらを叩いて時間を使ってしまった。

これを踏まえて現状を見ると、以下が見えてきた。

  • Media Serverはある。→ LinkStation
  • Media Rendererはない。→ Raspberry Piに構築。
  • Media Clientはない。→ さしあたり、Androidの『BubbleUPnP』が使えそう。

と、こんなことをすでにやっている人がおり、
下記の記述を参考にRaspberry PiにMedia Rendererを構築してみた。

Playing music on a Raspberry Pi using UPnP and DLNA (revisited)

ここの例にあるように、Raspberry PiにGMediaRenderをインストールした。
自動起動については、init.dではなく、systemdを使った。

スマホにインストールしてあるBubleUPnPのレンダラーを
Raspberry Pi上のレンダラーとすることで、
Raspberry Piから音を出すことができた。

しかし、Clientは自作したいな。
現状、スマホからしか操作できないのは不便だ。

参考文献:
http://blog.scphillips.com/posts/2013/07/playing-music-on-a-raspberry-pi-using-upnp-and-dlna-revisited
https://openconnectivity.org/developer/specifications/upnp-resources/upnp
http://www.upnp.org/specs/av/UPnP-av-AVArchitecture-v1.pdf.