技術的ひとりごと(備忘録)

いろいろな備忘録的な何か

FreeNAS 上に置いている動画をDLNAで公開する

例によって殴り書きのメモメモ。

  1. 背景
    • FreeNASはバージョン8.2からプラグイン機能をサポートしている。
    • 公開されているプラグインの中にminidlnaというものがあり、FreeNAS上に配置されている動画ファイルをDLNAで公開することが可能。
    • 現在、動画の保存場所としてFreeNAS 8.0.2 を利用していたが、DLNA配信を試してみたくなったので、FreeNASをアップグレードし、DLNAを検討してみる。
    • 10/12時点では 9.2 以降は不安定という評判が見受けられたので 9.1.1 にアップグレードする。
  2. 今回やったこと
    1. FreeNASアップグレード
      1. 事前に設定ファイルないしはシステムドライブのバックアップを取得する。
      2. 公式からアップデートファイルを入手。
        • 今回は FreeNAS-9.1.1-RELEASE-x64.8_0_x_LEGACY_GUI_Upgrade.xz を取得。
      3. IEを起動してFreeNASの管理画面にアクセス。
        • 普段使っているChromeだと管理画面が正しく動作しなかった。要注意。
      4. 左下のメニューで「設定」を選択し右下の画面で「高度な設定 > ファームウェア更新」を選択。その上でアップデートファイルを登録。アップデートファイルのハッシュ値を聞かれるので、公式サイトに記載されている値を入力。
      5. しばらく待つとアップグレードが自動的に完了する。
    2. DLNAの有効化
      1. 公式からminidlnaのファイルをダウンロードする。
        • 今回は minidlna-1.1.0_1-amd64.pbi を利用。
      2. IEを起動してFreeNASの管理画面にアクセス。
      3. 画面上部の「プラグイン」を選択し右下の画面で「Upload」を選択。ウィンドウが開くので先ほどダウンロードしたpbiファイルを指定して「Upload」を押す。
      4. しばらく待つとプラグインの登録が完了する。
      5. 初めてプラグインを導入する場合に限り「Jail」の設定画面が表示される。プラグイン関連のファイル等を格納する領域となる。適当な領域を指定する。
      6. 左側メニューで「Jails」を指定し「"プラグイン名" > ストレージ > Add Storage」を選択。Souceに dlna で公開する領域の親ディレクトリを指定する。Jail用に用意したフォルダのサブディレクトリを指定する。
        • 通常はデフォルトで用意されている「media」ディレクトリと、NAS上の任意のフォルダをマッピングさせれば良さそう。
      7. 左側メニューで「プラグイン」を指定し「MiniDLNA」を選択し、パラメータを設定して「OK」を押す。
        • Friendly name には DLNA サーバとしての名前を設定する。
        • Media directory には DLNA で公開する領域のパスを指定する。(jail領域をrootとした相対パスで指定。)
        • その他オプションについては初期値でもOK。
        • 当方の環境では「OK」を押した後に、設定画面を開き直すと、設定した値が消えてしまう現象が発生したが、GUIの表示がおかしいだけで、OS上の設定ファイルは更新されていたので気にしないことにした。
      8. FreeNASにsshでログインし、rootユーザに切り替える。
      9. minidlnaのスタートアップスクリプトを開き、# minidlna_enable="YES" と書かれている行のコメントアウトを外す。
        • スタートアップスクリプトのパスは "Jail用ディレクトリ/プラグイン名/usr/pbi/minidlna-amd64/etc/rc.d/minidlna"。
        • 管理画面上部の「プラグイン」を選択し、右下画面の 「ON/OFF」スイッチをクリックするのが正規の手順であるが、当方の環境では個々のスイッチがうまく切り替えられなかったため、スタートアップスクリプトを直接いじることにした。
      10. FreeNASを再起動すればDLNAが有効化される。
  3. Tips
    1. 複数のボリュームを dlna で公開したい場合の対応手順
      1. FreeNASにSSHログインし「media」ディレクトリの下にサブディレクトリを作成。
      2. 作成したサブディレクトリと、公開したいフォルダをマッピングさせる。
      3. minidlnaの公開領域として「media」ディレクトリを指定する。
    2. プラグインファイル関連のファイルパス
      • プラグインのログ出力先:"Jail用ディレクトリ/プラグイン名/var/log/messages/"
      • プラグイン設定ファイル:"Jail用ディレクトリ/プラグイン名/usr/pbi/minidlna-amd64/etc/minidlna.conf"
      • 設定ファイルの手動更新はNG。GUIで設定した情報が別の領域に格納されているようで、再起動時にその情報が設定ファイルに反映される模様。プラグインの設定を更新する際は、必ずGUI経由で更新すること。