Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[WebRTC]PLiCy におけるゲーム実況配信機能の実装について

シャイん
October 29, 2017
1.1k

[WebRTC]PLiCy におけるゲーム実況配信機能の実装について

WebRTC Meetup Osaka#2 の講演資料です。
WebRTCとしては珍しく、
カメラではなくCanvasを利用した配信を採用しております。
Unity、RPGツクールMV、PlayCanvas、WolfRPGエディターや自社製ゲームエンジンなどのゲームをWebRTCを用いて配信します。

シャイん

October 29, 2017
Tweet

Transcript

  1. ゲーム画面を抽出 captureStreamで取得するだけ! Game Designer World (WebGL) RPGツクールMV (WebGL/Canvas2D) Unity(WebGL) WWAWing

    (Canvas2D) WolfRPGエディター 互換(WebGL) Game Designer Action (WebGL/Canvas2D) Clickteam Fusion2.5 (Canvas2D) Play Canvas (WebGL) PLi-Log (Canvas2D) 内製ツール
  2. Safari対応 SafariでWebRTCに対応したと聞いて実装。 →まさかの captureStream 対応。ゲーム配信も行けます。 しかし PeerJS のエラー発生。 →RTCDataChannel API

    でOSをまたぐ String型 の通信にて問題。 →ソースの修正を試みる。 →データ通信を ArrayBuffer型 に統一。エラーが発生しなくなる。
  3. WebRTCブラウザサポート状況 Chrome Firefox Safari EDGE MediaStream ✓ ✓ iframeを超えた addTrack不可

    ✓ iframeを超えた RTCPeerConnection不可 △不安定 captureStream (Canvas配信) ✓ ✓ ✓ × createMediaStreamD estination (WebAudio配信) ✓ ✓ ✓ × getUserMedia (マイク/カメラ) (HTTPSのみ) ✓ ✓ ✓ ✓ RTCDataChannel (バイナリ通信) ✓ ✓ ✓ ×