Classic/VPC環境で利用できます。
VODストリーミングのためのチャンネル設定を更新します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| PUT | /api/v2/channels/{channelId} |
リクエストヘッダ
VOD Station APIで共通して使用されるヘッダの詳細は、VOD Stationのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|--- |--- |--- |--- |
| name | String | Required | チャンネル名
- 英数字、記号の「-」を組み合わせて3~20文字以内で入力
|
protocolList | Array | Required | ストリーミングプロトコルリストHLS|DASH- 重複選択可能
|
encryptionList | Array | Optional | チャンネルのコンテンツ保護設定: encryptionList ||
segmentDuration | Integer | Required | セグメントあたりの再生時間(秒)- 5~20
- セグメントの再生時間が長いほどファイルサイズは大きくなり、読み込み時間は長くなる可能性がある
- セグメントの再生時間が短いほどファイルサイズは小さくなるが、バッファリングが発生する可能性がある
|
segmentDurationOption | String | Optional | セグメント分割方法の設定BASIC(デフォルト) |VARIABLEBASIC:segmentDuration設定間隔で一定したセグメントを作成VARIABLE: すべてのセグメントがキーフレーム(keyframe)で始まるようにセグメントを作成
VARIABLEオプションを選択した場合、segmentDuration値と実際に作成されたセグメント再生時間に差が生じる可能性がある- 安定したストリーミングサービスのために、
BASICオプションの使用がお勧め
|
drm | Object | Optional | Multi DRMの設定 ||
drm.siteId | String | Conditional | サイト ID- Siteリストの照会を参照
- Multi DRMを設定する場合、必ず入力
|
drm.contentId | String | Conditional | コンテンツ ID- 英数字、記号の「-」、「_」を組み合わせて3~100文字以内で入力
- Multi DRMを設定する場合、必ず入力
encryptionList
encryptionListの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
drmContentId |
String | Optional | DRMコンテンツ ID
|
drmKeyUrl |
String | Optional | DRM Key URL
|
systemIdList |
Array | Optional | DRMシステム ID
|
drmTypeCode |
Integer | Optional | DRMタイプ
|
mediaEncryptTypeCode |
Integer | Optional | Media Encryption(HLS AES-128)コードの設定
|
protocol |
String | Required | プロトコル設定
|
参考
配信映像のセキュリティ設定関連フィールドは、配信映像のセキュリティ設定を参照して入力してください。
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request PUT 'https://vodstation.apigw.ntruss.com/api/v2/channels/vs-20250821095732-*******' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--data '{
"name":"ch2-media-encrypt",
"protocolList":["HLS"],
"segmentDuration":10,
"segmentDurationOption":"BASIC",
"encryptionList": [
{
"protocol": "HLS",
"mediaEncryptTypeCode": 1
}
],
"encryptionList":[]
}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
content |
Object | - | レスポンス結果 |
content.disabled |
Boolean | - | Sub Accountは無効化するか
|
content.id |
String | - | チャンネル ID |
content.name |
String | - | チャンネル名 |
content.channelStatus |
String | - | チャンネルの状態
|
content.storageBucketName |
String | - | チャンネルがストリーミングする映像が保存されているバケット名 |
content.segmentDuration |
Integer | - | セグメントあたりの再生時間(秒) |
content.protocolList |
Array | - | ストリーミングプロトコルリスト
|
content.createTime |
Integer | - | チャンネル作成開始日時(秒)
|
content.cdnCreatedTime |
Integer | - | チャンネルと連携して自動作成された CDNの作成日時(秒)
|
content.playUrl |
String | - | CDNによる再生 URLテンプレート |
content.cdnStatus |
String | - | チャンネルと連携された CDNの状態
|
content.cdnDomain |
String | - | 自動作成された Global Edgeのドメイン |
content.cdnServiceName |
String | - | 自動作成された Global Edgeのサービス名 |
content.storageBucketStatus |
String | - | チャンネルと連携された Object Storageバケットの状態 |
content.originPath |
String | - | 作成したチャンネルのオリジンパス
|
content.encryptList |
Array | - | チャンネルのコンテンツ保護設定情報: encryptList |
content.accessPrivateFiles |
Boolean | - | バケット内の非公開ファイルへのアクセス制限を設定するか
|
content.encryptedBucketName |
String | - | チャンネルと連携されたバケットの暗号化された名前
|
content.segmentDurationOption |
String | - | セグメント分割方法の設定
|
content.cdn |
Object | - | 自動作成された CDN(Global Edge)情報 |
content.cdn.cdnType |
String | - | CDNのタイプ
|
content.cdn.cdnDomain |
String | - | 自動作成された Global Edgeのドメイン |
content.cdn.cdnServiceName |
String | - | 自動作成された Global Edgeのサービス名 |
content.cdn.profileId |
Integer | - | 自動作成された Global Edgeのプロファイル ID |
content.cdn.regionType |
String | - | 自動作成された Global Edgeのサービス地域 |
content.cdn.cdnInstanceNo |
Integer | - | 自動作成された Global Edgeのインスタンス ID |
content.notificationUrl |
String | - | チャンネル(Callback) URL |
encryptList
encryptListの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
drmContentId |
String | - | DRMコンテンツ ID
|
drmKeyUrl |
String | - | DRM Key URL
|
systemIdList |
Array | - | DRMシステム ID
|
drmTypeCode |
Integer | - | DRMタイプ
|
drmTypeName |
String | - | DRMタイプ名 |
protocol |
String | - | 設定されたプロトコル
|
mediaEncryptTypeCode |
Integer | - | 設定された Media Encryption(HLS AES-128)コード設定
|
mediaEncryptionTypeName |
String | - | 設定された Media Encryption(HLS AES-128)タイプ名
|
レスポンスステータスコード
VOD Station APIで共通して使用されるレスポンスステータスコードの詳細は、VOD Stationのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"content": {
"disabled": false,
"id": "vs-20250821095732-*******",
"name": "ch2-media-encrypt",
"channelStatus": "CREATING",
"storageBucketName": "station-000",
"segmentDuration": 10,
"protocolList": [
"HLS"
],
"createTime": 1755737852,
"cdnCreatedTime": 1755737852,
"playUrl": "https://cpzplvi******.edge.naverncp.com/[protocol]/[Object Storage Bucket(encryption name)]/[path]/[video filename]/[manifest]",
"cdnStatus": "CREATING",
"cdnDomain": "cpzplvi******.edge.naverncp.com",
"cdnServiceName": "edge-vs-20250821095732-*******",
"storageBucketStatus": "RUNNING",
"originPath": "vs2-k1.video.media.ntruss.com/2706412/vs-20250821095732-*******",
"encryptList": [
{
"protocol": "HLS",
"mediaEncryptTypeCode": 1
}
],
"accessPrivateFiles": true,
"encryptedBucketName": "*****VzPmKvIthkozoufHw__",
"segmentDurationOption": "BASIC",
"cdn": {
"cdnType": "GLOBAL_EDGE",
"cdnDomain": "cpzplvi******.edge.naverncp.com",
"cdnServiceName": "edge-vs-20250821095732-*******",
"profileId": ****,
"regionType": "KOREA",
"cdnInstanceNo": *****
}
}
}