FreeNAS 9 – MiniDLNA Automatic Scan

Facebooktwittermail

以前、HP ProLiant MicroServer N54LにFreeNAS 9をインストール、プラグインを利用してDLNA/UPnPサーバを稼働させました

Install DLNA/UPnP Server plugin on FreeNAS 9
http://www.rootlinks.net/2013/10/26/install-dlnaupnp-server-plugin-on-freenas-9/

いくつかコンテンツをコピーしてWindows Media Playerで動作確認をしたのですが、追加コンテンツをコピーしても、いつまでたっても追加分がWindows Media Playerに表示されませんでした


色々と調べるとコンテンツの登録にはDBの更新が必要でした
その仕組として設定ファイルに”inotify=yes”と記入することで通常はコンテンツが追加されると自動的にDBを更新することができます

プラグインでインストールしたminiDLNAサーバの設定ファイルを確認すると

と”inotify=yes”の記載がデフォルトであります。しかしこれでもDBの更新が行われません
実はinotifyはLinux Kernelの機能のようでFreeBSDでは動作しないとのこと。同様の機能がFreeBSDにはkqueueがあるようですがminiDLNAは対応していない

それで設定画面に[Rescan on (re)start]があるんですね
miniDLNAサーバの再起動でコンテンツをスキャンしてDBを更新するわけです
Image20131026143819

となるとコンテンツを追加、削除するたびにサービスの再起動が必要になるのか
ちょっと残念と思っていたらFreeNASのフォーラムにDBを自動で更新するスクリプトがありました

MiniDLNA Automatic Scan – Fix
http://forums.freenas.org/threads/minidlna-automatic-scan-fix.9312/

早々に設定してみます

  1. jexec dlna_1 /bin/csh
  2. Shellからdlna_1に入ります

  3. wait_onコマンドのインストール
  4. wait_onコマンドはファイルやディレクトリの変更を通知してくれるコマンドのようです

    wait_on(1) – FreeBSD Man Pages
    http://www.manualpages.de/FreeBSD/FreeBSD-ports-9.0-RELEASE/man1/wait_on.1.html

  5. スクリプトscanmediaの作成
  6. スクリプトのscanmediaを作成します
    取り敢えずコピー&ペーストで大丈夫と思いますがメディアコンテンツのマウント先が異なる場合はMediaLocation=”/media”の部分を書き換えて下さい

  7. scanmediaに実行権限追加
  8. scanmediaに実行権限追加を追加します

  9. 起動時に自動実行の設定
  10. 起動時にスクリプトscanmediaが自動実行するように設定します
    /etc/rc.confにscanmedia_enable=”YES”を追加します

  11. FreeNAS管理画面から再起動
  12. FreeNASの管理画面からminiDLNAを再起動します

試しにコンテンツを追加して5分後にWindows Media Playerで確認すると追加されたコンテンツが表示されていました

取り敢えず使えそうですが、今度はFreeNAS管理画面からプラグインdlna_1のサービスの停止、起動が[Some error occurred]と表示されて制御できなくなってしまいました
Image20131111190118

Leave a Reply