チャンネルの作成
- 印刷する
- PDF
チャンネルの作成
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
Live Stationのチャンネルを作成する APIです。作成したチャンネルを照会するためのチャンネルリスト照会 APIとチャンネル情報照会 APIを提供します。
参考
チャンネル作成時の注意事項は次の通りです。
- 配信冗長化設定を使用する場合は、必ずメインストリームを先に配信します。
- LL-HLSチャンネルの作成が必要な場合は、必ず Low Latency用画質セットを活用します。
- LL_HLSの正式版は Global Edge CDN連携環境でのみサポートしています。
- 過去に作成された CDNを使用する場合、過去に作成された CDNを更新する必要があります。CDNの更新方法は、ご利用ガイドをご参照ください。
- LL-HLSチャンネルを円滑に使用するために、キーフレームを1秒に設定することをお勧めします。配信方法の詳細は、ご利用ガイドをご参照ください。
- Live Stationは One Click Multi DRMとの簡単な連携をサポートし、Single-keyパッケージングのみサポートします。
- Passthrough画質を含む画質設定を使用するチャンネルは、DRM Encryptionをサポートしません。
参考
Live Stationと連携された Global Edgeのコンテンツ認証(Signed URL/JWT)制御使用時の注意事項は次の通りです。
- Global Edgeのキャッシュ設定の際は、Edge Authを作成したチャンネルの outputProtocolに合わせて設定します。Global Edge Edge Auth設定の変更方法の詳細は、APIガイドをご参照ください。
- 認証除外拡張子
- HLS: .ts、.jpg
- HLS、DASH: .ts、.jpg、.m4s、.m4v、.m4a
- LL_HLS: .jpg、.m4s、.m4v、.m4a
- 認証トークンをソースに伝達する拡張子
- HLS: .m3u8
- HLS/DASH: .m3u8、.mpd
- LL_HLS: playlist.m3u8
- 認証除外拡張子
- 認証トークン発行の際は、SignedURLに acl入力フィールド、JWTに path入力フィールドがあり、それぞれに wildcard pathを入力します。認証トークン発行方法の詳細は、ご利用ガイドをご参照ください。
- wildcard path: '/live/video/{channelId}/*'
コンテンツ保護設定
Live Station DRM Encryptionはリアルタイムコンテンツの Multi DRMをサポートします。
チャンネル作成内の DRM設定領域て簡単に DRM機能を設定できます。選択した OutputProtocolに応じて Multi DRM Encryptionをサポートします。
DRM技術別暗号化方式と対応する端末、他のプラットフォームとバージョンの詳細は、リンクをご参照ください。
| 暗号化方式 | プロトコル | DRMタイプ | 暗号化アルゴリズム | 対応する端末 |
|--- |--- |--- |--- |--- |
| DRM | HLS | FairPlay | AES-CBC | Mac/iOS Safariブラウザ、iOS/iPadOS/tvOSアプリ、HLS HTML5 |
| DRM | DASH | PlayReady、Widevine | CENC (Common Encryption) | MS Edge、Internet Explorer 11、Google Chrome、Firefox、Opera DASH HTML5 |
- DRMタイプ
- FairPlay: Appleで提供する DRM技術規格です。各 HLSセグメントを AES-CBC方式で暗号化します。
- Widevine: Googleで提供する DRM技術規格です。Common Encryption規格に沿って AES-128方式で暗号化します。
- PlayReady: Microsoftで提供する DRM技術規格です。Common Encryption規格に沿って AES-128方式で暗号化します。
リクエスト
POST https://livestation.apigw.ntruss.com/api/v2/channels
リクエストヘッダ
ヘッダ名 | 必須の有無 | 説明 |
---|---|---|
x-ncp-apigw-timestamp | YES | 1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表したもの API Gatewayサーバとの時間差が5分以上の場合、無効なリクエストとみなす x-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | YES | NAVERクラウドプラットフォームポータルから発行された Access Key IDx-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | YES | Access Key IDと Secret Keyで暗号化した署名x-ncp-apigw-signature-v2:{API Gateway Signature} |
Content-Type | YES | Request body content typeを application/jsonに指定Content-Type: application/json |
x-ncp-region_code | YES | リージョンコード (KR) |
リクエストボディ
フィールド名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|---|---|---|---|
channelName | Yes | String | 3~20文字以内で入力可能 記号の「_」を使用可能 | 作成するチャンネルの名前 |
envType | Optional | String | DEV STAGE REAL | 入力しない場合はデフォルトで REALに設定 |
outputProtocol | Optional | String | HLS HLS、DASH LL_HLS | 入力しない場合はデフォルトで HLSに設定 |
cdn | Yes | Object | CDN Object | |
cdn.createCdn | Yes | Boolean | true、false | CDN Object |
cdn.cdnType | Yes | String | GLOBAL_CDN、GLOBAL_EDGE | CDN+はサポートしない |
cdn.profileId | Yes | Integer | GLOBAL_EDGE新規作成時に必要な Global Edgeのプロファイル | |
cdn.regionType | Yes | String | KOREA、JAPAN、GLOBAL | Global Edgeのサービス地域 |
cdn.cdnInstanceNo | Optional | Integer | cdn.createCdnが falseの場合、必ず設定 | |
qualitySetId | Yes | Integer | LL-HLSチャンネルを作成する場合、Low Latency用画質セットをリクエスト | |
useDvr | Yes | Boolean | true、false | |
immediateOnAir | Optional | Boolean | true、false | 配信と同時に録画が行われる自動録画オプション |
timemachineMin | Optional | Integer | 単位は分(minutes)で、360にのみ設定可能 | 録画開始時点まで動画を巻き返して見れるタイムシフト機能関連のオプション useDvrが trueの場合、必ず設定 |
record | Yes | Object | ||
record.format | Optional | String | MP4、HLS、ALL | バケットに自動保存される録画ファイルのタイプを指定 |
record.type | Yes | String | NO_RECORD、AUTO_UPLOAD、MANUAL_UPLOAD | 保存された録画ファイルのアップロードタイプを指定 「NO_RECORD」に設定すると録画機能は使用不可 |
record.bucketName | Optional | String | 自動保存機能により、ライフ配信終了後、入力した Bucketに録画ファイルが自動保存 | |
record.filePath | Optional | String | ライブ配信終了後、自動保存機能により、指定した filePathに録画ファイルが自動保存 filePathは「/」から始めること | |
record.accessControl | Optional | String | PRIVATE、PUBLIC_READ | 自動保存機能で録画ファイルをアップロードする際に、Object Storage Bucketの公開範囲を指定するオプション デフォルト: PRIVATE |
isStreamFailOver | Optional | Boolean | true、false | 配信冗長化適用のためのオプション 配信冗長化設定を通じて配信エンコーダー冗長化構成 |
drmEnabledYn | Yes | Boolean | DRM Encryption設定の適用有無 | |
drm | Optional | Object | Live Stationを利用した DRM Encryption設定 DRM設定時、FairPlay、Widevine/PlayReady DRMをサポート | |
drm.siteId | Optional | String | One Click Multi DRMサービスで作成した site id | |
drm.contentId | Optional | String | DRM Encryption適用対象コンテンツの固有 ID DRMパッケージングに使用され、英数字、記号の「-」(ハイフン)、「_」(アンダースコア)のみ使用して3~100文字以内で入力できます。 |
レスポンス
フィールド名 | タイプ | 説明 | 備考 |
---|---|---|---|
channelId | String | ||
channelName | String | ||
envType | String | 入力しない場合はデフォルトで REALに設定 | DEV STAGE REAL |
outputProtocol | String | 入力しない場合はデフォルトで HLSに設定 | HLS HLS、DASH LL_HLS |
cdn | Object | ||
cdn.createCdn | Boolean | ||
cdn.cdnType | String | GLOBAL_CDN、GLOBAL_EDGE | |
cdn.profileId | Integer | GLOBAL_EDGE新規作成時に必要な Global Edgeのプロファイル | |
cdn.regionType | String | Global Edgeのサービス地域 | KOREA、JAPAN、GLOBAL |
cdn.cdnInstanceNo | Integer | cdn.createCdnが falseの場合、必ず設定 | |
qualitySetId | Integer | ||
useDvr | Boolean | ||
immediateOnAir | Boolean | ||
timemachineMin | Integer | ||
record | Object | ||
record.format | String | MP4、HLS、ALL | |
record.type | String | NO_RECORD、AUTO_UPLOAD、MANUAL_UPLOAD | |
record.bucketName | String | ||
record.filePath | String | ||
record.accessControl | String | PRIVATE、PUBLIC_READ | |
uploadPath | String | AUTO_UPLOADオプションの場合の録画ファイルのアップロードパス | |
backupStreamKey | String | 配信冗長化のためのバックアップストリームキー | |
isStreamFailOver | Boolean | 配信冗長化設定の適用有無 | true、false |
origin | Object | CDN連携のための Live Stationソース情報 | |
origin.originDomain | String | CDN連携のための Live Stationソースドメイン | |
origin.originPath | String | CDN連携のための Live Stationソースの詳細パス | |
drmEnabledYn | Boolean | DRM Encryption設定の適用有無 | |
drm | Object | Live Stationを利用した DRM Encryption設定 DRM設定時、FairPlay、Widevine/PlayReady DRMをサポート | |
drm.siteId | String | One Click Multi DRMサービスで作成した site id | |
drm.contentId | String | DRM Encryption適用対象コンテンツの固有 ID DRMパッケージングに使用され、英数字、記号の「-」(ハイフン)、「_」(アンダースコア)のみ使用して3~100文字以内で入力できます。 |
例
リクエスト例
POST /api/v2/channels
HOST: livestation.apigw.ntruss.com
Content-Type: application/json
x-ncp-apigw-timestamp:1521787414578
x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
x-ncp-region_code:KR
Request body (if cdn.createCdn == true)
{
"channelName" : "testchannel",
"cdn" : {
"createCdn":true,
"cdnType":"GLOBAL_EDGE",
"profileId" : 291,
"regionType" : "KOREA"
},
"qualitySetId" : 12345,
"useDvr" : true,
"immediateOnAir" : true,
"timemachineMin" : 360,
"envType" : "DEV",
"outputProtocol" : "LL_HLS",
"record": {
"type": "AUTO_UPLOAD",
"format": "MP4",
"bucketName": "hls",
"filePath": "/livestation",
"accessControl": "PRIVATE"
},
"isStreamFailOver": true,
"drmEnabledYn": true,
"drm": {
"siteId": "drm-20231115142326-nHyNw",
"contentId": "my-Test-Multidrm"
}
}
Request body (if cdn.createCdn == false)
{
"channelName" : "testchannel",
"cdn" : {
"createCdn" : false,
"cdnType": "GLOBAL_EDGE",
"cdnDomain": "mycdn.edge.naverncp.com",
"profileId": 299,
"cdnInstanceNo": 1541959
},
"qualitySetId" : 12345,
"useDvr" : true,
"immediateOnAir" : true,
"timemachineMin" : 360,
"envType" : "DEV",
"outputProtocol" : "HLS",
"record": {
"type": "AUTO_UPLOAD",
"format": "MP4",
"bucketName": "hls",
"filePath": "/livestation",
"accessControl": "PRIVATE"
},
"isStreamFailOver": true,
"drmEnabledYn": true,
"drm": {
"siteId": "drm-20231115142326-nHyNw",
"contentId": "my-Test-Multidrm"
}
}
レスポンス例
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 26 Feb 2021 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
{
"content": {
"channelName": "testchannel",
"channelId": "ls-20200217154656-Rnd49",
"cdn": {
"createCdn": false,
"cdnType": "GLOBAL_EDGE",
"cdnDomain": "mycdn.edge.naverncp.com",
"profileId": 299,
"cdnInstanceNo": 1541959
},
"qualitySetId": 12345,
"useDvr": true,
"immediateOnAir": true,
"timemachineMin": 360,
"envType": "DEV",
"outputProtocol": "HLS,DASH",
"uploadPath": "/hls/livestation",
"record": {
"type": "AUTO_UPLOAD",
"bucketName": "hls",
"filePath": "/livestation",
"format": "MP4",
"accessControl": "PRIVATE"
},
"origin": {
"originDomain": "ls-k1.video.media.ntruss.com",
"originPath": "1"
},
"drmEnabledYn": true,
"drm": {
"siteId": "drm-20231115142326-nHyNw",
"contentId": "my-Test-Multidrm"
}"backupStreamKey": "lbuy4dcrxk2ctxs8uqxanpy833p08vvz?backup=true",
"isStreamFailOver": true
}
}
この記事は役に立ちましたか?