Classic/VPC環境で利用できます。
配信のためのライブチャンネルを作成します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| POST | /api/v2/channels |
リクエストヘッダ
Live Station APIで共通して使用されるヘッダの詳細は、Live Stationのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
channelName |
String | Required | チャンネル名
|
envType |
String | Optional | チャンネルタイプ
|
outputProtocol |
String | Optional | Output Protocol設定
|
cdn |
Object | Required | CDNの設定 |
cdn.createCdn |
Boolean | Required | CDNを新規作成するか
|
cdn.cdnType |
String | Required | CDNのタイプ
|
cdn.cdnDomain |
String | Conditional | Global Edgeドメイン
|
cdn.profileId |
Integer | Required | Global Edgeプロファイル ID
|
cdn.regionType |
String | Conditional | Global Edgeサービス地域
|
cdn.cdnInstanceNo |
Integer | Conditional | Global Edgeインスタンス ID
|
qualitySetId |
Integer | Required | 画質設定 ID
|
useDvr |
Boolean | Required | タイムシフト設定
|
immediateOnAir |
Boolean | Optional | 配信と同時に自動録画を設定するか
|
timemachineMin |
Integer | Conditional | タイムシフトの有効時間(分)
|
record |
Object | Required | 録画保存情報 |
record.format |
String | Conditional | 自動保存録画タイプ
|
record.type |
String | Required | 録画保存設定
|
record.bucketName |
String | Conditional | 録画ファイル保存場所バケット名
|
record.filePath |
String | Conditional | 保存場所の詳細パス
|
record.accessControl |
String | Conditional | 録画ファイル保存場所バケットの公開範囲
|
isStreamFailOver |
Boolean | Optional | 配信冗長化設定
|
drmEnabledYn |
Boolean | Required | Multi DRMの使用
|
drm |
Object | Conditional | Multi DRM設定
|
drm.siteId |
String | Conditional | サイト ID
|
drm.contentId |
String | Conditional | コンテンツ ID
|
リクエストボディの入力時、下記の内容をご確認ください。
cdn設定時、ご利用中の CDN+を Global Edgeに変更して入力することができます。変更方法の詳細は、CDNの変更をご参照ください。- LL-HLSチャンネルを円滑に使用するために、キーフレームを1秒に設定することをお勧めします。詳細は、推奨配信オプションをご参照ください。
- 配信映像のセキュリティ設定関連フィールドは、配信映像のセキュリティ設定を参照して入力してください。
- Live Stationサービスにより変換された動画は、NAVERクラウドプラットフォームの Global Edgeを介して視聴者に転送されます。そのため、Live Stationサービスを通じて配信すると Global Edge利用料金が別途発生します。
- 条件を満たさない CDNを連携させる場合、安定したライブ配信の再生ができません。Live Stationサービスと連携可能な CDNは次の通りです。
- 他のライブチャンネル作成中に作成された CDN
- Live Stationサービスを連携できるように必須設定がされている CDN
- NAVERクラウドプラットフォームで作成した CDN
- 連携するチャンネルに割り当てられたオリジンメインと専用パスが設定された CDN
- 次のように設定された CDN
- オリジン通信のプロトコル: HTTPS(443ポート)
- Forward Host Header: Origin Hostname
- Cache Key Hostname: Incoming Host Header
- Caching Option: オリジンの Cache-Controlヘッダ優先
- Force Revalidation of Stale Object: 有効なコンテンツのみ提供
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/channels' \
--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' \
--data '{
"channelName": "testchannel",
"envType": "DEV",
"outputProtocol": "LL_HLS",
"cdn": {
"createCdn": true,
"cdnType": "GLOBAL_EDGE",
"profileId": 4207,
"regionType": "KOREA"
},
"qualitySetId": 2585,
"useDvr": true,
"immediateOnAir": true,
"timemachineMin": 360,
"record": {
"format": "MP4",
"type": "AUTO_UPLOAD",
"bucketName": "mybucket",
"filePath": "/livestation",
"accessControl": "PRIVATE"
},
"isStreamFailOver": true,
"drmEnabledYn": false
}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
content |
Object | - | レスポンス結果 |
content.channelName |
String | - | チャンネル名 |
content.cdn |
Object | - | CDNの設定 |
content.cdn.createCdn |
Boolean | - | CDNを新規作成するか
|
content.cdn.cdnType |
String | - | CDNのタイプ
|
content.cdn.cdnInstanceNo |
Integer | - | Global Edgeインスタンス ID |
content.cdn.profileId |
Integer | - | Global Edgeのプロファイル ID |
content.cdn.regionType |
String | - | Global Edgeサービス地域
|
content.qualitySetId |
Integer | - | 画質設定 ID |
content.useDvr |
Boolean | - | タイムシフトを設定するか
|
content.immediateOnAir |
Boolean | - | 配信と同時に自動録画を設定するか
|
content.timemachineMin |
Integer | - | タイムシフトの有効時間(分) |
content.channelId |
String | - | チャンネル ID |
content.uploadPath |
String | - | 録画ファイルのアップロードパス |
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.outputProtocol |
String | - | Output Protocol |
content.origin |
Object | - | オリジン情報 |
content.origin.originDomain |
String | - | オリジンのドメイン |
content.origin.originPath |
String | - | オリジンのパス |
content.isStreamFailOver |
Boolean | - | 配信冗長化設定
|
content.drmEnabledYn |
Boolean | - | Multi DRMの使用
|
content.drm |
Object | - | Multi DRM設定
|
content.drm.siteId |
String | - | サイト ID |
content.drm.contentId |
String | - | コンテンツ ID |
レスポンスステータスコード
Live Station APIで共通して使用されるレスポンスステータスコードの詳細は、Live Stationのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"content": {
"channelName": "testchannel",
"cdn": {
"createCdn": true,
"cdnType": "GLOBAL_EDGE",
"cdnInstanceNo": 1***2,
"profileId": 4207,
"regionType": "KOREA"
},
"qualitySetId": 2585,
"useDvr": true,
"immediateOnAir": true,
"timemachineMin": 360,
"channelId": "ls-20250818******-UbUBe",
"uploadPath": "/mybucket/livestation",
"envType": "DEV",
"record": {
"type": "AUTO_UPLOAD",
"bucketName": "mybucket",
"filePath": "/livestation",
"format": "MP4",
"accessControl": "PRIVATE"
},
"outputProtocol": "LL_HLS",
"origin": {
"originDomain": "*****.video.media.ntruss.com",
"originPath": "27***85"
},
"isStreamFailOver": true,
"drmEnabledYn": false
}
}
配信映像のセキュリティ設定
作成したチャンネルで配信する映像コンテンツのセキュリティのために、さまざまな設定をサポートします。
コンテンツアクセス制御
Global Edgeサービスと連携すると Global Edgeのコンテンツ認証制御により、配信映像コンテンツのアクセスを制限することができます。コンテンツ認証制御方式には、Signed URL、JSON Web Tokenがあります。各方式の使用方法は、Global Edgeご利用ガイドのSigned URL、JSON Web Tokenをご参照ください。
- 認証トークンの発行時、Signed URL方式は ACLに、JSON Web Token方式は pathにワイルドカードパスを入力します。
- ワイルドカードのパス: /live/video/{channelId}/*
- Global Edgeのキャッシュ設定の際は、Edge Authを作成したチャンネルの Output Protocolに合わせて設定します。設定方法の詳細は、Global Edge 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
- 認証除外拡張子
コンテンツ保護
One Click Multi DRMサービスと連携して、Multi DRMを通じて映像コンテンツを暗号化した後に配信し、違法コピーや流通を防止することができます。チャンネル作成の際は、drmオブジェクトを介して簡単に DRM機能を設定でき、選択した Output Protocolに応じて Multi DRMが適用されます。DRM技術別暗号化方式、対応端末、プラットフォーム、バージョンなどの詳細は、DoveRunner(旧 PallyCon)ガイドをご参照ください。
| 暗号化方式 | プロトコル | DRMタイプ | 暗号化アルゴリズム | 対応端末 |
|---|---|---|---|---|
| DRM | HLS |
|
AES-CBC | Mac/iOS Safariブラウザ、iOS/iPadOS/tvOSアプリ、HLS HTML5 |
| DRM | DASH |
|
CENC (Common Encryption) | MS Edge, IE11, Chrome, Firefox, Opera DASH HTML5 |
- One Click Multi DRMサービス連携時、Single-keyパッケージングのみサポートします。
- Passthrough画質を含む画質設定を使用するチャンネルは、DRMサービスをサポートしません。