Combining transcription with recording sinks for the Amazon Chime SDK
You can combine Amazon Transcribe and Amazon Transcribe Call Analytics processors with an Amazon S3 recording sink. Builders can pass an S3RecordingSinkConfiguration in addition to the Amazon Transcribe processors in a CreateMediaInsightsPipelineConfiguration API call, or by using the console.
In conjunction with the Amazon S3 recording sink, you can use an Amazon Transcribe or an Amazon Transcribe Call Analytics processor, but never both. You can also add voice analytics to the same configuration in addition to a recording sink, with or without a transcribe processor.
Note
You can enable recording with any of the processors listed above. However, if you enable Amazon Transcribe Call Analytics along with Amazon S3 call recording, you must provide two Kinesis video streams, and you'll receive duplicate recording files, one from Amazon Transcribe Call Analytics and one from the Amazon S3 call recording.
Remember the following:
-
You must use a unique
MediaInsightsPipelineConfigurationName. -
For information about the
ResourceAccessRoleArn, refer to Using the call analytics resource access role for the Amazon Chime SDK in this guide. -
The
Destinationvalue must be an S3 path ARN. The Amazon S3 bucket must be owned by the same account. -
If you use a configuration with Transcribe and recording to create a pipeline, pauses and resumes only appear in the insights generated by a Kinesis Data stream. All the data in the KVS streams is recorded and uploaded to Amazon S3.
-
If a configuration uses Amazon transcribe or transcribe call analytics (TCA) in addition to recording, the media insights pipeline provides transcription or Transcribe Call Analytics insights in real time, followed by Amazon S3 recording at the end of the call. If transcribe services fail during the call analytics, the S3 recording job still tries to run. Conversely, an Amazon S3 recording failure doesn't affect the transcribe insights, since it runs after transcribe completes.
This example shows a configuration with an Amazon Transcribe processor and an Amazon S3 recording sink. The example also enables partial results stabilization, which can reduce latency in output, but may impact accuracy. For more information, refer to Partial-result stabilization, in the Amazon Transcribe Developer Guide.
{ "MediaInsightsPipelineConfigurationName": unique_configuration_name, "ResourceAccessRoleArn":role_arn, "Elements": [{ "AmazonTranscribeProcessorConfiguration": { "ContentIdentificationType": "string", "ContentRedactionType": "string", "EnablePartialResultsStabilization":boolean, //Enables partial result stabilization. Can reduce latency. May impact accuracy. "FilterPartialResults":boolean, //To control partial utterance events "LanguageCode": "string", "LanguageModelName": "string", "PartialResultsStability": "string", "PiiEntityTypes": "string", "ShowSpeakerLabel":boolean, "VocabularyFilterMethod": "string", "VocabularyFilterName": "string", "VocabularyName": "string" }, "Type": "AmazonTranscribeProcessor" }, { "KinesisDataStreamSinkConfiguration": { "InsightsTarget":KDS_arn//Where recording and insights live metadata will be delivered. }, "Type": "KinesisDataStreamSink" }, { "S3RecordingSinkConfiguration": { "Destination":S3_Arn, "RecordingFileFormat":file_format// Specify "Opus" or "WAV" as the recording file format. }, "Type": "S3RecordingSink" } ] }