本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
StartStreamTranscription
启动双向 HTTP/2 或 WebSocket 其中音频将流式传输到 Amazon Transcribe,并且转录结果将流式传输到您的应用程序。
以下内容被编码为标头:
-
语言代码:
-
媒体encoding
-
采样率
-
session-id
有关使用 Amazon Transcribe 流式传输的更多信息,请参阅转录流音频.
请求语法
POST /stream-transcription HTTP/2
x-amzn-transcribe-language-code: LanguageCode
x-amzn-transcribe-sample-rate: MediaSampleRateHertz
x-amzn-transcribe-media-encoding: MediaEncoding
x-amzn-transcribe-vocabulary-name: VocabularyName
x-amzn-transcribe-session-id: SessionId
x-amzn-transcribe-vocabulary-filter-name: VocabularyFilterName
x-amzn-transcribe-vocabulary-filter-method: VocabularyFilterMethod
x-amzn-transcribe-show-speaker-label: ShowSpeakerLabel
x-amzn-transcribe-enable-channel-identification: EnableChannelIdentification
x-amzn-transcribe-number-of-channels: NumberOfChannels
x-amzn-transcribe-enable-partial-results-stabilization: EnablePartialResultsStabilization
x-amzn-transcribe-partial-results-stability: PartialResultsStability
x-amzn-transcribe-content-identification-type: ContentIdentificationType
x-amzn-transcribe-content-redaction-type: ContentRedactionType
x-amzn-transcribe-pii-entity-types: PiiEntityTypes
x-amzn-transcribe-language-model-name: LanguageModelName
x-amzn-transcribe-identify-language: IdentifyLanguage
x-amzn-transcribe-language-options: LanguageOptions
x-amzn-transcribe-preferred-language: PreferredLanguage
x-amzn-transcribe-vocabulary-names: VocabularyNames
x-amzn-transcribe-vocabulary-filter-names: VocabularyFilterNames
Content-type: application/json
{
"AudioStream": {
"AudioEvent": {
"AudioChunk": blob
}
}
}
URI 请求参数
请求使用以下 URI 参数。
- ContentIdentificationType
-
标记您的成绩单中标识的所有个人身份信息 (PII)。
内容识别在区段级别执行;PII 在中指定
PiiEntityTypes在音频片段完全转录后被标记。您不能设置,
ContentIdentificationType和ContentRedactionType在同一请求中。如果两者都设置,则请求将返回BadRequestException.有关更多信息,请参阅 。编辑或识别个人身份信息.
有效值:
PII - ContentRedactionType
-
删除您的成绩单中标识的所有个人身份信息 (PII)。
内容编辑在区段级别执行;PII 在中指定
PiiEntityTypes在音频片段完全转录后被编辑。您不能设置,
ContentRedactionType和ContentIdentificationType在同一请求中。如果两者都设置,则请求将返回BadRequestException.有关更多信息,请参阅 。编辑或识别个人身份信息.
有效值:
PII - EnableChannelIdentification
-
在多声道音频中启用频道识别。
频道标识会单独转录每个通道上的音频,然后将每个通道的输出附加到一个脚本中。
如果您有多声道音频但未启用频道识别,则您的音频将以连续的方式转录,并且您的成绩单不会按频道分隔。
您不能设置,
ShowSpeakerLabel和EnableChannelIdentification在同一请求中。如果两者都设置,则请求将返回BadRequestException.有关更多信息,请参阅 。转录多声道音频.
- EnablePartialResultsStabilization
-
为您的转录启用部分结果稳定。部分结果稳定可以减少输出的延迟,但可能会影响准确性。有关更多信息,请参阅 。部分结果稳定.
- IdentifyLanguage
-
注意 并非所有区域都支持语言识别。
为您的转录启用自动语言识别。
如果你包括
IdentifyLanguage,您可以选择包含语言代码列表,其中一个语言代码的列表,LanguageOptions,你认为可能存在于你的音频流中。包括语言选项可以提高转录的准确性。您还可以使用以下命令包含首选语言
PreferredLanguage. 与省略此参数相比,添加首选语言可以帮助 Amazon Transcribe 更快地识别该语言。如果您的多声道音频在每个通道上都包含不同的语言,并且您已启用频道识别,则自动语言识别会标识每个音频通道上的主导语言。
请注意,您必须包含以下任一内容
LanguageCode要么IdentifyLanguage在您的请求中。如果同时包含这两个参数,则请求将失败。流媒体语言识别不能与自定义语言模型或编辑相结合。
- LanguageCode
-
指定表示音频中所说语言的语言代码。
如果您不确定音频中所说的语言,可以考虑使用
IdentifyLanguage以启用自动语言识别。有关 Amazon Transcribe 流媒体支持的语言列表,请参阅支持的语言:表。
有效值:
en-US | en-GB | es-US | fr-CA | fr-FR | en-AU | it-IT | de-DE | pt-BR | ja-JP | ko-KR | zh-CN - LanguageModelName
-
注意 并非所有区域都支持自定义语言模型。
指定您要在处理您的音录时使用的自定义语言模型的名称。请注意,语言模型名称区分大小写。
指定语言模型的语言必须与您在转录请求中指定的语言代码匹配。如果语言不匹配,则不应用语言模型。没有与语言不匹配相关的错误或警告。
有关更多信息,请参阅 。自定义语言模型,.
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - LanguageOptions
-
指定两个或多个语言代码来代表您认为媒体中可能存在的语言;建议不要包含五种以上的语言。如果您不确定存在哪些语言,请不要包含此参数。
包括语言选项可以提高语言识别的准确性。
如果你包括
LanguageOptions在您的请求中,您还必须包括IdentifyLanguage.有关 Amazon Transcribe 流媒体支持的语言列表,请参阅支持的语言:表。
重要 每个流式传输中每种语言只能包含一种语言方言。例如,您不能包括
en-US和en-AU在同一请求中。长度上限束:最小长度为 1。最大长度为 200。
模式:
^[a-zA-Z-,]+ - MediaEncoding
-
指定用于输入音频的编码。支持的格式为:
-
FLAC
-
Ogg 容器中的 Opus 编码音频
-
PCM(仅有符号的 16 位小端音频格式,不包括 WAV)
有关更多信息,请参阅 。媒体格式:.
有效值:
pcm | ogg-opus | flac必需:是
-
- MediaSampleRateHertz
-
输入音频的采样率(以 Hz 为单位)。低质量的音频,例如电话音频,通常在 8,000 Hz 左右。高质量音频的范围通常从 16,000 Hz 到 48,000 Hz 不等。请注意,您指定的采样率必须与音频的采样率相匹配。
有效范围:最小值为 80 0 0 0 0 0 0 0 最大值为 4800 0 0 0 0 0 0 0
必需:是
- NumberOfChannels
-
指定音频流中通道的数量。最多支持两个通道。
有效范围:最小值为 2 0 0 0 0 0。
- PartialResultsStability
-
指定启用部分结果稳定时要使用的稳定性级别 (
EnablePartialResultsStabilization)。低稳定性提供最高的准确率。高稳定性转录速度更快,但精度略低。
有关更多信息,请参阅 。部分结果稳定.
有效值:
high | medium | low - PiiEntityTypes
-
指定您要在成绩单中删除哪些类型的个人身份信息 (PII)。您可以根据需要添加任意数量的类型,也可以选择
ALL.加入
PiiEntityTypes在您的请求中,您还必须包含以下任一内容ContentIdentificationType要么ContentRedactionType.值必须以逗号分隔,并且可以包括:
BANK_ACCOUNT_NUMBER、BANK_ROUTING、CREDIT_DEBIT_NUMBER、CREDIT_DEBIT_CVV、CREDIT_DEBIT_EXPIRY、PIN、EMAIL、ADDRESS、NAME、PHONE、SSN,或者ALL.长度上限束:最小长度为 1。最大长度为 300。
模式:
^[A-Z_, ]+ - PreferredLanguage
-
从您在中指定的语言代码子集中指定首选语言
LanguageOptions.只有在已包含此参数时才能使用此参数
IdentifyLanguage和LanguageOptions在您的请求中。有效值:
en-US | en-GB | es-US | fr-CA | fr-FR | en-AU | it-IT | de-DE | pt-BR | ja-JP | ko-KR | zh-CN - SessionId
-
为您的转录会话指定一个名称。如果您未在请求中包含此参数,Amazon Transcribe 将流式传输到您的请求。
您可以使用会话 ID 重试流式传输会话。
长度上限束:固定长度为 36。
模式:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} - ShowSpeakerLabel
-
在转录输出中启用说话人识别(二值化)。扬声器标识会在媒体文件中标记单个扬声器的语音。
有关更多信息,请参阅 。识别发言人(日记化).
- VocabularyFilterMethod
-
指定您希望如何将词汇过滤器应用于成绩单。
将单词替换为
***,选择mask.要删除单词,请选择
remove.要在不更改单词的情况下标记单词,请选择
tag.有效值:
remove | mask | tag - VocabularyFilterName
-
指定在处理转录时要使用的自定义词汇过滤器的名称。请注意,词汇过滤器名称区分大小写。
如果指定的自定义词汇过滤器的语言与媒体中标识的语言不匹配,则作业将失败。
重要 此参数为 1不适用于
IdentifyLanguage参数。如果您发送的是,IdentifyLanguage在你的请求中,如果想要在你的转录中使用一个或多个词汇过滤器,请使用VocabularyFilterNames改为参数。有关更多信息,请参阅 。对不需要的单词使用词汇过滤.
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - VocabularyFilterNames
-
指定在处理转录时要使用的自定义词汇过滤器的名称。请注意,词汇过滤器名称区分大小写。
如果指定的自定义词汇过滤器中没有一种语言与媒体中标识的语言匹配,则作业将失败。
重要 此参数仅供使用和这
IdentifyLanguage参数。如果您发送的是不包括IdentifyLanguage在你的请求中,如果想要对你的转录使用自定义词汇过滤器,请使用VocabularyFilterName改为参数。有关更多信息,请参阅 。对不需要的单词使用词汇过滤.
长度上限束:最小长度为 1。长度上限为 3000 0 0 0 0
模式:
^[a-zA-Z0-9,-._]+ - VocabularyName
-
指定在处理转录时要使用的自定义词汇表的名称。请注意,词汇名称区分大小写。
如果指定的自定义词汇表的语言与媒体中标识的语言不匹配,则作业将失败。
重要 此参数为 1不适用于
IdentifyLanguage参数。如果您发送的是,IdentifyLanguage在你的请求中,如果想要在你的转录中使用一个或多个自定义词汇,请使用VocabularyNames改为参数。有关更多信息,请参阅 。自定义词汇表.
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - VocabularyNames
-
指定在处理转录时要使用的自定义词汇表的名称。请注意,词汇名称区分大小写。
如果指定的自定义词汇表中没有一种语言与媒体中标识的语言匹配,则作业将失败。
重要 此参数仅供使用和这
IdentifyLanguage参数。如果您发送的是不包括IdentifyLanguage在你的请求中,如果想要在你的转录中使用自定义词汇,请使用VocabularyName改为参数。有关更多信息,请参阅 。自定义词汇表.
长度上限束:最小长度为 1。最大长度为 3000。
模式:
^[a-zA-Z0-9,-._]+
请求正文
请求接受采用 JSON 格式的以下数据。
- AudioStream
-
音频 blob 的编码流。音频流编码为 HTTP/2 或 WebSocket 数据帧。
有关更多信息,请参阅 。转录流音频.
类型:AudioStream 对象
必需:是
响应语法
HTTP/2 200
x-amzn-request-id: RequestId
x-amzn-transcribe-language-code: LanguageCode
x-amzn-transcribe-sample-rate: MediaSampleRateHertz
x-amzn-transcribe-media-encoding: MediaEncoding
x-amzn-transcribe-vocabulary-name: VocabularyName
x-amzn-transcribe-session-id: SessionId
x-amzn-transcribe-vocabulary-filter-name: VocabularyFilterName
x-amzn-transcribe-vocabulary-filter-method: VocabularyFilterMethod
x-amzn-transcribe-show-speaker-label: ShowSpeakerLabel
x-amzn-transcribe-enable-channel-identification: EnableChannelIdentification
x-amzn-transcribe-number-of-channels: NumberOfChannels
x-amzn-transcribe-enable-partial-results-stabilization: EnablePartialResultsStabilization
x-amzn-transcribe-partial-results-stability: PartialResultsStability
x-amzn-transcribe-content-identification-type: ContentIdentificationType
x-amzn-transcribe-content-redaction-type: ContentRedactionType
x-amzn-transcribe-pii-entity-types: PiiEntityTypes
x-amzn-transcribe-language-model-name: LanguageModelName
x-amzn-transcribe-identify-language: IdentifyLanguage
x-amzn-transcribe-language-options: LanguageOptions
x-amzn-transcribe-preferred-language: PreferredLanguage
x-amzn-transcribe-vocabulary-names: VocabularyNames
x-amzn-transcribe-vocabulary-filter-names: VocabularyFilterNames
Content-type: application/json
{
"TranscriptResultStream": {
"BadRequestException": {
},
"ConflictException": {
},
"InternalFailureException": {
},
"LimitExceededException": {
},
"ServiceUnavailableException": {
},
"TranscriptEvent": {
"Transcript": {
"Results": [
{
"Alternatives": [
{
"Entities": [
{
"Category": "string",
"Confidence": number,
"Content": "string",
"EndTime": number,
"StartTime": number,
"Type": "string"
}
],
"Items": [
{
"Confidence": number,
"Content": "string",
"EndTime": number,
"Speaker": "string",
"Stable": boolean,
"StartTime": number,
"Type": "string",
"VocabularyFilterMatch": boolean
}
],
"Transcript": "string"
}
],
"ChannelId": "string",
"EndTime": number,
"IsPartial": boolean,
"LanguageCode": "string",
"LanguageIdentification": [
{
"LanguageCode": "string",
"Score": number
}
],
"ResultId": "string",
"StartTime": number
}
]
}
}
}
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
响应将返回以下 HTTP 标头。
- ContentIdentificationType
-
显示是否为您的转录启用了内容标识。
有效值:
PII - ContentRedactionType
-
显示是否对您的转录启用了内容密文。
有效值:
PII - EnableChannelIdentification
-
显示是否为转录启用了频道标识。
- EnablePartialResultsStabilization
-
显示您的转录是否启用了部分结果稳定功能。
- IdentifyLanguage
-
显示是否为转录启用了自动语言识别。
- LanguageCode
-
提供您在请求中指定的语言代码。
有效值:
en-US | en-GB | es-US | fr-CA | fr-FR | en-AU | it-IT | de-DE | pt-BR | ja-JP | ko-KR | zh-CN - LanguageModelName
-
提供您在请求中指定的自定义语言模型的名称。
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - LanguageOptions
-
提供您在请求中指定的语言代码。
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[a-zA-Z-,]+ - MediaEncoding
-
提供您在请求中指定的媒体编码。
有效值:
pcm | ogg-opus | flac - MediaSampleRateHertz
-
提供您在请求中指定的采样率。
有效范围:最小值为 80 0 0 0 0 0 0 0 最大值为 4800 0 0 0 0 0 0 0
- NumberOfChannels
-
提供您在请求中指定的通道数量。
有效范围:最小值为 2 0 0 0 0 0。
- PartialResultsStability
-
提供用于转录的稳定级别。
有效值:
high | medium | low - PiiEntityTypes
-
列出您在请求中指定的 PII 实体类型。
长度上限束:最小长度为 1。最大长度为 300。
模式:
^[A-Z_, ]+ - PreferredLanguage
-
提供您在请求中指定的首选语言。
有效值:
en-US | en-GB | es-US | fr-CA | fr-FR | en-AU | it-IT | de-DE | pt-BR | ja-JP | ko-KR | zh-CN - RequestId
-
提供流式请求的标识符。
- SessionId
-
提供转录会话的标识符。
长度上限束:固定长度为 36。
模式:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} - ShowSpeakerLabel
-
显示是否为您的转录启用了说话人识别。
- VocabularyFilterMethod
-
提供转录中使用的词汇过滤方法。
有效值:
remove | mask | tag - VocabularyFilterName
-
提供您在请求中指定的自定义词汇过滤器的名称。
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - VocabularyFilterNames
-
提供您在请求中指定的自定义词汇过滤器的名称。
长度上限束:最小长度为 1。长度上限为 3000 0 0 0 0
模式:
^[a-zA-Z0-9,-._]+ - VocabularyName
-
提供您在请求中指定的自定义词汇表的名称。
长度上限束:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+ - VocabularyNames
-
提供您在请求中指定的自定义词汇表的名称。
长度上限束:最小长度为 1。长度上限为 3000 0 0 0 0
模式:
^[a-zA-Z0-9,-._]+
服务以 JSON 格式返回的以下数据。
- TranscriptResultStream
-
提供有关流式传输会话的详细信息。
类型:TranscriptResultStream 对象
错误
有关所有操作共有的错误的信息,请参阅常见错误.
- BadRequestException
-
一个或多个参数
StartStreamTranscription要么StartMedicalStreamTranscription操作无效。例如,MediaEncoding要么LanguageCode使用了无效的值。检查指定的参数,然后重试发送您的请求。HTTP 状态代码:400
- ConflictException
-
新流以相同的会话 ID 启动。当前流式处理。
HTTP 状态代码:409
- InternalFailureException
-
处理音频时出现问题。Amazon Transcribe 已终止处理。
HTTP 状态代码:500
- LimitExceededException
-
您的客户已超出Amazon Transcribe 限制之一。这通常是音频长度限制。将您的音频流式传输成更小的块,然后重试发送您的请求。
HTTP 状态代码:429
- ServiceUnavailableException
-
服务目前不可用。稍后尝试您的请求。
HTTP 状态代码:503
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: