タグ別アーカイブ: OpenHome

DLNAで再生してたら途中で中断される問題!(DMCアプリ落ち)

ネットワークオーディオ機器を使ってみたくて「Marantz M-CR611」を購入したんですよ。こないだ。(→記事)
「Marantz Hifi Remote」からNASに保存されている上原ひろみの「SPARK」を再生して「ええ音や・・(涙」と聞いてたら数曲再生しただけで止まってしまう・・萎えるー

これが「DMCアプリ落ち問題!」
→ なんらかの原因(※)でDMCアプリが停止したら次の曲以降が再生されない。
※スリープ、バッテリー切れ、ゲームなどの高負荷アプリを動かす・・など

比較的新しいiPhoneであればバックグラウンドでそれなりの時間までは再生してくれるんですけど、なにぶんちょっと古めのAndroidとかだとすぐに再生が止まってしまいます。
最初はこれ、なんでか分かりませんでしたがDLNAの機能を考えるとまぁしょうがない。
DMRは再生するリスト(以下プレイリストと呼ぶ)を保持せず、DMCからの指示で動くのでDMCが動いてくれないとどうしようも無いのだ。
(とはいえ、「Marantz Hifi Remote」はMarantz純正アプリでもあるんだから機器に専用コマンドで送信してM-CR611をDMPとして動かしてくれよ!・・とは思います。)

補足1.
DLNAを構成する機能

DMS(デジタルメディアサーバー)
 - コンテンツを保存してそれらを配信する機能を有する機器。DLNA対応のNASとかがこれにあたる。
DMP(デジタルメディアプレイヤー)
 - DMSのコンテンツを自分で検索/再生する機器。M-CR611のようなネットワークオーディオ機器は大概これ。
DMC(デジタルメディアコントローラー)
 - DMSのコンテンツを選択してそれを再生する機器(DMR)に指示するリモコンみたいな機能。スマホアプリ(Kazooとか)とか。
DMR(デジタルメディアレンダラー)
 - DMCから指令を受ける再生機器 。DMPとの大きな違いはDMCからの指令で再生すれば良いのでDMSのコンテンツを検索する機能を持たなくても良い。

補足2.
M-CR611のようなネットワークオーディオプレイヤーは大抵DMPにもDMRにも対応しています。
DMPとして動かせば(例えば本体でサーバの曲を選んで再生するとか)DMCは関係無いので、この場合はアプリが落ちようと関係無く再生されます。

で、色々と調べているとこの問題を解決する「OpenHome」という規格があるらしい。
しかもどうやら 「BubbleUPnP Server」というものを使うとOpenHome非対応の機器もOpenHome対応機器として動かすことができるらしい。
やってみよう!

BubbleUPnP Server

「BubbleUPnP Server」はMacやWindowsはもちろん、LinuxやAndroid、さらにはSynologyやQNAPなどのNASでも動作する。

用途を考えると常時起動している機器にインストールするのがベスト。
RaspberryPiへインストールする事も考えたが、今回は自宅のNAS「Synology DS215j」にインストールすることとした。

※ Kazoo Server も気になりますが、まだsynology用のパッケージは提供されていないようです。
 
 

Synology DS215j(DSM 6.0)へのインストール手順

(以下は執筆時点の手順なので公式のインストール手順を事前に確認してください)
※自分は今のところ正常に動いていますけど、自己責任でお願いしますね。大事なデータが消えたりしても自己責任で!

1.Java8のインストール
DSMの パッケージセンター → デベロッパーツール から 「Java8」 を選んでインストール。

2.Java8をOracleJDKに更新
DSMのメインメニューから「Java8」の画面を開いて

20170113_001
→ [Javaをアップグレード]

20170113_002
→ 「Java SE Download」

20170113_003
→ 「Linux ARM 32 Hard Float ABI」をダウンロード
※執筆時には「jdk-8u111-linux-arm32-vfp-hflt.tar.gz」こんなファイルがダウンロードされました。

先ほどの画面でダウンロードしたファイルを参照して[OK]

※ダウンロードするファイルは機種によって違うらしいです。↓のサイトを参照してくれとのこと。
http://minimserver.com/install-synology.html

3.事前の設定

コントロールパネル > ユーザー > 詳細
20170113_004
[ユーザーホームサービスを有効にする]にチェックをいれて[適用]

証明書のチェックを無効に
パッケージセンター > 設定
20170113_005
トラストレベルを「全ての製造元」に変更して[OK]

4.「BubbleUPnP Server」のインストール

下記URLからSynology用のパッケージをダウンロード
https://www.bubblesoftapps.com/bubbleupnpserver
※[Download Synology package]ってところ
※自分が行った時は BubbleUPnPServer.spk というファイルでした

パッケージセンター を開き[手動インストール]からダウンロードしたファイルを選びインストールします。
スクリーンショット_2017-01-13_16_57_30
※ffmpegのインストールが推奨されているけど今回はインストールせず。
 
  

BubbleUPnP Serverの設定

インストールできたら次は設定
※インストール直後に設定画面が開かれますけど、まだ起動に時間がかかっていたりすると空白ページが開かれてしまいます。
その時は、ちょっと待ってからメインメニューから[BubbleUPnP Server]を選んで再度開きましょう。
20170113_006

1.ネットワーク系
インターネットからアクセスしたくはないので、[Network and Security]というタブを開いて[Allow to access the server from the Internet]のチェックを外す。

2.DMRをOpenHome機器として公開する設定
[Media Renderers]というタブを開く
20170113_007

出力対象とするDMR (この場合はM-CR611)を選んで、[Create an OpenHome renderer]にチェックを入れる

以上でサーバ側は完了。簡単。

後はHomeHomeに対応したアプリ(※)でレンダラーを指定すればOK。
DMRとしてのM-CR611とOpenHome化された同機器がどちらも表示されているのでOpenHomeの方を選択

同じレンダラーを参照したアプリでは同じプレイリストが表示されるし、アプリを落としてもそのまま再生されます。
※ AndroidだとBubbleUPnP、iPhoneだとKazooとか

NASのCPU負荷も特に上がっていませんね。
20170113_008
これなら大丈夫そう。