1000Speakers@Sendai #1 懇親会での発表
とりあえず資料。
話す人埋まらなかった時用の代役プレゼン。途中で話す人埋まったので作りかけ。正直すまんかった。
色々説明不足なので説明を。
まずCocomoですが、これはAdobeが発表した、所謂PaaS(platform-as-a-service)にカテゴライズされるサービスです。
とか、いきなり受け売りをかましましたが、PaaSってCocomoで初めて聞いたよ。
サービスとしてのアプリケーション開発・実行基盤のことだそうで。
SaaSとも違うんですね。IT業界は略語が多くていかんですね。
えー、要するにAdobeのクラウドを使ってストリーミングとかオブジェクトの共有なんかをやらしてもらえると。しかも便利なAPIを通して。
なにが出来るのかっていうとこんなの
* VoIP Audio
* Webcam Video
* Chat
* Multi-User Whiteboards
* Real-Time File Sharing
* User Management
* Roles and Permissions
* Robust Data Messaging
やろうとしてた事のために自前でRed5サーバ(FMS相当のオープンソースストリーミングサーバ)をたてたりとかしてた訳ですが、このβサービスを使うと、そういったものも利用する必要が無いわけです。
どんくらい便利になるのかというと、例えば映像と音声のストリーミングが...
//ストリーミング開始側 import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private var nc:NetConnection; private var ns:NetStream; private var cam:Camera; private var mic:Microphone; private function init():void{ nc = new NetConnection(); nc.client = new CustomClient(); nc.connect("rtmp://localhost/oflaDemo");//flvの保存先 nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus); nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSecurityError); setupCameraMic();//カメラとマイクを設定 } private function onNetStatus(evt:NetStatusEvent):void{ switch(evt.info.code){ case "NetConnection.Connect.Success": ns = new NetStream(nc);//ストリーミング trace("Success"); break; ・・・・・・・・・・・・・・・・・ //カメラとマイクの設定 private function setupCameraMic():void{ cam = Camera.getCamera(); mic = Microphone.getMicrophone(); if(cam != null){ videoContainer.attachCamera(cam); } } private function broadcastClick():void{ ns.attachCamera(cam); ns.attachAudio(mic); ns.publish("red5BroadcastDemo","live");//ライブストリーミング } //受信プレイヤー側 import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private var nc:NetConnection; private var ns:NetStream; private var cam:Camera; private var mic:Microphone; private function init():void{ nc = new NetConnection(); nc.client = new CustomClient(); nc.connect("rtmp://localhost/oflaDemo");//flvの保存先 nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus); nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSecurityError); setupCameraMic();//カメラとマイクを設定 } private function onNetStatus(evt:NetStatusEvent):void{ switch(evt.info.code){ case "NetConnection.Connect.Success": ns = new NetStream(nc);//ストリーミング trace("Success"); break; ・・・・・・・・・・・・・・・・・ private function setupCameraMic():void{ ns = new NetStream(nc); ns.client = new CustomClient(); var video:Video = new Video(); video.attachNetStream(ns); ns.play("red5BroadcastDemo",-1); myVideoContainer.addChild(video); } private function onMetaData(data:Object):void{ }
こうなる
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:rtc="CocomoNameSpace"> <rtc:AdobeHSAuthenticator id="auth" userName="my_user_name" password="my_password" /> <rtc:ConnectSessionContainer roomURL="http://connectnow.acrobat.com/my_user_name/my_room" id="cSession" authenticator="{auth}"> <rtc:WebCamera width="100%" height="150"/> <rtc:AudioPublisher id="audioPub"/>
認証周りをのぞくと映像も音声もわずか一行です。
同様にチャットも...
<rtc:SimpleChat width="100%" height="100%"/>
こんだけ><
Shared Object用意してあれしてそれしてとかやらなくても出来ちゃうよ。勿論こった事やろうとしたらCocomoSDKを色々調べる必要があるけど。
まだβサービスでお金もかからないからみんなAdobeID取って登録したらいいと思うよ。
という内容でした。