Saqoosha

Ustream Flash Client API で IRC してみる

Blog

こないだのてら子では中継に初めてニコ生を使ってみたんだけど、初めてすぎて途中でいろいろめんどくなっちゃって 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 引数にサーバー名渡すだけ。ライセンスは確認してないけど。

1000 万パケットで何分間 Ustream できるのか。

BlogiPhone

もいっちょ Ustream ネタ。iPhone から Ustream できるようになったのはちょーおもしろいんだけど、ソフトバンクはこないだ通信速度を制限しはじめたですよね、月間 1000 万パケット超えるひとだけみたいだけど。んじゃあ、何分やったら 1000 万パケットになんの?ってのがちょっと気になったので計算してみた。テストに使ったのはこないだ帰り道生中継したときのデータ。サイズは 176 x 146 の小さいほう。ごにょごにょして FLV をぶっこぬいた。

再生時間 (秒) 695 sec
再生時間 (分) 11.6 min
転送データ量 10,695,104 bytes
128 bytes/packet
トータルパケット数 83,555.5 packet
1分あたりのパケット数 7,213.4 packet/min
月間1000万パケット制限 10,000,000 packet/month
分にすると 1,386.3 min/month
時間にすると 23.1 hour/month

ふむ。計算があっていれば、23 時間で 1000 万パケット超える。まー、そのまえにバッテリーが切れるな。 Ust だけでこれなので他にもいっぱいつかうひとだったら危険かも。

Categories: iPhone

2009 年

Blog

2009 年は FLARToolKit の年でしたなあ、まったく。

2008 年 5 月にいちおうリリースしてた FLARToolKit が 2009 年のうちの年賀サイトでようやくデビューしたと思えば、いきなり North Kingdom 制作のサイトで使われて世界中に知られたり、あー、Adobe MAX Japan で FLAR デモしたのは 1 月だったっけか(そんときに @soundkitchen と知り合ったんだなー)、そのころぐらいから英語しゃべるつーのを以前より意識しだしたりとかして、でも FITC んときは結局日本語プレゼンだったけどまー海外の Flash イベントに日本代表とかって形で話す機会をもらえたのはほんと光栄だったなーとか、あーそのまえにあの DESIGN SHOWCASE のために @ga4 くんと作った作品も FLAR 使ったよなーとか、67 で FLARToolKit のワークショップもやったりとか、GE のサイトつくったスウェーデンのフリーランス Flasher が日本来るついでに会おうとかってこれも英語たいへんだったりとか、初めて仕事で使ったのは adidas でしたねー Web じゃなかったけどおもしろかったなーとか、そうそうせっかく TED に取り上げられたとおもったらなんかパクり疑惑?みたいで結構大問題になったりとか、ついに日本での FLARToolKit ライセンスの代理店ができて買いやすくなったりとか、Desktop Fireworksテレビに一瞬登場したりとか、ついに本家の Adobe MAX で FLARToolKit のセッションを持てたりとか、dotFes でも Adobe CS 組とかって一枠しゃべらせてもらったりとか、そしてそして .fla2 っていう本も書いたりとか、Infinity Ventures Summit とかっていう IT 企業の社長ばっかの会によばれたりとか、今年最後にやった仕事は一周回ってもっかい AR 年賀状っていうのもほんと感慨深かったりとか、AR 三兄弟が FLAR で NHK の生放送用のシステム作ったのはほんとにびっくり嬉しかったり、ほんとにほんとにいっぱいいっぱい、FLARToolKit きっかけでいろんなことがありすぎた。1 月の Adobe MAX 用にと思って作った 300 枚の Saqoosha 名刺が全部なくなっちゃったもんね。

来年はこのたくさんの出会いとチャンスをちゃんと次に生かせるように、けど、マイペースにこれまでどおり興味の赴くままに作り続けたいと思っておりますよ。とりあえず来年の年賀サイトは今年のほど話題になるとは思わないけどそれなりに気合い入れて作ったので楽しんでくださいまし。

ギリ 2009 年中に今年のまとめかけた。よかた。

んじゃ!!