« Box2DFlashAS3 | メイン | Ustream Zapping »

Ustreamのストリーミングを自分のFlashに読み込む

サーバリソースのタダ乗りなので規約上よろしくないかもしれないけど、 ちょっと試すくらいならと思い立ち..
手順は、
1)http://www.ustream.tv/channel/チャンネル名 のHTMLを取ってくる。
2)HTML内からチャンネルID (34xs7CUZgpdJDIWCh6vo7rmVyZs1EGo5みたいな文字列) を取り出す。
3)AMF(FlashRemoting)でhttp://gw.ustream.tv/gateway.phpに下記情報を送る。
【サービス名】client
【メソッド名】check_broadcaster
【パラメータ類】
channelid : String …チャンネルID
rpin : String …謎の値
is_offair_content_needed : Boolean …オフライン時の代替画像表示するか?
id : Number …謎の値。0~9000の間を1000単位でランダムの模様。

4)するとストリーミングのURL等が返ってくるので接続再生する。


AMFの解析にはServiceCaptureが役立った。

追記 08/01/26 22:31
20秒くらい経つとコネクションが切れてしまう原因を探ったところ、
定期的にハートビートを送る必要があるとわかったので対応。

追記 08/03/06 07:47
http://www.ustream.tv/crossdomain.xmlにアクセス制限がかかるようになったので プロクシを通してHTMLを取ってくるように変更した。

トラックバック

このエントリーのトラックバックURL:
http://www.kyucon.com/cgi-bin/blog/kyucon-tb.cgi/411

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)