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 | - | 出力プロトコル
|
content.channelStatus |
String | - | チャンネルの状態
|
content.isRecording |
Boolean | - | 録画中か
|
content.useDVR |
Boolean | - | DVRを使用するか
|
content.immediateOnAir |
Boolean | - | 即時 OnAirするか
|
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タイプ
|
content.cdn.cdnDomain |
String | - | CDNのドメイン |
content.streamKey |
String | - | メインストリームキー |
content.publishUrl |
String | - | 配信 RTMP URL |
content.totalPublishSeconds |
Integer | - | 総配信時間 (秒) |
content.createdTime |
Long | - | 作成時刻 (epoch ms) |
content.alertOn |
Boolean | - | アラートを有効化するか
|
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 | - | 環境タイプ
|
content.record |
Object | - | 録画設定 |
content.record.type |
String | - | 録画タイプ
|
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設定有無
|
content.snapshot |
Object | - | スナップショット情報 |
content.snapshot.snapshotId |
Long | - | スナップショット ID |
isPublishingBackUp |
Boolean | - | バックアップ配信ソースを有効化するか
|
レスポンスステータスコード
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
}
}