そんな時のために、PCにはPS3 Media Serverを入れていたのですが、最近はなぜか読み込みが遅く、再生できないことも多々ある状況だったので、玄箱にminiDLNAを入れることにしました。
下記はその導入メモです。
miniDLNA最新版は1.0.25なのですが、いろいろ試行錯誤してもBRAVIAでファイルが表示されなかったため、先人の記事を参考に1.0.18のソースを一部変更してインストールしました。
環境
サーバ: 玄箱 Debian sqeeze
TV: BRAVIA KDL-46F1
1. ライブラリ群のインストール
miniDLNAのコンパイル時に、ライブラリが足りないと警告ができます。ライブラリ名に"-dev"を付ければapt-getで入れられるようです。
他にsqlite3が必要かもしれません。
apt-get install libavcodec-dev
apt-get install libavformat-dev
apt-get install libflac-dev
apt-get install libvorbis-dev
apt-get install libid3tag0-dev
2. miniDLNAのソースダウンロード・展開
SorceForgeよりminidlna_1.0.18_src.tar.gzを取得します。
最新版(1.0.25)ではBRAVIAでファイル一覧が表示されませんでした。
ダウンロードしたら展開します。
tar xvfz minidlna_1.0.18_src.tar.gz
3. miniDLNAのソース編集
id:bsdaemonさんの記事通りにソースを編集します。
下記は修正後のソースで、コメントアウトと行の追加を行っています。
minidlna/metadata.c line.838
//asprintf(&m.dlna_pn, "MPEG_TS_%cD_NA_ISO;%s", res, dlna_no_conv);
asprintf(&m.dlna_pn, "MPEG_TS_HD_60_L2_ISO;%s", dlna_no_conv);
minidlna/upnpglobalvars.h line.47
//"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_NA_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
//"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_60_L2_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_JP_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
"http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_JP_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0," \
4. miniDLNAのコンパイル・インストール
ソースを展開したディレクトリで、下記のコマンドでコンパイル・インストールします。
make
make install
5. 設定ファイルの編集
"mefia_dir"でTSがあるディレクトリを指定します。サーバ表示名は"friendly_name"で編集できます。
"mefia_dir=A,"でパス指定すると音楽ファイルも公開できるようです。ONKYO TX-8050からWMA Losslessのネットワーク再生ができましたが、BRAVIAではファイルが表示されませんでした。
/etc/minidlna.conf line.14
media_dir=V,/foo/bar/TS
media_dir=A,/foo/bar/music
6. 自動起動の設定
ソースに同梱されているスクリプトをコピーしてminiDLNAをinit.dに登録します。
cp linux/minidlna.init.d.script /etc/init.d/minidlna
chmod +x /etc/init.d/minidlna
chkconfig --add minidlna
chkconfig minidlna on
7. miniDLNAの起動
下記コマンドでminiDLNAを起動し、BRAVIAのXBM(ホームメニュー)の「ビデオ」にペンギンのアイコンが表示されればokです。
起動: /etc/init.d/minidlna start
再起動: /etc/ini.d/minidlna restart
8. ログとファイルDB
ログは/var/log/minidlna.log、ファイルDBは/tmp/minidlna/files.dbに生成されます。
ファイルDBはinotifyという仕組みを使って自動で更新されるようですが、うまく更新されていない場合はfiles.dbを削除して、miniDLNAを再起動してみるとよいようです。
この辺はまだ検証していません。
more...