startSegmentDetection method
- required List<
SegmentType> segmentTypes, - required Video video,
- String? clientRequestToken,
- StartSegmentDetectionFilters? filters,
- String? jobTag,
- NotificationChannel? notificationChannel,
Starts asynchronous detection of segment detection in a stored video.
Amazon Rekognition Video can detect segments in a video stored in an
Amazon S3 bucket. Use Video to specify the bucket name and the
filename of the video. StartSegmentDetection
returns a job
identifier (JobId
) which you use to get the results of the
operation. When segment detection is finished, Amazon Rekognition Video
publishes a completion status to the Amazon Simple Notification Service
topic that you specify in NotificationChannel
.
You can use the Filters
(StartSegmentDetectionFilters)
input parameter to specify the minimum detection confidence returned in
the response. Within Filters
, use ShotFilter
(StartShotDetectionFilter) to filter detected shots. Use
TechnicalCueFilter
(StartTechnicalCueDetectionFilter)
to filter technical cues.
To get the results of the segment detection operation, first check that
the status value published to the Amazon SNS topic is
SUCCEEDED
. if so, call GetSegmentDetection and pass
the job identifier (JobId
) from the initial call to
StartSegmentDetection
.
For more information, see Detecting Video Segments in 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 segmentTypes
:
An array of segment types to detect in the video. Valid values are
TECHNICAL_CUE and SHOT.
Parameter clientRequestToken
:
Idempotent token used to identify the start request. If you use the same
token with multiple StartSegmentDetection
requests, the same
JobId
is returned. Use ClientRequestToken
to
prevent the same job from being accidently started more than once.
Parameter filters
:
Filters for technical cue or shot detection.
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 segment detection operation.
Implementation
Future<StartSegmentDetectionResponse> startSegmentDetection({
required List<SegmentType> segmentTypes,
required Video video,
String? clientRequestToken,
StartSegmentDetectionFilters? filters,
String? jobTag,
NotificationChannel? notificationChannel,
}) async {
ArgumentError.checkNotNull(segmentTypes, 'segmentTypes');
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.StartSegmentDetection'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'SegmentTypes': segmentTypes.map((e) => e.toValue()).toList(),
'Video': video,
if (clientRequestToken != null)
'ClientRequestToken': clientRequestToken,
if (filters != null) 'Filters': filters,
if (jobTag != null) 'JobTag': jobTag,
if (notificationChannel != null)
'NotificationChannel': notificationChannel,
},
);
return StartSegmentDetectionResponse.fromJson(jsonResponse.body);
}