# 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):

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.