Create quality profile
- Print
- PDF
Create quality profile
- Print
- PDF
Article summary
Did you find this summary helpful?
Thank you for your feedback
This is an API that creates image quality for use in Live Station. Get Quality List API and Get Quality Information API are provided to search the generated quality.
Request
POST https://livestation.apigw.ntruss.com/api/v2/qualityProfiles
Request header
Header | Required | Description |
---|---|---|
x-ncp-apigw-timestamp | YES | It is the number of milliseconds that have elapsed since January 1, 1970 00:00:00 UTC. If the time difference with the API Gateway server is more than 5 minutes, the request is considered invalid. x-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | YES | Access Key ID issued from the NAVER Cloud Platform portal. x-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | YES | Signature encrypted with your Access Key ID and Secret Key. x-ncp-apigw-signature-v2:{API Gateway Signature} |
Content-Type | YES | Set the request body content type to application/json.Content-Type: application/json |
x-ncp-region_code | YES | Region code (KR) |
Request body
Field | Required | Type | Limitations | Description |
---|---|---|---|---|
name | Yes | String | Quality name can be entered in numeric and English at least 3 characters and up to 20 characters. Allow Special Character "-". | |
type | Yes | String | NORMAL, AUDIO | |
video | Yes | Object | ||
video.codec | Yes | String | H264 | |
video.profile | Yes | String | BASELINE, MAIN, HIGH if user’s frame size (width x height) is bigger than 921600, All options are available if user’s frame size (width x height) smaller than 921600 (1280*720), High, Main Profile option should be disabled. | |
video.level | Yes | Integer | This field can only be set to -1 | AUTO: -1 |
video.width | Yes | Integer | 16 ~ 4096 Even integer value between 128 and 1920 | |
video.height | Yes | Integer | 16 ~ 4096 Even integer value between 96 and 1920 | |
video.fps | Yes | Decimal | 1 ~ 60 fps | |
video.bitrate | Yes | Integer | 1 ~ 204800000 bps | Unit: bps |
video.videoH264ParamRefFrames | No | Integer | 1 | |
video.rateControl | No | String | VBR, CBR | defaut : VBR |
video.bframes | No | Integer | Integer between 0 and 4 validation check by resolution if user’s frame size (width x height) is 921600 ~ 2073600 (19201080), all options are available (0,1,2,3,4) if user’s frame size (width x height) smaller than 921600 (1280720), 3,4 option should be disabled if user’s frame size (width x height) smaller than 409920 (854*480), 1 ,2,3,4 option should be disabled. | default : 0 |
video.bypass | No | Boolean | true, false | default : false |
audio | Yes | Object | ||
audio.codec | Yes | String | AAC , MP3 | |
audio.profile | Yes | String | LC | AAC-LC (Profile only when AAC) |
audio.samplerate | Yes | Integer | Audio samplerate (in Hz.) AAC : [8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000] MP3 : [8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000] | 44100 |
audio.channels | Yes | Integer | AAC : 0 ~ 8 MP3 : 0 ~ 2 | 0 |
audio.bitrate | Yes | Integer | 16 ~ 320 kbps | Unit: kbps |
audio.bypass | Yes | Boolean | true, false | Bypass setting, whether audio stream is operated in Bypass mode default: false |
Response
Field | Type | Description | Note |
---|---|---|---|
id | Integer | Quality ID | |
status | String | CREATED | |
createdTime | Integer | ||
genType | String | CUSTOM | |
name | String | ||
type | String | NORMAL, AUDIO | |
video | Object | ||
video.fps | Float | ||
video.bitrate | Integer | ||
video.bframes | Integer | ||
video.level | Integer | ||
video.width | Integer | ||
video.height | Integer | ||
video.codec | String | H264 | |
video.profile | String | BASELINE, MAIN, HIGH | |
video.rateControl | String | CBR, VBR | |
audio | Object | ||
audio.codec | String | AAC, MP3 | |
audio.profile | String | LC | |
audio.samplerate | Integer | ||
audio.channels | Integer | ||
audio.bitrate | Integer | ||
audio.bypass | Boolean |
Examples
Request example
POST /api/v2/qualityProfiles
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
{
"name": "testquality",
"type" : "NORMAL",
"video" : {
"codec" : "H264",
"profile" : "MAIN",
"level" : -1,
"width" : 1920,
"height" : 1080,
"fps" : 30,
"bitrate" : 2000000,
"rateControl" : "CBR",
"videoH264ParamRefFrames": 1,
"bframes" : 0,
"bypass" : false
},
"audio" : {
"codec" : "AAC",
"profile" : "LC",
"channels" : 0,
"samplerate" : 44100,
"bitrate" : 192,
"bypass" : false
}
}
Response example
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
{
"content" : {
"id" : 57,
"status" : "CREATED",
"createdTime" : 1585554546811,
"genType" : "CUSTOM",
"name" : "testquality",
"type" : "NORMAL",
"video" : {
"fps" : 30.0,
"bitrate" : 2000000,
"bframes" : 0,
"level" : -1,
"width" : 1920,
"height" : 1080,
"codec" : "H264",
"profile" : "MAIN",
"rateControl" : "CBR"
},
"audio" : {
"codec" : "AAC",
"profile" : "LC",
"samplerate" : 44100,
"channels" : 0,
"bitrate" : 192,
"bypass" : false
}
}
}
Error codes
If the Live Station API request is invalid or if an error occurs during processing, it returns a success/failure to HTTP status code and returns a detailed message in JSON format.
There are two error codes: 'Common error codes' and 'API Gateway error codes' in the Live Station API.
Error code | Response message | Description |
---|---|---|
250000 | Unexpected error occurred. | An error has occurred. |
250001 | {0} | An error has occurred. |
250002 | {0}: invalid value. | |
250003 | Missing required header. | |
250004 | {0} not found. | |
250005 | {0} not available. | |
250006 | Unauthorized {0}. | |
250007 | {0} connection failed. | |
250008 | Request failed. | |
250009 | Third-party interface exception: {0}. | An internal error has occurred. |
250010 | We cannot accomplish the task as permissions are not granted for the sub account. Please modify permissions for the account through the Sub Account service. | |
250011 | {0} must has a valid value | |
250012 | Invalid request data,please check | |
250013 | OK | |
250014 | Form validation failed | |
250015 | Access denied | |
250016 | Server error | A server error has occurred. |
250017 | Unauthorized | You do not have permission on the request resource. |
250018 | Bad Request | |
250019 | The Region {0} not support now. | |
250020 | Invalid region code {0}. | |
250021 | Invalid parameter type.{0} can not convert to type {1}. | |
250022 | The url that you specified is not invalid format. | |
250100 | Channel is not found | |
250101 | This channel is not publishing now | |
250102 | This channel is publishing | |
250103 | This channel has never been published. | |
250104 | Channel names can be entered with a minimum of 3 characters and a maximum of 20 characters. Special character “_” allowed. | |
250105 | Start publish failed | |
250106 | Stop publish failed | |
250107 | This channel's CDN is not running | |
250108 | CDN secure token cannot set | |
250109 | If CDN status is creating or changing, channel cannot be deleted. | |
250110 | Cannot create channel, reason: {0} | |
250111 | Wrong notification type | |
250112 | Cannot configure Notification | |
250113 | In order to return channel, CDN must be returned first. | |
250114 | Channel can be deleted only in 'READY' state. | |
250115 | The channel didn't set DVR | |
250116 | The request did not include the required "QualitySet" | |
250118 | The request did not include the required "CDN_TYPE" | |
250119 | The cdnInstanceNo is needed when createCdn is false. | |
250120 | The cdn type that you specified is not allowed: only "CDN_PLUS", "GCDN" is supported. | |
250121 | The request channel did not set useDvr. | |
250122 | The timemachineMin should be 360. | |
250123 | The specified channel Id does not exist. | |
250124 | The request does not allowed: You can get url only cdn status is "RUNNING" | |
250125 | The request does not allowed: You can get url only channel status is "READY" | |
250126 | The number of professional type can not exceed 5 : targetPlatform is allowed between 1 and 5 | |
250127 | The plan type that you specified is not allowed. | |
250128 | The number of standard plan type can not exceed 3 : targetPlatform is allowed between 1 and 3 | |
250129 | The input of rtmp url that you specified is not allowed | |
250130 | The restream targetName value that you specified is not allowed : [STEAM, MIXER , TWITCH , YOUNOW , USTREAM , AFREECA_TV , NAVER_TV , V_LIVE, LINE_TV , PRISM, LIVESTATION, CUSTOM] ar e supported. | |
250131 | The channel value that you specified is not allowed. | |
250133 | The request channel did not set useDvr | |
250134 | The request channel status is no "PUBLISHING" | |
250135 | The request does not allowed : the recording has been start already | |
250136 | The request does not allowed : the recording has been start already | |
250137 | The request does not allowed : the recording status is not "TRUE" | |
250138 | The param timemacineMin is needed when useDvr is true. | |
250139 | The param immediateOnair should be false when useDvr is false. | |
250140 | Cdn status should be running when create channel. | |
250141 | You can get time machine url only recording status is TRUE. | |
250142 | ChannelName should not be null. | |
250143 | The request did not include the required "stream key". | |
250300 | Quality is not found. | |
250301 | The qualitySetId that you specified not found. | |
250302 | Quality set must have only one 1080p quality. | |
250303 | Delete system quality profile is not allowed. | |
250304 | Invalid user info. | |
250305 | System resource cannot update | |
250306 | Resource is in use | |
250307 | The segment duration value that you specified is not allowd (exceeds valid limit or wrong type) : valid value is allowed integer value between 1000 and 10000 in 500 units is supported. (unit : milliseconds ) | |
250309 | The segment count value that you specified is not allowed (exceeds valid limit or wrong type): valid value is allowed integer between 2 and 10 | |
250311 | Delete system quality set is not allowed. | |
250312 | Only Alphabets, Numbers and Hypen are allowed. The length must be between 3 and 20 characters. | |
250313 | quality size error (min:1, max:4) | You can set 1 to 4 quality settings. |
250314 | Video codec must have a value | |
250315 | Video codec profile must have a value | |
250316 | Video codec profile level must have a value | |
250321 | Video bitrate must be greater than or equal to 1 | |
250322 | Video bitrate must be less than or equal to 20000000 | |
250323 | Video B frames must be greater than or equal to 0 | |
250324 | Video B frames must be less than or equal to 4 | |
250325 | Audio codec must have a value | |
250327 | Audio sampling rate must have a value | |
250328 | Audio channels must have a value | |
250333 | {0} Profile only when AAC | |
250334 | bFrames only 0 is available if resolution less than 409920(854*480) | |
250335 | bFrames only 0,1,2 are available if resolution less than 921600 (1280*720) | |
250336 | Video frame rate must be greater than or equal to 1 | |
250337 | Video frame rate be less than or equal to 60 | |
250338 | Audio channels must be greater than or equal to 0 | |
250339 | Audio channels must be less than or equal to 8 | |
250341 | Only profile 'BASELINE' available for resolution less than 921600 (1280*720) | |
250342 | Only even integer are available for video width and height | |
250343 | Interval must bigger than 0 | |
250344 | Must input key | |
250345 | Must input header | |
250348 | The request did not set content-type to "application/json" | |
250351 | The timedmeta that you specified is not allowed: only integer "1000" is supported. | |
250353 | The audio codec that you specified is not allowed: only "AAC", "MP3" audio codec is supported. | |
250354 | The profile value of audio codec that you specified is not allowed: only profile LC is supported. | |
250355 | The audio channel value that you specified is not allowed: only audio channel value [0, 1,2,3,4,5,6,7,8] are supported | |
250356 | The audio channel value that you specified is not allowed: only audio channel value [0, 1, 2] are supported. | |
250357 | The audio bitrate value that you specified is not allowed(exceed valid limit or wrong type): valid value is allowed integer between 16 and 320. | |
250358 | The audio sampling rate that you specified is not allowed: only audio sampling rate value AAC: [8000, 11025, 12000, 16000, 22050, 24000,32000, 44100, 48000, 64000,88200,96000] are supported. | |
250359 | The audio sampling rate that you specified is not allowed: only audio sampling rate value MP3:[8000,11025, 12000,16000,22050,24000,32000,44100,48000] are supported. | |
250360 | The video codec that you specified is not allowed: only "H264" format is supported. | |
250361 | The profile of video codec that you specified is not allowed: only profile value [BASELINE, MAIN, HIGH] are supported. | |
250362 | The orientation of video that you specified is not allowed: only [FIX] is supported. | |
250363 | The profile level of video that you specified is not allowed. only [0] is supported | |
250364 | The reference frames of video that you specified is not allowed, only [1] is supported. | |
250365 | The video bitrate value that you specified is not allowed: video bitrate value is an integer greater than 0 | |
250366 | The width of video that you specified is not allowed: only width [integer between 128 and 1920] are supported. | |
250367 | The height of video that you specified is not allowed: only height [integer between 96 and 1920] are supported. | |
250368 | The frame rate of video that you specified is not allowed : only frame rate value [10, 15, 23.97, 24, 29.97, 30, 50, 60] are supported. | |
250370 | The rate control of video that you specified is not allowed : only width [VBR, CBR] are supported. | |
250372 | The request did not include the required "video" object | |
250373 | The request did not include the required "audio " object | |
250374 | Delete system quality profile is not allowed. | |
250375 | The request did not include the required "timedMetadata" object.(if "enableHlsTimedMetadata": true, timedMetadata object should be included.) | |
250376 | The timedmeta that you specified of key is not allowed: only "utc" is supported. | |
250377 | The request did not include the required "enableHlsTimedMeta" | |
250378 | The request do not include the required "audio bitrate" | |
250500 | Record filename is not valid : {0} | |
250501 | Record filename is not found : {0} | |
250502 | Record file upload error | |
250504 | Can not delete Record file: {0} | |
250505 | Can't get objectStorage's access oAuth | Failed to acquire access to Object Storage. |
250506 | ChannelId param should not be null when get record list. | The ChannelID parameter is required. |
250507 | Record status should be TRANSFER_READY or TRANSFER_FAIL when upload. | The recording file is not in an uploadable state. It allows TRANSFER_READY, TRANSFER_FAIL status |
250600 | Number must bigger than or equal to 1 | |
250700 | The record id has been requested already. | |
250701 | The record id that you request upload does not exist. | |
250702 | The record id does not exist. | |
250703 | The input bucket name that you specified is not allowed. | |
250704 | The output bucket name that you specified is not allowed. | |
250705 | The input bucket name doesn't exist. |
Was this article helpful?