前回、OrangePi WinへSambaを入れてファイルサーバー化した。
ネットワーク内でのファイル共有、主にメディアファイルの複数マシンからのアクセスに便利に使用しているが、せっかくなので、格納しているメディアファイルをDLNAで公開してメディアサーバーにしてみようと思う。
最近は、PlexやServiioといった有償アプリケーション(無料版もある)が人気のようだが、高機能な分リソース消費も多そう。非力なOrangePiでは荷が重いことだろう。
そこで、今回はDLNAサーバーとしては最もシンプルな、管理用UIやトランスコーディング機能もない、minidlnaを使用することにする。
インストールはaptで行える。
$ sudo apt install minidlna
設定ファイルを編集。管理用のUIは持たないので、直接設定ファイルを編集する。
配信用ディレクトリは、音声/画像/動画で別々のディレクトリを指定することも可能。
また、friendly_name
で表示名を変更できる。
$ sudo jed /etc/minidlna.conf
...
# Path to the directory you want scanned for media files.
#
# This option can be specified more than once if you want multiple directories
# scanned.
#
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
# media_dir=/var/lib/minidlna
media_dir=A,/mnt/usbhdd/music
media_dir=P,/mnt/usbhdd/photo
media_dir=V,/mnt/usbhdd/media
...
# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name=OrangePi Media Server
ファイルが多いとinotfyが足りなくなるので、max_user_watches
を増やしておく。
最大524288まで指定できるが、大きな値を指定するとそれだけメモリーを専有するので程々に。
64bitシステムで最大値を指定した場合、1つあたり1kB、合計512MBのカーネルメモリーを使用する。
$ sudo sysctl -a | grep fs.inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192
$ sudo sysctl fs.inotify.max_user_watches=65536
再起動後も反映させるため、sysctl.d
以下にファイルを作成。
$ sudo jed /etc/sysctl.d/90-inotify.config
fs.inotify.max_user_watches = 65536
デーモンを停止。
$ sudo service minidlna start
DBを強制再作成。
$ sudo minidlnad -R
デーモンを起動。
$ sudo service minidlna start
MediaTombのような管理インターフェイスは存在しないが、ブラウザでポート8200番にアクセスすると簡易なステータス表示を行える。死活監視用に使えるだろう。
Windows10ではエクスプローラーが自動認識した。
クライアントとしてはPCではWindows Media Player、スマホではVLC Media Player等がDLNAに対応している。
その他、一部テレビやプレイステーション等からも参照可能。
もっとも、PCやスマートフォンならばSamba経由でマウントしてしまうほうがよっぽど扱いやすいので、DLNA自体の出番は少ないかもしれない。
Google HomeやAmazon Echo等のスマートスピーカーで直接再生できるようになれば、もう少し活用のしがいもあるだが...