daap_proxy.pl
はてなブックマーク - updated daap_proxy.pl
クロスフェードを長めにして回避してます。
それだ!
何で再現する環境とそうじゃない環境があるんだろうとおもったらクロスフェードを有効にしてるかどうかという違いでした。
iTunes 設定でクロスフェードを有効にしてあると、たとえクロスフェードの長さが 0 であっても次の曲を読みに行くときに TCP コネクションを貼りなおすみたいで、うまく動きます。
根本的な解決ではないですが、一応はこれで大丈夫みたいです。
updated daap_proxy.pl
うごいてなかった。違う環境でテストしてたよ。。
daap_proxy.pl の使い方
わかりにくいっぽいので、メモを書いておく。
環境1:
- 自宅サーバー unknownplace.org:3689 で mt-daap だとかそれ系の iTunes サーバーが動いている
- それをリモートのクライアントWindowsPC(ここではThinkPad)からみたい
- Bonjour for Windowsインストール
- svk co http://svn.bulknews.net/repos/trickster/trunk/Net-Rendezvous-Publish-Backend-BonjourWin32/
- 1 でインストールされた dns-sd.exe をどっかパスの通ってるところか、examplesディレクトリにコピー
- examplesディレクトリで
perl daap_proxy.pl --remote-server unknownplace.org
実行
環境2:
- 1と同じだが自宅サーバーの3689ポートは空けてなくsshポートフォワードを使う場合
- 上記の3までやる
- ssh -L 9999:unknownplace.org:3689 とかしてポートフォワードる
perl daap_proxy.pl --port 9998 --remote-port 9999
環境3:
- 1と同じだがクライアントにOSXを使う場合
- Net::Rendezvous::Publish::Backend::Apple インストール
- svk co http://svn.bulknews.net/repos/trickster/trunk/Net-Rendezvous-Publish-Backend-BonjourWin32/
./examples/daap_proxy.pl --remote-server unknownplace.org
とかいう感じ。
POE 周りのモジュールのインストールも必要。
BonjourWin32 周りはもっとなんとかしたいかなぁ。
あと、サーバーに miyagawa さんの daap-mirror-proxy.pl を使うとリモートのiTunes共有をローカルのiTunes共有にマージできて、なかなかすばらしげ。