2018-02-05

WebRTC to HLSのメリット

どうも、メテオです。


WebRTC to HLSのメリット

どうも、メテオです。

毎日RFCとlibwebrtcとffmpegのソースコードを追っかけています。

WebRTCをHLSに変換するメリットを適当に書き出してみます。

大規模配信を行いたい

WebRTCでは大規模配信を行う場合はP2Pでは難しいため、SFU(Selective Forwarding Unit)を使う必要があります。

しかし、SFUにも接続限度があるため、大規模な人数で使う場合には多段構成を行う必要があります。

多段構成になると、当然ながら遅延が発生してしまいますし、スケーリングを行うのもとても難しいです。

その点、HLSではトランスコードしたメディアを配信するだけで何も難しいことはありません。必要なのは配信出来るトラフィックです。

モバイルでも視聴したい

WebRTCのサイマルキャストは研究が進められていますが実用化されていません。

これは技術的にも難しいですが対応しているクライアントも少ないでしょう。

また、配信側で複数の解像度をエンコードするのは結構シビアです。

HLSではサーバで複数の解像度に変換して配信するので、配信側は一つの解像度でエンコードするだけで大丈夫です。素敵ですね。

遅延を少し待てる

WebRTCはとても遅延が少ないため、ほぼ気にすることはないでしょう。

しかし、HLSの場合はトランスコードを行い、プレイリストにインデックスを行うため、標準的に10秒程度遅延が発生します。

頑張れば3秒くらいまで抑えられます。

遅延にあまり興味がない場合はWebRTCにこだわる必要もありません。

まとめ

WebRTC to HLSは未来があります。

今までWebRTC to WebRTCしかなかった世界にHLSが入り込むことにより様々なことが解決されます。

今後に期待したいところです。

追記:どうやら国内でWebRTC to HLSのサービスがあるようです。

https://speakerdeck.com/imageflux/imageflux-live