高度な構成に関する推奨事項

更新日:

必要なサーバー設定と追加のインストール ガイドがここにまとめられています。互換性リストの設定リンクから、関連するセクションにアクセスできます。

Ampache および LMS: API キーを使用してログインします

Ampache 7、Ampache 8、LMS はログインに API キーが必要です。サーバー上に自分のアカウントのキーを作成し、MusicServer Connect で接続するときにそれを使用します。秘密にしておいてください。

Ampache 7.10.2: タイトルアーティストなしでタイトルをインポート

症状と原因

トラック アーティストのないファイルは、カタログのインポート時に省略される場合があります。以下のデータベース修正により、インポートが可能になります。 Ampache ログインには API キーが必要です。参照してください APIキーを使ってログインする.

範囲

この修正は、MariaDB と以下に示す列定義を備えた Ampache 7.10.2 に適用されます。他のバージョンについても同様の原因がないか確認してください。

何が変わったのか

選択した Ampache データベース内の song.artist のみが、NULL を許可するように変更されます。データ型、デフォルト値 0、および既存のインデックスは保持されます。 Ampache のソース コードと音楽ファイルは変更されていません。アーティスト名が作られることも、ファイルのタグが置き換えられることもありません。他のデータベースとグローバル MariaDB 設定は影響を受けません。

一般的なデータベースの修正

要件

これらのコマンドは、該当する場合は MariaDB サーバーのコンテナー内で実行します。データベース アカウントには、曲のチェックと ALTER 権限のための読み取りアクセスが必要です。この例では、ローカル root ログインを使用します。別のデータベース アカウントの場合は、既存の安全なクライアント構成を使用します。コマンドにはパスワードを入力しないでください。

まず、Ampache 構成で database_name としてリストされている実際のデータベース名を特定します。すべてのコマンドで独自のデータベース名を使用してください。

AMPACHE_DB='DEIN_AMPACHE_DATENBANKNAME'
mariadb --database="$AMPACHE_DB" -e \
  "SHOW COLUMNS FROM song LIKE 'artist';"

確認された問題の場合、出力には Type=int(11) unsigned、Null=NO、および Default=0 が表示されます。 Null=YESの場合、すでに補正が適用されています。別の定義を確認せずに変更しないでください。

推奨: 同梱のスクリプト ampache7-null-artist.shをダウンロード データベースサーバー上で。列をチェックし、予期される符号なし INT 型のみを受け入れ、NULL がすでに許可されている場合はそれ以上の変更は行いません。予期しないスキーマにより、変更せずに停止します。

sh /pfad/zum/ampache7-null-artist.sh "$AMPACHE_DB"

上記で確認された定義の修正の具体的な SQL コアは次のとおりです。

ALTER TABLE song
  MODIFY COLUMN artist INT(11) UNSIGNED NULL DEFAULT 0;

不足しているファイルをインポートして結果を確認する

スキーマを変更した後、不足しているファイルをインポートします。独自のインストールのアプリケーション パス、カタログ名、サービス アカウントを使用します。 PHP のバージョンは Ampache のバージョンと一致する必要があります。

AMPACHE_APP='/pfad/zur/ampache-installation'
AMPACHE_CATALOG='DEIN_KATALOGNAME'
runuser -u www-data -- php "$AMPACHE_APP/bin/cli" \
  run:updateCatalog "$AMPACHE_CATALOG" -a

mariadb --database="$AMPACHE_DB" -e \
  "SELECT COUNT(*) AS Titel FROM song;
   SELECT id, title, artist, enabled FROM song
   WHERE artist IS NULL;"

-a は新しいメディア ファイルを追加します。カタログのクリーンアップ、プレイリストのインポート、または既存のファイル タグの再スキャンは要求されません。その後、Ampache は内部マッピングとカウンターを更新することがあります。

次に、プラグインを更新し、すべてのタイトルを開いて、以前に欠落していたタイトルを確認します。それでは上のタイトルを 全タイトル → 全チェック → DB検索 → データベースに追加 VirtualDJ 検索データベースに追加します。参照 ツリーノード内を検索.

運用とその後のアップデート

これはローカル データベース スキーマの調整であり、正式に確認された一般的な Ampache 移行ではありません。 Ampache データベースの更新後、song.artist とトラック アーティストなしのファイルのインポートを再度確認してください。移行により定義が変更される可能性があります。スクリプトは繰り返し確認できます。

NOT NULL を復元するには、まず既存の NULL エントリを慎重に処理する必要があります。列をやみくもにリセットすることは、適切なロールバックではありません。チェックされた修正は、欠落しているトラックアーティストを欠落情報として保存します。

Gonic 0.22.0: 音楽フォルダーごとに 1 つのアルバム

症状と原因

Gonic では、アルバムごとに個別のフォルダーが必要です。アルバムのファイルをまとめて保管します。 1 つのフォルダー内に異なるアルバムを混在させないでください。無関係な独身者用の共有フォルダーは、この要件を満たしません。 Gonic は、アルバム アーティストを含む最初のファイルのアルバム メタデータを、そのフォルダー内の他のすべてのファイルに適用できます。

推奨されるフォルダー構成

単曲の場合もアルバムごとにサブフォルダーを作成します。例:«Einzeltitel/Alter Ego - Betty Ford (Bonus Remixes Version)» / «Einzeltitel/Homie Isback - Cherrymoon»。Cherrymoonの2つのバージョンが同じアルバムに属する場合は、同じフォルダーに置けます。異なるリリースは分けてください。音楽ファイルは設定済み音楽パスのサブフォルダーに配置します。Gonic 0.22.0はルートフォルダー直下のファイルを読み飛ばします。

複数のサーバーがライブラリを共有している場合は、シンボリック リンクを使用して、Gonic 用の個別のフォルダー ビューを作成できます。そこにも各アルバムに独自のフォルダーを与えます。各トラックのインデックスが 1 回だけ作成されるように音楽パスを構成します。 Gonic サービス アカウントは、リンクとそのターゲットの両方にアクセスする必要があります。

変更後の確認

Gonic を完全に再スキャンしてから、プラグイン トラック リストを更新します。合計、アルバムのグループ化、アーティスト ノード、再生を確認します。インポート パスを変更すると新しいサーバー ID が作成される場合があるため、後で既存のお気に入り、プレイリスト、VirtualDJ 設定を確認してください。必要に応じて、再度トラックを登録してください。 VirtualDJ 検索データベースに追加。新しく追加された個々のトラックも、適切なアルバム フォルダー構造で提供される必要があります。

ファイルベースのプレイリストをユーザーに提供する

Gonic は、設定されたファイルからプレイリストを読み取ります playlists-path サブフォルダーには数値のユーザー ID にちなんで名付けられます。 Gonic 用に解決されたメディア パスを持つ M3U/M3U8 ファイルをそこに置きます。通常の音楽スキャンでは、他のライブラリ フォルダーからプレイリストは自動的にインポートされません。私たちの設定では、共有されたオリジナルを変更せずに派生ビューを作成します。ソースを変更した後は、これらのビューを更新してください。

Gonic プロジェクト ドキュメント

Gerbera 3.3.0-77: BPM、キー、UTF-8、および Inotify

BPM とキーに次のマッピングを追加します。音楽ファイルには、対応する BPM および KEY または INITIALKEY タグが含まれている必要があります。 PERFORMER などの既存のマッピングを保持します。

追加行: Tag Name および Upnp metadata entry
図書館Tag NameUpnp metadata entry
taglibBPMupnp:beatsPerMinute
taglibKEYupnp:key
taglibINITIALKEYupnp:initialKey
ffmpegBPMupnp:beatsPerMinute
ffmpegキーupnp:key
ffmpeg初期キーupnp:initialKey

XML ベースのインストールの場合は、インポート → ライブラリ オプション → id3 → メタデータおよび ffmpeg → メタデータの下にエントリを追加します。 Gerbera は、Web インターフェイスで XML グループ id3 に taglib Library Options というラベルを付けます。両方のライブラリで charset を UTF-8 に設定します。 filesystem-charset、metadata-charset、および playlist-charset もそのままにするか、UTF-8 に設定します。 Gerberaを保存して再起動します。追加のタグ マッピングは、ファイルが再度インポートされるときに有効になります。通常の再スキャンでは、変更されていないファイルがスキップされる場合があります。新規インストールの場合は、音楽をインポートする前にこれらのオプションを設定します。

MP4、M4A、M4V: より正確な BPM タグを優先します

Git ビルド 3.3.0-77 から入手可能: BPM 拡張子 Gerbera-PR #3993 が統合され、公式イメージに含まれています。より高い精度はオプションであり、次の方法で有効にする必要があります。 prefer_highest_bpm_accuracy="yes" スイッチがオンになります。この属性がないと残る no デフォルト。

MP4 属性 tmpo 整数が含まれています。さらに、追加の iTunes BPM タグには、より正確な値を含めることができます。既存の XML 要素内 import → library-options → id3 その設定をオンにできますか。既存のタグ マッピングを保持します。

<id3 prefer_highest_bpm_accuracy="yes" prefer_ambigous_bpm_value="bpm_tag">
  <metadata>
    <add-data tag="BPM" key="upnp:beatsPerMinute" />
  </metadata>
</id3>

紛失した場合 prefer_highest_bpm_accuracy または次のように設定されている場合 no、以前の動作が保持されます。のために yes Gerbera 読み取り tmpo および追加の BPM タグを個別に追加します。距離が 1 BPM 未満の場合、タグ値が採用されます。たとえば、 123,5 代わりに 123。値が少なくとも 1 BPM 異なる場合、選択は次のように決定されます。 prefer_ambigous_bpm_value: tmpo 整数を好む、 bpm_tag 追加タグ。 2 番目の属性が存在しない場合、 bpm_tag。属性表記は明示的です prefer_ambigous_bpm_value.

この選択には有限の正の数のみが有効です。ファイルタグでは小数点を使用してください。有効なソースが 1 つだけの場合は、それが使用されます。ハーフタイムまたはダブルタイムの値は自動補正されません。その他のタグ、ジャンル、キー、カバーは従来通り読み込まれます。構成を変更した後、Gerbera を再起動し、影響を受けるファイルを再インポートします。通常の再スキャンでは、変更されていないファイルがスキップされる場合があります。

AIFF: BPM、複数のジャンルをキーにして読み取ります

AIFFファイルにID3タグがあるのにBPMやKeyが取得できない場合は、Gerberaの 設定 → エキスパート → インポート → マッピング → Mimetype-Contenttype 認識された MIME タイプとコンテンツ タイプのマッピング aiff 補足。のために audio/x-aiff そして audio/aiff それぞれ aiff 入る。これにより、Gerbera は一致する TagLib リーダーを使用できるようになります。上記の表の BPM/キー マッピングは引き続き必要です。

XML 構成では、既存のセクションの次の行 import → mappings → mimetype-contenttype 既存のマッピングを保持しながら、次の追加を行います。

<treat mimetype="audio/x-aiff" as="aiff" />
<treat mimetype="audio/aiff" as="aiff" />

Gerbera またはそのコンテナを再起動し、影響を受けるファイルを再度インポートします。通常の再スキャンでは、変更されていないファイルがスキップされる場合があります。名前の変更やタイムスタンプの変更は必要ありません。

OGV: オーディオ トラックとビデオ トラックからタグを採用する

OGV を使用すると、タイトル、アーティスト、アルバム、ジャンル、BPM、キーを個々のオーディオ トラックとビデオ トラックに含めることができます。 Gerberaでアクティブ化 設定 → エキスパート → Library Options → ffmpeg Library Options オプション streams-enabled。これは XML 設定で利用可能です import → library-options → ffmpeg要素、属性 streams-enabled="yes" 置く;既存の属性とタグの割り当てを保持します。

Gerbera またはそのコンテナを再起動し、既存の OGV ファイルを再インポートします。上の表の BPM/キー マッピングは引き続き必要です。ストリーム メタデータ分析が有効になっていないと、ファイル タグが正しく保存されているにもかかわらず、これらの値が存在しない可能性があります。

WebM と WMV: 適切なリーダーで複数のジャンルを採用

Git は 3.3.0-62 をビルドして以来、現在のものでも 3.3.0-77 WebM や WMV から複数のジャンルのタグを読み取ることができます。更新では既存の構成が保持されるため、新しいビルドで追加されたリーダー マッピングがまだ見つからない可能性があります。で 設定 → エキスパート → インポート → マッピング → Mimetype-Contenttype 次のマッピングを追加するか、既存の XML セクションに追加します。 import → mappings → mimetype-contenttype 入力してください:

<treat mimetype="video/webm" as="mkv" />
<treat mimetype="video/x-ms-wmv" as="asf" />

既存のマッピングと BPM/キー設定を保持し、Gerbera を再起動して、影響を受けるファイルを再インポートします。これにより、返されるビデオ MIME タイプではなく、使用されるメタデータ リーダーが変更されます。ファイルの変換や名前変更は必要ありません。基礎となるのは、 この Gerbera ソース バージョンのデフォルト マッピング.

ファイルと属性の変更を自動的に検出

Inotify はファイルシステムのイベントを検出します。 inotify-attrib="yes" はさらに、タッチによって変更されたタイムスタンプを含む属性の変更を監視します。 Linux インストールの場合、音楽パスを維持しながら、/etc/gerbera/config.xml の既存の自動スキャン セクションを拡張します。

<autoscan use-inotify="yes" inotify-attrib="yes">
  <directory location="/srv/music" mode="inotify" recursive="yes" hidden-files="no" />
</autoscan>

次に、Linux サービスを使用します。 systemctl restart gerbera 再起動します。

公式 Gerbera コンテナで通知する

公式イメージでは、マウントされた音楽フォルダーに対して Inotify がすでに有効になっていますが、追加の属性監視は最初は無効になっています。 Inotify と Monitor の使用 Inotify 属性の変更は、「Gerbera Config」→「Expert」→「Import」の下に表示されますが、チェックしたイメージのそのビューでは編集できません。設定は/var/run/gerbera/autoscan.xml.に保存されます

  1. QNAP で、Container Station で gerbera-qnap を開き、そのターミナルまたはコンソールを起動します。 Synology で、コンテナ マネージャーで gerbera-synology を選択し、ターミナルを開いて /bin/sh. を起動します。コンテナ内で次のコマンドを実行します。
  2. 次のブロックを挿入します。これにより属性が完成し、スキャン ファイルが表示されます。音楽パスと既存の設定は保持されます。
test -f /var/run/gerbera/autoscan.xml &&
sed -i -e 's/inotify-attrib="no"/inotify-attrib="yes"/g' \
  -e '/<autoscan/ { /inotify-attrib=/! s/<autoscan/<autoscan inotify-attrib="yes"/; }' \
  /var/run/gerbera/autoscan.xml &&
cat /var/run/gerbera/autoscan.xml

出力には、inotify-attrib="yes" による自動スキャンが表示される必要があります。コンテナを再起動し、Gerbera Config で [Monitor Inotify Attribute Changes] が選択されていることを確認します。 autoscan.xml がない場合は、まず実際に使用されている構成ファイルを特定します。このコマンドは、NAS ガイドで指定されている公式ビルドに適用されます。

個別のジャンルタグには追加の設定は必要ありません。 MusicServer Connect は、UPnP によって提供されるすべてのジャンル フィールドを使用します。バージョン 1.5 以降、セミコロンまたはスラッシュで区切られた結合されたジャンルも、個々のジャンル ビューに割り当てられます。サーバーとファイルのタグは変更されません。

出典: Gerbera 自動スキャンと属性監視, 公式コンテナイメージの初期設定.

Gerbera 3.3.0-77: 検索結果内の純粋なタイトル名

Gerbera は、デフォルトで UPnP 検索応答のトラック タイトルとして M_ARTIST と M_TITLE を組み合わせます。 MusicServer Connect はそのインターフェイスを介してインポートするため、TITLE ファイル タグに「Electric Deluxe」のみが含まれている場合でも、タイトル列に「Speedy J - Electric Deluxe」が表示されます。

サーバー → upnp で、M_TITLE のみを使用するように search-item-result を構成します。 extend="no" は、エントリを追加するのではなく、デフォルトのリストを置き換えます。

<search-item-result extend="no">
  <add-data tag="M_TITLE" />
</search-item-result>

の 構成スクリプト gerbera-suchtitel.py このオプションを既存の XML 構成に設定します。デフォルトのパスは /etc/gerbera/config.xml です。別のパスを引数として指定できます。既存の名前空間、コメント、その他の設定は保持されます。サーバーの構造があいまいな場合、スクリプトは書き込む前に停止します。

または、Gerbera の Web インターフェイスで 設定→サーバー→UPnP→検索項目結果 エントリー M_ARTIST 削除してのみ M_TITLE それを保持するために。 XML 値をオーバーライドする可能性があるため、Web インターフェースに既に保存されている設定を確認してください。この設定は、Gerbera 3.3 にも適用されます。アーティストは引き続き別のメタデータ フィールドとして利用できます。

Gerbera を再起動し、プラグイン接続をリロードします。この設定により、検索結果のトラック タイトルが変更されます。プラグインや音楽ファイルの変更は必要ありません。 VirtualDJに既に保存されているトラックの表示も確認してください。オプションの FRITZ!Box アーティスト検出は、この設定とは独立しています。

Gerbera: プレイリストのビューとインポート

同じプレイリストが複数回表示される理由

Gerbera では、[プレイリスト] → [すべてのプレイリスト] と [プレイリスト] → [ディレクトリ] の両方で同じプレイリストが表示される場合があります。これは、プレイリスト ファイルが複数回存在することを意味するものではありません。

MusicServer Connect は、同一のプレイリスト ビューを結合します。内容が異なる場合、またはクエリが不完全な場合、複数のビューが表示されたままになることがあります。

不完全なプレイリストのインポートをチェックする

  1. プレイリストのエントリを確認します。相対パスはそのフォルダーを参照します。
  2. 参照されているすべての音楽ファイルが存在し、Gerbera のサービス アカウントで読み取り可能であることを確認します。
  3. 変更後にプレイリストを再度読み込みます。インポートが不完全な場合は、Gerbera サービスを再起動し、スキャンを待ちます。
  4. 次に、プラグインのビューを更新し、プレイリストを確認します。

ファイルのタイムスタンプの変更を自動的に検出するには、次を使用します。 Innotify 属性の監視 アクティブ化します。

非推奨のプレイリスト参照と M3U 文字セット

参照先のメディアファイルを変更した後は、プレイリストの内容を再確認してください。通常の再スキャンでは既存のプレイリスト表示が変わらない場合があります。その後、MusicServer Connectのライブラリを更新してください。カタログIDが変わる場合があります。

同じプレイリスト ファイルを MinimServer と共有するには、M3U を Windows-1252 に保存し、M3U8 を UTF-8 に保存します。テストされたビルド 3.3.0-77 の Gerbera の標準インポーターは、Windows-1252-M3U のウムラウト パスを正しく解決しませんでした。の 検証済みの M3U インポート拡張機能をダウンロード 設定したカスタム スクリプト ディレクトリに保存します。 M3U 行で有効な UTF-8 を検出し、それ以外の場合は Windows-1252 を使用します。 M3U8、PLS、および XML プレイリストは引き続き標準インポーターを使用します。既存のカスタム スクリプトを保持します。

既存の Gerbera 構成では、 import/scripting/import-function からのプレイリスト関数名 importPlaylist に mscImportPlaylist 変えること。下 import/scripting/script-folder/custom 構成されたディレクトリにはダウンロードしたファイルが含まれており、コンテナーのインストール用に永続的に保存される必要があります。テストベンチでは劣ります /var/run/gerbera/custom-js。次に、Gerbera を再起動し、プレイリスト レコードを再度インポートします。拡張機能には JavaScript インポーターが必要です。

MiniDLNA / ReadyMedia 1.3.3: プレイリストのファイル拡張子

MiniDLNA 1.3.3 は、.m3u および .pls のプレイリストを認識します。 .m3u8 を持つファイルは読み込まれません。

推奨事項: 可能であれば M3U の名前を変更してください

他のアプリケーションまたはサーバー構成が現在の M3U8 ファイル名に依存していない場合は、拡張子を .m3u8 から .m3u に変更します。これは、MiniDLNA の最も簡単な解決策です。コンテンツ、UTF-8 エンコード、場所を変更しないで、相対的な音楽パスが引き続き機能するようにします。プレイリスト ファイル名への参照を更新します。次に、MiniDLNA にプレイリストを再度インポートさせ、プラグインを更新します。

代替案: 共有 M3U8 ソースを保存します。

他のサーバーで M3U8 ファイルが必要な場合は、MiniDLNA 用に追加の M3U ファイルを作成します。別のフォルダーにある場合は、音楽の相対パスを調整するか、絶対パスを使用します。

の セットアップスクリプト minidlna-playlist-view.py ソースと宛先をチェックし、派生 M3U を作成し、media_dir=A,/media3 を MiniDLNA の既存の構成に追加します。 M3U8 ソースまたは既存の media_dir エントリは変更されません。宛先が競合すると停止します。 MiniDLNA をリロードし、プラグインを更新します。ソース プレイリストを変更した後、スクリプトを実行し、MiniDLNA を再度再起動して、派生ビューを最新の状態に保ちます。変更ウォッチャーはインストールされていません。

再構築時のキャッシュ権限

MiniDLNA が再構築時にカバー キャッシュをクリーンアップできない場合は、キャッシュとそのサブディレクトリに対する書き込み権限を確認してください。

他のインストールの場合は、最初に実際のサービス アカウントと構成されたキャッシュ パスを特定します。ライブラリを再構築した後、プラグインを更新します。必要に応じて「DB検索→データベースに追加」で全曲リストを再登録してください。

音声とビデオを共有する

とのシェア media_dir=A,/srv/music 音声に限定されます。どちらのメディア タイプでも、この既存の行を開きます media_dir=AV,/srv/music 変更し、さらに承認を得て、サービスを再開します。コーデックとメタデータの制限はこれとは関係ありません。

Serviio 2.5: 必要なビューをリリースします

アルバム アーティストと元のアルバムの順序を利用できるようにするには、Serviio コンソールに必要なカテゴリを表示します。

曲順

元の曲順を表示するには、1 つのアルバムを開きます。 VirtualDJ で選択した列を並べ替えると、表示される順序が変更されることがあります。

Serviio コンソールの [プレゼンテーション] → [オーディオ] で、[音楽]、[アルバム]、[タイトル]、および [プレイリスト] を [カテゴリを表示] に設定します。他のオーディオ カテゴリでは「コンテンツのみを表示」を使用できます。アルバム ビューは補足クエリで使用できる必要があります。音楽ファイルを変更する必要はありません。

保存されているさまざまなアルバム アーティスト

Serviio のアルバムまたはアーティストのメタデータがファイル タグと異なる場合は、サーバー上のメタデータを再読み取りしてから、プラグインを更新します。

ジャンルタグが複数ある場合は、最初のジャンルタグのみが採用されます。

ファイルに複数のジャンル タグがある場合、最初のジャンル タグのみが使用されます。残りのジャンルは、返されたメタデータとジャンル ツリーから欠落しています。この互換性の制限は、1 つのファイル形式に固有のものではありません。

動画も読む

下 ライブラリ → 共有フォルダ 既存のライブラリフォルダーを編集し、さらに オーディオ また ビデオ それを有効にするために。共有を保存して、 強制リフレッシュ 実行する。混合ファイルのプレイリストは、Serviio によって個別のオーディオ ビューとビデオ ビューで配信されます。

Twonky サーバー 8.5.2: フルトラックとアルバムの検索

Twonky 構造を検出すると、MusicServer Connect は完全なネイティブ トラックとアルバム ビューを使用します。私たちのチェックでは、グローバル サーバー検索により、W および Y の下でアクセス可能な 7 つのトラックが省略されました。自動フォールバックもこれらのトラックを取得し、アルバムの順序を保持します。追加のプラグイン設定は必要ありません。不完全または一貫性のないネイティブ ページは依然として拒否されます。

フォローアップ チェックでは、149 メディア ファイル (139 オーディオ、10 個のビデオ) が対象となり、すべて取得エラーなしでビューが提供されました。 ASX/XSPF のサポートが欠落しており、形式とメタデータはサーバーの制限のままです。 Twonky は、再起動後に新しいベンダー ログインが必要になる場合があります。ログイン通知は音楽カタログではありません。

Universal Media Server 15.8.2: Linux サービスとアルバム表示

Linux サービスの場合、ウムラウトやその他の Unicode 文字を含む音楽パスを処理できるように、環境を UTF-8 に設定します。

と systemctl edit DIENSTNAME.service 独自の UMS サービス用に次の追加をセットアップします。その後 systemctl daemon-reload このサービスを実行して再起動し、ライブラリのスキャンを待ちます。

[Service]
Environment=LANG=C.UTF-8
Environment=LC_ALL=C.UTF-8

C.UTF-8 ロケールがシステムで使用可能である必要があります。 Java file.encoding を単独で設定しても、ファイル名に使用されるロケールは置き換えられません。対話型シェルから起動された Java コマンドは、実行中のサービスとは異なる設定を使用する場合があります。

Linux 上の音楽フォルダーに直接アクセスすると、疑問符を含む名前など、ファイル名に対する Windows 共有の制限が回避されます。

アルバムアーティストとデータベース検索

UMS.conf 内の完全なアルバム アーティスト情報を確認するには、組み込みデータベース検索をアクティブにして、UMS を再起動します。

search_lucene_use_engine = false

この設定により、Lucene の全文検索が組み込みのデータベース検索に置き換えられます。

オリジナルアルバムのご注文

元の曲順を表示するには、1 つのアルバムを開きます。 VirtualDJ で選択した列を並べ替えると、表示される順序が変更されることがあります。

UMS は、複数のジャンル タグを「/」で区切って 1 つのテキストに結合します。 MusicServer Connect はそこから個々のジャンル ノードを作成します。トラックはリストされているすべてのジャンルの下に表示されます。 複数のジャンルを扱う.

ASX ファイルと不完全なカタログ検索

UMS 15.8.2 は、対応するオブジェクトを返さずに、ASX プレイリスト ファイルをビデオ フォルダーとしてカウントする場合があります。オーディオ検索では、返される一致よりも多くの一致がアナウンスされる場合があり、オーディオ クラスの検索から OGG が省略される場合があります。 MusicServer Connect はこれらの不一致を検出し、実際のファイル フォルダーを使用してカタログを補足します。 141 オーディオ ファイルと 10 個のビデオ ファイルのチェックされたコレクションが完全に表示され、既存のオーディオ ID とメタデータが保持されます。追加の設定は必要ありません。

プラグインは、不完全な SQL 検索とは関係なく、実際のサブフォルダーを検出します。以前にチェックした検索ページは、エイリアスをマップするためにのみ使用されます。 2 つの完全なファイル インベントリを受け入れる前に比較し、検索状態の変更を再度チェックします。仮想フィルターの組み合わせは通過しません。将来の UMS バージョンで正しいメディア クラスを含む完全な検索結果が提供される場合、プラグインは自動的にその直接検索を再度使用します。ライブラリのソース ファイルは変更されません。

このフォールバックは、欠落しているサーバー メタデータやプレイリスト エントリを修復しません。ASX、WPL、および XSPF はプレイリスト ビューとして依然として存在しません。 UMS は、ここでチェックした古い M3U/PLS リストから最初のトラックを省略しました。ただし、3 つの混合フォーマット リストには、繰り返しのオーディオおよびビデオ エントリを含む 6 つの位置すべてが含まれています。

オーディオ変換とストリーミング WAV

UMS は、クライアント プロファイルに応じて、音声を 16 ビット WAV にトランスコードする場合があります。フォローアップ チェックでは 4 つのサンプルに完全な音声が含まれていましたが、無制限の WAV 長さは厳密なファイル検証に失敗しました。 16ビットへの正規化後の通常のデコードと比較は成功しました。これは、元の 24 ビット解像度が維持されていることを証明するものではありません。非常に狭い範囲のリクエストは、変換中に空を返す可能性があります。通常のダウンロードと 64 KiB リクエストは機能しました。

余分なトランスコーディングフォルダーを非表示にする

show_transcode_folder = false 代替トランスコーディング設定用の仮想フォルダーを非表示にします。トランスコーディング自体と保存されたメディア タグは保持されます。この表示オプションだけでは、一貫性のない UPnP ページ数は修正されません。

MinimServer: BPM/キーとライブラリの更新

音楽ファイルから BPM とキーを読み取ります

追加のタグを提供するには、MinimServer のフル ライセンスまたはトライアル ライセンスが必要です。音楽ファイルには、BPM タグと KEY タグ、または INITIALKEY タグが含まれている必要があります。

  1. MinimServer 構成ページで、「プロパティ」を開きます。
  2. itemTags の下の名前 BPM,KEY,INITIALKEY 補足。既存のエントリを保持します。タグは独自の音楽ファイルと一致する必要があります。 KEY そして INITIALKEY MP3 フィールドを考慮してください。 TKEY MinimServer では次のように扱われます。 INITIALKEY 読まれます。
  3. 変更を保存し、要求されたサーバーの再起動を実行します。
  4. [ステータス] で再スキャンを実行します。次に、MusicServer Connect のライブラリを更新します。

詳細情報: MinimServer: 追加のメタデータ そして ライセンスの範囲。 WiiM の Advanced Mode は、WiiM アプリの機能です。ここでの完全なライセンス要件は、追加のサーバー メタデータに関するものです。

VirtualDJ に既に格納されている値は、変更後も残る場合があります。埋め込まれた BPM/key タグを再度読み取るには、影響を受けるトラックを選択し、コンテキスト メニューで [音楽ファイルから BPM とキーを読み取る] を選択します。新しいオーディオ分析を行うには、「BPM とタグの分析」を使用します。複数のトラックが選択されている場合、このアクションは「バッチ」の下にあります。

変更後の再読

音楽ファイル、タグ、または変更時間を変更した後、MinimServer を再スキャンします。設定ページを開き、[ステータス] タブを選択して、[再スキャン] をクリックします。 「実行中」と報告されるまでステータスを更新し、その後 MusicServer Connect を更新します。通常、MinimServer を再起動するだけでは再スキャンはトリガーされません。

古いサーバー インデックスでは、トラック メタデータやオーディオ ファイルのない「変更または削除されたアイテム」プレースホルダーが返される場合があります。これらのプレースホルダーは、報告される合計に引き続き含まれる場合があります。その後、プラグインは使用可能なトラックをより少なく表​​示しますが、アルバム アーティストとアルバムは既存のサーバー コンテナから認識されたままになります。

参照 MinimServer 設定ページと再スキャン 同様に 自動再スキャン用の公式 Web API.

複数のフォルダーから 1 つのアルバムを結合する

同じアルバムのトラックが複数のフォルダーにある場合、MinimServer は同じ名前の複数のアルバムを配信できます。 「プロパティ」の設定 mergeFolderAlbums に true 示された値に変更し、保存して MinimServer を再起動します。アルバム名とアルバムアーティストは一致する必要があります。この設定はライブラリ全体に適用され、複数のフォルダーの他の一致するアルバムを組み合わせる場合もあります。メディア ファイルは変更されません。

私たちのチェックでは、これにより、オーディオおよびビデオのサブフォルダーの「MSC フォーマット テスト 1.3」が、MinimServer によって認識される 13 トラックを含む 1 つのアルバムに結合されました。以前は、2 つのグループには 11 トラックと 2 トラックが含まれていました。次に、WiiM Home でサーバーを開き、 … → 音楽サーバーを再スキャンします アプリ自体のインデックスを更新します。ラベルはアプリの言語によって異なる場合があります。その後、WiiM Home は私たちの小切手にサンプル アルバムのコピーを 1 枚だけ表示しました。

参照 MinimServer: アルバムとフォルダー そして WiiM Home: メディア ライブラリを再度読み取ります.

M3U/M3U8: 文字セットと欠落しているエントリ

MinimServer は期待しています .m3u Windows-1252 または ISO-8859-1 と .m3u8 UTF-8エンコーディングを使用します。拡張子が UTF-8 のファイル .m3u したがって、パスにアクセント付き文字が含まれるトラックは省略される場合があります。 Unicode パスには M3U8 を使用します。 M3U も必要な場合は、適切なエンコーディングで別のコピーを保存します。このエンコーディングで表現できない文字は置換しないでください。

チェックされたコレクションでは、再スキャンにより、以前に「変更または削除されたアイテム」として返された古い「Betty Ford」参照が修復され、使用可能な音声がなくなりました。追加の Sven Väth M3U を正しく Windows-1252 エンコードすることで、アクセント付きパス参照も「W.I.R.」に復元されました。両方のリストは、カタログ全体を再構築することなく、ソース順に 4 つのトラックすべてを提供しました。混合フォーマットのリストでは、リピートを含む 6 つの位置のうち 5 つが提供されました。 MKV は、形式がサポートされていないため、除外されたままです。

再スキャン後、プラグインのライブラリを更新します。ソース: MinimServer: プレイリストの形式と文字セット.

JRiver: プレイリストをインポートし、読み取りアクセスを許可します

プレイリストを JRiver ライブラリにインポートします。自動音楽インポートでプレイリストがスキップされる場合は、プレイリストを個別にインポートしてから、プラグイン ビューを更新します。

JRiver の Web サービス インターフェイスを介して書き込むには、認証を有効にする必要があります。匿名読み取りアクセスは許可されたままにする必要があります。MusicServer Connect は、通常のプレイリストとスマート プレイリストを区別するためにこれを使用します。読み取りアクセスでは、プレイリスト編集権限は付与されません。

プラグインでスマート プレイリストを表示または非表示にすることができます。ツリーの構築中に、非表示のスマート プレイリストのコンテンツは要求されません。表示するとロードされます。空のリストやオーディオ トラックのないリストは、音楽プレイリストとして表示されません。

Synology: デフォルトのメディアサーバーをセットアップする

Synologyの標準サーバーはWiiM Home Advanced Modeをサポートしています。 VirtualDJ が BPM とキー自体を計算する場合、MusicServer Connect についても十分です。保存された BPM/キー値については、次を使用できます。 コンテナ内のGerbera 。どちらのサーバーも同じ音楽ファイルを読み取ることができます。

パッケージ センターにメディア サーバーをインストールし、音楽ライブラリを共有音楽フォルダーにコピーします。ストレージ プールとボリュームはすでに存在している必要があります。

  • 一般設定: 必要に応じて DMA メニュー言語、DMA メニュー スタイル シンプル スタイル。 SSDP レポート間隔はデフォルト値のままにします。
  • 検索設定: 音楽表示形式を「タイトルのみ」に設定します。 「オーディオ/ビデオ ファイルのカバー画像」を使用して追加のカバー ファイルを許可し、デフォルトのファイル名を保持します。
  • DMA 互換性: オーディオのトランスコーディングとカスタム MIME タイプはオフのままにしておきます。目的のデバイスへのアクセスを許可します。
  • コピー後はUSBメモリを安全に取り出してください。アルバム、個々のトラック、およびプレイリストのフォルダーは、音楽の直下にあります。

Synology メディア サーバーは、複数のジャンル タグを「;」で区切られた 1 つの値に結合します。 MusicServer Connect は個別のジャンル ノードを作成するため、リストされているすべてのジャンルの下に各トラックが表示されます。 複数のジャンルを扱う.

プレイリストは .m3u 拡張子を付けて保存します。 File Station で、UTF-8 コンテンツと相対パスを維持したまま、music/Playlists にある .m3u8 ファイルの名前を .m3u に変更します。他のサーバーで M3U8 が必要な場合は、別の M3U コピーを作成します。

FRITZ!Box: オーディオ形式とトラックアーティスト

メディアサーバーをセットアップする

音楽ライブラリが入ったUSBストレージを接続します。 FRITZ!Box インターフェイスで、[ホーム ネットワーク] → [メディア サーバー] でメディア サーバーを有効にし、メディア ソースとして USB ストレージを選択して適用します。 [ホーム ネットワーク] → [USB/ストレージ] または [ストレージ] (NAS) でファイル インデックスを構築または更新し、インデックス作成を待ちます。次に、MusicServer Connect で FRITZ!Box メディア サーバーを選択します。

オーディオ形式とメタデータ

FRITZ!Box は多くのオーディオ形式をストリーミングできますが、タグの一部しか読み取れません。タグがサポートされていない場合、アルバム アーティスト、アルバム、ジャンルがライブラリ ツリーから欠落します。トラック アーティストの検出を有効にすると、MusicServer Connect は「アーティスト - トラック名」パターンの名前からアーティストを導き出すことができます。ファイルは、すべてのトラック、フォルダー、サポートされているプレイリストから引き続きアクセスできます。

FRITZ!Box形式テーブルに従ったタグ評価
オーディオフォーマットタグの読み取り
MP3、WMA、ASFはい。すべての個々のメタデータ フィールドが保証されるわけではありません。
FLACいいえ
AAC, M4Aいいえ
WAV、AIF/AIFF、LPCMいいえ
オッグ・ヴォルビス、APE、WavPack、MPCいいえ
3GP、AC3、MKA、MPA、MP1、MP2、リアルオーディオ、カラオケCDG/BINいいえ

MP3/WMA の場合、ベンダーのドキュメントには、タイトル、アーティスト、アルバム、ジャンル、トラック番号、および ID3 v2.3 以降がリストされています。したがって、アルバム アーティスト、BPM、キーはサポートされるフィールドとして確認されていません。 VirtualDJ またはプレーヤーが再生用のオーディオ形式をサポートしている必要があります。

推奨: トラック アーティストを使用する

FLAC またはタグ評価のない他の形式のライブラリの場合、MP3 と混合した場合でも、ビュー 曲のアーティスト ファイル名がパターンに従っている場合 「アーティスト - タイトル名」 対応します。これをソース MusicServer Connect のコンテキスト メニューで最初に行うには 「ファイル名からタイトルアーティストを決定」 オンにします。次に、このビューがまだアクティブになっていない場合は、「アーティストを表示」を選択し、「タイトルアーティストに切り替える」を選択します。

この検出は、新しいサーバー接続ではデフォルトで無効になっており、接続ごとに保存されます。オフにするには、同じメニューで「ファイル名からのトラックアーティスト検出を無効にする」を選択します。ファイル名が「アーティスト - トラック名」に従っていない場合は、無効のままにしてください。プラグインは、ハイフンの前のテキストがアーティストであるかタイトルの一部であるかを判断できません。

検出が有効になっている場合、アーティストは欠落しており、名前はパターンと一致します。MusicServer Connect は最初の「 - 」で分割されます。たとえば、「1st Bass - Slam Me Down」は、アーティスト「1st Bass」、タイトル「Slam Me Down」になります。さらにハイフンはタイトルに残ります。既存のアーティストのメタデータが優先されます。無効にすると、この分割は実行されず、サーバーが提供するタイトルはこの目的のために変更されないままになります。リミックス検出は別の設定です。

切り替え時に、タイトルとアーティストがプラグインで生成された 2 つのバリアントのいずれかに一致する場合、MusicServer Connect は保存されたタイトル表示も更新します。他の手動編集は保存されます。このスイッチは、BPM、キー、リミックス、または分析値を変更しません。

この検出により、アーティスト フィールドとトラック アーティスト ビューが埋められます。アルバム、アルバムアーティスト、ジャンルのタグを置き換えるものではありません。ライブラリに MP3、WMA、または ASF のみが含まれている場合は、サーバー提供のタグを使用でき、フォールバックとしてトラック アーティスト ビューは必要ありません。アルバム アーティスト ビューは、サーバーが実際に必要な情報を提供する場合にのみ役立ちます。

タグが読み取られない形式の場合、FRITZ!Box は格納された BPM/key 値を提供することもできません。 VirtualDJ はこれらを自分で計算できます。完全なタグベースのライブラリ ナビゲーションを行うには、フォーマットのメタデータをサポートするミュージック サーバーを使用してください。

プレイリスト

M3U または PLS を使用します。 WPL は認識されますが、トラックを省略できるため、信頼できる完全なリストを得るには M3U または PLS を選択してください。 M3U8、ASX、XSPFはプレイリストとして認識されません。 UTF-8 コンテンツと有効な相対音楽パスを保持します。 MusicServer Connect は、表示されるプレイリスト名からファイル拡張子と追加されたフォルダー名を削除します。

メーカーのドキュメント: オーディオ形式、タグ読み取り、プレイリスト形式, バージョンの並べ替えとタグ付け 同様に メディアサーバーをセットアップしてファイルインデックスを作成する.

QNAP: 標準メディアサーバーと Gerbera を並行して実行します。

QNAP の標準メディア ストリーミング アドオンは、WiiM Home Advanced Mode をサポートします。 VirtualDJ が BPM とキーを計算し、間違ったプレイリストの順序が許容される場合は、MusicServer Connect にとっても十分です。保存された BPM/キーの値、個別のジャンル、および正しいプレイリストの順序については、次を使用できます。 Gerbera コンテナステーション付き 補充される。

App Center にマルチメディア コンソールとメディア ストリーミング アドオンをインストールします。音楽フォルダーを Public/music の下に配置します。 [マルチメディア コンソール] → [コンテンツ管理] で、[メディア ストリーミング アドオン] を選択し、コンテンツ ソースとしてパブリック/音楽を追加します。

  • インデックス作成: マルチメディア情報を有効にします。通常の優先度。 UTF-8 ライブラリの場合、提供されている場合は UTF-8 を選択し、そうでない場合はデフォルトのままにします。
  • メディア ストリーミング アドオン設定を個別に開きます。自分の NAS ユーザー アカウントと適切なネットワーク インターフェイスを選択します。デフォルトのポート 8200 を使用します。
  • DLNA Media Renderer で、目的の PC またはクライアントのアクセスを許可します。
  • [ブラウズ設定] で、[デフォルトのメニュー スタイル] を [すべてのカテゴリ] に設定します。 [DLNA メディア レンダラー] で、[すべてのカテゴリ] とクライアントの独自のユーザー プロファイルも選択します。両方の変更を適用します。
  • App Center でメディア ストリーミング アドオンを停止してから開始します。その後、デバイスのリリースを再度確認し、必要に応じて再度設定します。
  • プレイリストは、M3U、PLS、または WPL として利用できます。 M3U8 はサポートされていません。 UTF-8 と有効な相対パスを使用してください。 3 つのフォーマットすべてでトラックの順序が不正確なままです。

ファイル名に疑問符が含まれていると、Windows/SMB 経由でコピーするときに問題が発生する可能性があります。 QNAP File Station を使用して、影響を受けるファイルを USB ストレージから適切な音楽フォルダーに直接コピーします。

アルバムの順序の場合は、各アルバムの音楽を 1 つのフォルダーに保存します。複数のディスクの場合は、正の一意のトラック番号を持つ CD 1 や CD 2 などのサブフォルダーを使用します。 QNAP は最初のジャンルのみを使用します。 M3U、PLS、WPL ではプレイリストの順序が正しくないままです。それらを切り替えても問題は解決しません。

MusicServer Connect に Gerbera を追加

後も、Public/music および Gerbera の下にある既存のライブラリを引き続き使用します。 段階的な指示に従ってください 。次に、プラグインで Gerbera のデバイス URL に接続し、トラック、タグ、順序を確認します。 WiiM Home Advanced Mode またはその他のデバイスで Media Streaming Add-on を実行したままにして、そこで QNAP の標準サーバーを選択します。 BPM/キーには MusicServer Connect で Gerbera を使用し、プレイリストの順序を修正します。 WiiM Home も同じサーバーからの信頼できるプレイリストを必要とする場合、MinimServer が適切な共有ソリューションです。どちらのサービスも同じ音楽ファイルを読み取ります。

ベンダーのメモ: M3U 形式、UTF-8 および相対パス 同様に メディア ストリーミング アドオンでの手動デバイス共有.

QNAP: WavPack 補正を使用して Gerbera を段階的に設定します

Gerbera は、QNAP 用の追加のメディア サーバー ソフトウェアです。 MusicServer Connect の主な利点は、音楽ファイルに既に保存されている値にアクセスできることです。 BPM と音楽キーのメタデータ: QNAP の内蔵 UPnP メディア サーバーは、この情報を提供しません。次の手順では、必要なメタデータ マッピングを設定します。

プレイリストのサポートは、Gerbera にも当てはまります。 ここで説明する QNAP 標準 UPnP サーバーは、M3U8 プレイリストを表示しません。認識されている M3U、PLS、ASX、および WPL 形式の場合、トラックの順序は保持されません。したがって、M3U8 の名前を M3U に変更しても、順序は修正されません。 M3U8 または正確な再生順序が必要な場合は、Gerbera が代替手段となります。

Gerberaが必要ないのはどんなときですか? ファイルに BPM/キー値が保存されておらず、プレイリストの順序が重要ではない場合、これらの目的には Gerbera は必要ありません。 VirtualDJ は、ミュージックサーバーなしでファイルを解析することで、BPM と音楽キーを計算できます。 QNAP の内蔵メディア サーバーを保持し、VirtualDJ に計算させることができます。

QNAP 独自のメディア サーバーは、たとえば WiiM Home Advanced Mode など、Gerbera と並行して実行し続けることができます。 Gerbera は、この WiiM モードをサポートしていません。音楽は既存のフォルダーに残ります。 Gerbera は読み取り専用アクセスを取得します。このガイドでは、新しいファイルと変更されたファイルの自動検出も有効にします。

推奨バージョン: このガイドでは、公式の Gerbera Git ビルドを使用します 3.3.0-77 ソースリビジョンから 245e723。 Docker イメージはタグと SHA-256 チェックサムで設定されます。すでに適用されている修正が含まれています WavPack そして プレイリストのタイトルが繰り返される 同様に WebM/WMVの複数ジャンル そして BPM の精度が向上。既存の構成を使用して更新する場合、これも同様です リーダーマッピングを追加する。 3.3.0 による開発状況であり、新しい安定リリース版ではありません。

Gerbera 3.3.0 は、WavPack インポート中に正しくありません: から読み取る場合、変更されていない 3.3.0 イメージを読み取ることができます。 .wvファイル。ここで使用されるビルドでは、影響を受けるメモリがヒープ上に割り当てられます。 WavPack は引き続き完全に使用可能です。追加のパッチ スクリプトは必要ありません。上に示した完全なイメージ参照を使用してください。

1。フォルダー、ユーザー、ファイルを準備する

  1. パスワードがわかっているアクティブな管理者アカウントを使用して QTS にサインインします。ビルトインアカウント admin このためにアクティブ化する必要はありません。別の承認された管理者アカウントで十分です。
  2. にインストールします アプリセンター アプリケーション コンテナステーション。それを開いて初期設定を完了します。 Gerbera には、マルチメディア コンソールとメディア ストリーミング アドオンは必要ありません。
  3. の下に作成 「コントロールパネル」→「許可」→「ユーザー」→「作成」 ユーザー gerbera 。このユーザーには管理者権限は必要ありません。フォルダーやファイルを含む音楽共有への読み取りアクセスを許可します。 SSH には管理者アカウントを引き続き使用します。
  4. 例では music フォルダーを使用します Public/music、NAS /share/Public/music。別の共有の場合は、実際のパスを使用します。既存の音楽はそこに残ることができます。 Windows のような不正な文字を削除します。 ? ファイル名から抽出し、必要に応じてプレイリスト参照を調整します。タイトル タグにはこれらの文字がまだ含まれている可能性があります。
  5. で作成する ファイルステーション 下 Public フォルダ gerbera-qnap とその空のサブフォルダー empty .
  6. ダウンロード ファイルをcompose.yamlとして作成します 。 File Station 経由で直接アップロードします。 Public/gerbera-qnap フォルダの隣に empty。ファイル名は次のとおりです。 compose.yaml 追加なしで .txt.

2。 SSH を有効にして root アクセスを取得します

  1. QTS で開く [コントロール パネル] → [ネットワークとファイル サービス] → [Telnet/SSH].
  2. 有効にする SSH接続を許可するで港を出ます。 22 そしてクリックしてください 申し込む。もし アクセス権限の編集 が提供されている場合は、管理者アカウントにそこへのアクセスを許可してください。 NAS ファイアウォールがアクティブな場合は、コンピューターの SSH ポートがローカル ネットワークで許可されている必要があります。
  3. Windows-PC でターミナルを開くか、Mac ターミナルで PowerShell を開きます。次のコマンドで置き換えます DEIN_QTS_KONTO 管理者アカウントを通じて、 NAS_IP QNAP IP アドレスを使用します。
ssh DEIN_QTS_KONTO@NAS_IP

初めて接続を確立するときは、表示される宛先アドレスを確認し、クエリを確認します。 yes。 QTS アカウントのパスワードを入力します。入力時に文字やアスタリスクは表示されません。別の SSH ポートが使用されている場合に使用します ssh -p PORTNUMMER DEIN_QTS_KONTO@NAS_IP.

次に、root 権限に切り替えます。

sudo -i
id

再度パスワードを要求された場合は、登録した QTS アカウントと同じパスワードを使用してください。特別な root パスワードは必要ありません。の出力 id しなければならない uid=0 含まれています。 QNAP では、関連するユーザー名が見つかります。 admin 。管理メニューが表示された場合は、「シェル」または「終了」オプションを使用して終了します。セットアップ中はターミナルを開いたままにしておきます。次のすべてのターミナル コマンドは QNAP で実行されます。

音楽アクセス用に作成されたユーザーの ID を確認します。

id gerbera

出力が次のようになった場合 uid=1001(gerbera) gid=100(everyone) です UID 1001 および GID 100。作成ファイルに独自の番号を書き留めます。

3。構成ファイルをカスタマイズする

ダウンロードしたものを開きます compose.yaml テキスト エディタを使用して、例の値を置き換えます。 UID そして GID ステップ 2 の番号を順に入力し、保存したファイルを再ロードします Public/gerbera-qnap 高い。音楽マッピングは、最初は空のフォルダーを指します。既存の音楽は、メタデータ構成後にのみインポートされます。

services:
  gerbera:
    image: gerbera/gerbera:sha-245e723@sha256:b4463e92ee6cc0c6338b91d822904cb894dd66480e4eed60930fad1b69378e09
    container_name: gerbera-qnap
    network_mode: host
    restart: unless-stopped
    environment:
      # Beispielwerte: durch UID und GID aus "id gerbera" ersetzen.
      UID: "1001"
      GID: "100"
    command:
      - gerbera
      - --interface
      - eth0
      - --port
      - "49494"
      - --config
      - /var/run/gerbera/config.xml
    volumes:
      - gerbera-data:/var/run/gerbera
      # Zuerst den leeren Ordner verwenden; in Schritt 7 auf /share/Public/music aendern.
      - /share/Public/gerbera-qnap/empty:/mnt/content:ro

volumes:
  gerbera-data:

公式イメージでは、サポートされている NAS モデルに適切な ARM64 または AMD64 バリアントが選択されます。テンプレートには、固定 NAS IP アドレスが含まれていません。 --interface eth0 このネットワーク インターフェイスのアドレスを使用します。複数のポート、仮想スイッチ、またはポート バンドルを備えたデバイスの場合は、 eth0 実際にホームネットワークに使用されるインターフェースを介して。 network_mode: host NAS ネットワークで UPnP 検出を有効にします。

/mnt/content:ro コンテナ パスとしては変更されず、音楽の読み取りのみが許可されます。ボリューム gerbera-data 設定とデータベースを永久に保存します。 restart: unless-stopped 事前に手動で停止していなかった場合、NAS の再起動後にコンテナを再起動します。

4。空のライブラリでアプリケーションを開始する

  1. 開く コンテナステーション → アプリケーション → 作成。名前を使用する gerbera-qnap.
  2. カスタマイズしたコンテンツ全体を追加します compose.yaml YAML フィールドに入力します。インデントをスペースのままにしてクリックします。 検証する.
  3. アプリケーションを作成して起動します。イメージの最初のダウンロードには時間がかかる場合があります。まで待ってください gerbera-qnap アクティブとして表示されます。
  4. 開く http://NAS_IP:49494/ ブラウザで。 Container Station で Web URL が欠落していても、直接アクセスは妨げられません。この段階では、Gerbera ライブラリは意図的に空になっています。

5。 BPM、キーとタイトル表示を設定する

Gerberaで開く 構成 で選択してください ファッション一覧 景色 エキスパート。下 Library Options → taglib Library Options → メタデータ そしてその下 ffmpeg Library Options → メタデータ 以下のマッピング。他の既存のラインを保持します。

Tag Name および Upnp metadata entry
図書館Tag NameUpnp metadata entry
taglibBPMupnp:beatsPerMinute
taglibKEYupnp:key
taglibINITIALKEYupnp:initialKey
ffmpegBPMupnp:beatsPerMinute
ffmpegキーupnp:key
ffmpeg初期キーupnp:initialKey
  1. 下 サーバー → 名前 名前 Gerbera QNAP a.こうすることで、後でそのサーバーを他の音楽サーバーと区別できるようになります。
  2. 以下のAIFFについて インポート → マッピング → Mimetype-ContentType 2つの課題 audio/x-aiff → aiff そして audio/aiff → aiff 補足。これらの割り当てがないと、既存のタグにもかかわらず、BPM、キー、およびその他のジャンルが欠落する可能性があります。 AIFF構成.
  3. 以下のOGVについて ffmpeg Library Options オプション streams-enabled タグがオーディオおよびビデオ トラックから読み取られるようにアクティブ化します。 OGV構成.
  4. taglib および ffmpeg のフィールドを設定します。 charset に UTF-8。また、 filesystem-charset, metadata-charset そして playlist-charset すべきです UTF-8 使用します。
  5. 下 UPnP → タイトル結果項目 フィールドを空にします M_ARTIST そして受け取る M_TITLE。これにより、単純なトラック タイトルが提供されます。
  6. 下 WavPack Library Options 残る 有効 スイッチが入りました。
  7. をクリックしてください 設定の保存、Container Station で空のコンテナを再起動し、構成を再度開いた後、値が保存されていることを確認します。

BPMとキーは音楽ファイルに保存済みである必要があります。Gerberaはこれらの値を計算しません。MP4/M4A/M4Vについては、既存の id3要素 prefer_highest_bpm_accuracy="yes" そして prefer_ambigous_bpm_value="bpm_tag" によると BPM 精度の構成 指示された値にします。最初のオプションを選択しないと、以前の動作が保持されます。通常の再スキャンでは、すでにインポートされていて変更されていないファイルがスキップされる場合があります。初めて音楽をインポートする前に、これらのオプションを設定します。個別のジャンルタグには追加の設定は必要ありません。

6。自動更新を有効にする

Gerbera はすでに新しいファイルと変更されたファイルを自動的に監視しています。開いたルート端末にこの完全なブロックを使用して、ファイル属性の変更の検出を追加します。

docker exec -i -u 0 gerbera-qnap /bin/sh <<'GERBERA'
set -eu
file=/var/run/gerbera/autoscan.xml
test -f "$file"
sed -i -e 's/inotify-attrib="no"/inotify-attrib="yes"/g' \
  -e '/<autoscan/ { /inotify-attrib=/! s/<autoscan/<autoscan inotify-attrib="yes"/; }' \
  "$file"
cat "$file"
GERBERA

出力の自動スキャンセクションの先頭には、 inotify-attrib="yes" 立つ。設定は永続データ ボリューム内にあり、次の起動時にロードされます。

7。音楽フォルダーをマウントし、Gerberaを起動します。

  1. プロジェクトまたはアプリケーションを停止します gerbera-qnap コンテナステーション内。
  2. 開く Public/gerbera-qnap/compose.yaml ファイルステーションで。空のフォルダー マッピングのみを実際の音楽フォルダーに置き換えます。次に例を示します。
- /share/Public/music:/mnt/content:ro

ファイルを NAS に保存し、次のブロック全体を開いている root ターミナルにコピーします。変更された Compose ファイルを適用し、既存のデータ ボリュームを再利用して、Gerbera を起動します。プロジェクトのパスが異なる場合は、最初の行を調整してください cd … オン。このプロセスは WavPack ファイルにも適用されます。

cd /share/Public/gerbera-qnap &&
PROJECT=$(docker inspect --format '{{index .Config.Labels "com.docker.compose.project"}}' gerbera-qnap) &&
case "$PROJECT" in ''|'<no value>') printf 'Compose-Projekt nicht gefunden.\n' >&2; false ;; *) true ;; esac &&
if docker compose version >/dev/null 2>&1; then
  docker compose -p "$PROJECT" -f compose.yaml create --force-recreate gerbera
elif command -v docker-compose >/dev/null 2>&1; then
  docker-compose -p "$PROJECT" -f compose.yaml create --force-recreate gerbera
else
  COMPOSE_BIN=
  for candidate in /share/*/.qpkg/container-station/bin/docker-compose; do
    if [ -x "$candidate" ]; then COMPOSE_BIN=$candidate; break; fi
  done
  if [ -n "$COMPOSE_BIN" ]; then
    "$COMPOSE_BIN" -p "$PROJECT" -f compose.yaml create --force-recreate gerbera
  else
    printf 'Docker Compose wurde nicht gefunden. Container Station pruefen.\n' >&2
    false
  fi
fi &&
docker start gerbera-qnap

それから開いてください http://NAS_IP:49494/ そしてライブラリがロードされるまで待ちます。以下で進捗状況を確認できます コンテナステーション → コンテナ → gerbera-qnap → プロトコル。引き続き、完全に準備されたファイルのみを音楽フォルダーにコピーします。プレイリストには有効な相対ファイル パスと UTF-8 エンコードが必要です。

8。 MusicServer Connectを接続する

MusicServer Connect でサーバーを選択します Gerbera QNAP。手動接続に使用します http://NAS_IP:49494/description.xml。トラックのインベントリ、保存された BPM/キーの値、プレイリストの順序を確認します。

接続に問題がある場合は、コンテナーのステータス、NAS IP、ネットワーク インターフェイス、およびポートの競合の可能性を確認してください。 UPnP 検出のためには、 UDP 1900、Web インターフェイスとメディア アクセス用 TCP 49494 ローカルネットワークでアクセスできること。で Permission denied UID、GID、および Gerbera ユーザーの読み取り権限を制御します。パス /content 公式イメージでは、Gerbera プロトコルでは正常です。

次のコマンドでターミナルを終了します exit;後 sudo -i 通常、これは 2 回必要です。 SSH が必要ない場合は、QTS で削除してください [コントロール パネル] → [ネットワークとファイル サービス] → [Telnet/SSH] のチェックボックス SSH接続を許可する そしてクリックしてください 申し込む.

9。再起動と新しい Gerbera バージョン

通常の再起動の場合は、 コンテナステーション → コンテナ → gerbera-qnap → 再起動。設定とデータベースは指定されたデータ ボリュームに残ります gerbera-data 受け取りました。コンテナを再構築するときは、公式イメージからの変更されていない実行可能ファイルが使用されます。

既存の 3.3.0 インストールからの切り替え

このガイドの完全なイメージ リファレンスを使用し、音楽設定、ユーザー ID、プロジェクト名、データ量を保存します。以下に示すようにコンテナを再作成します。単純な再起動では、別のイメージはインストールされません。コンテナを置き換えると、以前のローカル バイナリ パッチはすべて削除されます。

後で安定したリリースにアップグレードする

  1. で選択してください 公式Gerberaリリースページ WavPack 修正を含む安定バージョン PR #3981 。構成とデータベースのメモを読んでください。このようなリリースが利用可能になるまで、ここで明示的に指定されている Git バージョンは固定の暫定ビルドです。移動するものは使用しないでください latest- または edgeタグ。
  2. 開く Public/gerbera-qnap/compose.yaml。それを交換してください 後の完全な値 image: を通して gerbera/gerbera:NEUE_VERSION。これには、以前のものの削除も含まれます @sha256:…古い画像に属しているため、参照してください。交換する NEUE_VERSION 選択したバージョン番号を付けます。あるいは、更新されたガイドの完全なイメージ参照を使用します。他の設定はすべて変更しないでください。
  3. 必要に応じて、上記の説明に従って SSH を有効にし、root 端末にログインします。選択した画像をダウンロードします。
docker pull gerbera/gerbera:NEUE_VERSION
  1. Container Station で既存のプロジェクトまたはアプリケーションを停止します。コマンドブロック全体を実行する ステップ7 アウト。既存のデータ ボリュームは削除しないでください。
  2. 起動とデータベースのアップグレードが完了するまで待ちます。バージョン、サーバー名とプロトコル、保存された BPM/key 設定を確認します。 MusicServer Connect を接続して、いくつかのトラック、WavPack ファイル、プレイリストを確認します。

ベンダーガイド: QNAP コンテナ ステーションと YAML の変更, QNAP で SSH を有効にする, QTSユーザーの作成, 公式 Gerbera Docker イメージ.

Synology: WavPack 補正を使用して Gerbera を段階的に設定します

Gerbera は、Synology 用の追加のメディア サーバー ソフトウェアです。 MusicServer Connect の主な利点は、音楽ファイルに既に保存されている値にアクセスできることです。 BPM と音楽キーのメタデータ: Synology の内蔵 UPnP メディア サーバーは、この情報を提供しません。次の手順では、必要なメタデータ マッピングを設定します。

Gerberaが必要ないのはどんなときですか? 音楽ファイルに保存された BPM/キー値が含まれていない場合、この目的には Gerbera は必要ありません。 VirtualDJ は、ミュージックサーバーなしでファイルを解析することで、BPM と音楽キーを計算できます。 Synology の内蔵メディアサーバーを使用し続けて、VirtualDJ に計算させることができます。

Synology 独自のメディア サーバーは、たとえば WiiM Home Advanced Mode など、Gerbera と並行して実行し続けることができます。 Gerbera は、この WiiM モードをサポートしていません。音楽は既存のフォルダーに残ります。 Gerbera は読み取り専用アクセスを取得します。このガイドでは、新しいファイルと変更されたファイルの自動検出も有効にします。

推奨バージョン: このガイドでは、公式の Gerbera Git ビルドを使用します 3.3.0-77 ソースリビジョンから 245e723。 Docker イメージはタグと SHA-256 チェックサムで設定されます。すでに適用されている修正が含まれています WavPack そして プレイリストのタイトルが繰り返される 同様に WebM/WMVの複数ジャンル そして BPM の精度が向上。既存の構成を使用して更新する場合、これも同様です リーダーマッピングを追加する。 3.3.0 による開発状況であり、新しい安定リリース版ではありません。

Gerbera 3.3.0 は、WavPack インポート中に正しくありません: から読み取る場合、変更されていない 3.3.0 イメージを読み取ることができます。 .wvファイル。ここで使用されるビルドでは、影響を受けるメモリがヒープ上に割り当てられます。 WavPack は引き続き完全に使用可能です。追加のパッチ スクリプトは必要ありません。上に示した完全なイメージ参照を使用してください。

1。 NAS とユーザーの準備

  1. グループに属するアカウントで Synology DSM インターフェイスにサインインします。 管理者 聞いた。パッケージとユーザーの管理を許可されるアカウントです。アカウント名は必須ではありません admin 読んでください。アカウントにこれらの権限がない場合は、NAS を管理する人が必要になります。
  2. これを開いてください パーセルセンター そしてインストールします コンテナマネージャー。このパッケージがご使用のモデルで利用できない場合、このガイドはそのモデルには適用されません。 YAML ファイルを編集するには、Synology のパッケージを追加でインストールします。 テキストエディタ インストールします。
  3. 開く 「コントロールパネル」→「ユーザーとグループ」→「ユーザー」→「作成」。ユーザーを作成する gerbera オン。管理者権限は必要ありません。独自のパスワードを割り当てます。次の端末コマンドには、引き続き DSM 管理者アカウントを使用します。
  4. 開く コントロールパネル→共有フォルダ、たとえば音楽フォルダーを選択します。 musicを選択してください 編集 → 権限。ユーザーに与える gerbera 許可 読み取り専用。アクセスは、含まれている音楽フォルダーとファイルにも適用される必要があります。

例では、 /volume1/music 音楽フォルダーとして、 /volume1/docker コンテナファイル用。これらのフォルダーが別のボリューム上にある場合は、適切な場所にある実際の NAS パスを使用します。コンテナのパス /mnt/content そして /var/run/gerbera そのままでいてください。

2。フォルダーを作成してファイルをコピーする

  1. 開く ファイルステーション。共有フォルダー内に、 docker サブフォルダー gerbera-synology 。共有フォルダーの場合 docker が見つからない場合は、以下に作成してください コントロールパネル→共有フォルダ→作成 .
  2. という名前の別のサブフォルダーを作成します empty オン。このフォルダーは空のままです。これは一時的な音楽フォルダーとして機能するため、メタデータが設定された後にのみインポートが開始されます。
  3. ダウンロード ファイルをcompose.yamlとして作成します あなたのコンピュータに。
  4. を使用してファイルをアップロードします ファイルステーション → アップロード 直接 docker/gerbera-synology フォルダの隣に empty。ファイル名は正確に指定する必要があります compose.yaml 追加なしで .txt 付けられる。

プロジェクト フォルダーには次の 2 つのエントリが含まれています。

gerbera-synology/
├── compose.yaml
└── empty/

3。 SSH をアクティブ化し、NAS にログインして ID を確認します。

ユーザー ID を検索し、次の Docker コマンドを実行するには、NAS へのターミナル アクセスが必要です。ここに示されているコマンドをコピーできます。プログラミングの知識は必要ありません。

DSM アカウントとパスワードを確認する

  1. DSM で開く コントロールパネル → ユーザーとグループ → ユーザー。後で SSH 経由でログインするために使用するアカウントを強調表示し、クリックします 編集.
  2. アカウントをアクティブ化する必要があります: 必要に応じて、選択を削除します このユーザーアカウントを非アクティブ化します。保存後、ユーザーリストにステータスが表示される必要があります ノーマル 代わりに 障害者 が表示されます。
  3. 下 ユーザーグループ アカウントは次のものに属している必要があります 管理者 グループ。ログインして後で root に切り替えるには、このアカウントのパスワードが必要です。わからない場合は、アカウント設定で新しいパスワードを設定して確認してください。変更を保存します。

これを行うには、既存の DSM 管理者アカウントを使用できます。特に組み込みアカウントが必要ですか? admin これを使用するには、説明に従ってこのアカウントをアクティブ化し、既知のパスワードを割り当てます。ビルトインアカウント admin グループに別のアクティブなアカウントがある場合は、アクティブ化する必要はありません administrators 使用します。 1 の手順で作成したユーザー gerbera は音楽へのアクセスのみに使用され、これらの管理者権限は必要ありません。

NAS で SSH サービスをオンにします。

  1. DSM で、 コントロールパネル そしてそこに 端末とSNMP。タブを選択してください ターミナル.
  2. のチェックボックスを選択します SSHサービスを有効にする。このガイドでは、ポートを次のままにしておきます。 22 が表示されます。
  3. をクリックしてください 申し込む。この場合のみ、NAS は SSH 接続を受け入れます。 DSM ファイアウォールがアクティブな場合は、ローカル ネットワーク内のコンピュータに設定された SSH ポートを許可する必要があります。

コンピューターからログインし、root に切り替えます。

  1. NAS IP アドレスは次の場所で確認できます。 コントロールパネル → ネットワーク → ネットワークインターフェース。 Windows PC で開く ターミナル または パワーシェル; Mac の場合、アプリケーション ターミナル.
  2. このコマンドを入力します。交換する DEIN_DSM_KONTO DSM 管理者アカウントを使用して、 NAS_IP NAS IP アドレスに置き換えます。新しく作成したユーザーは使用しないでください gerbera.
ssh DEIN_DSM_KONTO@NAS_IP

初めて接続が確立されると、NAS の ID に関するクエリが表示される場合があります。表示された宛先アドレスを確認し、接続を確認してください。 yes。次に、DSM アカウントのパスワードを入力します。パスワードを入力するときに文字やアスタリスクは表示されません。これは正常です。別の SSH ポートを使用する場合は、接続時に追加します。 -p PORTNUMMER.

次に、次のコマンドを使用して、Docker に必要な権限に切り替えます。

sudo -i

再度パスワードを要求された場合は、次のように入力します。 DSM アカウントと同じパスワード。特別な root パスワードは必要ありません。通常、プロンプトは次のように終わります。 #。セットアップ中はこの端末ウィンドウを開いたままにしてください。次のすべての端末コマンドは、NAS 上で実行されます。

のために Connection refused まず、SSH サービスを使用しているかどうかを確認します 申し込む がオンになっていて、正しい IP アドレスとポート番号を使用していること。パスワードが拒否された場合は、アカウント名、パスワード、ステータスを確認してください ノーマル とメンバーシップ 管理者. Synology による root 権限での SSH ログインに関するガイド にもこのプロセスについて説明します。

Gerbera ユーザー ID を表示します。

id gerbera

次のような出力 uid=1030(gerbera) gid=100(users) 意味: UID は 1030、GID は 100。独自の出力の番号に注目してください。これらはユーザーとグループを識別します。

4。構成ファイルをカスタマイズする

File Station でファイルを開きます docker/gerbera-synology/compose.yaml と テキストエディタ。または、コンピュータで編集して再度アップロードしてください。のために UID そして GID 先ほど書き留めた数字を入力します。以下の例の値を置き換える必要があります。必要に応じて、空のプロジェクト フォルダーへの NAS パスを調整します。ファイルを保存します。

services:
  gerbera:
    image: gerbera/gerbera:sha-245e723@sha256:b4463e92ee6cc0c6338b91d822904cb894dd66480e4eed60930fad1b69378e09
    container_name: gerbera-synology
    network_mode: host
    restart: unless-stopped
    environment:
      # Beispielwerte: durch UID und GID aus "id gerbera" ersetzen.
      UID: "1026"
      GID: "100"
    command:
      - gerbera
      - --port
      - "49494"
      - --config
      - /var/run/gerbera/config.xml
    volumes:
      - gerbera-synology-data:/var/run/gerbera
      # Zuerst den leeren Ordner verwenden; in Schritt 8 auf /volume1/music aendern.
      - /volume1/docker/gerbera-synology/empty:/mnt/content:ro

volumes:
  gerbera-synology-data:

network_mode: host YAML に固定 IP アドレスがなくても、ホーム ネットワークでの検出が可能になります。終わり :ro Gerbera では、音楽フォルダーの読み取りのみが許可されます。ボリューム的に gerbera-synology-data 設定とデータベースは永続的に保存されます。 restart: unless-stopped 事前に手動で停止していない限り、NAS の再起動後に NAS コンテナを再起動できます。

5。空のライブラリでプロジェクトを開始する

  1. 開く コンテナマネージャー → プロジェクト → 作成。正確にこのプロジェクト名を使用してください: gerbera-synology 用意したフォルダーをパスとして指定します docker/gerbera-synology.
  2. 用意されているものを選択してください compose.yaml 既存の Compose ファイルとして。ダイアログに YAML エディターが表示される場合は、そこにコンテンツを挿入できます。
  3. のために Webポータルの設定 残る Web Station 経由で Web ポータルをセットアップする オフになりました。をクリックしてください 次へ そしてプロジェクトを作成して開始します。イメージの最初のダウンロードには時間がかかる場合があります。
  4. 下 コンテナ → gerbera-synology ステータスに違いない ランニング または ランニング 現れる。
  5. ブラウザで開く http://NAS_IP:49494/、たとえば http://192.168.1.10:49494/。例のアドレスを NAS IP に置き換えます。 Gerbera の表面が見えます。この時点では、音楽ライブラリは意図的に空になっています。

6。 BPM、キーとタイトル表示を設定する

Gerberaで開く 構成 そしてビューを選択します エキスパート。下 Library Options → taglib Library Options → メタデータ 下も同様に ffmpeg Library Options → メタデータ 他の既存のマッピングを保持したまま、次の行を追加します。

Tag Name および Upnp metadata entry
図書館Tag NameUpnp metadata entry
taglibBPMupnp:beatsPerMinute
taglibKEYupnp:key
taglibINITIALKEYupnp:initialKey
ffmpegBPMupnp:beatsPerMinute
ffmpegキーupnp:key
ffmpeg初期キーupnp:initialKey
  1. 下 サーバー → 名前 名前 Gerbera Synology a.こうすることで、後でそのサーバーを他の音楽サーバーと区別できるようになります。
  2. 以下のAIFFについて インポート → マッピング → Mimetype-ContentType 2つの課題 audio/x-aiff → aiff そして audio/aiff → aiff 補足。これらの割り当てがないと、既存のタグにもかかわらず、BPM、キー、およびその他のジャンルが欠落する可能性があります。 AIFF構成.
  3. 以下のOGVについて ffmpeg Library Options オプション streams-enabled タグがオーディオおよびビデオ トラックから読み取られるようにアクティブ化します。 OGV構成.
  4. フィールドを設定する charset taglib および ffmpeg の場合 UTF-8。また、 filesystem-charset, metadata-charset そして playlist-charset すべきです UTF-8 使用します。
  5. 下 UPnP → タイトル結果項目 フィールドを空にします M_ARTIST そして受け取る M_TITLE。 「アーティスト – タイトル」ではなく、純粋なタイトル名がタイトルとして転送されます。
  6. 下 WavPack Library Options 残る 有効 スイッチが入りました。
  7. をクリックしてください 設定の保存、コンテナ マネージャーでコンテナを再起動し、Gerbera 構成を再度開いた後に値が保存されていることを確認します。

BPMとキーは音楽ファイルに保存済みである必要があります。これらの設定は値を計算しません。MP4/M4A/M4Vについては、既存の id3要素 prefer_highest_bpm_accuracy="yes" そして prefer_ambigous_bpm_value="bpm_tag" によると BPM 精度の構成 指示された値にします。最初のオプションを選択しないと、以前の動作が保持されます。次に、影響を受けるファイルを再度インポートします。

7。自動更新を有効にする

Gerbera はすでに新しいファイルと変更されたファイルを自動的に監視しています。次のブロックを使用すると、ファイル属性への変更の検出を追加できます。ブロック全体をまだ開いている NAS 端子にコピーします。

docker exec -i -u 0 gerbera-synology /bin/sh <<'GERBERA'
set -eu
file=/var/run/gerbera/autoscan.xml
test -f "$file"
sed -i -e 's/inotify-attrib="no"/inotify-attrib="yes"/g' \
  -e '/<autoscan/ { /inotify-attrib=/! s/<autoscan/<autoscan inotify-attrib="yes"/; }' \
  "$file"
cat "$file"
GERBERA

出力では自動スキャンセクションの先頭になければなりません inotify-attrib="yes" 立つ。ファイルは永続データ ボリューム内にあります。設定は、後で音楽フォルダーを起動するときに音楽フォルダーとともに読み込まれます。

8。音楽フォルダーをマウントし、Gerberaを起動します。

  1. プロジェクトまたはアプリケーションを停止します gerbera-synology コンテナマネージャーで。
  2. 開く docker/gerbera-synology/compose.yaml ファイルステーションで。空のフォルダー マッピングのみを実際の音楽フォルダーに置き換えます。次に例を示します。
- /volume1/music:/mnt/content:ro

ファイルを NAS に保存し、次のブロック全体を開いている root ターミナルにコピーします。変更された Compose ファイルを適用し、既存のデータ ボリュームを再利用して、Gerbera を起動します。プロジェクトのパスが異なる場合は、最初の行を調整してください cd … オン。このプロセスは WavPack ファイルにも適用されます。

cd /volume1/docker/gerbera-synology &&
if docker compose version >/dev/null 2>&1; then
  docker compose -p gerbera-synology -f compose.yaml create --force-recreate gerbera
elif command -v docker-compose >/dev/null 2>&1; then
  docker-compose -p gerbera-synology -f compose.yaml create --force-recreate gerbera
elif [ -x /var/packages/ContainerManager/target/usr/bin/docker-compose ]; then
  /var/packages/ContainerManager/target/usr/bin/docker-compose \
    -p gerbera-synology -f compose.yaml create --force-recreate gerbera
else
  printf 'Docker Compose wurde nicht gefunden. Container Manager pruefen.\n' >&2
  false
fi &&
docker start gerbera-synology

それから開いてください http://NAS_IP:49494/ そしてライブラリがロードされるまで待ちます。以下で進捗状況を確認できます コンテナマネージャー → コンテナ → gerbera-synology → プロトコル。引き続き、完全に準備されたファイルのみを音楽フォルダーにコピーします。プレイリストには有効な相対ファイル パスと UTF-8 エンコードが必要です。

9。 MusicServer Connectと接続する

MusicServer Connect でサーバーを選択します Gerbera Synology。デバイスの URL が必要な場合は、次を使用します。 http://NAS_IP:49494/description.xml。曲、アルバム、プレイリストを確認し、保存された BPM とキー値を含む曲をいくつか開きます。

インターフェイスにアクセスできない場合、またはサーバーが見つからない場合は、まずコンテナのステータスと NAS IP を確認します。 DSM ファイアウォールが有効になっている場合 TCP 49494 UPnP検出用 UDP 1900 ローカルネットワークから。ログが報告している場合 Permission denied 音楽フォルダーの場合は、ユーザーの読み取り権限を確認してください gerbera およびステップ 3 の UID および GID。パス /content プロトコル内の は公式イメージでは正常です。統合された音楽フォルダーを指します。

その後、ターミナルを終了します exit 去る。その後 sudo -i 通常は2回です exit 必要です。 SSH が必要ない場合は、DSM で開きます コントロールパネル → 端末とSNMP → 端末のチェックボックスをオフにします。 SSHサービスを有効にする そしてクリックしてください 申し込む.

10。再起動と新しい Gerbera バージョン

通常の再起動の場合は、 コンテナマネージャー → コンテナ → gerbera-synology → 再起動。設定とデータベースは指定されたデータ ボリュームに残ります gerbera-synology-data 受け取りました。コンテナを再構築するときは、公式イメージからの変更されていない実行可能ファイルが使用されます。

既存の 3.3.0 インストールからの切り替え

このガイドの完全なイメージ リファレンスを使用し、音楽設定、ユーザー ID、プロジェクト名、データ量を保存します。以下に示すようにコンテナを再作成します。単純な再起動では、別のイメージはインストールされません。コンテナを置き換えると、以前のローカル バイナリ パッチはすべて削除されます。

後で安定したリリースにアップグレードする

  1. で選択してください 公式Gerberaリリースページ WavPack 修正を含む安定バージョン PR #3981 。構成とデータベースのメモを読んでください。このようなリリースが利用可能になるまで、ここで明示的に指定されている Git バージョンは固定の暫定ビルドです。移動するものは使用しないでください latest- または edgeタグ。
  2. 開く docker/gerbera-synology/compose.yaml。それを交換してください 後の完全な値 image: を通して gerbera/gerbera:NEUE_VERSION。これには、以前のものの削除も含まれます @sha256:…古い画像に属しているため、参照してください。交換する NEUE_VERSION 選択したバージョン番号を付けます。あるいは、更新されたガイドの完全なイメージ参照を使用します。他の設定はすべて変更しないでください。
  3. 必要に応じて、上記の説明に従って SSH を有効にし、root 端末にログインします。選択した画像をダウンロードします。
docker pull gerbera/gerbera:NEUE_VERSION
  1. コンテナ マネージャーで既存のプロジェクトまたはアプリケーションを停止します。コマンドブロック全体を実行する ステップ8 アウト。既存のデータ ボリュームは削除しないでください。
  2. 起動とデータベースのアップグレードが完了するまで待ちます。バージョン、サーバー名とプロトコル、保存された BPM/key 設定を確認します。 MusicServer Connect を接続して、いくつかのトラック、WavPack ファイル、プレイリストを確認します。

ベンダーガイド: コンテナマネージャープロジェクト, Container Manager で利用可能な NAS モデル, 管理者権限でのSSHログイン, 公式Gerbera画像.

WiiM Home: 拡張されたメディア ライブラリ

WiiM Home Advanced Mode は、アルバム、アーティスト、トラック カテゴリを備えた独自のライブラリ ビューを提供します。サポートされているサーバーには、MinimServer、Synology の標準サーバー、QNAP の標準サーバー、および Serviio が含まれます。現在、Gerbera は WiiM Home でフォルダー ビューを提供します。

Advanced Mode では、WiiM はサーバーのメタデータを独自のインデックスにインポートし、均一なアルバム、アーティスト、トラック、プレイリスト、ジャンルのビューと独自の検索を構築します。 Legacy Mode では、代わりにサーバーのナビゲーションが表示されます。これらの用語は、WiiM Home 動作モードを説明します。

共有の推奨事項

標準の Synology および QNAP サーバーは、WiiM Home Advanced Mode をサポートします。これには、BPM またはキー メタデータは必要ありません。 QNAP のプレイリストの順序が間違っていることは、WiiM Home でも制限のままです。

VirtualDJ が BPM とキー自体を計算する場合、MusicServer Connect には Synology の標準メディア サーバーで十分です。間違ったプレイリスト順序が許容される場合、同じことが QNAP にも当てはまります。このような場合、Gerbera を追加インストールする必要はありません。

保存された BPM/キー値を使用するか、MusicServer Connect で QNAP プレイリストの順序を保持するには、Docker で WavPack 修正を含む Gerbera を追加します。プラグインで Gerbera を選択し、標準サーバーで WiiM Home Advanced Mode を選択します。どちらも同じ音楽ライブラリを読み取ることができます。 MinimServer は、これらの要件と WiiM Home Advanced Mode をカバーする単一サーバー ソリューションのままです。追加の BPM/キータグ設定がまだ必要です。 Synology 上で Gerbera を実行するには、利用可能なコンテナ マネージャーが必要です。

詳細情報: WiiM Home: メディア ライブラリとサポートされているサーバー.

Ampache 7/8: ビデオとファイルのプレイリストを読み取る

音楽カタログはビデオを Ampache にインポートしません。ビデオ ライブラリの場合は、メディア タイプを含む追加のローカル カタログ ビデオ そしてそれをスキャンします。カタログ パスは重複してはなりません。したがって、私たちのセットアップでは、同じビデオ ファイルを指す追加の読み取り専用 Linux ディレクトリ ビューを使用します。共有ライブラリ ファイルは変更されません。

ファイルベースのプレイリストを明示的にインポートします。公式の CLI コマンドは次のとおりです。 php bin/cli run:updateCatalog -i "Katalogname";インストールに適した PHP バージョンとサービス アカウントを使用してください。メタデータの再スキャンだけでは不十分です。比較では、両方のバージョンで繰り返しのあるオーディオ エントリが提供されていました。ビデオ エントリが混合ファイル プレイリストに存在しませんでした。

MP3を変更せずに配信します

自動 MP3 変換が許可されていてもコンバーターが設定されていない場合、ストリーミング時に Ampache 8 は HTTP 500 を返すことがあります。既存の構成で変更せずに配信する場合は、 transcode_mp3 = "false" 指示値に合わせます。あるいは、動作するトランスコーダを設定します。 MP3 変換を無効にすると、ストリーミングとダウンロードの両方がチェックでバイトごとに検証されました。

LMS: 同じアルバムのトラックが含まれるプレイリスト

LMS 設定で その他 オプション 同じアルバムの曲を含むプレイリストをスキップする これらのプレイリストを表示したい場合は、次に、ライブラリをリロードします。比較により、繰り返されるオーディオ トラックが元の順序で提供されていることが確認されました。

Asset UPnP: メディアとプレイリストのフォルダー

アセット Web インターフェイスで フォルダ → メディアフォルダ ライブラリフォルダーを追加します。下 プレイリストフォルダー プレイリスト ファイルを含む各フォルダーを個別に指定します。下位のプレイリスト フォルダーは自動的にはそこに含まれません。これらはテスト中です /srv/music/Playlists そして /srv/music/Format-Test-1.3/Playlists.

下 オプション → 表示設定 単純なトラック名が必要な場合は、トラック番号、コンパイル トラックの前のアーティスト、プレイリスト タイトルの後のアーティストのプレフィックスを無効にします。これらの設定は、音楽ファイルではなく表示を変更します。アセットプロバイダーは組み込みブランチを使用します プレイリスト ファイルプレイリストの場合。このクエリは、動的フィルターの組み合わせやインターネット ラジオを再帰的に横断しません。ダイナミック ブラウジングを含む、チェックされたデフォルトのナビゲーションを保持できます。この調整後、カタログ、アーティスト、アルバム、およびジャンルのビューが取得エラーなしで検証されました。アセットは M3U、M3U8、PLS を供給します。サーバーから返される PLS トラック タイトルには、アーティストのプレフィックスが含まれる場合があります。

アセットガイド

Jellyfin 12.2.0: DLNA とクライアント プロファイル

Jellyfin には MusicServer Connect の公式ものが必要です DLNAプラグイン。サーバー管理の公式プラグインカタログからインストールし、Jellyfinを再起動します。 DLNA 14.0.0.0にチェックを入れました。その設定で、ライブラリを DLNA 経由で公開するアカウントを選択します。 MusicServer Connect は、Jellyfin 独自の Web インターフェイスへのログインとは関係なく、UPnP/DLNA を使用します。

ライブラリとメタデータ

ライブラリタイプとしてのオーディオファイル 音楽、ビデオとして ミュージックビデオ 図書館として。関連するメディアとプレイリスト フォルダーを読み取り可能にしてから、両方のライブラリをスキャンします。ファイル タグのみを使用するには、外部メタデータと画像プロバイダーを無効にします。グローバル アーティストとアルバムの設定も確認してください。埋め込みタイトルとローカル画像を有効にしておきます。私たちのセットアップでは、共有音楽ライブラリに読み取り専用でアクセスします。

MusicServer Connect のクライアント プロファイル

の 検証済みの DLNA クライアント プロファイルをダウンロードする そしてとして MusicServer Connect.xml DLNA プラグインのユーザー プロファイル フォルダーに保存します。ネイティブ Debian インストールではこれより低くなります /var/lib/jellyfin/plugins/configurations/dlna/user/;他のインストールの場合は、実際の Jellyfin データ ディレクトリを使用します。 Jellyfin サービスはファイルを読み取ることができる必要があります。 Jellyfin を再起動し、プラグイン ライブラリを更新します。

プロファイルは、ユーザー エージェントによって MusicServer Connect を識別します。安定したリソース URL と M4A オーディオおよび OGV ビデオの正しいメディア タイプを提供し、アルバム ビューにアクセスし、これらの形式をカタログに表示できるようにします。これは、提供されたシステム プロファイルとは別に保存されます。

残りの制限事項

すべてのオーディオおよびビデオ ソースと 195 プラグイン ビューは、125 ファイルのチェックでエラーなく取得されました。 DLNA 経由では、Jellyfin は BPM/キーを提供せず、ビットレートを正しくスケーリングしません。 ASX/XSPF は存在しません。 M3U、M3U8、PLS、および WPL では、繰り返されたトラックが失われます。古い M3U/M3U8 リストの一部も不完全です。一部のアルバム アーティストが正しく割り当てられておらず、フラット ミュージック フォルダーにネイティブのアルバム ビューが表示されない場合があります。 WMA には 2 番目のジャンルがありません。ビデオにはアーティスト、アルバム、ジャンルがありません。クライアント プロファイルはこれらの制限を修正しません。

公式Linuxインストール · DLNAの公式ドキュメント

WiiM Home、Mezzmo、Windows Media Player

これらの Windows サーバーを使用すると、MusicServer Connect は検証されたトラックまたはファイル フォルダーを自動的に使用して、グローバル検索応答が不正確または非常に遅いことを回避します。追加のプラグイン設定は必要ありません。次に、インポートされたカタログに対してプラグイン検索が実行されます。

UPnP 応答には最大 30 秒、または Windows Media Player の場合は 60 秒かかる場合があります。リクエストは引き続きキャンセル可能です。無効なページや変更中のページは依然として拒否されます。長く待つと、欠落しているファイルやメタデータを提供できなくなります。

WiiM Home Media Server 0.2.10.5

ミュージック サーバーと VirtualDJ は、同時に複数のサーバーを含め、同じ Windows PC 上で実行できます。サーバー リストは、通常の UPnP 検出と、サポートされているローカル サーバーの追加チェックを組み合わせたものです。実際に開いているポートを特定し、UPnP デバイスの説明を検証します。異なるデバイス ID は分離されたままになります。 1 つのサーバーに対して複数のエンドポイントが存在しても、重複したエントリは作成されません。管理者権限は必要ありません。

通常の Windows UPnP 検出では、デバイスの説明にアクセスできましたが、チェックでは同じ PC 上で WiiM Home が見つかりませんでした。プラグインの補足的な検出により、次のようになります。 WiiM Home: LaptopAcer — 別の PC では、代わりにその名前を使用します。接続ダイアログで、 再検索 をクリックし、WiiM サーバーを選択します。この UPnP 接続にはユーザー名やパスワードは必要ありません。 WiiM Home、Mezzmo、Windows Media Playerは同時に動作確認しました。

古いプラグイン バージョンの場合、完全な説明アドレスは一時的に次の場所に保存できます。 サーバーURL ここです。たとえば、チェックされたローカル パスは次のとおりです。 http://127.0.0.1:22346/upnp/DeviceDescription.xml。ポートとパスは実行中のサーバーに属している必要があります。プラグインは固定ポートを想定していません。このコンピュータでは、ポート 22345 も同じ WiiM サーバーを公開しました。書き込まれたホスト名 localhost 直接チェックで HTTP 404 を返しましたが、同等の交換品として受け入れられませんでした。検出の失敗の原因が WiiM Home または Windows であると断定することはできません。

音楽フォルダーをローカル メディア ライブラリに追加し、DLNA 共有をオンにします。テストではオリジナルのソースが使用されました \\smbserver\music 。このインターフェイスは、ファイルベースのプレイリストもビデオも提供しません。 AAC ADTS、Opus、WavPack も存在しません。 WiiM アプリに保存されたプレイリストは、外部プレイリスト ファイルのインポートのサポートを示していません。

Mezzmo 6.0.6.0

サブフォルダーを含むライブラリフォルダーを追加します。で区切られた外部ファイルのプレイリスト プレイリストの作成 → 接続済みプレイリスト 。 「外部プレイリストからファイルを追加」は参照メディアをインポートするものであり、別の操作です。元のファイル タグを保持するには、インターネット メタデータの自動取得と書き込みを無効のままにしておきます。

フォルダーのプロパティが提供する フォルダーに新しいファイルがないかチェックする間隔。リンク済みプレイリストには独自の確認間隔があります。追加テストでは、拡張子を追加登録しても、フォルダー監視だけではファイルからリンク済みプレイリストは作成されませんでした。既存リンクの自動更新と新しいプレイリストファイルの自動検出は別の機能です。個別に検証したプレイリストでは、M3U/PLS/WPLで重複項目が失われ、M3U8/XSPFは空のままで、2つのASXサンプルはいずれもページ件数が矛盾していました。Smart Playlistsは重複を含む外部プレイリストの固定順序を再現する代わりにはなりません。

デフォルトのフィルタには .aif は含まれますが、.aiff は含まれません。 *.aiff を追加すると、サンプルはストリームなしの不明なファイル タイプとしてのみインデックス付けされるため、この変更は元に戻されました。 WavPack も、チェックされたクライアントに対して再生可能として公開されていませんでした。データベースのエントリだけでは、プレイアビリティを証明することはできません。

Windows Media Player レガシー / 共有 12.0

下 [コントロール パネル] → [ネットワークと共有センター] → [メディア ストリーミング オプション] に すべてを許可する クリックして OK 保存します。これにより、WiiM および WiiM Home を備えた携帯電話を含むローカル ネットワーク内のデバイスがメディア ライブラリにアクセスできるようになります。で アクセスが拒否されました このデバイスの承認を確認してください: 同じ PC 上で機能するプラグイン アクセスは、外部デバイスが許可されることを意味するものではありません。

ローカル ネットワークのメディア ストリーミングを有効にし、ローカルの音楽フォルダーとビデオ フォルダーを Windows ライブラリに追加します。ソース ファイルを保存するために、インターネット メタデータの自動取得と書き込みを無効にすることができます。完全なローカル比較により、146 実際のメディア ファイルが返され、20 が提供するすべての形式サンプルが完全にデコードされました。 OGG、Opus、WavPack、WebM、および OGV は存在しませんでした。 BPMとキーが付属していませんでした。 WMP カタログを再構築した後、6 つの空ではないプレイリストが返されました。一部の名前はインポートされたリストとは異なります。 2 つの古い M3U リストでは、文字エンコーディングが原因で 1 つのトラックが失われます。 WPL に相当するものには、4 つのトラックすべてが含まれています。

たとえば、ドットのないプレイリスト名を使用します。 MSC ミックス 1-3 代わりに MSC ミックス 1.3。対象の WPL、M3U、および M3U8 の比較では、WMP は保存されたインポート コピー名を最初のドットで切り捨てました。短縮名は UPnP でも表示されました。ハイフンは完全な名前を保持します。

WMP の場合、プラグインは小さなメタデータ フィルターを使用して構造のみのリストを要求します。フルトラックのメタデータ、リソース、プレイリストのコンテンツは引き続き読み取られ、ページネーションと一貫性チェックは保持されます。このライブラリでは、クリーンアップとプラグインの最適化により、測定された最初のカタログ リクエストが約 22 秒から 4.3 ~ 4.6 秒に短縮されました。これはチェックされたライブラリのプロバイダーの測定値であり、VirtualDJ のインターフェイスやより大きなライブラリに対する一般的な約束ではありません。

コレクションにプレイリスト ファイルも含まれている場合は、実際のオーディオ サブフォルダーのみを Windows 音楽ライブラリに追加し、ビデオ フォルダーを個別に追加します。プレイリストを明示的に WMP にインポートします。親フォルダー全体を追加すると、WMP は一部のプレイリスト ファイルをオーディオ トラックまたは空のリストとして公開します。インポートを繰り返すと、Windows フォルダーに追加の WPL コピーが作成されました 音楽 → プレイリスト。再構築する前に、WMP カタログをバックアップし、明確に識別された古いインポート コピーを監視対象フォルダーの外にアーカイブします。データベースを再構築するだけでは、インデックスが再度作成されてしまいます。オリジナルのメディアとプレイリストは保持されます。

SMB 共有上のメディア ファイルは、ネットワーク ドライブ経由であっても、テストでは WMP DLNA ライブラリとして機能しませんでした。 Y:。このサービスは元のファイルを読み取ることができ、Samba はすでに読み取りと書き込みを許可していましたが、共有メディア カタログは空のままでした。この結果は、すべての SMB 構成ではなく、ここでチェックしたネットワーク ソースに適用されます。ローカル ファイルは、個別のローカル チェックの対象となります。

Windows オフライン ファイルは同期されたローカル コピーを作成するため、使用されませんでした。サービスを再起動した後、当社の確認では約 3 秒で WMP のデバイス説明と UPnP root に再びアクセスできるようになりました。最初にサーバーエントリが欠落していても、そのライブラリを自動的に再構築する必要はありません。

メーカーのドキュメント

Gerbera構成

Gonic: 音楽フォルダー

MinimServer: 構成

MariaDB: データベース列を変更する