2012年7月5日木曜日

wonderflで他のswfを呼び出す部分をまとめてみた。

ちょっとwonderflでソースコードをだだ漏れにしつつ、プログラムを組んでいました。

まぁ、つくっていたのは、httpTakStreaming用のプレーヤーとかred5でのrtmpとwebSocketによるチャットテストとかなんですが・・・

そこそこな動作になるように調整してみました。

売りはMyLoaderのところですね。
読み込みたいプロジェクトをいくつかあらかじめnew MyLoaderで予約して
MyLoader.loadAllで全部読み込んでから指定functionを動作させる。
できあがったら、あとは適当に初期化してアプリケーション動作開始・・という手はずです。

このswfロード動作、別にwonderFLにあげてなくても、crossdomainだけ解決できていれば、自分のサーバーにあるデータでも同じように読み込み→流用ということができるとおもいます。


んで余談ですが、netStream.appendBytesを利用した動画データはstreamTransportやrtmpdumpでは取得ができません。

なので

こちらにつくったtakStreamingのftmファイル生成部分をいろんな方法で暗号化して
こちらでつくったftmファイルbyteArray化の部分で複合化して視聴させるようにしつつ
しかも1時間おきとかに暗号方法を変更していったりすれば
ライブストリーミングも、動画サービスも、意図しないダウンロードからコンテンツを守れると思うんですよね、どうでしょう?みなさん。

というのが
に書いてある有償が云々のくだりなんですけど・・・

よくよくみたら、1,2はすでに実装済みですね。(*1)
3も今回のwonderflのプログラムで道筋は建ちました。

ちなみにstreamTransportでtakStreamingを視聴しているflashのデータダウンロードを実行してみたところ、header用のfthファイルがなぜか落ちてきました。(*2)
データやりとりしている部分でflvデータと解釈できたバイナリダウンロードとrtmpプロトコルの監視をしているんですかね。


ちなみにこのhttpTakStreamingみたいにnetStream.appendBytesを利用した不正ダウンロード対策が世にはびこったとして、もし僕が不正ダウンロードを実行するとしたら、flashplayerのプログラムラッパーを書いてnetStreamの動作を監視するプログラムでも書きますかね。すくなくともappendByteするタイミングでは、生のflvデータにもどっていることは確かですから。

まぁ、そんな面倒なことしなくてもデスクトップキャプチャとかで撮ってしまえば画質はわるくても一応保存できますので、そっちの方が楽ですけど。

では、本日もたわいもない記事でした。


(*1)
現行のプログラムではrtmpソースをFlashMediaServerにしてあります。
apacheプロジェクトのftpClientを利用したファイルのアップロード処理も実験済み

(*2)
現行のfthファイル先頭1パケット分の正しいflvファイルになってます。