Broadcast

Broadcast は、あるライブ配信一つを表現するエンティティです。アプリ上で配信を開始すると Castify プラットフォーム上に新たに作成され、それぞれ一意な BroadcastId を持ちます。

アプリはこの BroadcastId を通して特定の配信に対し、

  • レコーディングを停止/再開する

  • 配信を終了する

  • 配信を視聴するための URL を得る

  • 配信に関わる情報を API に問い合わせる(視聴者数など)

等のアクションを行います。

BroadcastId を得る方法

BroadcastId を得る方法には以下のように様々なものがあります。用途に応じて好ましい方法を選択してください。

SDK から配信が開始した直後に通知を得る

Broadcasterdelegate を通して配信開始直後に生成された BroadcastId を通知します。

import Castify

extension MyViewController : BroadcasterDelegate {
  func onBroadcast(host: Broadcaster, broadcast: Broadcast) {
    print("broadcastId=\(broadcast.id)")
  }
}

API で存在する Broadcast を列挙する

API api/v1/broadcasts の呼び出しで Castify プラットフォーム上に作成された有効な Broadcast の一覧を取得できます。

curl "https://api.castify.jp/api/v1/broadcasts" -H "Authorization: Bearer $TOKEN"

Webhook で配信の開始をフックする

Castify プラットフォームがサポートする Webhook の中には 配信開始をフックする ものが用意されています。

<?
if ($_SERVER['REQUEST_METHOD'] != "POST") {
  throw new Exception();
}
$msg = json_decode(file_get_contents("php://input"));
if ($msg) {
  error_log("broadcastId=" . $msg["broadcastId"]);
}

BroadcastId と視聴 URL

BroadcastId から、その配信を視聴するための URL を作成することができます。 Broadcast の視聴方法については こちら をご覧ください。

タイムシフト

視聴 URL はそのアクセス時点での配信中のメディアストリームを返します。そのため、配信が終了した後にアクセスしても常に空のメディアストリームが返ります。

ですが、クエリーパラメーター from= を視聴 URL に付与することで 配信されたメディアストリームを任意の位置(秒数)から再生 することができます。 この機能は タイムシフト と呼ばれます。

注釈

タイムシフトはライブ配信中/過去の配信のどちらに対しても利用可能です。

Broadcast の視聴方法については こちら をご覧ください。

プレビュー画像

Castify のライブ映像からは、任意の箇所から URL 指定のみでプレビュー画像を切り出すことが可能です。 プレビュー画像の表示方法については こちら をご覧ください。