Member preview

WebRTC スタック Python 実装の紹介

Python で書かれた WebRTC ライブラリを見つけたので紹介させてください。libwebrtc を使わずに書かれた WebRTC スタックはほとんどありません。

このライブラリはとてもシンプルに書かれており、 WebRTC がどのように機能しているのかを理解したい人にぴったりです。

また Python のエコシステムに乗っかっているので Python から気軽に利用できます。なにより libwebrtc を使っていないのは負荷をとても下げています。libwebrtc は闇しかありません。

このライブラリの素晴らしい点はいくつもあるのですが、何よりコードがとてもキレイです。そして丁寧に書かれています。

また、MediaChannel 向けに libvpx や libopus をラップしてくれており、現時点では音声の配信までできるようです。

DataChannel は双方向でやりとりまでできるところまで作られています。SCTP は自前です、偉い。

ちなみに DTLS (openssl)や SRTP (libsrtp)は外部ライブラリを使っておりますが、かなりキレイに書かれているので、踏み込みたい人への入り口も開いています。


server.py のコードを見てもらえれば、なんと WebRTC API 完全互換なのを実感できると思います。JavaScript API がわかれば読めます。これは凄いですね。

そしてテストも丁寧に書かれています。なぜここまで丁寧に書くんだという気持ちがでてくるくらいよく書かれています。


WebRTC スタックに興味はあるけど、どこから学べばいいか困っていた人にはとてもよいライブラリだと思います。

あなたも WebRTC API ではなく、WebRTC の内部実装を学んでみませんか?