1 min read

時雨堂の QUIC / WebTransport / MOQT の対応について 2025-03 版

時雨堂では 2025 年 3 月現在、 WebRTC を主軸に置いていますが、QUIC も少しずつですが対応を始めています。

ただし、WebRTC で良く言われる大規模配信や、バッファリングなどの課題への対応は時雨堂の WebRTC SFU で解決済みです。そのため、QUIC 対応への優先度は高くはありません。

QUIC に対する興味

現時点で QUIC は「QUIC 固有の技術」への興味が高まっている段階です。そもそも、超低遅延の片方向および双方向配信技術に関しては、当面 WebRTC で十分と判断しています。

QUIC を利用した技術として MOQT よりは、QUIC のマルチパスQUIC の TCP 対応QUIC の FEC 拡張 などに興味があります。これらの技術を利用する場合、ブラウザよりも iOS/Android やネイティブクライアント向けが主なターゲットになると考えています。

QUICHE の採用

時雨堂では、QUIC のクライアント側実装は Google が公開している QUICHE を採用します。 QUICHE は WebTransportMOQT へ対応しています。なにより「Chrome で使われている QUIC / WebTransport / HTTP/2 の実装」というのがブラウザとネイティブの両方に対応する上で、とても重要と判断しました。

まずは、Apache-2.0 ライセンスのもとで、この QUICHE の Rust バインディングを OSS として公開していく予定です。

QUIC 利用時のコーデック処理

QUIC を利用する際、音声や映像の取り扱いについて、ブラウザでは WebCodecs が利用可能ですが、ネイティブ環境では同様の対応が難しい状況です。

この部分は、時雨堂では現在 Rust ベースの映像合成ができるツールを開発中で、その中で Rust で様々な音声/映像コーデックを処理するライブラリを既に開発済みです。

開発済みの音声/映像コーデックバインディングライブラリ

時雨堂では、WebRTC では難しい仕組みを QUIC を用いることで実現できればと考えています。もちろん将来的に QUIC ベースの技術が WebRTC を置き換えていく事になると思いますが、それはもう少し先だと思っています。

MOQT のブラウザ向けの SDK について

MOQT のブラウザ向け SDK は TypeScript で実装していきます。ただし MP4 ライブラリだけは Rust ベースのライブラリを開発済みのため Wasm を利用します。

QUIC のサーバー実装について

Erlang/OTP で 1 から実装済みです。WebRTC 同様、独自実装を採用しました。