kumaryu日記
2009-06-10 今日もストリーミング
_ ピアキャスすとりー民具
Ogg/TheoraとかいうからピアキャスでOgg/Theoraストリーミング配信がうまくいかなかったのを思い出してむかついてPeerCastのソースを真面目に読んでみたりした。
PeerCastって今までどんなプロトコルでプレイヤーにストリーム渡してるのかと思ってたけど、読んだらなんてことはない、HTTPでパケットちょびちょび渡しているだけという驚愕の真実。
というか今まで何度かソースを読んだはずなのに、今さらそれに気づくというやる気の無さにも驚愕して二度おいしい。いいえ、おいしくないです。
自前でパケットの時刻制御みたいなのもやってて、上から規定時間ないにパケットが流れてこなければフレームスキップと勝手に判断してパケット単位でおっことす。おおっと力業。
なるほどねー。こんなんで再生してくれてしまう世のメディアプレイヤー達に感謝。いやちゃんとしたストリーミングのプロトコルとか良く知らないから、世の中こんなものなのかもしれないが。
で、肝心のOgg/Theoraがみれない問題だけど、チャンネルのストリームをプレイヤーが要求してきたときにHTTPでストリームを返すのに、Ogg/TheoraだけHTTPヘッダ処理が書き忘れという簡単なミスが問題だと思われ。
今まで誰も試したこと無かったのね…orz。
前試したときはリレーはできてるのにプレイヤーにデータが流れていかない様子の現象だったから、確かに合ってそうだ。ここ直して手元でみれればおっけーかなー。
手元ではみれた。よしよし。
問題はリスナー側でのPeerCast更新が必要になることなんだが、どこにパッチを投げればみんな更新してくれるんだろうかこれ。
つかPeerCastの公式/非公式共に最新のソースがどこにあるのかすら分かんないんですけど><
_ HTTPストリーミング
なんか細切れのMPEGをプレイリストにして返す感じだって聞いた。これまた大胆な仕様だなぁ。
結局単に全部ダウンロードしなくても視聴できるPodcastってことか。全く面白くないな。