# Blueprint
API call format
GET /blueprints/<blueprint_id>
Description
Get specific blueprint by id. We take more information in detail about the blueprint.
Precondition:
- Authorization token is needed.
- Mandatory elements (should be specified):
- <blueprint_id> - valid blueprint id. Take a specific bluprint idusing Blueprints List API call.
Postcondition:
- On success response code should be 200
- On success the whole JSON body of the blueprint is returned with all details.
- On failure an error will be returned with the right error code and description.
Example:
[Request] GET https://<base_api_url>/<blueprint_id>
[Request Headers] {"Content-Type":"application/json","Accept":"application/json","Authorization":"<IdToken>"}
[Page] https://<base_api_url>/<blueprint_id>
[Response] 200
[Response Headers] {"Content-Type":["application/json"],"Content-Length":["..."],"Connection":["keep-alive"],"Date":["..... GMT"],"x-amzn-RequestId":["....."],....]}
[Response]
{
"id": "22a8a797-1484-4a08-beae-08ddb43f1668", //<blueprint_id>
"name": "RTMP push input with Youtube/Facebook/Twitch RTMP output",
"description": "RTMP push input with Youtube/Facebook/Twitch RTMP output",
"components": {
"mediaLive": {
"input": {
"destinations": [
{
"streamName": "live/stream"
},
{
"streamName": "live1/stream1"
}
],
"inputSecurityGroups": [
"5549683"
],
"name": "EXInput_RTMP_push",
"type": "RTMP_PUSH"
},
"channel": {
"channelClass": "SINGLE_PIPELINE",
"destinations": [
{
"id": "0p6o6o",
"mediaPackageSettings": [],
"settings": [
{
"streamName": "356288661670432?s_bl=1&s_sml=0&s_sw=0&s_vt=api-s&a=Abwe_K0TKdDptWWi",
"url": "rtmps://live-api-s.facebook.com:443/rtmp/"
}
]
},
{
"id": "14r78i",
"mediaPackageSettings": [],
"settings": [
{
"streamName": "283c-y0m8-39d7-3gz0",
"url": "rtmp://a.rtmp.youtube.com/live2"
}
]
},
{
"id": "qat9x9",
"mediaPackageSettings": [],
"settings": [
{
"streamName": "live_435647802_mfBFFhulWV195HubVyiE0Y9TfXnOZC",
"url": "rtmp://live-prg.twitch.tv/app/"
}
]
}
],
"encoderSettings": {
"audioDescriptions": [
{
"audioTypeControl": "FOLLOW_INPUT",
"codecSettings": {
"aacSettings": {
"bitrate": 128000,
"codingMode": "CODING_MODE_2_0",
"inputType": "NORMAL",
"profile": "LC",
"rateControlMode": "CBR",
"rawFormat": "NONE",
"sampleRate": 48000,
"spec": "MPEG4"
}
},
"languageCodeControl": "FOLLOW_INPUT",
"name": "audio_uh98qw"
},
{
"audioTypeControl": "FOLLOW_INPUT",
"languageCodeControl": "FOLLOW_INPUT",
"name": "audio_14xtdk"
},
{
"audioTypeControl": "FOLLOW_INPUT",
"languageCodeControl": "FOLLOW_INPUT",
"name": "audio_soh1fi"
}
],
"captionDescriptions": [],
"outputGroups": [
{
"name": "RTMP Facebook",
"outputGroupSettings": {
"rtmpGroupSettings": {
"authenticationScheme": "COMMON",
"cacheFullBehavior": "DISCONNECT_IMMEDIATELY",
"cacheLength": 30,
"captionData": "ALL",
"inputLossAction": "EMIT_OUTPUT",
"restartDelay": 15
}
},
"outputs": [
{
"audioDescriptionNames": [
"audio_uh98qw"
],
"captionDescriptionNames": [],
"outputName": "0p6o6o",
"outputSettings": {
"rtmpOutputSettings": {
"certificateMode": "VERIFY_AUTHENTICITY",
"connectionRetryInterval": 2,
"destination": {
"destinationRefId": "0p6o6o"
},
"numRetries": 10
}
},
"videoDescriptionName": "video_jivzg"
}
]
},
{
"name": "RTMP YouTube",
"outputGroupSettings": {
"rtmpGroupSettings": {
"authenticationScheme": "COMMON",
"cacheFullBehavior": "DISCONNECT_IMMEDIATELY",
"cacheLength": 30,
"captionData": "ALL",
"inputLossAction": "EMIT_OUTPUT",
"restartDelay": 15
}
},
"outputs": [
{
"audioDescriptionNames": [
"audio_14xtdk"
],
"captionDescriptionNames": [],
"outputName": "14r78i",
"outputSettings": {
"rtmpOutputSettings": {
"certificateMode": "VERIFY_AUTHENTICITY",
"connectionRetryInterval": 2,
"destination": {
"destinationRefId": "14r78i"
},
"numRetries": 10
}
},
"videoDescriptionName": "video_6u64x4"
}
]
},
{
"name": "RTMP Twitch",
"outputGroupSettings": {
"rtmpGroupSettings": {
"authenticationScheme": "COMMON",
"cacheFullBehavior": "DISCONNECT_IMMEDIATELY",
"cacheLength": 30,
"captionData": "ALL",
"inputLossAction": "EMIT_OUTPUT",
"restartDelay": 15
}
},
"outputs": [
{
"audioDescriptionNames": [
"audio_soh1fi"
],
"captionDescriptionNames": [],
"outputName": "qat9x9",
"outputSettings": {
"rtmpOutputSettings": {
"certificateMode": "VERIFY_AUTHENTICITY",
"connectionRetryInterval": 2,
"destination": {
"destinationRefId": "qat9x9"
},
"numRetries": 10
}
},
"videoDescriptionName": "video_o30jwc"
}
]
}
],
"timecodeConfig": {
"source": "EMBEDDED"
},
"videoDescriptions": [
{
"codecSettings": {
"h264Settings": {
"adaptiveQuantization": "MEDIUM",
"afdSignaling": "NONE",
"bitrate": 4000000,
"colorMetadata": "INSERT",
"entropyEncoding": "CABAC",
"flickerAq": "ENABLED",
"framerateControl": "INITIALIZE_FROM_SOURCE",
"gopBReference": "DISABLED",
"gopClosedCadence": 1,
"gopNumBFrames": 2,
"gopSize": 90,
"gopSizeUnits": "FRAMES",
"level": "H264_LEVEL_AUTO",
"lookAheadRateControl": "MEDIUM",
"numRefFrames": 1,
"parControl": "INITIALIZE_FROM_SOURCE",
"profile": "MAIN",
"rateControlMode": "CBR",
"scanType": "PROGRESSIVE",
"sceneChangeDetect": "ENABLED",
"spatialAq": "ENABLED",
"subgopLength": "FIXED",
"syntax": "DEFAULT",
"temporalAq": "ENABLED",
"timecodeInsertion": "DISABLED"
}
},
"height": 720,
"name": "video_jivzg",
"respondToAfd": "NONE",
"scalingBehavior": "DEFAULT",
"sharpness": 50,
"width": 1280
},
{
"name": "video_6u64x4",
"respondToAfd": "NONE",
"scalingBehavior": "DEFAULT",
"sharpness": 50
},
{
"name": "video_o30jwc",
"respondToAfd": "NONE",
"scalingBehavior": "DEFAULT",
"sharpness": 50
}
]
},
"inputSpecification": {
"codec": "AVC",
"maximumBitrate": "MAX_20_MBPS",
"resolution": "HD"
},
"logLevel": "DISABLED",
"name": "RtmpPushToRtmpYtbFbTwitchChannel",
"tags": {}
}
}
},
"createStateMachineArn": "arn:aws:states:ap-northeast-1:747067909250:stateMachine:IoIoTvLiveqadevlatestMainFlow",
"deleteStateMachineArn": "arn:aws:states:ap-northeast-1:747067909250:stateMachine:IoIoTvLiveqadevlatestDeleteFlow",
"deprecated": false,
"created": 1562053647093,
"metadata": {
"arrangement": {
"meta": [
"root/components/mediaLive/channel/destinations/0/settings/streamName",
"root/components/mediaLive/channel/destinations/0/settings/url",
"root/components/mediaLive/channel/destinations/1/settings/streamName",
"root/components/mediaLive/channel/destinations/1/settings/url",
"root/components/mediaLive/channel/destinations/2/settings/streamName",
"root/components/mediaLive/channel/destinations/2/settings/url"
]
},
"root/components/mediaLive/channel/destinations/1/settings/streamName": {
"label": "Facebook Stream name"
},
"root/components/mediaLive/channel/destinations/0/settings/streamName": {
"label": "Youtube Stream name"
},
"root/components/mediaLive/channel/destinations/2/settings/streamName": {
"label": "Twitch Stream name"
},
"root/components/mediaLive/channel/destinations/0/settings/url": {
"label": "Youtube RTMP URL"
},
"root/components/mediaLive/channel/destinations/2/settings/url": {
"label": "Twitch RTMP URL"
},
"root/components/mediaLive/channel/destinations/1/settings/url": {
"label": "Facebook RTMP URL"
}
}
}
We shall preserve this <blueprint_content_json> for the next API calls.