Amazon Transcribe
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

事件流编码

事件流编码在客户端和服务器之间使用消息来提供双向通信。发送到 Amazon Transcribe 流式处理服务的数据帧使用此格式进行编码。来自 Amazon Transcribe 的响应也使用此编码。

每个消息都包含两部分:前导信息和数据。前导信息包括:

  1. 消息的总字节长度

  2. 所有标头的组合字节长度

数据部分包含:

  1. 标头

  2. 负载

每个部分都以 4 字节 big-endian 整数 CRC 校验和结尾。Amazon Transcribe 使用 CRC32(一般称为“GZIP CRC32”)计算这两个 CRC。有关 CRC32 的更多信息,请参阅 GZIP 文件格式规范版本 4.3

总消息开销(包括前导信息和两个校验和)为 16 个字节。

下图显示了构成消息和标头的组件。每个消息有多个标头。

每个消息都包含以下组件:

  • 前导信息:大小始终固定为 8 字节,由两个 4 字节的字段组成。

    • 第一个 4 字节:总字节长度。这是整个消息的 big-endian 整数字节长度,包括 4 字节长度字段本身。

    • 第二个 4 字节:标头字节长度。这是消息的标头部分的 big-endian 整数字节长度,不包括标头长度字段本身。

  • 前导信息 CRC:消息的前导信息部分的 4 字节 CRC 校验和,不包括 CRC 本身。前导信息具有不同于消息 CRC 的 CRC,以确保 Amazon Transcribe 可以立即检测到损坏的字节长度信息,而不会导致缓冲区溢出之类的错误。

  • 标头:用于批注消息(如消息类型、内容类型等)的元数据。消息有多个标头。标头是一些键值对,其中的键为 UTF-8 字符串。标头可按任何顺序出现在消息的标头部分中,并且任何给定标头只能出现一次。对于必需的标头类型,请参阅以下部分。

  • 负载:要转录的音频内容。

  • 消息 CRC:从消息开头到校验和开头的 4 字节 CRC 校验和。也就是说,消息中除 CRC 本身之外的所有内容。

每个标头都包含以下组件。每个帧有多个标头。

  • 标头名称字节长度:标头名称的字节长度。

  • 标头名称:指示标头类型的标头名称。有关有效值,请参阅下面的帧描述。

  • 标头值类型:指示标头值类型的枚举。

  • 值字符串字节长度:标头值字符串的字节长度。

  • 标头值:标头字符串的值。此字段的有效值取决于标头的类型。有关有效值,请参阅下面的帧描述。