時雨堂 WebRTC SFU Sora v0.1.0

WebRTC サーバがなんとなく動いたので、あとは予定した動きを実現するところまで持って行く必要が出てきた。

  • 閲覧者はすぐに配信者の映像が見れる
  • シグナリングを 100% 成功させる

この二つの課題は少し大変そうに見えた。

閲覧者がすぐに配信者の映像をみるのは実は結構大変で、映像はストリームとして必要な部分(つまり動いた部分だけ)を送っているため、閲覧者が何かしら配信者に全ての情報を送るためのリクエストを送る必要がある。

シグナリングはネットワーク依存のため、解決が難しい事が多い。

だが、このあたりは全て WebRTC 情報共有会のメンバーから回答を貰ってしまった。皆すごい。そしてありがとう。

無事、二つの課題を 1 日で解決できて、バージョン 0.1.0 をリリースできた。

バージョン 0.1.0 は以下のような仕様だ

  • Firefox 40.0.3 での動作確認
  • Chrome 非対応
  • DTLS 1.2 前提
  • VP8 固定
  • シグナリングは WebSocket
  • Offer は WebRTC SFU が発行してくる
  • RTCP-FIR 対応

今のところは 1:10 配信で 1 コアで CPU 10% 程度、メモリは 100 MB 程度使うようだ。まだ検証中なのでなんとも言えない。配信サーバとしてはかなり軽量な部類に入ると思う。

こっからは 1.0.0 に向けてソースコードの整理や API の充実化をはかる。まずは小さく作って、興味持ってくれる人を探す。まだ Firefox しか対応していないし、色々制限もある。

Chrome の対応はまだ悩んでいる。DTLS 1.0 や msid draft 7 などの古い仕様に引っ張られるからだ。本当に悩ましい。

時雨堂 WebRTC SFU Sora 開発ログ

ここから、ここから。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store