peerc****@lists*****
peerc****@lists*****
2003年 8月 9日 (土) 09:11:34 JST
-------- MODE = Modify REMOTE_ADDR = 203.165.21.103 REMOTE_HOST = -------- LE-YON -------- 1ユーザーのメモ書き *このページは 練習を兼ねて、PeerCastを使っていて気が付いたことを忘れないようにメモしてみようかと、そういうページ ---- *LAN内の他のマシンでPeerCastからのストリーム配信を受けるには 本家かどこかに「''''LAN内に一台PeerCastを稼動させておけば、他のPCはそこから直接配信を受けられる''''」というような記述があったような気がします。しかし、実際やろうとしてみるとなかなかうまくいきませんでした。また、これに関する解説などもなぜか非常に少ないようです。;; できてしまえば大したことはなかったのですが、同じことで悩んでる人もあろうかと思います。というわけで、;; ;; 追記:http://www.PeerCast.org/jp/に次のようにありました。 >同じLAN内にいる人たちは自分のマシンにクライアント・ソフトウェアをインストールしなくても、ストリームのチャンネルを聴くことができます。オフィスにはLAN全体にストリームを供給するPeerCastクライアントが1台だけあれば良いのです。 **環境 LAN内のマシンには192.168.0.で始まるプライベートなIPが割り当てられている。;; PeerCastが動いているPCのIPは192.168.0.2とする。このPCはポート7144を開けておく。;; **PeerCastの設定 PeerCastの設定画面のまんなか辺に''フィルター''という項目があります。ここに追加します。;; 追加する設定はIP Maskを''192.168.0.255''とし、チェックボックスは左から3つにつけます。(''127.0.0.1と同じ'');; そして、[設定を保存]を押すのを忘れずに;; ;; これであとはプレイヤーに配信元を教えてあげるだけです。 **プレイヤー側 Winampのプレイリストに次のURLを追加すればそのチャンネルが聞けるようになります。;; ''''''http://192.168.0.2:7144/stream/[ChannelID].ogg'''''';; ;; もしくは(面倒ですが)html文書に ''''''http://192.168.0.2:7144/pls/[ChannelID]'''''' へのリンクを書いておき、それをクリックしても同様に聞けるようです。 ---- フィルターの設定についてはよく理解していませんが、とりあえず動いています。;; 詳しい方がいたら適当に書き加えてほしいです。;; 以上;; **8月5日追記 フィルターの設定はどうやら、指定したIPからの接続をタイプ別で許可/拒否するものらしい(参考:PeerCastJpWindows) ---- *127.0.0.1(localhost)について 127.0.0.1は''ループバックアドレス''といって、自分自身を指すアドレスだそうです。 カレントディレクトリとかと同じ考え方だと思います。 **PeerCastにおけるアドレス取得 PeerCastでは自分のグローバルIPの取得に特定のサーバーへの問い合わせを行います。;; もし、このサーバーが落ちていた場合には、自分のIPを127.0.0.1としてしまいます。 これは、いってみれば''間違った思い込み''のようなものですが、これによりおかしなことが起こります。 ・・・・いろいろあるかもしれませんが、とりあえず実際に遭遇した例で説明しておくと、 **個々のPeerCastの具体的な動作 あるPCで動作しているPeerCastの状況を考えてみます。;; PeerCastはネットワークを介して外から送られてきた情報を元に新たな接続を試みるわけですが、 送られてきたアドレスが127.0.0.1であった場合を考えると、 -まず、peercestクライアントは127.0.0.1に、つまりLocalhostへ接続しようとします。 -すると、LocathostにはすでにPeerCast(自分自身)がいるので、これとの間で接続が確立します。 -結局、同じPC上のPeerCast同士が接続されてしまいます。 この接続は無意味であり、またこの間では新たな情報は一切交換されないはずですが、実際にこの状況になるとその接続を介して大量のデータが流れるらしく、マシンがとんでもなく重くなります。;; そのときにはPeerCastのWebインターフェース等で接続状況を確認して、127.0.0.1との接続を切れば元に戻ります。ただし、間違えてWinamp等との接続を切らないように(^^; ;; しかし、いちいち監視していたのでは大変です。 **解決策 上の例では送られてきた情報が間違っていた、つまり自分以外のどこかのPeerCastが 自IPを127.0.0.1として動作していたために、自分のPeerCastがおかしな動作をしてしまいました。;; 逆に自分のPeerCastが自IPを127.0.0.1とした場合には相手側で同様のことが起こります。;; これを防ぐための方法を挙げると -自分でIPを調べて''forceIP''してしまう。しかしIPは頻繁に変わる可能性があるため、しょっちゅう確認する必要があり、あまりいい方法とはいえない。 -下のコメントでanoさんが書かれているように''filter''の設定で''127.0.0.1''を''ban''してしまう。こうすれば、ローカルのPeerCastからの接続は拒否されるため、上のようなことは起こらなくなる。 2つ目に挙げた方法は、自IPが127.0.0.1であるという間違った情報が外に流れていくのを防ぐものではなく、自衛策にしかなりません。結局lookuoHostが落ちた場合に間違った情報が流れ出すのを防ぐには現状ではforceIPするしかないような気がします。 どちらにしろ2つ目の設定は行っておいたほうがいいでしょう。 ---- グローバルなアドレスが127.0.0.1というのはあり得ないのだから、PeerCast内部で対処してほしいものです。;; 内容に関して、anoさんのLocalHost対策の方がまとまっていますが、とりあえず自分として整理したかったので。 ---- *file://で配信できないファイルがあるのはなぜ? 某ポート開放のoggはできるのに、自分でエンコードしたoggファイルでは配信できない。;; これから調べてみますが、考えられる原因としては -ソースがモノラルだから(?) -Winampで書き込んだタグのせい -もしかしてCBRじゃないのでは? ---- [[#rcomment]] - 2003-08-09 (Sat) 09:11:34 ''[[LE-YON]]'' : ただし1ファイルでしか確認していません。 - 2003-08-09 (Sat) 09:10:14 ''[[LE-YON]]'' : oggのタグの構造はわかりませんが、前後でファイル比較すると先頭と末尾がかなり変わっているようで。しかし、MediaPlayerでも再生はできるのでoggの仕様からは外れていないのかな、と。 - 2003-08-09 (Sat) 08:50:16 ''[[LE-YON]]'' : Winampでタグを書き込むと配信できなくなるようです。一度書き込んでしまうと消してもだめだったり。 - 2003-08-09 (Sat) 08:13:55 ''[[LE-YON]]'' : もうちょっと調べてからと思ってここにメモしておいたのですが、返答ありがとうございます。とりあえず、タグをなくすとか、エンコードの設定を確認するとかして調べて見ます。 - 2003-08-08 (Fri) 08:39:10 ''[[ano]]'' : OggVorbis、タグ情報周りで過去にいろいろありました。以前は文字数制限が。で、それは確か修正されたはずなんですが、一部のファイルや組み合わせ(?)でスキップされる場合は確かにあります。手元では日本語がタグ情報に入っているある特定のファイルのみスキップされたので、「utf8でも一部の領域で変な動作しているんだけど心当たりはない?」と本家フォーラムには投げてあります。 - 2003-08-05 (Tue) 08:19:40 ''[[ano]]'' : LocalHost対策は…長いので、私のページにでも書いておきましょうか。仰るとおり、localhostをbanすると、Win32GUI系はまともに動作しなくなるでしょう。 - 2003-08-05 (Tue) 05:47:37 ''[[LE-YON]]'' : しかし、こうするとタスクトレイからの再生が素直に通らないような・・・. - 2003-08-05 (Tue) 05:45:55 ''[[LE-YON]]'' : localhost対策とは?結局は自IPが127.0.0.1にされてもおかしなことが起こらないということでしょうか。 - 2003-07-20 (Sun) 16:51:02 ''[[ano]]'' : 192.168.*.*でPeerCastにアクセスして、127.0.0.1をbanすると、本家が落ちたときのlocalhost対策になります…。 - 2003-07-20 (Sun) 16:49:24 ''[[ano]]'' : いらっしゃいませ。ちなみに、うちの環境ではルータから192.168.''1''.*というIPが割り当てられてます。環境ごとに微妙に違うでしょうね。 --------