チャンネルの作成
- 印刷する
- PDF
チャンネルの作成
- 印刷する
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
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 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
- 認証除外拡張子
- 認証トークン発行時、Signed URL、JWTそれぞれ acl、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 ID値x-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 | CDN_PLUS, GLOBAL_CDN,GLOBAL_EDGE | |
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の公開範囲を指定するオプション Default: 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 | CDN_PLUS, 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",
"cdnInstanceNo" : 123456
},
"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",
"profileId" : 223
"cdnInstanceNo" : 123456
}
"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
}
}
この記事は役に立ちましたか?