Broadcast
Broadcast は、あるライブ配信一つを表現するエンティティです。アプリ上で配信を開始すると Castify プラットフォーム上に新たに作成され、それぞれ一意な BroadcastId を持ちます。
アプリはこの BroadcastId を通して特定の配信に対し、
- レコーディングを停止/再開する
- 配信を終了する
- 配信を視聴するための URL を得る
- 配信に関わる情報を API に問い合わせる(視聴者数など)
等のアクションを行います。
BroadcastId を得る方法
BroadcastId を得る方法には以下のように様々なものがあります。用途に応じて適した方法を選択してください。
SDK から配信が開始した直後に通知を得る
Broadcaster
は delegate
を通して配信開始直後に生成された BroadcastId を通知します。
import Castify
extension MyViewController : BroadcasterDelegate {
func onBroadcast(host: Broadcaster, broadcast: Broadcast) {
print("broadcastId=\(broadcast.id)")
}
}
Web API で存在する Broadcast を列挙する
GET api/v1/broadcasts
の呼び出しで Castify プラットフォーム上に作成された有効な Broadcast の一覧を取得できます。
curl "https://api.castify.jp/api/v1/broadcasts" -H "Authorization: Bearer $API_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 に付与することで 配信されたメディアストリームを任意の位置(秒数)から再生 することができます。 この機能は タイムシフト と呼ばれます。
TIP
タイムシフトはライブ配信中/過去の配信のどちらに対しても利用可能です。
Broadcast の視聴方法については こちら をご覧ください。
プレビュー画像
Castify のライブ映像からは、任意の箇所から URL 指定のみでプレビュー画像を切り出すことが可能です。 プレビュー画像の表示方法については こちら をご覧ください。