minidlnaは任意のトラックを再生できますか?

minidlnaは任意のトラックを再生できますか?

私はminidlnaバージョンを含む小さなNASに音楽を保存し、UPnPを通して聞きます。私の顧客はアルバム、アーティスト、プレイリストなどを再生します。サーバーまたはクライアントをアップグレードすることはできず、他のトランスポートまたはプロトコルを使用することもできません。

ランダムに選択された音楽を毎日再生できれば幸いですが、サーバーもクライアントもこの機能を持っていません。どうすればこれを最良に達成できますか?

答え1

Minidlnaは、すべてのユーザーが直接アクセスできるsqliteテーブルにデータを保存します。インストールされたsqlite3アプリケーションと適切なSQLクエリを使用すると、単純なm3uプレイリストを作成できます。これはminidlnaとして再度取得できます。

たとえば、

sqlite3 -list /tmp/minidlna/files.db "select path from details where track>0 order by random() limit 1000" > /home/user/music/random\ playlist.m3u

より強力な方法があるかもしれませんが、-listファイル名の周りに引用符を使用せずにオーディオトラックを参照しないレコードをフィルタリングする必要があります。track>0

生成されたm3uプレイリストファイルがminidlnaが検索したディレクトリにある場合は、inotifyが選択して自動的に提供されます。

このアプローチは、特定のジャンルやその他の基準のみを含むように開発され、「スマートプレイリスト」機能を効果的に追加できます。

毎日/時間ごとに実行するには、音楽ディレクトリへの書き込み権限を持つユーザーのcrontabにこのコマンドを追加します。欠点は、再起動時にNASがcrontabを失うことです。しかし、このような場合はまれです。

さまざまなminidlnaインストールは/ varにデータを保存できます。

関連情報