WebRTC 経由での HLS について
Aug 26, 2017 · 2 min read
Safari が 2017 年秋に出る Safari 11 で対応するということで HLS 化のメリットとかあるのかなーと思っていたが、お客様から WebRTC 以外にも HLS での配信をしたいというお話が結構頂く。
すでに 1:N の片方向配信は実現できていて、次のリリースで正式版としてリリースする。
WebRTC SFU Sora を使い HLS での配信を行う場合、Sora 自体は WebRTC の暗号部分である DTLS-SRTP を外して RTP だけにして、それを FFmpeg に渡すという仕組みになる。
Sora 自体は変換機能を持っていないため、外部の変換機能を利用するということになる。FFmpeg は大変有能なのでこれに乗っかりたいというのが一番の理由。OSS なのも良い。
FFmpeg を利用すると場合、FFmpeg 的には RTP to HLS という処理になる。この部分で課題になるのが RTP の知識がある人がほとんどいないこと。ということで Sora 利用者に限り RTP 用の SDP を外部出力 API の戻り値に含むことにした。
また、早い段階で RTP to HLS 用の FFmpeg コマンドラインのツールを公開する予定だ。
また、双方向通信(マルチストリーム)の外部出力も年内には対応していきたい。これを使うことで 4 人同時の配信などを合成して HLS 化することができるようになる。

