HDD容量に余裕が出来たし、これからはサーバーに音楽や動画ファイルなんかも保存できる。
て事で、DLNAサーバー立ててスマホやテレビでサーバー内の動画を見てみようと思い立ったんです。
まあ実際には家のテレビにはDLNA機能が無くてブルーレイレコーダーのディーガ DMR-BWT520が有るのみ。
そして、私のスマホがレアなパナソニックの102P...
パナ同士って事で、すでにこのスマホとディーガ間ではDLNAで録画した番組どころか放送中の番組が見れたりするんです。
つまり、102PのDLNAクライアントソフトはDTCP-IP対応なんですね。
話を戻して、やりたい事はサーバーに保存したmp4やmp3ファイルをスマホやパソコンやディーガで再生する事です。
クライアントのパソコンWindows7はメディアプレーヤが対応している、スマホの102Pも標準で対応している、問題はディーガですがネットで調べると無理みたいですね。
まあとにかく今回はDLNAサーバーソフトとしてminidlnaをインストールしてみます。
ubuntuの場合 apt-get install minidlna でインストール出来るみたいですが、Vineは出来ません。
で こちらのページ と こちらのページ を参考にさせて頂き、ダウンロードしたminidlna_1.1.0_static.tar.gzをインストールします。
今回は珍しくすんなりと動作させることが出来ました、先人に感謝です。
とは言ってもバージョン違いから起動停止スクリプトが動作してくれませんでした。
問題は下記の2箇所だけ、下記をファイル名minidlnaで保存し/etc/rc.d/init.dの中入れ実行権限を与える。
#!/bin/sh # chkconfig: 345 99 10 # description: MiniDLNA is server software with the aim of being fully compliant with DLNA/UPnP-AV clients. MINIDLNA=/usr/sbin/minidlnad ← 変更した行 minidlna を minidlnadに ARGS='-f /etc/minidlna.conf' PIDFILE=/var/run/minidlna/minidlna.pid ← 変更した行 フォルダ minidlnaの中に LOCKFILE=/var/lock/subsys/minidlna test -f $MINIDLNA || exit 0 . /etc/rc.d/init.d/functions start(){ echo -n "Starting minidlna : " daemon --pidfile $PIDFILE $MINIDLNA $ARGS RETVAL=$? [ $RETVAL -ne 0 ] && failure [ $RETVAL -eq 0 ] && touch $LOCKFILE && success echo return $RETVAL } stop(){ echo -n "Stopping minidlna : " killproc -p $PIDFILE $MINIDLNA RETVAL=$? [ $RETVAL -ne 0 ] && failure [ $RETVAL -eq 0 ] && rm -f $LOCKFILE && success echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; status) status $MINIDLNA ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac exit 0
で結果はWMP(ウインドウズメディアプレーヤ)ではmp3,wma,mp4が問題なく再生されましたがデジカメのjpgはスライドショーとして再生されますが実用的ではない。
私のスマホ102Pでは標準のDLNAソフトではmp4,jpgは正常に再生されましたが、音楽が聴けないのでskiftaて言うアプリを入れてみると mp3, mp4,jpgとも再生出来ました。
ディーガではjpgは再生出来ますが mp3, mp4は再生出来ませんでした、矢張り...
意外にも手軽にDLNAサーバーが立てらたんですが、実はmp3ファイルではすべての曲名がUNKNOWNとなってしまうんですね、wmaとかaacでは正常に表示されるんですけどね。
この問題はminidlna側の問題で曲名をデータベースに登録する時点で発生しているらしいです。
こちらのブログに詳しく書かれています、素晴らしい。
つまり、バイナリファイルではなくコード修正してビルドすれば解決するって事ですね。
で最新版の minidlna-1.1.1.tar.gzをダウンロードし問題のコードを見てみると、すでに対策されているみたいです。
あとはこれをビルドするだけなんですが、make出来ずにいるんです...
libavutil ヘッダーファイルが足りないみたいです...
そのうち何とか出来そうですが今回はここまで。