RTMP の配信リクエストへの応答を独自の処理で置き換える

Castify の通常の配信フローでは 配信と視聴を行う で説明されているように、まず Broadcast を作成した上でそれに対応した配信先の URL を取得し、配信ソフトなどにその URL を設定して配信を行います。

このフローには以下のような問題があります。

  1. あらかじめ Broadcast を作成しておく必要がある

  2. Broadcast が変わるたびに配信先の RTMP URL が変化する

これらに対処するための仕組みとして Castify では各プロジェクトに固定の RTMP URL を割り当てており、その URL に対する配信リクエストは Webhook でカスタマイズできます。

rtmp://sink.castify.jp:1935/castify/$PROJECT_ID?val=$USER_DATA

上記のような URL に対して配信を行うと Castify はプロジェクトに設定されている onRTMPPublish を呼び出します。この Webhook はプロジェクトに属する任意の Broadcast を返すことができ、それが実際の配信先に置き換わります。