Wata をリアルタイム映像配信に対応した

めるぽん
wandbox.org
Published in
3 min readMay 30, 2019

Wata はバーチャルライバー特化型の配信ミドルウェアです。

Wata についての詳細はこちら: Wata プロジェクトについて

今回は、Wata をリアルタイム映像の配信に対応しました。

リアルタイムで配信した映像が、Wata を経由してブラウザーで閲覧できるようになります。

RTMP で受けれるようにしたので、RTMP での配信に対応したアプリケーションを使えば配信できて、それをブラウザーで閲覧できます。

左側が配信側、右側が視聴者になりますが、ほぼ遅延無くリアルタイムで配信できていることが分かります。

Wata サーバは AWS の t2.micro インスタンスなので、ちゃんとインターネットを通ってこの速度になっています。

具体的には、OBS で左側の動画をスクリーンキャプチャして RTMP 形式で Wata サーバに送信し、それを WebSocket 経由で右側のブラウザで受けて表示しています。

つまり以下のような構成になっています。

RTMP to ブラウザーの構成

通常、ブラウザで映像をリアルタイムで表示するときには HLS にして配信しますが、それを行わずに WebSocket で直接投げることで遅延を可能な限り抑えています。

Wata を経由するので、当然ながら複数ブラウザへの配信もできます。

これは以下の構成になっています。

RTMP to 複数ブラウザーの構成

この時の Wata サーバの CPU 使用率は 1% いかない程度でした。なのでほとんどの場合はネットワークが先に詰まるかと思います。

3ユーザに配信中のCPU使用率

映像は現在 WebSocket で受けていますが、これは gRPC-Web にする予定です。また、映像の受け口を RTMP 以外のフォーマットにも対応していけたらと思います。

--

--