2015年12月26日土曜日

Rspberry Pi B+ DLNAサーバ minidlna

ネットワークプレーヤを導入したので、LAN内にDLNAサーバを構築

【インストール】
# apt-get install minidlna

【設定】
# echo "fs.inotify.max_user_watches = 81920" > /etc/sysctl.d/minidlna.conf
# sysctl -p /etc/sysctl.d/minidlna.conf

【外付けHDDをマウント】
# mount -t vfat -o codepage=932,iocharset=utf8,uid=500,gid=500,umask=000 /dev/sdb1 /media/sdb1

【格納場所へのリンク】
# ln -s /media/sdb1/disk/Music /var/lib/minidlna

【アルバムアート用のファイル名】
/etc/minidlna.confによると、、、
# List of file names to look for when searching for album art. Names should be
# delimited with a forward slash ("/").
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

なので、表示させたい画像ファイルを一番簡単な cover.jpg としてコピー
root@raspberrypi:/var/lib/minidlna/Music# find ./*/ -name "*Folder.jpg" -print0 | while read -r -d '' file; do cp "$file"  "${file%%Folder.jpg}cover.jpg"; done

ファイル名が”AlbumArt_{??-??-??}_Large.jpg”とかだったら、どうすればいいだろうか?
root@raspberrypi:/var/lib/minidlna/Music# find ./*/ -name "*Large.jpg" -print0 | while read -r -d '' file; do cp "$file" "${file%/*}/cover.jpg"; done
 かな?

【データベースへの反映】
# minidlna -R

または
# service minidlna force-reload

削除できない古いファイルがある場合
# chmod -R 777 /var/lib/minidlna/

ついでに
/ が100%の場合、log関係 apt関係他を削除
# rm /var/log/minidlna.log
# apt-get clean

MiniDLNA status
http://192.168.??.?:8200

【障害】
/var/log/minidlnaに異常
[2015/12/26 14:21:32] tagutils/tagutils-wav.c:173: warn: Ignoring long tag [� ] in /var/lib/minidlna/Music/Shanti/SHANTI'S LULLABY(24bit/96kHz)/01_Fields Of Gold(24bit 96kHz).wav
、でデータベース構築がストップ。文字もおかしい。これ以降のファイルを読み込まなくなった。サーバとしては機能するが、これ以降のファイルが読み込み・再生されない。
wavハイレゾには対応していないのか?tagの扱いがおかしいのか?

【対策】
wav -> flac 変換する。
linuxmint の soundconverter で変換したが、16bitとなったのでダメ。
windows の xrecordII で変換すると、ちゃんと 96kHz,24bit となったので、これに入れ替えて、
# service minidlna force-reload
MiniDLNA statusも正常に表示され、再生もOKとなった。

今回、ハイレゾ楽曲は e-onkyo music から wav でダウンロードしたが、今後は flac がよさげ。

0 件のコメント:

コメントを投稿

関連記事