Denon RCD-N9でDLNA環境を構築する
本記事は、DenonのネットワークオーディオプレイヤーであるCeol N9で、DLNA環境を構築します。
数年間、ネットワークオーディオ環境を運用していたのですが、サーバを再構築した際の設定関連に少し手間取ってしまったので、その構築メモとなります。
なお、DLNAサーバとしては、安価でかつ低電力なRaspberry Piを利用します。
事前準備
ネットワークオーディオプレイヤー
まずはネットワークオーディオプレイヤーとして、DenonのCeolシリーズのRCD-N9を使用します。
DenonのCeolは価格の割には、ハイレゾ音源、AirPlay、Bluetooth、インターネットラジオやWiFi対応など様々な機能が搭載されています。
現在ではRCD-N10が最新機種となっています。
DLNAサーバ
DLNAサーバとして、Raspberry Pi 2 Bを使用します。
現在では、Raspberry Pi 3 Model B+が最新機種となっています。
スイッチ
ネットワークオーディオプレイヤーとDLNAサーバは、スイッチを介して接続します。
スイッチとしてはTP-LINKのTL-SG105Eを使用します。
外付けHDD
音楽ファイルを保存先として、Raspberry PiのUSBポートに接続する外付けHDDを用意します。
今回は、ノートPCのHDD換装時に余った2.5インチのハードディスクを再利用します。
なお、以下オリコのハードディスクケースを使用します。
ネットワーク構成図
以下が今回のネットワーク構成図になります。
Raspberry Piの設定
外付けHDDの確認
まずは、外付けHDDのファイルシステムを扱えるようにするためのライブラリをインストールします。
今回はNTFS形式にしたため、ntfs-3gをインストールしていますが、exFAT形式の場合はexfat-fuseとexfat-utilsをそれぞれインストールします。
# NTFSの場合 > sudo apt install ntfs-3g # exFATの場合 > sudo apt install exfat-fuse exfat-utils
次にRaspberry PiのUSB端子に外付けHDDを接続し、以下のコマンドでデバイスとして認識されているか確認します。
> sudo blkid /dev/sda1: LABEL="NAS" UUID="xxxxxxxx" TYPE="ntfs" PARTUUID="xxxxxxxx"
何も認識されていない場合は、Raspberry PiのUSBポートからの給電切り替えが出来ていないか、Raspberry Pi自体の電源アダプターが2A未満になっていないか確認します。
古いモデルのRaspberry Pi(Raspberry Pi Model B+, Raspberry Pi2 Model B)ではデフォルトで600mAになっているので、以下の/boot/config.txtに"max_usb_current=1"を追記して、1200mAに切り替えます。
# /boot/config.txtに追記 max_usb_current=1
設定が完了したら一度再起動します。
外付けHDDを自動マウントする
fstabを編集し、外付けHDDを作成したディレクトリに自動マウントさせます。
> sudo vi /etc/fstab UUID="xxxxxxxx" <マウントするディレクトリのフルパス> ntfs-3g async,auto,dev,exec,gid=65534,rw,uid=65534,umask=000 0 0
UUIDは、上記のblkidコマンドで事前に確認したデバイスのUUIDを使用します。
なお、exFATの場合はntfs3gの箇所をexfat-fuseに変更します。
再起動後、指定したディレクトリに対象のデバイスがマウントされます。
minidlnaの設定
以下コマンドでminidlnaをインストールします。
> sudo apt install minidlna
インストールが完了したら、/etc/minidlna.confを開き、以下の項目を編集及び有効にします。
# /etc/minidlna.conf media_dir=A,<音楽ファイルがあるディレクトリのフルパス> db_dir=<DBのパス> network_interface=<インタフェース名> port=8200 friendly_name=<表示名> inotify=yes notify_interval=895
db_dirはデフォルトでは/var/cache/minidlnaとなりますが、/tmp/minidlnaなどに変更します。
friendly_nameは機器側に表示させたい名称を記載し、デフォルトでは"hostname: username"になります。
上記設定が完了したら、minidlnaのデータベースの更新が開始されます。
なお、minidlnaのステータス確認や手動でデータベースの再スキャンを行う場合は以下コマンドを実行します。
# minidlnaの停止、起動、再起動および状態確認 > sudo service minidlna stop > sudo service minidlna start > sudo service minidlna restart > sudo service minidlna status # データベースの再スキャン > sudo service minidlna stop > sudo -u minidlna minidlnad -R -d > sudo service minidlna start
inotifyの設定
inotifyによるファイルシステムイベントを監視する上限設定を変更するため、/etc/sysctl.confにfs.inotify.max_user_watchesの箇所を追記します。
# /etc/sysctl.conf fs.inotify.max_user_watches=81920
デフォルトでは8192になっていますが、再起動後に"cat /proc/sys/fs/inotify/max_user_watches"で上限値が変更されていることを確認します。
> cat /proc/sys/fs/inotify/max_user_watches 81920
動作確認
上記の設定が完了したら一度再起動をし、DLNAサーバの状態を確認します。
状態を確認するには、"http://<サーバIP>:8200"にアクセスします。
最初は上記のAudio filesの項目は0ですが、時間とともにファイルを読みんでいき、インデックスを作成していきます。
最後にDenon Ceol N9側でMusic Serverボタンを押して、DLNAサーバにアクセスし、音楽ファイルを再生できることが確認できれば完了です。