Create channel
    • PDF

    Create channel

    • PDF

    Article Summary

    An API to create channels of Live Station. Provides the Channel list view API and the Channel information view API to view the created channels.

    Note

    The following are the cautions for creating channels:

    • When the streaming is redundant, the mainstream must be streamed first.
    • If you want to create an LL-HLS channel, you should employ the low latency image quality sets.
    • The official LL-HLS release is only supported where Global Edge CDN is integrated.
    • If you are using an existing CDN, you need to update the previously created CDN. For how to update the CDN, see the User guide.
    • For efficient LL-HLS channel usage, we recommend that you set the keyframe to 1 second. For the detailed streaming instructions, see the User guide.
    • Live Station supports effortless integration with One Click Multi DRM. Only single-key packaging is supported.
    • Channels using resolution settings that include passthrough resolutions do not support DRM Encryption.
    Note

    The following are the cautions for using the content authentication (Signed URL/JWT) control of Global Edge integrated with Live Station.

    • You must set Global Edge's cache to fit in with the outputProtocol of the channel that created Edge Auth. For details on changing the Edge Auth of Global Edge, see API guide.
      • Authentication exclusion extensions 
        • HLS : .ts, .jpg
        • HLS,DASH : .ts, .jpg, .m4s, .m4v, .m4a
        • LL_HLS: .jpg, .m4s, .m4v, .m4a
      • Extensions that forward authentication token to origin
        • HLS : .m3u8
        • HLS/DASH : .m3u8, .mpd
        • LL_HLS : playlist.m3u8
    • At the time of issuing the authentication token, you must enter the wildcard path in acl and path for both Signed URL and JWT. For details on issuing the authentication token, see the User guide.
      • wildcard path : '/live/video/{channelId}/*'

    Content protection settings

    Live Station's DRM Encryption supports the multi-DRM of real-time content.
    You can easily set DRM functions in DRM Settings within the created channel. Multi DRM Encryption is supported according to the selected outputProtocol.
    For details on the encryption type and supported device for each DRM technology and other platforms and versions, see Link.

    Encryption typeProtocolDRM typeEncryption algorithmSupported devices
    DRMHLSFairPlayAES-CBCMac/iOS Safari browser, iOS/iPadOS/tvOS app, HLS HTML5
    DRMDASHPlayReady, WidevineCENC (Common Encryption)MS Edge, Internet Explorer 11, Google Chrome, Firefox, Opera DASH HTML5
    • DRM type
      • FairPlay: DRM technical specifications provided by Apple. It encrypts each HLS segment by using AES-CBC method.
      • Widevine: DRM technical specifications provided by Google. It uses the AES-128 method for encryption according to the common encryption specifications.
      • PlayReady: DRM technical specifications provided by Microsoft. It uses the AES-128 method for encryption according to the common encryption specifications.

    Requests

    POST https://livestation.apigw.ntruss.com/api/v2/channels
    

    Request headers

    Header nameRequiredDescription
    x-ncp-apigw-timestampYESTime elapsed since January 1, 1970 00:00:00 UTC in milliseconds
    The request is considered invalid if the time difference compared to the API Gateway server is more than 5 minutes
    x-ncp-apigw-timestamp:{Timestamp}
    x-ncp-iam-access-keyYESAccess key ID value issued from NAVER Cloud Platform portal
    x-ncp-iam-access-key:{Sub Account Access Key}
    x-ncp-apigw-signature-v2YESSignature encrypted with the access key ID value and secret key
    x-ncp-apigw-signature-v2:{API Gateway Signature}
    Content-TypeYESSpecifies the request body content type as application/json
    Content-Type: application/json
    x-ncp-region_codeYESRegion code (KR)

    Request bodies

    Field nameRequiredTypeService limitsDescription
    channelNameYesString3 to 20 characters can be entered
    Special character hyphens (-) are allowed
    Name of the channel to be created
    envTypeOptionalStringDEV
    STAGE
    REAL
    Will be defaulted to REAL if not specified
    outputProtocolOptionalStringHLS
    HLS,DASH
    LL_HLS
    Will be defaulted to HLS if not specified
    cdnYesObjectCDN Object
    cdn.createCdnYesBooleantrue, falseCDN Object
    cdn.cdnTypeYesStringCDN_PLUS, GLOBAL_CDN,GLOBAL_EDGE
    cdn.profileIdYesIntegerA Global Edge profile required when creating a new GLOBAL_EDGE
    cdn.regionTypeYesStringKOREA,JAPAN,GLOBALGlobal Edge service region
    cdn.cdnInstanceNoOptionalIntegerThis must be set if cdn.createCdn is false
    qualitySetIdYesIntegerWhen creating an LL-HLS channel, request a low latency image quality sets
    useDvrYesBooleantrue, false
    immediateOnAirOptionalBooleantrue, falseAutomatic recording option that records simultaneously with streaming
    timemachineMinOptionalIntegerThe unit is minutes and can only be set to 360Options related to the time machine feature that allows you to go back to the point where you started recording
    This must be set if useDvr is true
    recordYesObject
    record.formatOptionalStringMP4,HLS,ALLSpecify the type of recording file that is to be automatically saved to the bucket
    record.typeYesStringNO_RECORD, AUTO_UPLOAD, MANUAL_UPLOADSpecify the upload type of the saved recording file
    When set to "NO_RECORD," the recording feature cannot be used
    record.bucketNameOptionalStringAutomatically save recording files to the bucket after the live broadcast is finished through the auto save feature
    record.filePathOptionalStringAutomatically save recording files to the specified filePath after the live broadcast is finished through the auto save feature
    filePaths must start with "/"
    record.accessControlOptionalStringPRIVATE, PUBLIC_READOption to specify the scope of Object Storage bucket disclosure when uploading recording files through the auto save feature
    Default: PRIVATE
    isStreamFailOverOptionalBooleantrue, falseOption to apply the streaming redundancy
    The streaming redundancy settings are inherited to the streaming encoder redundancy
    drmEnabledYnYesBooleanWhether to apply DRM Encryption settings
    drmOptionalObjectDRM Encryption settings using Live Station
    When setting DRM, FairPlay and Widevine/PlayReady DRM are supported
    drm.siteIdOptionalStringSite id created through One Click Multi DRM product
    drm.contentIdOptionalStringUnique ID of content where DRM Encryption is applied
    Used for DRM packaging. You can enter 3 to 100 characters using English letters, numbers, hyphens (-), and underscores (_).

    Responses

    Field nameTypeDescriptionNote
    channelIdString
    channelNameString
    envTypeStringWill be defaulted to REAL if not specifiedDEV
    STAGE
    REAL
    outputProtocolStringWill be defaulted to HLS if not specifiedHLS
    HLS,DASH
    LL_HLS
    cdnObject
    cdn.createCdnBoolean
    cdn.cdnTypeStringCDN_PLUS, GLOBAL_CDN,GLOBAL_EDGE
    cdn.profileIdIntegerA Global Edge profile required when creating a new GLOBAL_EDGE
    cdn.regionTypeStringGlobal Edge service regionKOREA,JAPAN,GLOBAL
    cdn.cdnInstanceNoIntegerThis must be set if cdn.createCdn is false
    qualitySetIdInteger
    useDvrBoolean
    immediateOnAirBoolean
    timemachineMinInteger
    recordObject
    record.formatStringMP4,HLS,ALL
    record.typeStringNO_RECORD, AUTO_UPLOAD, MANUAL_UPLOAD
    record.bucketNameString
    record.filePathString
    record.accessControlStringPRIVATE, PUBLIC_READ
    uploadPathStringIn case of AUTO_UPLOAD option, the path to upload recording files
    backupStreamKeyStringBackup stream key for streaming redundancy
    isStreamFailOverBooleanWhether to apply streaming redundancy settingstrue, false
    originObjectLive Station original information for integrating with CDN
    origin.originDomainStringLive Station original domain for integrating with CDN
    origin.originPathStringLive Station original detailed path for integrating with CDN
    drmEnabledYnBooleanWhether to apply DRM Encryption settings
    drmObjectDRM Encryption settings using Live Station
    When setting DRM, FairPlay and Widevine/PlayReady DRM are supported
    drm.siteIdStringSite id created through One Click Multi DRM product
    drm.contentIdStringUnique ID of content where DRM Encryption is applied
    Used for DRM packaging. You can enter 3 to 100 characters using English letters, numbers, hyphens (-), and underscores (_).

    Examples

    Request examples

    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"
          }
    }
    

    Response examples

    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
      }
    }
    

    Was this article helpful?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.