チャンネルの作成

Prev Next

Classic/VPC環境で利用できます。

配信のためのライブチャンネルを作成します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v2/channels

リクエストヘッダ

Live Station APIで共通して使用されるヘッダの詳細は、Live Stationのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
channelName String Required チャンネル名
  • 英数字、記号の「_」を使用して3~20文字以内で入力
envType String Optional チャンネルタイプ
  • REAL (デフォルト) | DEV | STAGE
  • 適用するサービス環境の区切り文字
outputProtocol String Optional Output Protocol設定
  • HLS (デフォルト) | LL_HLS | HLS,DASH
    • HLS: 安定性と互換性の高い HLSストリーミングを利用するためのオプション
    • LL_HLS: CMAFを利用した低遅延 HLSストリーミングのためのオプション
      • LL-HLSの正式バージョンは Global Edge連携環境でのみサポート
      • Global Edge CDNのサービス地域が韓国の場合に使用可能
    • HLS,DASH: 一般の HLSと Dashともにストリーミング可能なオプション
cdn Object Required CDNの設定
cdn.createCdn Boolean Required CDNを新規作成するか
  • true | false
    • true: 新規作成
    • false: 保有する CDNを使用
cdn.cdnType String Required CDNのタイプ
  • GLOBAL_EDGE (有効値)
cdn.cdnDomain String Conditional Global Edgeドメイン
cdn.profileId Integer Required Global Edgeプロファイル ID
cdn.regionType String Conditional Global Edgeサービス地域
  • KOREA | JAPAN | GLOBAL
    • KOREA: 韓国
    • JAPAN: 日本
    • GLOBAL: グローバル
  • cdn.createCdntrueの場合、必ず入力
cdn.cdnInstanceNo Integer Conditional Global Edgeインスタンス ID
qualitySetId Integer Required 画質設定 ID
useDvr Boolean Required タイムシフト設定
  • true | false
    • true: 設定
    • false: 設定しない
  • 設定すると配信中ライブを巻き戻して見ることができる
immediateOnAir Boolean Optional 配信と同時に自動録画を設定するか
  • true | false
    • true: 自動
    • false: 手動
timemachineMin Integer Conditional タイムシフトの有効時間(分)
  • 360 (有効値)
  • useDvrtrueの場合、必ず入力
record Object Required 録画保存情報
record.format String Conditional 自動保存録画タイプ
  • MP4 | HLS | ALL
  • 録画ファイルの形式を指定
  • record.typeAUTO_UPLOADの場合、必ず入力
record.type String Required 録画保存設定
  • NO_RECORD | AUTO_UPLOAD | MANUAL_UPLOAD
    • NO_RECORD: 録画しない
    • AUTO_UPLOAD: 自動保存
    • MANUAL_UPLOAD: 一時保存
record.bucketName String Conditional 録画ファイル保存場所バケット名
  • ListBucketsを参照
  • record.typeAUTO_UPLOADの場合、必ず入力
record.filePath String Conditional 保存場所の詳細パス
  • /で始まる
  • record.typeAUTO_UPLOADの場合、必ず入力
record.accessControl String Conditional 録画ファイル保存場所バケットの公開範囲
  • PRIVATE (デフォルト) | PUBLIC_READ
    • PRIVATE: 非公開
    • PUBLIC_READ: 公開
  • record.typeAUTO_UPLOADの場合、必ず入力
isStreamFailOver Boolean Optional 配信冗長化設定
  • true | false
    • true: 使用
    • false: 使用しない
  • 使用時は必ずメインストリームを先に配信
drmEnabledYn Boolean Required Multi DRMの使用
  • true | false
    • true: 使用
    • false: 使用しない
drm Object Conditional Multi DRM設定
  • drmEnabledYntrueの場合、必ず入力
drm.siteId String Conditional サイト ID
drm.contentId String Conditional コンテンツ ID
  • 英数字、記号の「-」、「_」を使用して3~100文字以内で入力
参考

リクエストボディの入力時、下記の内容をご確認ください。

  • 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を新規作成するか
  • true | false
    • true: 新規作成
    • false: 保有する CDNを使用
content.cdn.cdnType String - CDNのタイプ
  • GLOBAL_EDGE (有効値)
content.cdn.cdnInstanceNo Integer - Global Edgeインスタンス ID
content.cdn.profileId Integer - Global Edgeのプロファイル ID
content.cdn.regionType String - Global Edgeサービス地域
  • KOREA | JAPAN | GLOBAL
    • KOREA: 韓国
    • JAPAN: 日本
    • GLOBAL: グローバル
content.qualitySetId Integer - 画質設定 ID
content.useDvr Boolean - タイムシフトを設定するか
  • true | false
    • true: 設定
    • false: 設定しない
content.immediateOnAir Boolean - 配信と同時に自動録画を設定するか
  • true | false
    • true: 自動
    • false: 手動
content.timemachineMin Integer - タイムシフトの有効時間(分)
content.channelId String - チャンネル ID
content.uploadPath String - 録画ファイルのアップロードパス
content.envType String - チャンネルタイプ
  • DEV | STAGE | REAL
content.record Object - 録画保存情報
content.record.type String - 録画保存設定
  • NO_RECORD | AUTO_UPLOAD | MANUAL_UPLOAD
    • NO_RECORD: 録画しない
    • AUTO_UPLOAD: 自動保存
    • MANUAL_UPLOAD: 一時保存
content.record.bucketName String - 録画ファイル保存場所のバケット名
content.record.filePath String - 保存場所の詳細パス
content.record.format String - 自動保存録画タイプ
  • MP4 | HLS | ALL
content.record.accessControl String - 録画ファイル保存場所の公開範囲
  • PRIVATE | PUBLIC_READ
    • PRIVATE: 非公開
    • PUBLIC_READ: 公開
content.outputProtocol String - Output Protocol
content.origin Object - オリジン情報
content.origin.originDomain String - オリジンのドメイン
content.origin.originPath String - オリジンのパス
content.isStreamFailOver Boolean - 配信冗長化設定
  • true | false
    • true: 使用
    • false: 使用しない
content.drmEnabledYn Boolean - Multi DRMの使用
  • true | false
    • true: 使用
    • false: 使用しない
content.drm Object - Multi DRM設定
  • content.drmEnabledYntrueの場合、配下の情報を表示
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 URLJSON 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
  • FairPlay: Applegaが提供する DRM技術規格で、それぞれの HLSセグメントを AES-CBC方式で暗号化
AES-CBC Mac/iOS Safariブラウザ、iOS/iPadOS/tvOSアプリ、HLS HTML5
DRM DASH
  • PlayReady: Microsoftが提供する DRM技術規格で、Common Encryption規格に基づき、AES-128方式で暗号化
  • Widevine: Googleが提供する DRM技術規格で、Common Encryption規格に基づいて AES-128方式で暗号化
CENC (Common Encryption) MS Edge, IE11, Chrome, Firefox, Opera DASH HTML5
参考
  • One Click Multi DRMサービス連携時、Single-keyパッケージングのみサポートします。
  • Passthrough画質を含む画質設定を使用するチャンネルは、DRMサービスをサポートしません。