2013年1月20日日曜日

p2pベースで動作するプレーヤーをとりあえず公開してみました。

とりあえず、ある程度動作を向上させたので公開してみます。
ここまでくるのに3年くらいかかったわ・・・

■概要
ソースコード:https://github.com/taktod/TakStreaming2/tree/flashCode3
rtmfpの親:http://49.212.39.17/betaplayer/master.html
rtmfpの子:http://49.212.39.17/betaplayer/slave.html

構成的にはこんな感じ

いまのところ家のLAN内でしか動作確認していないので、適当なときに有志募っていつか動作確認したいところ。

ipMulticastMemberUpdatesEnabledを有効にして、ローカルネットワークでのみp2pが成立するようになっています。

■確認の仕方。
1:master用ページslave用ページを開きます。
2:それぞれplayをクリックしてplay実行します。
3:ブラウザのファイルダウンロード状況を確認して、httpによるflfやflmのダウンロードがなくなっているのに再生が続くようになったら、p2p経由でデータの共有がうまくいっていることになります。


■見所
1:簡単に扱えるようにしてある。
導入しやすいように、プログラムは極力簡単に扱えるようにしてあります。
参考:master.mxml
Factoryクラスにsource(データ元)とsupply(提供先:なくてもいい)を設定してから
netStreamとvideoを抜き出して利用するだけ。

2:安定化
segmentのダウンロードが実行できれば問題なく動作するようにつくってあります。
複数のデータソースを共存できるように設計してありますので、基本http経由で、可能ならばrtmfpでデータを共有するというような形で動作できます。
よってサーバーと回線のコストを極力落とすことが可能です。

3:既存のrtmpとの親和性
flazrを利用しrtmpサーバーから放送データを取得したり、red5のアプリケーションとして導入できるようになっています。

■いまのところわかっている問題
 致命的なもの
・放送が停止すると、最終パケットがループで繰り返し放送される。
・slaveのみでのネットワーク構築動作未実装(自動master選出処理)
・タイミングによっては、とまったりする?

・rtmpベースやflvファイルベースの動作が未実装
・回線の弱いクライアント処理の未実装


とこんな感じのプログラムに仕上がってきました。
まだまだ突っ込みどころは多いので、どんどん改良していかないとねw

1 件のコメント:

  1. Casino Games Online - Jancasino.com
    Online jancasino.com Casino https://octcasino.com/ Games · The Best Online ford escape titanium Casinos herzamanindir.com/ · Best Casino Bonuses · Live Dealer Casino Games. · Live Dealer Games. · Free Spins and Withdrawals 바카라 · Live Casino Games.

    返信削除