ZtreamはScala/HTML5製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

WebRTCではP2Pのメッセージングシステムが実現できます。動画チャットばかり注目されていますが、他にもできることはたくさんあります。今回はP2Pによるストリーミング配信システムZtreamを紹介します。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.16.13_thumb.1373377307.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.16.13.1373377307.png)
トップページです。再生ボタンを押すと音楽が流れます。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.16.23_thumb.1373377312.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.16.23.1373377312.png)
徐々にバッファされています。ピアーが他にいないので、この場合はサーバから配信されるのみです。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.21.32_thumb.1373377317.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.21.32.1373377317.png)
こちらは別なブラウザです。ピアーが2になっています。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.22.12_thumb.1373377322.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.22.12.1373377322.png)
片方の配信が100%になりました。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.22.35_thumb.1373377327.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-08 9.22.35.1373377327.png)
そうするともう片方はサーバではないピアーから配信されるようになりました。13%はサーバ外からの受信です。

Ztreamでは音楽の配信に際してP2Pのファイル共有のような手法を使います。P2Pでデータを送信しあう事ができれば、サーバの負荷は減り、クライアント側も高速でダウンロードできるようになるでしょう。

MOONGIFTはこう見る

インターネットの利用者が増えるのに伴って、サーバ/クライアント型のシステムでは徐々に無理が出ているように感じます。特に動画や音楽など大きなメディアを扱う場合にサーバからの一極集中では相当強力なバックボーンが必要になってしまいます。

P2Pはその解決策の一つになるかも知れません。スマートフォンであってもBluetoothなどの近距離通信を使ってクライアント間でデータを授受できれば、セミナールームなど狭い空間内では指定されたサイトや情報を見るのは高速化できるかも知れませんね。

Ztream

atamborrino/ztream