[ aws . rekognition ]

create-stream-processor

Description

Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams.

You provide as input a Kinesis video stream (Input ) and a Kinesis data stream (Output ) stream. You also specify the face recognition criteria in Settings . For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling StartStreamProcessor with the Name field.

After you have finished analyzing a streaming video, use StopStreamProcessor to stop processing. You can delete the stream processor by calling DeleteStreamProcessor .

This operation requires permissions to perform the rekognition:CreateStreamProcessor action. If you want to tag your stream processor, you also require permission to perform the rekognition:TagResource operation.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-stream-processor
--input <value>
--name <value>
--settings <value>
--role-arn <value>
[--tags <value>]
--stream-processor-output <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--input (structure)

Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput .

KinesisVideoStream -> (structure)

The Kinesis video stream input stream for the source streaming video.

Arn -> (string)

ARN of the Kinesis video stream stream that streams the source video.

Shorthand Syntax:

KinesisVideoStream={Arn=string}

JSON Syntax:

{
  "KinesisVideoStream": {
    "Arn": "string"
  }
}

--name (string)

An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling DescribeStreamProcessor . Name is idempotent.

--settings (structure)

Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.

FaceSearch -> (structure)

Face search settings to use on a streaming video.

CollectionId -> (string)

The ID of a collection that contains faces that you want to search for.

FaceMatchThreshold -> (float)

Minimum face match confidence score that must be met to return a result for a recognized face. Default is 80. 0 is the lowest confidence. 100 is the highest confidence.

Shorthand Syntax:

FaceSearch={CollectionId=string,FaceMatchThreshold=float}

JSON Syntax:

{
  "FaceSearch": {
    "CollectionId": "string",
    "FaceMatchThreshold": float
  }
}

--role-arn (string)

ARN of the IAM role that allows access to the stream processor.

--tags (map)

A set of tags (key-value pairs) that you want to attach to the stream processor.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--stream-processor-output (structure)

Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput .

KinesisDataStream -> (structure)

The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream processor streams the analysis results.

Arn -> (string)

ARN of the output Amazon Kinesis Data Streams stream.

Shorthand Syntax:

KinesisDataStream={Arn=string}

JSON Syntax:

{
  "KinesisDataStream": {
    "Arn": "string"
  }
}

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a new stream processor

The following create-stream-processor example creates a new stream processor with the specified configuration.

aws rekognition create-stream-processor --name my-stream-processor\
    --input '{"KinesisVideoStream":{"Arn":"arn:aws:kinesisvideo:us-west-2:123456789012:stream/macwebcam/1530559711205"}}'\
    --stream-processor-output '{"KinesisDataStream":{"Arn":"arn:aws:kinesis:us-west-2:123456789012:stream/AmazonRekognitionRekStream"}}'\
    --role-arn arn:aws:iam::123456789012:role/AmazonRekognitionDetect\
    --settings '{"FaceSearch":{"CollectionId":"MyCollection","FaceMatchThreshold":85.5}}'

Output:

{
    "StreamProcessorArn": "arn:aws:rekognition:us-west-2:123456789012:streamprocessor/my-stream-processor"
}

For more information, see Working with Streaming Videos in the Amazon Rekognition Developer Guide.

Output

StreamProcessorArn -> (string)

ARN for the newly create stream processor.