Bubble UPnP / Internet経由のライブラリ再生時にタイムアウト的エラー

Bubble UPnPは、Bubble UPnP Serverと組合せると、Internet回線経由で宅内メディアサーバーにアクセスして音源を再生することが出来ますが、今回はその再生時にタイムアウト的なエラーが発生する現象に遭遇。

■症状
ライブラリから曲をプレイリストに追加し再生しようとすると、タイムアウトしたといったエラーとなる。異なるメーカーの2台のアンドロイド端末どちらとも同じエラーとなる。

■Bubble UPnPバージョン
3.4.18

■解決手段
設定⇒Internet access⇒Music caching on local storage⇒Active on ConnectionでDisabledにする

この項目はBubble UPnP ServerへInternet経由でアクセスする際の設定項目の中にあるが、一度取得した音楽データファイルを端末内にキャッシュとして残しておく設定。恐らくだが、何らかの問題が有りキャッシュ動作ができずタイムアウトになるものと思われる。

なお、一度現象が発生すると設定をオフにするだけでは解消せず、Bubble UPnPを完全終了(左下の追加メニューボタンをタップし✕マークで終了、もしくはタスクマネージャーで終了)してから再度起動しないと解消しない。

■その他
自分的には次のバージョンあたりで直っていると良いなぁぐらいの期待値で、キャッシュなんか使わなくても毎月余ったデータ枠が繰越されていて全く困っていないので、ずっとオフでも問題無さそうではあるw。

Bubble UPnP Serverを使用して外出先から自宅ライブラリを聴く

OpenHome化で使用したBubble UPnP Serverですが、他にも機能が搭載されており、その中でも興味を引いたのが、自宅外からDMSへアクセスする機能です。コレを使えば、スマホ内に音楽データを入れる必要が無くなる!というわけで、追加で設定してみました。

■前提条件

  • Bubble UPnP Serverが何らかの機器上ですでに稼働していること
  • ADSL以上のインターネット回線があること
    ISDNは厳しいと思います。流石にいないか・・・
  • DynamicDNSもしくは固定グローバルIPアドレスが使えること
    無くても何とかなりますが、使い勝手がかなり悪くなります。ブロードバンドルーター購入の無料提供だとヤマハやアイオーデータ、VPN製品だとSoftEther社のSoftEther VPN、専業ではMyDNS.jpなど。なお、自宅ではVPNも使用しているのでSoftEther VPNを使用しています(ここではDynamicDNSの設定については省略)。
  • Android搭載のスマートフォン、タブレット
    LTE搭載、もしくはテザリングで同等の速度が出ること。foobar2000もクライアントアプリとして使用できるそうですが、試していません。
  • 使用する端末へのBubble UPnPのインストール
    フルバージョンじゃないといけないかどうかは未確認

■サーバー設定手順(Bubble UPnP Server)

  1. Bubble UPnP Serverの設定画面へアクセスする。
  2. 「Network and Security」タブをクリックし、「Allow to access the server from the Internet」にチェックを入れる。
  3. チェックボックスの上方「Credentials」のLoginとPasswordに、外部ネットワーク側からDMSへアクセスする際のユーザー名とパスワードを入力する。
    なお、「Public host name」には自分のインターネットアクセス回線のリモートホストが表示となる。
    BUPP-001
  4. 「Media Servers」タブへ移動し、外部ネットワークから接続した際にアクセスするDMSを選択後、「Make this Media Server available in Bubble UPnP for Android and foobar2000 for Internet Access」にチェックを入れる。
    BUPP-002
  5. 「Status」タブに戻り、「Internet Connectivity Test」ボタンをクリックする。クリック後、ボタン右に「HTTP:Server is reachable from Internet」「HTTPS:Server is reachable from Internet」の表示が出れば外部ネットワークから接続できている状態となり、基本的な設定は完了。
    BUPP-000

■メモ的な物(Bubble UPnP Server)

  • ブロードバンドルーターがUPnPに対応していないと「Internet Connectivity Test」ボタンをクリックした際に、テスト結果がエラーとなる(赤文字で結果表示)。この場合はルーターの静的ポート変換機能で、外部ネットワークからの58050ポートと58051ポートへの通信を、Bubble UPnP Serverを動かしているPCもしくはNASへ転送する設定が必要となる。
  • 「Status」タブの下方に最低でも「Audio Trancecoding Supported:yes」の表示が出ていないと、オーディオメディアファイルをMP3に変換して送信する機能が動作せず、パケット通信契約の上限まで使い切ってしまう恐れがあるので注意する事(俺は絶対FLAC!WAVEだ!という方なら関係ないけどw)
  • ブロードバンドルーターを再起動やポート設定を弄った場合、Bubble UPnP ServerがUPnPの再設定を行わないのか、外部ネットワークからアクセス出来なくなることがある。その際は「Status」タブの下方「Restart Server」ボタンをクリックしてサーバーを再起動する。
    (インストール先がWindows機であれば、タスクマネージャを利用して深夜のアクセスしない時間帯などに、Bubble UPnP Serverサービスを定期的に再起動させるのも良いかもしれない)
  • 「Setting」タブの「Adbanced」タブにある「Trancecode high-res audio to 44.1/16 or 48/16 FLAC」はハイレゾ(44.1/16 or 48/16と書いてあるのでこれ以上のファイルの場合?)ファイルをTrancecodeを利用してダウンコンバートする機能の設定のようだが、クライアント側にBubble UPnPを使用している限りでは、ここで設定をしてもクライアント側設定が優先される模様(設定は後述)。
    BUPP-003

■クライアント設定(Bubble UPnP)
設定手順はBubble UPnP Serverのサイトにドキュメント化されているが、一通りの手順を書いてみます。

  1. Bubble UPnPを起動し、Settingメニューへ移動する
  2. 「Setup network wizard」を選択
  3. 「Name」に設定の名称を入力(自宅 など)。Server addressにBubble UPnP ServerのStatusタブなどで表示されていたPublic host name、もしくはDynamicDNSサービスで取得したFQDNを入力する。
  4. LoginとPasswordは「Credentials」で入力した文字列を設定。
  5. Active on connectionをタップし、ラジオボタンを「Mobile」に変更する。変更することによって、自宅LAN環境ではBubble UPnP Serverのこの機能を使用しないよう明示的に限定できる。
  6. 下方の「TEST」ボタンをクリックし、接続テストを行う。ここでエラーになる場合はBubble UPnP Server のStatus画面状態などを確認する。
  7. エラーが発生しなかった場合は、NEXTボタンをタップし接続先設定を完了する。
  8. 再度Settingsメニュー内「Network and settings」へ移動する。
  9. 「SD Card music caching」内の「Active on connection」をタップし、Mobileを選択(DMSからダウンロードしたデータをローカルにキャッシュする機能をモバイル回線経由のみに限定する)。
  10. 「Add to Android Library」のチェックを外し、DMSからダウンロードしたデータがローカルにキャッシュされた際に、そのデータをAndroid側の音楽ライブラリーに登録する機能を無効にする。端末ローカルにはハイレゾファイルを置いて、それらだけをOS側に認識させたいんだよ!という人には余計なお世話機能であるw(外し忘れても後からチェックを外せばライブラリ登録も解除できる)。
    BUPP-004
  11. 「Music playback transcoding to local renderer」カテゴリ内のMobile Max Bitrateをタップし、モバイル回線時のビットレートを設定する。ウチは割り切って128kbpsを設定。
  12. 無線LANテザリングを使用して他端末経由でBubble UPnP Serverへ接続している場合は、その下のWiFi / Eth Max Bitrateも設定を行う。
  13. その下のLossless onlyチェックは音源ファイルのビットレートが上記二つのビットレート設定以上の場合で、チェックが入っていた場合はトランスコードせずにオリジナルファイルのまま伝送してくる機能(らしい)。ウチでは割り切っているため外している。
    BUPP-005BUPP-006

■アクセス・再生手順

  1. 無線LANを切る。もしくは無線LAN圏外へ移動し、モバイル回線接続にする。
  2. Bubble UPnPを起動し、LIBRARYへ移動する。
  3. 左上のDMS名の横に「[入力した設定名称]」が追加で表示される。
    BUPP-007

  4. いつも通りにライブラリ画面からキューへ曲を追加し、再生を始めれば端末の内蔵スピーカーもしくはヘッドフォンから音声出力となる。

    BUPP-008

    元データはFLAC/96kHzだが、端末に伝送されたデータはMP3/128kbps/44.1kHzとなっている。

  5. Settingメニューで「Local Renderer」を有効にしておかないと再生出来ない可能性があるので注意。
    BUPP-009

■メモ的な物(総合)

  • 使用感ですが、Xperia Z2(docomoキャリア端末)にMVNOであるmineoのdocomo回線SIMを入れてますが、LTE接続で使う分には全く問題ありません。次の曲が始まるまでのタイムラグも無いし、曲が始まってすぐにトラックを進めてもそんなにラグも無く次の曲が始まります。
    あと、2トラック先ぐらいまでは圏外になっていても再生出来るようです。
  • Serverへアクセスできない、接続エラーが発生する場合はダイアグラムとかを書いて、データの流れを整理しないとトラブルシューティングが上手くいかない可能性が高いです。
  • DynamicDNSやポート変換の辺りは一般的なネット関連の知識が必要となるので、ネットワークオーディオとはまた違った勉強をする必要があります。
  • ネット時代になったのになんで端末にデータ入れないといけないんだよ!という人以外は手を出さない方が良いかもしれないですw。
  • Androidベースのハイエンドポータブルプレイヤーにインストールして設定してもイイと思いますが、単体でLTEや3Gに接続できる端末の方が使い勝手が良いし、MP3になってと音がアレなのもわかっちゃうのであまりオススメできないですw。
  • 自宅の整備したライブラリーを外でも使いたいんだ、という人は頑張ってみると幸せになれると思います。
  • データ容量の低いパケット契約をしている際は設定に注意しましょう。

OpenHome非対応ネットワークプレイヤーをOpenHome化する「Bubble UPnP Server」

OpenHome(以下OH)非対応のネットワークプレーヤー(DMR)をOH化出来る「Bubble UPnP Server」を試してみました。

OH化する利点の目玉は「再生デバイス側でのプレイリスト保持」。今までDMCが持っていたプレイリストをDMR側が持つ事によってDMCの負担を軽くし、DMCがエラーやスリープ状態になることによって再生が止まってしまうといった不都合を回避する事が出来ます。他にも、プレイリストを他DMCでも参照する事が出来るようになるので、複数のDMCアプリを併用することも簡単になります。

Bubble UPnPサーバーは多機能で、DMRのOH化以外にも、自宅内DMSのインターネット側からのアクセスを可能とする機能も搭載されていて、「Bubble UPnP」が使用できるAndroid系スマホ内にコピーしていない楽曲を自宅のDMSへ外出先からアクセスして再生することが出来ます(今回は省略)。

今回は以下のような構成でシステム構築してみました。

 

構成図

 

  • Windows Server 2008
    ファイルサーバー
  • Windows7
    Bubble UPnP Serverインストール機
    DMSとしてminimserverをインストールしている。
    音楽ファイルはWindows 2008 Server上の共有フォルダに保存されており、フォルダへはネットワークドライブを設定。
  • Gigabit HUB
    上記2台のPCとAirMac Extreme等を接続
  • AirMac Extreme
    11n/ac 無線LAN
  • PIONEER N-50
    DMR
  • DMCとして、Xperia Z2、Xperia Z Ultra、iPhone、MacBook Pro Retina(Mid 2012)

あまり詳しくはないですが、以下Bubble UPnP Server設定時のメモのようなもの。

  • Windows版はJava Runtime Environmentのバージョン7以上のインストールが必要。
  • スタートメニューに「Bubble UPnP Server」のグループがあるので、「Configure BubbleUPnP Server」のショートカットを起動する。
    サーバー設定画面へのURLが自動入力となり、設定画面が開く。
  • 今回はOH化するだけなので、設定画面の「Network Security」タブ→「Allow to access the server from the Internet」のチェックを外してインターネット側からのアクセス機能を無効にした。
    同時にインターネットアクセス時に使用するアカウント情報(Credentials)をデフォルトから変更。
  • 「Media Servers」タブ内項目はOH化のみでは使用しないので、設定変更不要。
  • 「Media Renderers」タブにてOH化するDMRを選択し、「Create an OpenHome renderer」にチェックを入れる。NameはOH対応DMCから見える名称を変更出来る。RoomはLINNではお馴染みのDMRの設置場所をわかりやすくするための場所記入フィールド。
  • OH対応DMCからDMR検索を行うと、「Media Renderers」タブの「Name」フィールドに入力したDMR名が見える(はず)。DMRとして選択後は、今までと全く同様に使用する事が出来る。
  • Windows版はサービスとしてインストールとなるため、PCでWindowsログオンする必要は無い。
  • 試しにXperia Z Ultra上のBubble UPnPでプレイリストに曲を追加し再生開始。その後、Xperia Z2上で起動したBubble UPnPのプレイリストを見ると、Z Ultraで作成したプレイリストがそのまま見えて、再生状況も反映された。Z2側でプレイリスト消去すればZ Ultra側でも消去となった。
  • OH化した事によって、LINN/KAZOOとLINN/Kinskyを使用できるようになり、今までDMCアプリがお寒い状況だったWindowsとOS XのDMC環境が改善した。更にはデバイス側プレイリストのおかげで、PCから離れるときはスマホで操作を継続できるのも大きなメリット。
  • 友人宅ではDMRとしてヤマハ NP-S2000を使用しているが、QNAPのNASにBubble UPnP Serverをインストールし設定したところ、iPadからLuminAppでコントロール出来るようになったとの事。LuminAppは完成度が高いと評判で、これも見逃せないポイント。LuminアプリでNP-S2000をコントロール
    LuminAppでNP-S2000をコントロール

    LuminアプリとNexus6上のBubble UPnPが同期している
    LuminAppとNexus6上のBubble UPnPが同期している

というわけで、もうファームウェアのアップデート等が望めない製品をお使いの場合は「Bubble UPnP Server」を使用してモダン化するというのはいかがでしょうか。