fuppesでDLNA鯖を立ててXbox360と繋いで音楽再生したりしたいメモ。

前回の記事でNASの音楽をリモートで〜って話を書いたんですけど、
今回はそれをXbox360で認識させて再生したいなーと思い立っての記事。
NASにもDLNA機能があるので、そのまま認識してくれりゃ万々歳だったんですけど、
Xbox360DLNAは独自仕様らしく(;´д`)認識してくれない模様。
PS3だとデフォで認識してくれるそうです。くそー持ってないんだよっ!


とりあえず、てっとり早く箱○で再生したいなら、WindowsマシンでTVersity
起動して、NASのフォルダをぶっこめばおk。
曲名が化けたりする場合は、UTF8で保存しなおせばNP。
iTunesでタグを保存しなおせばUTF8になるます。


で、fuppesでの再生なんですけど、結論的に言うと、まだ出来てないです。


とりあえずメモなど。


参考URL
http://d.hatena.ne.jp/UDONCHAN/20080914/1221376933
http://dmsolutions.jp/wp/2007/12/01/fuppes-%E3%81%A7-linux-%E3%81%8B%E3%82%89-xbox360-%E3%81%AB%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0/
http://on-o.com/page/diary/20081229.html

ダウンロード

http://fuppes.ulrich-voelkel.de/
SVNから落とせっちゅー事なんだけど、なんか落とせないのでパッケージのDL。
ココからtar.gzを落とす。

落としたら適当に解凍。

prceのインストール

さくっとこんふぃぎゃーしてmakeしようとしたんだけどライブラリがたらねーよって
言われたのでとりあえずインストール。
prceうんちゃらとかいうのが無い言われたんで、以下からFedora8用のrpmをDL。
prce-7.3-4.fc8.i386.rpm
pcre-devel-7.3-4.fc8.i386.rpm



# rpm -Uvh pcre-7.3-4.fc8.i386.rpm
警告: pcre-7.3-4.fc8.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6df2196f
準備中... ########################################### [100%]
1:pcre ########################################### [100%]
# rpm -ivh pcre-devel-7.3-4.fc8.i386.rpm
警告: pcre-devel-7.3-4.fc8.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6df2196f
準備中... ########################################### [100%]
1:pcre-devel ########################################### [100%]
develじゃない方は元々入ってたので、アップデート。
他にもちらほらいるものがあったりするようだけど、とりあえずこれで
後述のビルドは通ったのでよしとする。

ビルド

fuppesのパッケージを解凍したディレクトリまで移動してこんふぃぎゃー。


# autoreconf -vfi

# ./configure -prefix=/usr/local/fuppes

中略

SUMMARY

audio transcoding enabled
encoder:
lame : no
twolame : no
wav : yes
pcm : yes
decoder:
vorbis : yes (libvorbisfile)
mpc : no
flac : no
fadd : no

video transcoding (experimental)
ffmpeg : disabled


iconv : enabled
uuid : enabled
taglib : disabled
ImageMagick: disabled
simage : disabled
libavformat: disabled

GNOME
panel applet : disabled
libnotify : disabled

Thanks for using fuppes
please report bugs

とりあえず諸々のインストールディレクトリだけ/usr/local/fuppesと指定しておいた。
(色々オプションを指定したりしたのだけどmakeに失敗したりしてよくわからなかった)


でmake。


# make
# make install

# cd /usr/local/fuppes/bin/
# ll
合計 104
-rwxr-xr-x 1 root root 53611 2009-xx-xx xx:xx fuppes
-rwxr-xr-x 1 root root 42294 2009-xx-xx xx:xx fuppesd

こんな感じ。

起動準備

UDONCHANさんに倣って起動スクリプトを書く。


# vi start-fuppes

FUPPES_NAME="Media Server"
FUPPES_DIR=/home/user/fuppes
FUPPES_CONFIG=$FUPPES_DIR/fuppes.cfg
FUPPES_DB=$FUPPES_DIR/fuppes.db
FUPPES_VFOLDER=$FUPPES_DIR/vfolder.cfg

/usr/local/fuppes/bin/fuppes --config-file $FUPPES_CONFIG --database-file $FUPPES_DB
--vfolder-config-file $FUPPES_VFOLDER --friendly-name "$FUPPES_NAME"
--log-level 1 --log-file /var/log/fuppes.log


fuppes.cfg(とfuppes.db)は、一度起動すると~/.fuppesに出来ているので、適当にコピーする。
こっちはrootで入れたので↓の様な感じ。


cp /root/.fuppes/fuppes.cfg /home/user/fuppes


vfolder.cfgはパッケージを解凍したディレクトリに入っているので
適当にコピーしておく。

Xbox360用の設定

そのままだとXbox360では認識しないらしいので設定を書く。


まずはfuppes.cfgを。こちらを参考に。
とゆータグがあるので、以下の感じに変更追記。


<device name="Xbox 360" virtual="Xbox 360" enabled="true">
<user_agent>Xbox/2.0.\d+.\d+ UPnP/1.0 Xbox/2.0.\d+.\d+</user_agent>
<user_agent>Xenon</user_agent>
<xbox360>true</xbox360>
<description_values>
<friendly_name>%s %v : 1 : Windows Media Connect</friendly_name>
<model_name>Windows Media Connect compatible (%s)</model_name>
<model_number>2.0</model_number>
</description_values>
<file_settings>
<file ext="mp3">
<type>AUDIO_ITEM_MUSIC_TRACK</type>
</file>
</file_settings>

</device>
あとvfolder.cfgも。

<vfolder_layout device="Xbox 360" enabled="true">

起動

# ./start-fuppes
webinterface: http://192.168.0.x:40761

r = rebuild database
i = print system info
h = print help

press "ctrl-c" or "q" to quit

こんな感じに起動する。
ログ取るの忘れたのでうろ覚えになっちゃったけど、確かLANアダプタの
聞いてきたはずなんで、何も考えず適当に「eth0」と入れといた。


最初はfirewallが邪魔して認識してくれなかったので、一旦iptablesを無効化。


したら↓な感じで認識!!


当然の如くまだ共有するフォルダとかぶっこんでないので、何も再生できるものがないです。

Webからの共有の設定

起動時に出ていたwebinterfaceのURLにアクセスすると、画面が開く。
この辺から色々確定情報が不明。操作よくわからず。


左のメニューから"Configuration"を選んで、右側のページの"shared objects"に
フォルダのパスを書いて実行を押す。


ディレクトリが追加されるので、また左側のメニューで"Options"を選んで、
"rebuild database"とか色々やってみる。きっとNASのデータを見て
よしなにやってくれるんだと思っていたが・・・コンソール側にこんなのが。


CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Commit() :: SQL error: cannot commit - no transaction is active
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
CContentDatabase::Execute :: SQL error: disk I/O error
./start-fuppes: line 7: 23725 セグメンテーション違反です
Σ(゚д゚;)落ちた


結構量があるからかな・・・と思って少量だけ共有してみたら、落ちなかった。
"Status"の"database status"にある"object.item.audioItem"が2になっていて、
この時入れたのは2曲だけだったので、認識は出来てそうで、さっき落ちたのは
やっぱ曲大杉なのかなという所までは来たんだけど・・・


とりあえず今回はココで断念。
なんかfuppesにこんなメッセージ出てるのが気になるんですよね。

:1: parser warning : xmlns:ms: ' urn:microsoft-com:wmc-1-0' is not a valid URI
ot xmlns="urn:schemas-upnp-org:device-1-0" xmlns:ms=" urn:microsoft-com:wmc-1-0"
^


また動いたら記事書きますヽ(;´ー`)ノ