2007年10月15日

OpenLaszloを少し触ってみた


OpenLaszloはオープンソースのRIAで、LZXというXMLとJavaScriptを組み合わせて記述したものを、DHTMLやFLASHに変換する。
RIA関連は結構いろんなものが出てるし、FLASHだってFlex2 SDKはタダで手に入るけど、オープンソース大好き人間としてはOpenLaszloを選ばないわけには行きません。



とりあえずやりたかったのはYoutubeとかニコニコ動画のような動画ストリーミング。
実現するには、OpenLaszloだけじゃなく、RTMPの配信サーバーも必要だけど、これもオープンソースなRed5をいじってみたいところだ。



今回は、プログレッシブダウンロードだけ試してみた。



まずはmp3。
ちょー簡単なんですけど。



< view resource="http:xxxxxxx.mp3" id="player" />;



これをlzxファイルのどっかに埋め込んどくだけで、とりあえずmp3を聴ける。
mp3はlzxと同じ場所に置いてある。
あとはこのviewのメソッドを呼ぶだけ。




<button onclick="player.play()">Play</button>
<button onclick="player.stop()">Stop</button>


stopメソッドは普通のプレイヤーでいうストップではなく、ポーズになる。
ストップさせるには、stopメソッドとseekメソッド両方を呼び出せばいいのだろうか。
まだ未確認。



次はflv



<videoview url="video.flv" autoplay="true"/>



コンポーネントってすばらしい。
同じく、flvファイルはlzxと同じ場所。




まあ、簡単にできるって話は結構目にするので、簡単だろうとは思ってたが、まさかここまでとは。
(コネクションの確保とかくらいはすると思ってた。)
これを試すために、flvファイルの作成やらなんやらで、Macにエンコーディング環境をいちいち作る方が面倒だった。
iTunesやQuickTimeでやれば楽なんだろうけど、なんとなく意地でオープンソース(っぽいものを含む)で固めた。



  • ffmpeg

  • lame

  • HandBrake



RTMPはRed5しか選択肢ないのかな。
Python製のRTMPサーバーがあって欲しいものだが、Twisted関連でやってるところがあるのかも。