株式会社アイズ・ソフトウェア

/~eyes-software-co-jp/A1A2
お問い合わせ |  情報セキュリティへの取組について情報セキュリティ方針個人情報保護方針) |  ブログ

BLOG 社員ブログ

2021年03月

ラズベリーパイでホームサーバーを構築しよう -- メディアサーバー構築編

今回はラズパイにDLNAサーバー機能をインストールします。

● DLNAサーバーとは
DLNAサーバーとは、ホームネットワークを介してビデオ、写真、音楽等のコンテンツを共有する機能です。
DLNAに対応した機器間では他の機器に保存してあるビデオ、写真、音楽等を再生することができます。 AV家電では「ソニールームリンク」「お部屋ジャンプリンク」等の名前でBDレコーダーに機能が組み込まれています。また、スマホでも対応ソフトをインストールし、ホームネットワークへ接続すればコンテンツの共有や再生が可能です。

● DLNAサーバーをインストール
ラズパイでDLNAサーバーを構築するにはReadyMedia(旧名miniDLNA)というソフトウェアが主流です。
名称はReadyMediaですが、インストールする際のパッケージ名称やネットでググる際にも旧名のminiDLNAの方が通りが良いので、本ページでもminiDLNAの名称で通すことにします。

miniDLNAのインストールは簡単です。以下のコマンドでパッケージをインストールします。
$ sudo apt-get install -y minidlna 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  minidlna
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
132 kB のアーカイブを取得する必要があります。
    :
インストール完了したらPC等のブラウザから以下のURLを表示させてみます。
<http://raspberrypi:8200/>
正しくインストールされていれば、下記の様に表示されます。

(この画面では既にコンテンツを登録していますが、インストール直後ならメディアライブラリの数は0件です)

miniDLNAサーバーのインストール時には、 /var/lib/minidlna の下のディレクトリのコンテンツを管理するようになっています。
今回は外部ディスクをサーバーにするのが目的なので、外部ディスクのコンテンツを管理するように設定します。
併せて、ログ等も外部ディスクに作成されるようにします。

外部ディスクのコンテンツを保存するディレクトリは以下としました。
格納先のルートディレクトリを/mnt/hdd/minidlna とし、その下にサブディレクトリを作成します。
  • /mnt/hdd/minidlna/musics
  • /mnt/hdd/minidlna/movies
  • /mnt/hdd/minidlna/photos
  • /mnt/hdd/minidlna/cache
  • /mnt/hdd/minidlna/log
上記のディレクトリは以下のコマンドで作成してください
$ cd /mnt/hdd
$ mkdir minidlna
$ cd minidlna
$ mkdir musics movies photos cache log
$ sudo chmod 777 *

次に設定ファイル/etc/minidlna.confを編集します。
変更する項目は以下の項目です。
 media_dir : コンテンツを格納するディレクトリを記述する
 db_dir: コンテンツを読み込んだデータベースのディレクトリを記述する
 log_dir: ログファイル出力先ディレクトリを記述する

今回の設定に当てはめると/etc/minidlna.confの変更箇所は以下の様になります。
---- ここから ----
media_dir=/mnt/hdd/minidlna
db_dir=/mnt/hdd/minidlna/cache
log_dir=/mnt/hdd/minidlna/log
---- ここまで ----

/etc/minidlna.conf を変更したらminidlnaサービスをリスタートさせます。
$ sudo service minidlna restart

● メディアファイルの格納
ここまでの設定で 音楽は/mnt/hdd/minidlna/musics、
静止画は/mnt/hdd/minidlna/photos、
動画は/mnt/hdd/minidlna/movies の下に格納するよう設定されました。
それぞれのディレクトリにコンテンツのファイルを格納するとminiDLNAはディレクトリを自動的にスキャンして管理します。

どの様な方法でコンテンツを格納しても良いのですが、一つの例としてPCからWindowsMediaPlayerを使ってCDよりファイルを読み込んで格納する方法を示します。
この方法はDLNAの機能を使用しているのではなく、前回の投稿「ラズベリーパイでホームサーバーを構築しよう -- NAS構築編」にて共有したNASへ録音しているだけですので、この例の方法で録音する場合は音楽の格納先が共有されている必要があります。
ちょうど、サンプルにふさわしいCDを持っていました。「eyes 渡辺美里
これをラズパイのDLNAサーバーに録音してみましょう。
  • WindowsMediaPlayer (WMP)を起動する
  • WMPのメニューバーよりツール->オプション を選択し、オプション画面の「音楽の取り込み」タブを表示させる。

  • 取り込んだ音楽を保存する場所 の「変更」ボタンを押し、フォルダーの参照画面を開く。

  • フォルダーツリーより「\\raspberrypi\raspberry-pi-smb\minidlna\musics」を選択する。
    ツリーになければ、フォルダー入力エリアに直接書いて指定する。
  • 「OK」ボタンを押す
  • 「音楽の取り込み」タブで形式を指定する。
    形式は何を指定しても良いが、こだわらなければ、MP3でよい。
  • 「OK」を押して設定を完了する。
  • PCにCDを入れ、WMPのCD再生画面より取り込む曲にチェックを入れる。「アルバム」横の箱にチェックを入れればすべての曲にチェックが入る。

  • 「CDの取り込み」を押して録音を開始する。
これで録音は完了です。

録音できているか、コンテンツの参照ができるかをスマホの音楽プレイヤーで確認しましょう。
使用した音楽プレーヤーはAndroidの「BubbleUPnP」というアプリです。
アプリを起動し、右下の「Library」をタップしてライブラリ画面を表示させ、左上の「SelectLibrary...」をタップすると

ライブラリの選択肢に「raspberrypi:minidlna」が現れました。これを選択し、Musicのフォルダを掘ってくと、録音したeyesが現れました。
曲をタップして再生するとブツ切れることも無く普通に再生されました。


これでDLNAサーバーのインストールと確認は完了です。
これから手持ちのCDをたくさん登録して音楽に浸りましょう。