Raspberry Pi(RetroPie)にDLNAサーバー機能を導入したのち、音楽ファイルをAndroidのメディアプレイヤーで聞くまでの備忘録です。SAMBAと違ってアーティストやジャンルで分類してくれたり、何よりアートワークが出るのが良いですね。
miniDLNAのインストール
ターミナルから以下のコマンドを実行してminiDLNAをインストールします。TeraTermやPuTTY、RetroPieの場合はEmulationStationの画面でF4を押しても開けます。元の画面に戻るにはEmulationStation
と入力してEnter。
sudo apt-get update sudo apt-get install minidlna
minidlna.confの初期設定
minidlna.confを編集して共有したいフォルダやデータベースの更新間隔などの設定を行います。
sudo nano /etc/minidlna.conf
最低限設定しておかなければならないのは以下の項目。
media_dir=A,/home/pi/RetroPie/NAS/Music inotify=yes notify_interval=60 force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
media_dir
には共有したいディレクトリのパスを指定します。パスの前に接頭辞を書いておくと、共有したいファイルタイプを明示的に指定できます(画像を共有したい場合はP、音楽を共有したい場合はA)。
inotify=yes
は、フォルダにファイルが追加された時にデータベースを自動更新するための設定です。行頭のコメントアウトを削除すればOK。
notify_interval=60
はファイルの監視間隔。
force_sort_critatia
は、DLNAクライアントからアルバムを表示した時の曲順を指定する書式です。これを設定しないと、ディスクが2枚以上存在するアルバムを開いた時にトラック番号01の曲が先頭に2つ連続で並んだりします。
変更したらCtrl+Xで保存します。
inotifyの監視数を増やす
変更しない場合、ファイルを追加した際にアートワークが変更されないなどの不具合が発生すると思います。自分の場合、/var/log/minidlna.log
にアートワークが見つからない(正常にキャッシュが生成されていない)旨のエラーログが大量に出ました。
sysctl fs.inotify.max_user_watches=100000
を実行したのち、
sudo nano /etc/sysctl.d/90-inotify.conf
で、以下の文字列を追加してCtrl+Xで保存します。
# Increase inotify max watchs per user for local minidlna fs.inotify.max_user_watches = 100000
どうやらLinuxの仕様が関係。
[sc_Linkcard url=”https://wiki.archlinux.jp/index.php/ReadyMedia”]サービスの再起動
最後に以下のコマンドを実行してminiDLNAを再起動すれば、DLNAクライアントで新たにサーバーを選択できるようになります。
sudo systemctl stop minidlna sudo systemctl restart minidlna