- 日時
2020-05-06
- 作
- バージョン
2020.5
このプロダクトに興味がある人はこの資料に Star をつけてもらえると嬉しいです。
- depth
1
この製品はプロトタイプ開発中です
WebRTC P2P+MCU Azuki は NIVIDA の Jetson AGX Xavier や Jetson Xavier NX で動作する WebRTC P2P+MCU を開発、オープンソースにて提供していくプロジェクトです。
通常 MCU はグローバルに置いて稼働するのが普通ですが、 Azuki は WebRTC の P2P 機能を利用することで、自宅に置いてある Jetson Xavier で利用可能です。
仕組みとしては Azuki と参加者が個別に 1:1 外部のトンネルサーバを利用して接続します。Azuki は参加者から送られてきた音声と映像を合成し、参加者に返します。
グローバルにリレーサーバと STUN/TURN サーバが立っている必要がありますが、こちらは時雨堂がサービスとして無料で提供予定です。もちろん自分で立てることも可能です。
最初のうち
- P2P を利用した MCU 機能を提供
- H.265 / Opus が利用可能
- VP9 / Opus が利用可能
- NVIDIA Jetson Xavier シリーズが持っているハードウェアエンコーダ/デコーダを利用します
Azuki を使ってインターネット越しで MCU 機能を利用する仕組みです。グローバルにあるリレーサーバや STUN/TURN サーバを利用します。
自宅での利用を想定しています。
Azuki をクローズドネットワークで利用する仕組みです。Azukiが持っているシグナリングサーバに接続します。TURN や STUN は提供しないため UDP/TCP で通信が利用できる必要があります。
閉ざされた環境での利用を想定しています。例えば病院などです。
Jetosn に内蔵されている H.265 ハードウェアエンコーダを利用します。クライアントはクローズドソースで提供するアプリケーションを利用します。
H.265 のハードウェアエンコーダが動く端末が必要です。macOS では VideoToolbox 、Windows では Intel Media SDK を利用します。
P2P+MCU で利用する場合は STUN/TURN サーバが必要になります。
イメージとしては認証があり、TURN サーバの払い出しを行う Ngrok です
P2P+MCU で利用する場合は利用ユーザがアクセス可能なリレーサーバが必要になります。 リレーサーバ経由で Azuki 内蔵のシグナリングサーバと通信します。
MCU で利用する場合は Azuki が内蔵しているサーバが利用可能です。
- X と Y はリレーサーバを利用し Azuki と 1:1 でつなぎます
- Z は Azuki がローカルにあるため Azuki のシグナリングサーバを利用して Azuki と 1:1 でつなぎます
- Azuki は X と Y と Z の映像を合成し、X と Y と Z に配信します
- Y は TURN サーバ経由で Azuki と接続します
まだあまり考えていませんが、非商用利用限定で利用可能なリレーサーバと STUN/TURN サーバを無料で提供予定です。
P2P+MCU を気軽に始めることが可能です。
- オープンソース
- Apache License 2.0
- Jetson Nano または Jetson Xavier NX で動作
- H.265 / H.264 はソフトウェアエンコードは提供しない
- クローズドソース
- 商用利用する場合は年間ライセンス費用が発生
- H.265 / H.264 はソフトウェアエンコードは提供しない
- Intel Media SDK
- VideoToolbox
- クローズドソース
- 商用利用する場合は年間ライセンス費用が発生
- H.265 / H.264 はソフトウェアエンコードは提供しない
- オープンソース
- Apache License 2.0
- 無料で利用可能
- 商用利用禁止
- 無料で利用可能
- 商用利用禁止
- coturn を利用予定
- クライアントをクローズドソース提供
- 商用利用する場合は年間でライセンス費用がかかります
- 非商用利用の場合はライセンス費用はかかりません
- 有償でのテクニカルサポートを提供します
- Jetson Xavier 系のみの対応とした
再出発