コンテンツへスキップ

OrangePiにメディアサーバ(DLNA)を構築する

スマートフォンがあればNASにある映像や画像を直接表示できますが、AV家電からはなかなかそうはいきません。しかしメディアサーバがあればDLNA対応AV家電(PS3/4含む)でも再生が可能です。

そこで今回はOrangePiを使ってメディアサーバを構築してみたいと思います。

 

環境

  • Server:Orange Pi PC(ARM Coretex-A9)
  • OS:armbian (jessie) 3.4.112-sun8i
  • DLNA server:minidlna  1.1.2+dfsg-1.1+b3
OrangePi PCとUSB-HDD
OrangePi PC(最近いろんなサーバをインストールされています)

 

メディアサーバ構築手順

minidlnaの概要

無料で使えそうなメディアサーバはいくつかありますが、今回はその中でminidlnaを使うことにしました。minidlnaは軽量シンプルなサーバソフトウェアで、尚且つarmbianのパッケージに含まれるためインストールがとても簡単に行えます。

ただ、以下の機能には対応していません(もし必要であれば他のメディアサーバを使うしかありません)。

  • 動画サムネイルの生成/表示(あらかじめディレクトリにサムネイル画像を配置するとそれを表示する)
  • トランスコード機能(動画フォーマットの自動変換)

トランスコード機能に対応した非公式版は存在しているようです。ソースからコンパイルする必要はありますが、参考までにご紹介します。

 

パッケージインストール

以下のようにしてパッケージからインストールを行います。


$ sudo apt-get install minidlna

 

設定

minidlnaは設定用のWebUIを持ちません。そのため設定ファイルを直接編集する必要があります。

以下のようにしてメディアファイルの格納先ディレクトリやメディア一覧の更新間隔を指定します。


$ sudo vim /etc/minidlna.conf

/etc/minidlna.com


# 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)
media_dir=/mnt/usbhdd/nas/  (メディアを格納するディレクトリを指定)

# Automatic discovery of new files in the media_dir directory.
inotify=yes  (ディレクトリに追加されたファイルを自動的に検索する)

# Notify interval, in seconds.
notify_interval=8950 (自動検索する間隔)

 

メディアファイルの配置

設定ファイルで指定したディレクトリに適当な動画や画像ファイルを配置します。

前項でも記載しましたが、minidlnaは動画のサムネイル生成に対応していません(mp4やmkv形式でサムネイルが埋め込まれている場合はそれが表示される)。色々試しましたが、どうしても表示したい場合は動画ファイル1個毎にディレクトリを作成し、その中に"cover.jpg"等の"minidlna.conf"で指定してあるファイル名でサムネイル画像を配置するしかないようです。

サムネイル生成は"ffmpegthumbnailer"を使うと簡単です(apt-getでインストールできます)。


$ sudo apt-get install ffmpegthumbnailer

サムネイル生成のスクリプト


find /mnt/usbhdd/nas -name \*.mp4 | while read ln; do
ffmpegthumbnailer -i "$ln" -o "$(dirname "$ln")/$(basename "$ln" .mp4).thumb.jpg"
done

 

動作確認

適当な動画や画像ファイルを配置したらminidlnaを再起動します(起動時にファイルを検索して登録します。その後に追加したファイルは表示されるまでしばらく時間がかかります)。


$ sudo services minidlna restart

以下のURLにアクセスすると簡単なステータスが表示されます。

  • http://<サーバのアドレス>:8200/
minidlnaステータス画面
minidlnaステータス画面

また、Windows10のネットワークを確認するとメディア機器として認識されていることがわかります。右クリックして"Media Playerを開く"とすると、WindowsMediaPlayerで配置したファイルを再生出来ます。

orangepiをメディア機器として認識している
orangepiをメディア機器として認識している

 

WindowsMediaPlayerでメディアサーバにアクセス
WindowsMediaPlayerでメディアサーバにアクセス

minidlnaとPS3
PS3からも見えてます

所感

思ったより簡単に設定出来てしまいました。

再生中の負荷も少なく軽量でいい感じではあります。が、機能があまり無くて、特にトランスコード機能が無いとクライアント側で再生出来ない形式のファイルだとどうしようもありません。PCならコーデックを入れてやればいいのですが、AV家電と連携して使うにはちょっと使いづらいかもしれません。トランスコード対応の非公式版をビルドしてみようかな。。。

参考

この記事は以下のサイトを参考に記載させていただきました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください