チャンネルストリームの切替

Prev Next

Classic/VPC環境で利用できます。

ライブチャンネルのメインストリームとバックアップストリーム間のアクティブな配信を切り替えます。チャンネルがPUBLISHINGの状態でのみ切り替えることができます。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
PUT /api/v2/channels/{channelId}/switch-stream

リクエストヘッダ

Live Station APIで共通して使用されるヘッダの詳細は、Live Stationのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
channelId String Required チャンネル ID

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request PUT 'https://livestation.apigw.ntruss.com/api/v2/channels/ls-20250814******-zTwK2/switch-stream' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'x-ncp-region_code: KR' \
--header 'Content-Type: application/json'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
content.channelId String - チャンネル ID
content.channelName String - チャンネル名
content.instanceNo Integer - チャンネルインスタンス番号
content.qualitySetId Integer - 画質設定 ID
content.qualitySetName String - 画質設定名
content.outputProtocol String - 出力プロトコル
  • HLS
  • DASH
content.channelStatus String - チャンネルの状態
  • PUBLISHING / STOPPEDなど
content.isRecording Boolean - 録画中か
  • true: 録画中
  • false: 録画中ではない
content.useDVR Boolean - DVRを使用するか
  • true: 使用
  • false: 使用しない
content.immediateOnAir Boolean - 即時 OnAirするか
  • true: 即時
  • false: 手動
content.timemachineMin Integer - タイムシフトの有効時間(分)
content.cdn Object - CDN情報
content.cdn.instanceNo String - CDN Instance No
content.cdn.serviceName String - CDNサービス名
content.cdn.statusName String - CDNの状態名
content.cdn.cdnType String - CDNタイプ
  • CDN_PLUS
content.cdn.cdnDomain String - CDNのドメイン
content.streamKey String - メインストリームキー
content.publishUrl String - 配信 RTMP URL
content.totalPublishSeconds Integer - 総配信時間 (秒)
content.createdTime Long - 作成時刻 (epoch ms)
content.alertOn Boolean - アラートを有効化するか
  • true / false
content.recentPublishTime Long - 直近の配信時刻 (epoch ms)
content.alertOptions Object - アラートオプション
content.alertOptions.alertChangeStatus Boolean - 状態変更のアラート
content.alertOptions.alertVodUploadFail Boolean - VODアップロード失敗のアラート
content.alertOptions.alertReStreamFail Boolean - 再配信失敗のアラート
content.alertOptions.alertStreamFailOver Boolean - ストリーム Failoverのアラート
content.callbackEndpoint String - コールバック URL
content.envType String - 環境タイプ
  • STAGE
  • PROD
content.record Object - 録画設定
content.record.type String - 録画タイプ
  • NO_RECORD
content.record.bucketName String - バケット名
content.record.filePath String - ファイルパス
content.record.format String - 録画ファイル形式
content.record.accessControl String - アクセス制御
content.origin Object - Origin情報
content.origin.originDomain String - Originドメイン
content.origin.originPath String - Originパス
content.backupStreamKey String - バックアップストリームキー
content.isStreamFailOver Boolean - Failover設定有無
  • true / false
content.snapshot Object - スナップショット情報
content.snapshot.snapshotId Long - スナップショット ID
isPublishingBackUp Boolean - バックアップ配信ソースを有効化するか
  • true | false
    • true: バックアップ配信を有効化
    • false: バックアップ配信を無効化

レスポンスステータスコード

Live Station APIで共通して使用されるレスポンスステータスコードの詳細は、Live Stationのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
  "content": {
    "channelId": "ls-20250904******-DZUmt",
    "channelName": "stream_switch_test",
    "instanceNo": 10******9,
    "qualitySetId": 5,
    "qualitySetName": "480p-set",
    "outputProtocol": "HLS,DASH",
    "channelStatus": "PUBLISHING",
    "isRecording": false,
    "useDVR": true,
    "immediateOnAir": false,
    "timemachineMin": 360,
    "cdn": {
      "instanceNo": "4006",
      "serviceName": "cdn-ls-20211109******-1bhF4",
      "statusName": "RUNNING",
      "cdnType": "CDN_PLUS",
      "cdnDomain": "*************.cdn.beta.ntruss.com"
    },
    "streamKey": "ye*****************************7",
    "publishUrl": "rtmp://***********.video.media.ntruss.com:8080/relay",
    "globalPublishUrl": "",
    "totalPublishSeconds": 22936,
    "createdTime": 1756966010000,
    "alertOn": false,
    "recentPublishStartTime": 1764146744000,
    "alertOptions": {
      "alertChangeStatus": false,
      "alertVodUploadFail": false,
      "alertReStreamFail": false,
      "alertStreamFailOver": false
    },
    "callbackEndpoint": "https://www.example.com",
    "envType": "REAL",
    "record": {
      "type": "MANUAL_UPLOAD",
      "accessControl": "PRIVATE"
    },
    "origin": {
      "originDomain": "*****.video.media.ntruss.com",
      "originPath": "6*****3"
    },
    "backupStreamKey": "ye*****************************7?backup=true",
    "isStreamFailOver": true,
    "isPublishingBackUp": true
  }
}