Ustream Flash Client API で IRC してみる
こないだのてら子では中継に初めてニコ生を使ってみたんだけど、初めてすぎて途中でいろいろめんどくなっちゃって Ustream に切り替えちゃった。お金もかかるしねー。まーでもあのコメントがだーって流れるのはそれはそれでおもしろい。で、前にもそんあことを思ったことがあって、Ustream のチャットをニコニコ風にオーバーレイして流すニコニコ Ustream ってのを作ったことがありました。(わー、2 年も前だわw。超絶おもしろかったなあ)そんときは、Ustream のプレイヤー swf から FMS とのやりとりをこっそり拝見させていただきまして、ストリームをぶっこぬいてたのですが、まー、そんな手がいつまでも使えるわけもなく、まったく動作しなくなっておりました。んで、最近 @hoehoe 氏のブログで Ustream Flash Client API とかいうのがあるのを知りまして、じゃー、また作れるやん?ってことでちょっと試したっていう話。実はてら子中に作っていた。前置き長い。
結論から言うと、すげー簡単にできた。大変だったのは API の使い方がわからんというところだ。API ドキュメントがあるんだけど無いに等しい内容でこれだったら FDT とかで SWC 見る方が早い、ってか実はそっちのが正しいみたいな。まー、↓みたいにすれば IRC つながりますので、@hoehoe 氏のやりかたで映像ひっぱってきてのっければニコニコ Ustream 完成ですなー。
package { import tv.ustream.irc.Channel; import tv.ustream.irc.Chat; import tv.ustream.irc.Irc; import tv.ustream.tools.DynamicEvent; import flash.display.Sprite; import flash.events.Event; public class IrcTest extends Sprite { private var _irc:Irc; private var _channel:Channel; private var _chat:Chat; public function IrcTest() { _irc = new Irc('username', 'password'); _irc.addEventListener('connect', _t); _irc.addEventListener('connected', _t); _irc.addEventListener('ready', _t); _irc.addEventListener('motd', _onMotd); _irc.addEventListener('createChat', _t); _irc.addEventListener('createChannel', _onCreateChannel); _irc.addEventListener('disconnected', _t); _irc.addEventListener('ioError', _t); _irc.addEventListener('securityError', _t); } private function _t(...args):void { trace('******', args); } private function _onMotd(e:Event):void { _t(e); _irc.join('HogeChannel'); } private function _onCreateChannel(e:DynamicEvent):void { _t(e); _channel = e.channel; _channel.addEventListener('message', _onMessage); _chat = new Chat('#HogeChannel', _irc); _chat.send('Uryaaaaaa!!!'); } private function _onMessage(e:DynamicEvent):void { _t(e.from + ': ' + e.message); } } }
この IRC クラス、Ustream だけに使えるとか制限あるわけじゃないので freenode とか別の IRC サーバーにも普通につながる。IRC クラスのコンストラクタの第 3 引数にサーバー名渡すだけ。ライセンスは確認してないけど。






2010/01/14 at 17:14:06
Macで生放送をしているものです。
コメントが流れるIRCを
画面キャプチャーソフトの
CamTwistのエフェクトとして取り込むことはできませんでしょうか?
CamTwistにはIRCが実装されていますが、
表示が非常に残念なのです(´-ω-`;)
CamTwistのエフェクトとして実装できれば
配信者としてはとても嬉しいのですが・・・