本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
StartStreamTranscription
启动双向 HTTP/2 或流,其中音频将 WebSocket 流式传输到 Amazon Transcribe,并且转录结果将流式传输到您的应用程序。
以下参数为必需参数:
-
language-code
或者identify-language
-
media-encoding
-
sample-rate
有关使用 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
的 PII。您无法在同一个请求
ContentRedactionType
中设置ContentIdentificationType
和。如果您同时设置了这两者,则您的请求将返回 aBadRequestException
。有关更多信息,请参阅编辑或识别个人身份信息。
有效值:
PII
- ContentRedactionType
-
编辑您的成绩单(PII)中的所有个人身份信息(PII)。
内容编辑在片段级别执行;中指定
PiiEntityTypes
的 PII 将在音频片段完成转录后进行编辑。您无法在同一个请求
ContentIdentificationType
中设置ContentRedactionType
和。如果您同时设置了这两者,则您的请求将返回 aBadRequestException
。有关更多信息,请参阅编辑或识别个人身份信息。
有效值:
PII
- EnableChannelIdentification
-
在多声道音频中启用频道识别。
频道识别可单独转录每个通道上的音频,然后将每个通道的输出附加到一个脚本中。
如果您有多声道音频但未启用频道识别,则会连续转录您的音频,并且您的转录不会按频道分隔。
如果您在请求
EnableChannelIdentification
中包括,则还必须包括NumberOfChannels
。有关更多信息,请参阅转录多声道音频。
- EnablePartialResultsStabilization
-
支持稳定转录的部分结果。部分结果稳定可以减少输出延迟,但可能会影响准确性。有关更多信息,请参阅部分结果稳定。
- IdentifyLanguage
-
注意
并非所有区域都支持语言识别。
为您的转录启用自动语言识别。
如果包括
IdentifyLanguage
,则可以选择使用LanguageOptions
您认为可能存在于音频流中的语言代码列表添加这些语言代码。包括语言选项可以提高转录准确性。您还可以使用以下方式包含一种首选语言
PreferredLanguage
。与省略此参数相比,添加首选语言可以帮助 Amazon Transcribe 更快地识别该语言。如果您的多声道音频在每个频道上都包含不同的语言,并且启用了频道识别,则自动语言识别会识别每个音频通道上的主要语言。
请注意,您必须在请求
IdentifyLanguage
中包含LanguageCode
或。如果您同时包含这两个参数,则您的请求将失败。流媒体语言识别不能与自定义语言模型或编辑相结合。
- 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 | hi-IN | th-TH
- LanguageModelName
-
注意
并非所有地区都支持自定义语言模型。
指定处理转录时要使用的自定义语言模型的名称。请注意,语言模型名称名称名称名称名称名称名称名称名称名称名称名称名称名称名称
指定语言模型的语言必须与您在转录请求中指定的语言代码相匹配。如果语言不匹配,则不应用自定义语言模型。不存在与语言不匹配相关的错误或警告。
有关更多信息,请参阅自定义语言模型。
长度限制:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+
- LanguageOptions
-
指定两个或多个语言代码来表示您认为媒体中可能存在的语言;不建议包含五种以上的语言。如果您不确定存在哪些语言,请不要包含此参数。
包括语言选项可以提高语言识别的准确性。
如果您在请求
LanguageOptions
中包括,则还必须包括IdentifyLanguage
。有关 Amazon Transcribe 流媒体支持的语言列表,请参阅支持的语言表。
重要
每个流式传输只能包含一种语言方言。例如,您不能在同一个请求
en-AU
中包含en-US
和。长度限制:最小长度为 1。最大长度为 200。
模式:
^[a-zA-Z-,]+
- MediaEncoding
-
指定输入音频的编码。支持的格式为:
-
FLAC
-
Ogg 容器中的 Opus 编码音频
-
PCM(仅限签名的 16 位小端音频格式,不包括 WAV)
有关更多信息,请参阅媒体格式。
有效值:
pcm | ogg-opus | flac
必需:是
-
- MediaSampleRateHertz
-
输入音频的采样率(以赫兹为单位)。低质量音频,例如电话音频,通常在 8,000 Hz 左右。高质量音频的频率通常介于 16,000 Hz 到 48,000 Hz 之间。请注意,您指定的采样率必须与音频的采样率相匹配。
有效范围:为 8000。最大值为 48000。
必需:是
- NumberOfChannels
-
指定音频流中的通道数量。此值必须为
2
,因为仅支持两个通道。如果您的音频不包含多个频道,请不要在请求中包含此参数。如果您在请求
NumberOfChannels
中包括,则还必须包括EnableChannelIdentification
。有效范围:为 2。
- PartialResultsStability
-
指定启用局部结果稳定性时要使用的稳定级别 (
EnablePartialResultsStabilization
)。低稳定性可提供最高的精度。高稳定性转录速度更快,但精度略低。
有关更多信息,请参阅部分结果稳定。
有效值:
high | medium | low
- PiiEntityTypes
-
指定要在成绩单中编辑哪些类型的个人身份信息 (PII)。您可以根据需要添加任意数量的类型,也可以选择
ALL
。要包含
PiiEntityTypes
在您的请求中,还必须包含ContentIdentificationType
或ContentRedactionType
。值必须以逗号分隔,可以包括:
ADDRESS
BANK_ACCOUNT_NUMBER
、BANK_ROUTING
、CREDIT_DEBIT_CVV
、CREDIT_DEBIT_EXPIRY
、CREDIT_DEBIT_NUMBER
、EMAIL
、NAME
、PHONE
、PIN
、SSN
、或ALL
。长度限制:最小长度为 1。最大长度为 300。
模式:
^[A-Z_, ]+
- PreferredLanguage
-
从您在中指定的语言代码子集中指定首选语言
LanguageOptions
。只有在请求
LanguageOptions
中包含IdentifyLanguage
和后,才能使用此参数。有效值:
en-US | en-GB | es-US | fr-CA | fr-FR | en-AU | it-IT | de-DE | pt-BR | ja-JP | ko-KR | zh-CN | hi-IN | th-TH
- 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
-
在转录输出中启用扬声器分区(分音)。扬声器分区会标记媒体文件中单个扬声器的语音。
有关更多信息,请参阅对扬声器进行分区(diable Information)。
- VocabularyFilterMethod
-
指定您希望如何将词汇过滤器应用于成绩单。
要将单词替换为
***
,请选择mask
。要删除字词,请选择
remove
。要标记单词而不对其进行更改,请选择
tag
。有效值:
remove | mask | tag
- VocabularyFilterName
-
指定处理转录时要使用的自定义词汇过滤器的名称。请注意,词汇过滤器名称名称名称名称名称名称名称名称名称名称名称名称名称
如果指定的自定义词汇过滤器的语言与您的媒体中识别的语言不匹配,则词汇过滤器不会应用于您的转录。
重要
此参数不适用于该
IdentifyLanguage
参数。如果您在请求IdentifyLanguage
中包含词汇表并希望在转录中使用一个或多个词汇过滤器,请改用VocabularyFilterNames
参数。有关更多信息,请参阅对不需要的单词使用词汇过滤。
长度限制:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+
- VocabularyFilterNames
-
指定处理转录时要使用的自定义词汇过滤器的名称。请注意,词汇过滤器名称名称名称名称名称名称名称名称名称名称名称名称名称
如果指定的自定义词汇过滤器的语言都不与媒体中标识的语言相匹配,则作业将失败。
重要
此参数仅适用于该
IdentifyLanguage
参数。如果您未在请求IdentifyLanguage
中包含内容,而是想在转录中使用自定义词汇过滤器,请改用VocabularyFilterName
参数。有关更多信息,请参阅对不需要的单词使用词汇过滤。
长度限制:最小长度为 1。最大长度为 3000。
模式:
^[a-zA-Z0-9,-._]+
- VocabularyName
-
指定处理转录时要使用的自定义词汇的名称。请注意,词汇名称名称名称名称名称名称名称名称名称名称名称名称名称
如果指定的自定义词汇表的语言与您的媒体中标识的语言不匹配,则自定义词汇不会应用于您的转录。
重要
此参数不适用于该
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 | hi-IN | th-TH
- LanguageModelName
-
提供您在请求中指定的自定义语言模型的名称。
长度限制:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+
- LanguageOptions
-
提供您在请求中指定的语言代码。
长度限制:最小长度为 1。最大长度为 200。
模式:
^[a-zA-Z-,]+
- MediaEncoding
-
提供您在请求中指定的媒体编码。
有效值:
pcm | ogg-opus | flac
- MediaSampleRateHertz
-
提供您在请求中指定的采样率。
有效范围:为 8000。最大值为 48000。
- NumberOfChannels
-
提供您在请求中指定的频道数量。
有效范围:为 2。
- 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 | hi-IN | th-TH
- 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。
模式:
^[a-zA-Z0-9,-._]+
- VocabularyName
-
提供您在请求中指定的自定义词汇表的名称。
长度限制:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+
- VocabularyNames
-
提供您在请求中指定的自定义词汇表的名称。
长度限制:最小长度为 1。最大长度为 3000。
模式:
^[a-zA-Z0-9,-._]+
服务以 JSON 格式返回的以下数据。
- TranscriptResultStream
-
提供有关您的流式传输会话的详细信息。
类型:TranscriptResultStream 对象
错误
有关所有操作常见错误的信息,请参阅常见错误。
- BadRequestException
-
StartStreamTranscription
、StartMedicalStreamTranscription
或StartCallAnalyticsStreamTranscription
操作的一个或多个参数无效。例如,MediaEncoding
或LanguageCode
使用了不支持的值。检查指定的参数,然后重试您的请求。HTTP 状态代码:400
- ConflictException
-
一个新的直播以相同的会话 ID 开始。当前直播已终止。
HTTP 状态代码:409
- InternalFailureException
-
处理音频时出现问题。Amazon Transcribe 已终止处理。
HTTP 状态代码:500
- LimitExceededException
-
您的客户已超过Amazon Transcribe 其中一个限制。这通常是音频长度限制。将您的音频流分成小块,然后重试您的请求。
HTTP 状态代码:429
- ServiceUnavailableException
-
该服务目前无法使用。稍后尝试您的请求。
HTTP 状态代码:503
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: