- 印刷する
- PDF
チャンネルの作成
- 印刷する
- PDF
VOD Stationはチャンネルを作成するための APIを提供します。また、作成したチャンネルの照会のためのチャンネルリスト照会 APIとチャンネル情報照会 APIを提供します。
VOD Stationと連携された Global Edgeのコンテンツ認証(Signed URL/JWT)制御使用時の注意事項は次の通りです。
- Global Edgeのキャッシュ設定の際は、Edge Authを以下のように設定します。Global Edge Edge Auth設定の変更方法の詳細は、APIガイドをご参照ください。
- 認証除外拡張子
- .ts, .mp4, .m4s, .vtt, .key
- 認証トークンをソースに伝達する拡張子
- .m3u8, .mpd
- 認証除外拡張子
- 認証トークン発行の際は、SignedURLに acl入力フィールド、JWTに path入力フィールドがあり、それぞれに wildcard pathを入力します。認証トークン発行方法の詳細は、ご利用ガイドをご参照ください。
- 単一ビットレートの再生: '/[protocol]/[encryptedBucketName]/[path]/[video filename]/*'
- 例)
- HLS : https://example.edge.navercorp.com/hls/guide/vod-5100k.mp4/index.m3u8
- wildcard path : '/hls/guide/vod-5100k.mp4/*'
- DASH : https://example.edge.navercorp.com/dash/guide/vod-5100k.mp4/index.m3u8
- wildcard path : '/dash/guide/vod-5100k.mp4/*'
- HLS : https://example.edge.navercorp.com/hls/guide/vod-5100k.mp4/index.m3u8
- 例)
- Adaptiveビットレートの再生: '/[protocol]/[encryptedBucketName]/[path]/[prefix],[video filenames],[suffix].smil/*'
- 例)
- HLS再生アドレス: https://example.edge.navercorp.com/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/master.m3u8
- wildcard path : '/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/*'
- DASH再生アドレス: https://example.edge.navercorp.com/dash/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/manifest.mpd
- wildcard path : '/dash/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/*'
- HLS再生アドレス: https://example.edge.navercorp.com/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/master.m3u8
- 例)
- 単一ビットレートの再生: '/[protocol]/[encryptedBucketName]/[path]/[video filename]/*'
リクエスト
リクエストヘッダ
ヘッダ名 | 説明 |
---|---|
x-ncp-region_code | NAVERクラウドプラットフォームの region code x-ncp_region_code:{Region Code} |
x-ncp-apigw-timestamp | 1970年1月1日 00:00:00 協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表し、API Gatewayサーバとの時間差が5分以上の場合は無効なリクエストとみなすx-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | NAVERクラウドプラットフォームポータルから発行された Access Key IDx-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | Access Key IDと Secret Keyで暗号化した署名x-ncp-apigw-signature-v2:{API Gateway Signature} |
Content-Type | Request body content typeは application/jsonに指定Content-Type: application/json |
リクエストボディ
APIリクエスト時はフィールド名の大文字、小文字の区別が必要です。
| フィールド名 | 必須の有無 | タイプ | 制限事項 | デフォルト値 | 説明 |
|--- |--- |--- |--- |--- |--- |
| name | Yes | String | | | 作成するチャンネルの名前 |
| storageBucketName | Yes | String | | | チャンネルと連携する NAVERクラウドプラットフォームの Object Storageバケット名 |
| accessPrivateFiles | No | Boolean | | | 連携対象 Object Storageのバケット内非公開ファイルに対する VOD Stationからのアクセス制限を設定
許可する場合、ファイルを公開処理しなくても Streamingが可能 |
| protocolList[] | Yes | Array(String) | HLS, DASH | | チャンネルのストリーミングプロトコル
HLSと DASHをサポートし、重複選択できる |
| encryptionList[] | No | Array | | | チャンネルのメディア保護設定
Media Encryption機能と DRM(FairPlay、Widevine/PlayReady)連携インターフェースを提供 |
| encryptionList[].drmContentId | Optional | String | 英数字で1-200文字
Media Encryption設定時は不要 | | DRM Content ID
DRM Keyのリクエスト時にこの値を含めてリクエスト、License発行時に必要 |
| encryptionList[].drmKeyUrl | Optional | String | http(s)://を含む URL
Media Encryption設定時は不要 | | DRMプロバイダの CPIX API URL
VOD Stationは公式的に Inka Pallyacon DRMの CPIX v1 APIとの連携をサポート
DRMパッケージングのために VOD Stationは xml bodyを含めて POSTリクエスト |
| encryptionList[].systemIdList | Optional | Array(String) | スペースは使用できず、「-」は使用可能、256文字以内
Media Encryption設定時は不要 | | DRM Type別 SystemID
設定したい Typeに合った値を入力 |
| encryptionList[].drmTypeCode | Optional | Integer | FairPlay: 21
Widevine/PlayReady: 22
Media Encryption設定時は不要 | | DRM Typeの設定が必要 |
| encryptionList[].mediaEncryptionTypeCode | Optional | Integer | AES-128: 1
DRM設定時は不要 | | HLS AES-128を設定
FairPlayは一緒に設定できない |
| encryptionList[].protocol | Yes | String | HLS, DASH | | DRMまたは Media Encryptionに合った protocolを設定
Widevine/PlayReady: DASH
FairPlay: HLS
MediaEncryption: HLS |
| segmentDuration | Yes | Integer | 5~20の範囲の整数 | | Segmentごとの再生時間
再生時間が長くなるほど Segmentのサイズが大きくなり、Clientネットワーク状態によってロード時間が長くなる場合がある
一方、Segment時間が短くなるほど Segmentのサイズは小さくなり、短く設定しすぎると Clientネットワーク状態によってバッファリングが発生することがある
(単位: 秒) |
| segmentDurationOption | No | String | BASIC, VARIABLE | BASIC | すべての Segmentが keyframeで始まるように Segmentを作成
VARIABLEオプションを選択すると設定した segmentDurationと実際に作成された Segmentの間に Durationのような差が発生することがあり、Segment Durationが一定しない場合がある |
| createCdn | Yes | Boolean | true, false | | VOD Stationは CDN連携が必須
チャンネルを作成する際に一緒に作成するか、別途作成して使用することができる |
| cdn | Optional | Object | Global Edgeを自動作成する場合、リクエストは必須です。 | ||
| cdn.profileId | Optional | Integer | 新規作成する Global Edgeのプロファイル ID | |Global Edgeを作成するプロファイル ID |
|cdn.regionType | Optional | String | Global Edgeを連携する場合に利用します。 | KOREA, JAPAN, GLOBAL |Global Edgeのサービス地域|
| cdn.type | Optional | String | Global Edgeを連携する場合に利用します。 |GLOBAL_EDGE |Global Edgeの新規作成のためのタイプ|
| drm | No | Object | One Click Multi DRM選択時、必ず入力 | | |
| drm.siteId | No | String | One Click Multi DRM選択時、必ず入力 | | |
| drm.contentId | No | String | One Click Multi DRM選択時、必ず入力 | contentIdは再生しようとするコンテンツの固有 IDで、DRMパッケージング時に使用。英数字、記号の「-」(ハイフン)、「_」(アンダースコア)のみ使用して3~100文字以内で入力可能 | |
レスポンス
| フィールド名 | タイプ | 説明 | 備考 |
|--- |--- |--- |--- |
| content | Object | VOD Station OPEN APIレスポンスオブジェクト | |
| content.id | String | 作成されたチャンネルの ID | |
| content.name | Object | チャンネル名 | |
| content.channelStatus | Integer | チャンネルの現在の状態 | CREATING, READY, STOPPING, STOPPED, TERMINATING, TERMINATED, FORCE_STOPPING, FORCE_STOPPED, FORCETERMINATING, FORCETERMINATED |
| content.storageBucketName | String | チャンネルと連携された Object Storageバケット名 | |
| content.encryptedBucketName | String | チャンネルと連携された Object Storageバケットの暗号化された名前で、再生 URL作成時に使用 | |
| content.accessPrivateFiles | Boolean | バケット内の非公開ファイルに対する VOD Stationからのアクセス制限を設定 | |
| content.segmentDuration | Integer | チャンネルの segment再生の長さ(単位: 秒) | |
| content.segmentDurationOption | String | チャンネルの segment keyframeソートオプション | |
| content.protocolList[] | Array(String) | チャンネルのストリーミングプロトコルリスト | |
| content.createTime | Integer | チャンネルの作成開始時間 | |
| content.readyTime | Integer | チャンネルの作成完了時間 | |
| content.cdnCreatedTime | Integer | チャンネルと連携して自動作成された CDNの作成時間 | |
| content.playUrl | String | CDNを通じた再生 URL Template | |
| content.cdnStatus | String | チャンネルと連携された CDNの状態
自動作成しない場合、NOT_FOUNDが表示 | |
| content.cdnDomain | String | 自動作成された Global Edgeのドメイン | |
| content.cdnServiceName | String | 自動作成された Global Edgeのサービス名 | |
| content.cdn | Object | 自動作成された Global Edge情報 | |
| content.cdn.cdnType | String | 自動作成された CDNのタイプ | |
| content.cdn.cdnDomain | String | 自動作成された Global Edgeのドメイン | |
| content.cdn.cdnServiceName | String | 自動作成された Global Edgeのサービス名 | |
| content.cdn.profileId | String | 自動作成された Global Edgeのプロファイル ID | |
| content.cdn.regionType | String | 自動作成された Global Edgeのサービス地域 | |
| content.cdn.cdnInstanceNo | Integer | 自動作成された Global Edgeのインスタンス情報 | |
| content.storageBucketStatus | String | チャンネルと連携された Object Storageバケットの状態 | |
| content.originPath | String | 作成したチャンネルのソースパスで、別途 CDNを作成する際に参照 | |
| content.encryptionList[] | Array | チャンネルのメディアセキュリティ設定 | |
| content.encryptionList[].protocol | String | メディアセキュリティ対象のプロトコル | |
| content.encryptionList[].mediaEncryptionTypeCode | Integer | メディアセキュリティ設定の暗号化タイプ
1: AES-128
2: Sample-AES
3: CENC | |
| content.encryptionList[].drmTypeCode | Intenger | メディアセキュリティ設定の DRMタイプ
21: FairPlay
22: Widevine/PlayReady | |
| content.encryptionList[].drmTypeName | String | メディアセキュリティ設定の DRMタイプ名 | |
| content.encryptionList[].drmContentId | String | VOD Stationでパッケージングする際にリクエストする Content ID | |
| content.encryptionList[].systemIdList | Array(String) | VOD Stationでパッケージングする時にリクエストする DRM System ID | |
| content.encryptionList[].drmKeyUrl | String | VOD Stationでパッケージングする時にリクエストする DRM CPIX API URL | |
| content.drm | Object | VOD Stationを利用した DRM Encryption設定 | |
| content.drm.siteId | String | One Click Multi DRMサービスで作成した site ID | |
| content.drm.contentId | String | DRM Encryption適用対象コンテンツの固有 ID
DRMパッケージングに使用され、英数字、記号の「-」(ハイフン)、「_」(アンダースコア)のみ使用して3~100文字以内で入力できます。| |
| error | Object | エラーレスポンスコードとメッセージ | |
| error.errorCode | String | エラーレスポンスコード | |
| error.message | String | エラーレスポンスメッセージ | |
| error.details | String | error messageの詳細説明
api gatewayエラー発生時のレスポンス | |