startFaceDetection method
- required Video video,
- String? clientRequestToken,
- FaceAttributes? faceAttributes,
- String? jobTag,
- NotificationChannel? notificationChannel,
Starts asynchronous detection of faces in a stored video.
Amazon Rekognition Video can detect faces in a video stored in an Amazon
S3 bucket. Use Video to specify the bucket name and the filename of
the video. StartFaceDetection
returns a job identifier
(JobId
) that you use to get the results of the operation.
When face detection is finished, Amazon Rekognition Video publishes a
completion status to the Amazon Simple Notification Service topic that you
specify in NotificationChannel
. To get the results of the
face detection operation, first check that the status value published to
the Amazon SNS topic is SUCCEEDED
. If so, call
GetFaceDetection and pass the job identifier (JobId
)
from the initial call to StartFaceDetection
.
For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide.
May throw AccessDeniedException. May throw IdempotentParameterMismatchException. May throw InvalidParameterException. May throw InvalidS3ObjectException. May throw InternalServerError. May throw VideoTooLargeException. May throw ProvisionedThroughputExceededException. May throw LimitExceededException. May throw ThrottlingException.
Parameter video
:
The video in which you want to detect faces. The video must be stored in
an Amazon S3 bucket.
Parameter clientRequestToken
:
Idempotent token used to identify the start request. If you use the same
token with multiple StartFaceDetection
requests, the same
JobId
is returned. Use ClientRequestToken
to
prevent the same job from being accidently started more than once.
Parameter faceAttributes
:
The face attributes you want returned.
DEFAULT
- The following subset of facial attributes are
returned: BoundingBox, Confidence, Pose, Quality and Landmarks.
ALL
- All facial attributes are returned.
Parameter jobTag
:
An identifier you specify that's returned in the completion notification
that's published to your Amazon Simple Notification Service topic. For
example, you can use JobTag
to group related jobs and
identify them in the completion notification.
Parameter notificationChannel
:
The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video
to publish the completion status of the face detection operation.
Implementation
Future<StartFaceDetectionResponse> startFaceDetection({
required Video video,
String? clientRequestToken,
FaceAttributes? faceAttributes,
String? jobTag,
NotificationChannel? notificationChannel,
}) async {
ArgumentError.checkNotNull(video, 'video');
_s.validateStringLength(
'clientRequestToken',
clientRequestToken,
1,
64,
);
_s.validateStringLength(
'jobTag',
jobTag,
1,
256,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'RekognitionService.StartFaceDetection'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Video': video,
if (clientRequestToken != null)
'ClientRequestToken': clientRequestToken,
if (faceAttributes != null) 'FaceAttributes': faceAttributes.toValue(),
if (jobTag != null) 'JobTag': jobTag,
if (notificationChannel != null)
'NotificationChannel': notificationChannel,
},
);
return StartFaceDetectionResponse.fromJson(jsonResponse.body);
}