設定画面・仕様

設定画面 : UPnP(v111.0.0)

設定画面「UPnP」に関する解説です。

一般的なアプリケーションとの互換性や実際の使用例などは、UPnPアプリを選ぶという記事に記載されています。この記事にはJpsonicに新たに追加されている「UPnPの基本設定」「表示する項目」「ソートの設定」「表示のオプション/アクセス制御」というセクションの説明が記載されています。

UPnP実装はSubsonicやAirsonicとは異なりJpsonicで大幅に変更されており、機能の増加に伴い設定項目も増えています。

  • 豊富な表示項目。オプションで個別にON/OFF可能なため、ユーザの求める使用感に合わせた表示が可能
  • 索引/ソート/検索が日本語用に書き換えてあり、日本の音楽を整理するのであれば世界最強
  • プレイリストやポッドキャストも利用可能
  • ミュージックフォルダ単位で公開するディレクトリを指定可能
  • DLNA/UPnPサーバは小型低機能という傾向のものが多いがJpsonicは日本語処理を行ってなお速い
  • ストリーミングのバグ修正により多くのアプリが使用可能になりハイレゾへも対応

UPnPの基本設定

このセクションではUPnPの基本設定を行います。

レガシーサーバとの違い
レガシーサーバはUPnP実装はSubsonicのストリーミングの仕組みを転用しており、トランスコーディングはプレイヤ(接続するアプリ)単位で個別で設定できるようになっています。UPnP仕様としてはNGとなるケースがいくつか存在し、アプリのコーデック判定の方式によっては誤動作します。Jpsonicではこれらを改修し、トランスコーディングはUPnPの全接続で共通の設定を使用するよう仕様修正されています。

そのためレガシーサーバのUPnP設定ページでは公開に必要なサーバ情報のみの設定ですが、JpsonicではUPnPで使用するトランスコーディング設定もこのページで設定するように変更されています。

レガシーサーバでは「無効/有効」「メディアサーバ名」「LANサーバアドレス」が存在しますが、Jpsonicではいくつか独自項目が追加されています。リセットボタンを押した場合、公開設定に関わる項目以外が初期化され「トランスコーディングを使用しない設定」つまり一般的なDLNA/UPNPサーバと同じ動作設定に変更されます。
LAN サーバアドレス
インターフェースになっているアドレスを指定します。簡単に言えば、ブラウザからアクセスするときのURLの頭の部分を入力します。サーバ自身は外部からどのようなURLでアクセスされているかがわからないためです。

「ブラウジングはできるのにカバーアートが見えない/再生ができない」という場合、LAN サーバアドレスに誤りがある可能性があります。

ポートについて

UPnPのサービスを起動するポートを変更可能です。ポートの競合が起こる場合、ファイアウォールの設定と合わせる場合、Dockerでエクスポートする際などに使用します。Windowsで動作確認をする場合は、ファイアウォールをオフにしJpsonicは特に何も設定せず単体起動するのがシンプルです。起動オプションについてという記事にも記載があります。

アクセスを許可するフォルダ

ミュージックフォルダ単位でUPnPアプリから利用するフォルダを指定します。使用用途に応じて設定します。

UPnPアプリを選ぶという記事にも記載がありますが、Windows Media Playerは通常のUPnPアプリとは異なり、起動以降初回のUPnPサーバアクセス時に全リソースのデータをクロールするという特異な仕様を持ちます。NASで巨大なライブラリを管理していてWindowsからWMPを使用して聴きたいという場合、この項目を利用することで公開フォルダを限定し少ない曲数から試してみることができます。

有効なトランスコーディング
実ファイルではなく異なるビットレートやフォーマットに変換したい場合、使用するトランスコーディングを有効にします。
最大ビットレート
有効なトランスコーディングが存在し、かつ実ファイルのビットレートが最大ビットレートを上回る場合に変換が実行されるようになります。

実ファイルのビットレートが最大ビットレートを下回っていてもトランスコーディングを実行したい(つまりビットレートに関わらずフォーマットも統一したい)場合は、トランスコーディングの設定ページにある「優先されるフォーマット」に変換先フォーマットを指定します。

楽曲のアドレスに拡張子を付与
現状はデバッグオプションという位置づけです。音楽プレイヤーのコーデック判定の方法には「UPnPプロパティ」「ファイルヘッダ」「HTTPヘッダのMIME」等様々な方法があり、またプレイヤによっては事前チェックと再生時に異なる方式が併用される場合もあります。現在のところ拡張子を利用するアプリの存在は確認されていませんが、未知のアプリの実装差の確認が容易なように拡張子を付与できるようになっています。

表示する項目

クライアントからブラウジングする際に、どの項目を表示するか設定できます。

いくつかの項目は、表示名が共通となっています。似た機能項目のうちいずれかを使用することを想定しているためです。表示名は共通ですが、動作を比較して確認するため同時表示が可能です。

表示項目毎の仕様

ほとんどのUPnP/DLNAサーバは、分類のバリエーションを多層式のフォルダツリーで表現しています。一見賢いですが以下のような弊害があります。

  • 初期設定は楽な一方、階層が増えてしまう
  • 様々なニーズに対応するためバリエーションを増やすと、ユーザ視点では使わないものだらけになってしまう

多層式の「リッチ」なフォルダは、PC上のアプリでツリー展開をする場合ではあまり苦にならない一方、スマホではタップしてドリルダウンする回数が多くなり煩わしいです。昔と今とでは最も利用されるGUIのデザインは異なっています。そのためJpsonicは分類を統合して多層フォルダ化せず、単機能の項目を徐々に後付けしていくという方法をとっています。既に実装されたものについて後から仕様が変わるということはありません。

初期設定の手間は増えてしまうのですが、普段使うものだけをスマホに表示できるというメリットがあります。

項目名 概要
索引 Web画面の索引と同じ、索引/アーティスト/アルバム/楽曲の4階層表示。
全てのミュージックフォルダを統合して作成したファイルベースの英/日索引
索引(ID3) Web画面の索引とは異なりID3タグで索引とツリー構造を作成。
フォルダ ミュージックフォルダ毎のエクスプローラ風のフォルダ表示
ミュージックフォルダが一つしかない場合、アーティスト階層から表示
ミュージックフォルダが複数の場合、ミュージックフォルダ階層から表示
アルバムアーティスト(フォルダ別) ID3タグのアルバムアーティスト名の一覧。
ミュージックフォルダ/アーティスト/アルバム/楽曲の4階層表示。
アルバムアーティスト(ID3) ID3タグのアルバムアーティスト名の一覧。
アーティスト/アルバム/楽曲の3階層表示。
アルバム(ID3) ID3タグのアルバム名の一覧。アルバム/楽曲の2階層表示。
プレイリスト ユーザが任意に作成したプレイリスト。編集はWeb画面、Subosonicクライアントアプリ、インポートで行う。プレイリスト/楽曲の2階層表示。
ジャンル / アルバム ID3タグのジャンル一覧と、そのタグに関連付けられたアルバム
(アルバムの最初の子楽曲のジャンルが採用される。Sonic系サーバの仕様)
ジャンル/アルバム/楽曲の3階層表示。
ジャンル / 楽曲 ID3タグのジャンル一覧と、そのタグに関連付けられた楽曲。
ジャンル/楽曲の2階層表示。
最近追加されたアルバム スキャンされた順にアルバムを列挙。アルバム/楽曲の2階層表示。
最近タグ変更されたアルバム(ID3) タグ編集された順にアルバムを列挙。アルバム/楽曲の2階層表示。
ランダムリスト (楽曲すべて) 楽曲を50件ランダム表示(クライアントはリフレッシュ機能が必須)
動画、ポッドキャスト、オーディオブックは除外され楽曲のみ
項目名直下に楽曲を1階層表示。
ランダムリスト (アルバム別) アルバムを50件ランダム表示(クライアントはリフレッシュ機能が必須)
アルバム/楽曲の2階層表示。
ランダムリスト(アーティスト別) 一階層目がID3のアルバムアーティスト一覧、二階層目はアルバムアーティストに対応したランダムリスト(クライアントはリフレッシュ機能が必須)
動画、ポッドキャスト、オーディオブックは除外され楽曲のみ
ランダムリスト (ミュージックフォルダ/アーティスト別) 一階層目がミュージックフォルダから開始される。その他はランダムリスト(アーティスト別)と同じ仕様
ポッドキャスト Web画面でユーザが任意に登録したポッドキャスト。チャンネル/エピソードの2階層表示。
  • 表示項目が一つしか選択されていない場合、展開表示します。例えばアルバムアーティストのみが使用可能に設定されている場合、アプリではトップ階層に直接アーティストの一覧が表示されます
  • ランダムアルゴリズムはプラットフォーム依存です(起動時にログ表示)。Linuxサーバであれば/dev/randomからシードを取得し/dev/urandomで乱数を生成します。クライアントアプリでシャッフルするよりもいわゆる「バラける」結果になります
  • 索引、ソート、検索の仕様は設定画面 : 基本設定にある仕様・設定に準じます
  • UPnPアプリを選ぶにあるように、一部のアプリは表示順を強制的に変更します。項目によっては我慢して使用することもできますが「最近追加」や「ランダム」といった項目はほぼ無意味になります
  • 索引は最長2分キャッシュされます。スキャン、メディアフォルダーのアクセス許可の変更、音楽フォルダーの設定の変更といったサーバ側の操作後は、自動的にキャッシュクリアされます。

表示のオプション/アクセス制御

いくつかのオプションが利用可能です。

  • ジャンルの件数表示は全てのミュージックフォルダが公開されている場合のみ利用可能です
  • デフォルトではサーバ上のすべてのプレイリストが閲覧可能です。他者に公開されているプレイリストのみに制限できます
プレイリストのアクセス制御に関する注意点

SubsonicアプリやのWeb画面で使用するプレイリストと、UPnP経由のプレイリストでは権限の仕様に違いがあります。

Web画面/REST ユーザが視聴可能かが曲単位で判定されます。以下のような動作をします。

  • アカウント1が、ミュージックフォルダAに対してアクセス可能
  • アカウント2が、フォルダAとフォルダBに対してアクセス可能
  • アカウント2が、AとBに存在する楽曲が混在したプレイリストを公開
  • アカウント1はプレイリストの内容を閲覧可能。Bの曲は再生不可能
UPnP 公開されているプレイリストに含まれる楽曲はどのクライアントからでも全てアクセスが可能です。匿名ユーザに対する共有(Share)と同じ仕様です

更新履歴

何か機能更新をしてこの記事を書き換えたときに以下に追記します。

v111.0.0
UPnPの基本設定に新設されたトランスコーディングの設定とレガシーとの差異を付記
UPnPアプリを選ぶという詳細記事が新設されたため、アプリに関する詳細は削除
JpsonicのDLNA機能(v109.1.0)から設定画面 : UPnP(v111.0.0)に記事名を変更
v109.1.0
フォルダ別のアーティスト一覧を追加したため追記
v109.0.0
検索仕様が変更されたため解説を修正
v107.2.0
ランダムリスト (ミュージックフォルダ/アーティスト別)を追加
UPnPが送信するコンテナのクラスを改善。アプリによってはアイコンや表示高が適切なものに変更される
UPnP検索でアーティスト/作曲家をキーとして使用した検索がスキップされる不具合を修正
File Structureのアーティスト画像を使用しないように修正されたため解説を修正
v107.0.0
起動オプションにDLNAポートの変更が追加されたため解説を修正
表示項目に索引(ID3)とランダムリスト (アーティスト別)を追加
キャッシュ仕様が変更されたため付記 : 表示する項目に解説を追加
表示のオプションに関する解説を追加
アクセス制御に関する解説を追加
v106.1.0
UPnPの表示項目が増えたため、表示項目や並び順に関して追記
カバーアートの不具合対応を行ったためカバーアートに関する説明を追記
UPnP検索に対応したため説明を追記
索引のキャッシュ仕様を変更したため追記
カバーアートの表示について注意点を追記
v106.0.0
DLNAのフォルダ展開速度を高速化
表示項目「索引」「最近追加されたアルバム」を追加。表示項目のON/OFF切り替えに対応
検索が正しく動作するよう修正
ジャンルのアイテム数を表示するオプションを追加
v105.2.0
DLNA機能の日本語サポート開始
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

設定画面・仕様
起動オプション(v111.6.0)

Jpsonicの起動オプションに関する注意点です。

設定画面・仕様
Web画面の概要(v111.0.0)

Web画面を使用したブラウジングの概要です。

設定画面・仕様
設定画面の概要 (v112.0.0)

SubsonicとJpsonicの設定方法はほぼ同じですが、画面構成が少し異なります。