DLNAサーバを構築する

DLNAサービスはメディアコンテンツ(音楽、動画)を配信するサービスです。

サーバに置いた音楽データなどをいろんな処から再生出来るって言うのです
その通信プロトコル集がDLNAです

再生クライアントの再生対象はHEOSです…
(公式のサイトとかないのねw)
理由は使っている端末がDENONのアンプだからです…
元気があれば、NP-S2000(YAMAHA) とかでも検証予定ですが…
動くでしょうw

動作環境

試行錯誤しましたが、QNAP TS-351のContainerStationに乗せました

作成手順

コンテナをイメージから新規作成します

image : vladgh/minidlna:latest

アイテム
名称minidlna_movie
エントリーポイント/sbin/tini — /entrypoint.sh
自動起動Enable
CPU100 %
メモリー制限15906 MB
環境PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MINIDLNA_FRIENDLY_NAME=movie
MINIDLNA_MEDIA_DIR=/mnt/nfs
ホスト名dlna-movie
ネットワークモードBridge(静的 IP を使用する)
ユーザーインターフェイスAdapter 1 (Virtual Switch 5)
IP アドレス192.168.1.207
ネットマスク255.255.255.0
ゲートウェイ192.168.1.254
設定要約
ホストパスマウントポイント
/movie/anime/mnt/nfs/anime 読み取り専用
/movie/movie/mnt/nfs/movie 読み取り専用
マウント

[実行] … だけっすね

データの確認

ちょっとして、件数を確認すると

http://192.168.1.207:8200/

Media library

Audio files0
Video files173
Image files0

と、データ件数が表示されます。

動画なのでVLCを起動してチェック…

再生確認

OK.

解説

MINIDLNA_FRIENDLY_NAME

設定値 : MINIDLNA_FRIENDLY_NAME=movie

MINIDLNA_FRIENDLY_NAMEはDLNA一覧に表示されるこのサービスの名前です。
こんな感じでmovieが表示されます。

MINIDLNA_MEDIA_DIR

設定値 : MINIDLNA_MEDIA_DIR=/mnt/nfs

ここでは、公開するメディアコンテンツの保存先を指定します
MINIDLNA_MEDIA_DIR_1などの他の方法もありますが、結局元に戻ります
nfsはNFSサーバを利用していた名残です

思いつき:デフォルト設定は以下だから、そこで良くない?環境設定を外せない?
media_dir=/var/lib/minidlna

マウントポイント

設定例:概念(説明が面倒くさいので)

QNAPファイル → Containerのディレクトリ
/movie/anime → /mnt/nfs/anime 読み取り専用
/movie/movie → /mnt/nfs/movie 読み取り専用

MINIDLNA_MEDIA_DIRにて指定したディレクトリ下にQNAPパスを割り当てています。

実際

現在の状況は以下のようになっている。

インスタンスサービス内容
minidlna-allすべての音楽配信サービス
minidlna-song歌の音楽配信サービス
minidlna-bgm歌のない音楽配信
minidlna-movie動画配信(検証中)

それぞれに先の手順でcontainを生成している

なぜ分けているのかは、言わずもがなかな。
クラシックも結構多いので歌入りのランダムでしたときに、クラシック15分とか引っかかりたくないわけですな。
ついでにBGMとして使うときに歌入りは邪魔なんですわな。

これから

これからの目標としては、以下の問題?要望?野望?がある

・動画! ジャケットとか色々したい
・曲のアーティスト表示がアーティストではなくアルバムアーティストじゃない?(要、ソースチェック)
・動画をTVで観る
・作曲家での検索
・macosで、動画ジャケット一覧を出す!(kodi?)w

とか、いろいろありますので、やり次第ネタとして書くかな…

以上

試行錯誤

検証 ) デフォルトメディアパスに割り当てる 結果:NG

MINIDLNA_MEDIA_DIR設定の排除

設定を以下のようにして作成

/movie/anime → /var/lib/minidlna/anime 読み取り専用
/movie/movie → /var/lib/minidlna/movie 読み取り専用

メディア数は増えないのでNGです。

内容を確認するとmedia_dirのデフォルト指定がなしです。

/etc/minidlna.conf

friendly_name=movie
db_dir=/minidlna/cache
log_dir=/minidlna/

vladgh/minidlna:latestでは切っているのでしょう。

結果 : MINIDLNA_MEDIA_DIRを使いましょう。

試行錯誤) NFSによるファイル共有

NFSのinodeが使えないことから排除!

なぜ、NFSでのメディア共有をしたいかというと、ファイルサーバとメディア配信サーバを切り分けて使いたかったわけです。

試行錯誤) VirtualMachineを選択肢から外したわけ

VMwareサーバのvmに各サービスを構築する計画でした。
その検証用にQNAP上のVirtualMachineを使ってみました。
結論として候補から外したのですが、原因は先のNFSがマウントできなかったからです。
結局、サービス数が大きくなりそうなのでvmではなくdockerの方がリソースが食わないですね
メモですw