Help us understand the problem. What is going on with this article?

SkyWay WebRTC GWを利用してUnityでWebRTC Videoをレンダリングする

More than 1 year has passed since last update.

やったこと

最近公開されたSkyWayWebRTC Gatewayを利用して、WebRTCの映像をUnityでレンダリングしてみました。
具体的な実装方法についてざっくり記載します
=> 2018/7/13追記: ソースコード公開して解説記事を書きました。 https://qiita.com/nakakura/items/a99c468c56db2a92b32f

実装

Unityへのテクスチャ取り出しについては、MHD Yamen Saraiji氏のmrayGStreamerUnityを利用しました。Thanks Yamen!
mrayGstreamerUnityはその名の通り、gStreamerというオープンソースアプリケーションで処理する動画データをUnityのテクスチャとして取り出すためのUnity Pluginです。
gStreamerを利用すると動画をRTPで送受信することができるため、別の端末から映像を配信してUnityで描画することができます。

mrayGstreamerUnityの構造

平たく言うと、RTPで動画を送ればUnityのテクスチャを生成してくれる便利なUnity Pluginとして利用することができます。
ここでSkyWay WebRTC GWを利用します。
SkyWay WebRTC GWはMediaStreamで受け取ったメディアをRTPで外部に転送してくれる機能があります。
これを利用して、mrayGstreamerUnityの受信ポート宛に転送してやれば描画してくれます。

SkyWay WebRTC GWの利用

SkyWay WebRTC GWはDataChannelも扱えるので、Unityアプリケーション間でのデータのやりとりも可能です。
UDPでデータの送受信をしてやれば、Unity間でインターネット経由でのチャットやデータ転送も可能です。

Untitled Diagram-Page-2 (3).png

できるようになったこと

  • UnityアプリケーションからのWebRTC利用(インターネット越しの映像・音声通信・データ転送)
    • Unityアプリケーションとブラウザ間でビデオ通話
    • Unityで作ったVRアプリケーション間で通話

例えば、VRゲームの途中で、メタルギアソリッドの無線みたいな感じで通話できるようになる。
ARアプリケーションでリアルタイムにナビを行える。etc.

公開について

まだソースコードがきちゃない状態なので、整理したあとUnity Pluginとして公開しようと思っています。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away