DLNAは家庭内でネットワークストリーミングによるメディア共有を実現する規格です。
最近は、PS3やテレビ、スマホ等も対応しています。
ここでは、「miniDLNA」を用いてDLNAサーバーを立てる方法について説明します。
7.1.「miniDLNA」のインストール
「miniDLNA」をインストールするには、以下のコマンドでインストールできます。
sudo apt-get install minidlna
7.2.「miniDLNA」の設定
- miniDLNAの設定ファイル「/etc/minidlna.conf」を以下のように編集します。
(「inotify」はフォルダを監視し、変更があった場合に自動でデータベースを更新するオプション)(変更) media_dir=(公開したいディレクトリ) port=(任意のポート) inotify=yes notify_interval=10
(「notify_interval」は変更を監視する周期(秒指定))
(ポート番号は他のプログラムが利用しないなら1024〜49152のポート番号を利用しても良い) - 以下のコマンドで、iptablesの設定を書き換え、miniDLNAの通信が通るようにします。
minidlnaユーザのユーザーIDは以下のコマンドで調べられる。sudo iptables -A INPUT -j ACCEPT -d 239.255.255.250 --protocol udp --destination-port 1900 sudo iptables -A INPUT -j ACCEPT -s (DLNAを利用するネットワークアドレス)/(サブネットマスク) --protocol tcp --destination-port (設定したポート番号) sudo iptables -A OUTPUT -j ACCEPT -d (DLNAを利用するネットワークアドレス)/(サブネットマスク) --protocol tcp --source-port (設定したポート番号) -m state --state RELATED,ESTABLISHED sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (minidlnaユーザのユーザーID) -d 239.255.255.250 --protocol udp --destination-port 1900 sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (minidlnaユーザのユーザーID) -d (DLNAを利用するネットワークアドレス)/(サブネットマスク) --protocol udp --source-port 1900
2.5.の通り、iptablesの設定の変更後は以下のコマンドで設定を記録しておくこと。id -u minidlna
sudo iptables-save | sudo tee /etc/iptables/rules.v4
- カーネルパラメータを変更するために「/etc/sysctl.conf」を以下のように編集して、miniDLNAのファイル監視数を増やす。
(追加) fs.inotify.max_user_watches = 16384
- 以下のコマンドで、miniDLNAに設定を読み直しさせます。
sudo -u minidlna /etc/init.d/minidlna force-reload
- 外部からメディアが見れるか確認します。
テレビなり、PS3なり、スマホなりからDLNAで見えるか確認!
7.参考サイト
- minidlna.conf について詳しく知りたい場合は、MiniDLNA - OpenWrt Wikiを参照
- miniDLNA について詳しく知りたい場合は、MiniDLNA - ArchWikiを参照
製品紹介(Amazonアフィリエイト)
2014/5/5 iptables開放ポート追加(一部DLNAクライアントでサーバーが見えないため)
2014/9/20 説明文の変更・注釈追加・参考サイトの追加
2014/10/25 設定の読み直しの手順が抜けていたので追加・参考サイトの追加
2018/07/05 Openwrt wikiのリンクを新アドレスに変更