

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 错误代码参考
<a name="producer-sdk-errors"></a>

此部分包含 [上传到 Kinesis Video Streams](producer-sdk.md) 的错误和状态代码信息。

有关常见问题解决方法的信息，请参阅 [对 Kinesis Video Streams 进行故障排除](troubleshooting.md)

**Topics**
+ [PutFrame 回调返回的错误和状态码-平台独立代码 (PIC)](#producer-sdk-errors-putframe)
+ [PutFrame 回调返回的错误和状态码-C 制作人库](#producer-sdk-errors-putframe-c)

## PutFrame 回调返回的错误和状态码-平台独立代码 (PIC)
<a name="producer-sdk-errors-putframe"></a>

以下各节包含平台独立代码 (PIC) 中`PutFrame`操作的回调返回的错误和状态信息。

**Topics**
+ [客户端库返回的错误和状态码](#producer-sdk-errors-client)
+ [持续时间库返回的错误和状态码](#producer-sdk-errors-duration)
+ [公共库返回的错误和状态码](#producer-sdk-errors-common)
+ [堆库返回的错误和状态码](#producer-sdk-errors-heap)
+ [MKVGen 库返回的错误和状态码](#producer-sdk-errors-mkvgen)
+ [Trace 库返回的错误和状态码](#producer-sdk-errors-trace)
+ [Utils 库返回的错误和状态码](#producer-sdk-errors-utils)
+ [View 库返回的错误和状态码](#producer-sdk-errors-view)

### 客户端库返回的错误和状态码
<a name="producer-sdk-errors-client"></a>

下表包含 Kinesis Video `Client` Streams 库中的方法返回的错误和状态信息。


****  

| 代码 | Message | 说明 | 推荐操作 | 
| --- | --- | --- | --- | 
| 0x52000001 | STATUS\_MAX\_STREAM\_COUNT | 已达到最大流数。 | 在 DeviceInfo 中指定更大的最大流数，该数量是在[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的。 | 
| 0x52000002 | STATUS\_MIN\_STREAM\_COUNT | 最小流数错误。 | 在中指定大于零的流的最大数量DeviceInfo。 | 
| 0x52000003 | STATUS\_INVALID\_DEVICE\_NAME\_LENGTH | 设备名称长度无效。 | 请参阅中指定的以字符为单位的最大设备名称长度[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x52000004 | STATUS\_INVALID\_DEVICE\_INFO\_VERSION | DeviceInfo 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x52000005 | STATUS\_MAX\_TAG\_COUNT | 已达到最大标记数。 | 请参阅中指定的当前最大标签数[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x52000006 | STATUS\_DEVICE\_FINGERPRINT\_LENGTH | 
| 0x52000007 | STATUS\_INVALID\_CALLBACKS\_VERSION | Callbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x52000008 | STATUS\_INVALID\_STREAM\_INFO\_VERSION | StreamInfo 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x52000009 | STATUS\_INVALID\_STREAM\_NAME\_LENGTH | 流名称长度无效。 | 请参阅中指定的以字符为单位的最大直播名称长度[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x5200000a | STATUS\_INVALID\_STORAGE\_SIZE | 指定的存储大小无效。 | 存储大小 (字节) 必须在[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的限制内。 | 
| 0x5200000b | STATUS\_INVALID\_ROOT\_DIRECTORY\_LENGTH | 根目录字符串长度无效。 | 请参阅中指定的最大根目录路径长度[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x5200000c | STATUS\_INVALID\_SPILL\_RATIO | 溢出率无效。 | 以 0—100 之间的百分比表示溢出率。 | 
| 0x5200000d | STATUS\_INVALID\_STORAGE\_INFO\_VERSION | StorageInfo 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x5200000e | STATUS\_INVALID\_STREAM\_STATE | 流处于不允许执行当前操作的状态。 | 最常见的是，当 SDK 无法达到执行请求的操作所需的状态时，就会发生此错误。例如，如果 GetStreamingEndpoint API 调用失败，并且客户端应用程序忽略该失败并继续将帧放入流中，则会出现该错误。 | 
| 0x5200000f | STATUS\_SERVICE\_CALL\_CALLBACKS\_MISSING | 对于某些必需函数，Callbacks 结构具有缺少的函数入口点。 | 验证强制回调是否已在客户端应用程序中实现。此错误仅暴露于平台独立代码 (PIC) 客户端。C\+\+ 和其他更高级别的包装程序满足这些调用的要求。 | 
| 0x52000010 | STATUS\_SERVICE\_CALL\_NOT\_AUTHORIZED\_ERROR | 未授权。 | 验证安全令牌、证书、安全令牌集成和到期。验证令牌是否具有正确的关联权限。对于 Kinesis Video Streams 示例应用程序，请验证环境变量设置是否正确。 | 
| 0x52000011 | STATUS\_DESCRIBE\_STREAM\_CALL\_FAILED | DescribeStream API 失败。 | 在 DescribeStream API 重试失败后，将返回该错误。PIC 客户端在停止重试后返回此错误。 | 
| 0x52000012 | STATUS\_INVALID\_DESCRIBE\_STREAM\_RESPONSE | DescribeStreamResponse 结构无效。 | 传递给 DescribeStreamResultEvent 的结构为 Null 或包含无效的项目，例如，Null Amazon 资源名称 (ARN)。 | 
| 0x52000013 | STATUS\_STREAM\_IS\_BEING\_DELETED\_ERROR | 正在删除流。 | API 失败是由正在删除的流造成的。确认在使用该流时，没有其他进程正在尝试删除该流。 | 
| 0x52000014 | STATUS\_SERVICE\_CALL\_INVALID\_ARG\_ERROR | 为服务调用指定的参数无效。 | 当服务调用参数无效或 SDK 遇到无法解释的错误时，后端会返回此错误。 | 
| 0x52000015 | STATUS\_SERVICE\_CALL\_DEVICE\_NOT\_FOUND\_ERROR | 找不到设备。 | 确认设备在使用过程中未被删除。 | 
| 0x52000016 | STATUS\_SERVICE\_CALL\_DEVICE\_NOT\_PROVISIONED\_ERROR | 未预置设备。 | 验证设备是否已配置。 | 
| 0x52000017 | STATUS\_SERVICE\_CALL\_RESOURCE\_NOT\_FOUND\_ERROR | 找不到从服务中返回的常规资源。 | 在服务找不到资源 (例如，流) 时，将会出现该错误。在不同的上下文中，它可能意味着不同的含义，但可能的原因是在创建直播 APIs 之前使用的。使用 SDK 确认直播已先创建。 | 
| 0x52000018 | STATUS\_INVALID\_AUTH\_LEN | 身份验证信息长度无效。 | 请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的当前值。 | 
| 0x52000019 | STATUS\_CREATE\_STREAM\_CALL\_FAILED | CreateStream API 调用失败。 | 有关操作失败原因的更详细信息，请参阅错误字符串。 | 
| 0x5200002a | STATUS\_GET\_STREAMING\_TOKEN\_CALL\_FAILED | GetStreamingToken 调用失败。 | 有关操作失败原因的更详细信息，请参阅错误字符串。 | 
| 0x5200002b | STATUS\_GET\_STREAMING\_ENDPOINT\_CALL\_FAILED | GetStreamingEndpoint API 调用失败。 | 有关操作失败原因的更详细信息，请参阅错误字符串。 | 
| 0x5200002c | STATUS\_INVALID\_URI\_LEN | 从 GetStreamingEndpoint API 中返回的 URI 字符串长度无效。 | 请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的当前最大值。 | 
| 0x5200002d | STATUS\_PUT\_STREAM\_CALL\_FAILED | PutMedia API 调用失败。 | 有关操作失败原因的更详细信息，请参阅错误字符串。 | 
| 0x5200002e | STATUS\_STORE\_OUT\_OF\_MEMORY | 内容存储内存不足。 | 内容存储是在流之间共享的，应具有足够的容量以存储所有流的最大持续时间内的内容 \+ \~20% (考虑碎片整理)。请切勿使存储溢出。请选择与累计存储大小和容许的延迟对应的每个流的最大持续时间值。我们建议在框架从内容视图窗口中掉出来时将其丢掉，而不是直接放置（内容存储内存压力）。这是因为丢帧会启动直播压力通知回调。然后，应用程序可以调整上游媒体组件 (如编码器) 以降低比特率，删除帧或执行相应的操作。 | 
| 0x5200002f | STATUS\_NO\_MORE\_DATA\_AVAILABLE | 流当前没有更多的可用数据。 | 在媒体管道生成帧的速度比网络线程使用发送到服务的帧的速度慢时，这可能是一个有效的结果。更高级别的客户端（例如 C\+\+、Java 或 Android）不会看到此警告，因为它是在内部处理的。 | 
| 0x52000030 | STATUS\_INVALID\_TAG\_VERSION | Tag 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x52000031 | STATUS\_SERVICE\_CALL\_UNKNOWN\_ERROR | 从网络堆栈中返回未知或常规错误。 | 有关更详细信息，请参阅日志。 | 
| 0x52000032 | STATUS\_SERVICE\_CALL\_RESOURCE\_IN\_USE\_ERROR | 正在使用资源。 | 这是从服务中返回的。有关更多信息，请参阅 Kinesis Video Streams API 参考。 | 
| 0x52000033 | STATUS\_SERVICE\_CALL\_CLIENT\_LIMIT\_ERROR | 客户端限制。 | 这是从服务中返回的。有关更多信息，请参阅 Kinesis Video Streams API 参考。 | 
| 0x52000034 | STATUS\_SERVICE\_CALL\_DEVICE\_LIMIT\_ERROR | 设备限制。 | 这是从服务中返回的。有关更多信息，请参阅 Kinesis Video Streams API 参考。 | 
| 0x52000035 | STATUS\_SERVICE\_CALL\_STREAM\_LIMIT\_ERROR | 流限制。 | 这是从服务中返回的。有关更多信息，请参阅 Kinesis Video Streams API 参考。 | 
| 0x52000036 | STATUS\_SERVICE\_CALL\_RESOURCE\_DELETED\_ERROR | 已删除或正在删除资源。 | 这是从服务中返回的。有关更多信息，请参阅 Kinesis Video Streams API 参考。 | 
| 0x52000037 | STATUS\_SERVICE\_CALL\_TIMEOUT\_ERROR | 服务调用超时。 | 调用特定服务 API 导致超时。验证您的网络连接是否有效。PIC 将自动重试该操作。 | 
| 0x52000038 | STATUS\_STREAM\_READY\_CALLBACK\_FAILED | 流就绪通知。 | 该通知从 PIC 发送到客户端，表示已创建异步流。 | 
| 0x52000039 | STATUS\_DEVICE\_TAGS\_COUNT\_NON\_ZERO\_TAGS\_NULL | 指定的标记无效。 | 标签数不为零，但标签为空。验证标签是否已指定或计数为零。 | 
| 0x5200003a | STATUS\_INVALID\_STREAM\_DESCRIPTION\_VERSION | StreamDescription 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x5200003b | STATUS\_INVALID\_TAG\_NAME\_LEN | 标记名称长度无效。 | 请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的标记名称限制。 | 
| 0x5200003c | STATUS\_INVALID\_TAG\_VALUE\_LEN | 标记值长度无效。 | 请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的标记值限制。 | 
| 0x5200003d | STATUS\_TAG\_STREAM\_CALL\_FAILED | TagResource API 失败。 | TagResource API 调用失败。检查有效的网络连接。有关该失败的更多信息，请参阅日志。 | 
| 0x5200003e | STATUS\_INVALID\_CUSTOM\_DATA | 调用 PIC 的自定义数据无效 APIs。 | 在调用 PIC 时指定了无效的自定义数据 APIs。仅在直接使用 PIC 的客户端中可能会发生这种情况。 | 
| 0x5200003f | STATUS\_INVALID\_CREATE\_STREAM\_RESPONSE | CreateStreamResponse 结构无效。 | 结构或其成员字段无效 (即，ARN 为 Null 或大于[制作人 SDK 配额](limits.md#producer-sdk-limits)中指定的值)。 | 
| 0x52000040 | STATUS\_CLIENT\_AUTH\_CALL\_FAILED  | 客户端身份验证失败。 | 多次重试后，PIC 未能获得正确的身份验证信息（AccessKeyId或SecretAccessKey）。检查身份验证集成。示例应用程序使用环境变量将凭证信息传入到 C\+\+ 创建者库。 | 
| 0x52000041 | STATUS\_GET\_CLIENT\_TOKEN\_CALL\_FAILED | 获取安全令牌调用失败。 | 仅在直接使用 PIC 的客户端中可能会发生这种情况。在重试一定次数后，调用失败并出现该错误。 | 
| 0x52000042 | STATUS\_CLIENT\_PROVISION\_CALL\_FAILED | 预置错误。 | 未实现配置。 | 
| 0x52000043 | STATUS\_CREATE\_CLIENT\_CALL\_FAILED | 无法创建创建者客户端。 | 在客户端创建失败时，在重试一定次数后，PIC 返回一个常规错误。 | 
| 0x52000044 | STATUS\_CLIENT\_READY\_CALLBACK\_FAILED | 无法将创建者客户端置于就绪状态。 | 这是在 PIC 无法变为就绪状态时 PIC 状态机返回的。有关根本原因的更多信息，请参阅日志。 | 
| 0x52000045 | STATUS\_TAG\_CLIENT\_CALL\_FAILED | 创建者客户端的 TagResource 失败。 | 创建者客户端的 TagResource API 调用失败。有关根本原因的更多信息，请参阅日志。 | 
| 0x52000046 | STATUS\_INVALID\_CREATE\_DEVICE\_RESPONSE | 设备/创建者创建失败。 | 更高级别的 SDKs （例如，C\+\+ 或 Java）尚未实现设备或制作者创建 API。直接使用 PIC 的客户端可以使用结果通知指示失败。 | 
| 0x52000047 | STATUS\_ACK\_TIMESTAMP\_NOT\_IN\_VIEW\_WINDOW | 在视图中不显示收到的 ACK 的时间戳。 | 如果与收到的 ACK 对应的帧没有位于内容视图窗口中，则会出现该错误。通常，如果 ACK 传输速度较慢，则会发生这种情况。可以将其解释为警告，并指示下行链路速度较慢。 | 
| 0x52000048 | STATUS\_INVALID\_FRAGMENT\_ACK\_VERSION | FragmentAck 结构版本无效。 | 指定正确的当前 FragmentAck 结构版本。 | 
| 0x52000049 | STATUS\_INVALID\_TOKEN\_EXPIRATION | 安全令牌到期日期无效。 | 安全令牌到期后的绝对时间戳应大于当前时间戳，并带有宽限期。有关宽限期的限制，请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x5200004a | STATUS\_END\_OF\_STREAM | 流结束 (EOS) 指示符。 | 在 GetStreamData API 调用中，指示当前上传处理会话已结束。如果会话结束或出现错误，或者会话令牌已过期并且正在轮换会话，则会发生这种情况。 | 
| 0x5200004b | STATUS\_DUPLICATE\_STREAM\_NAME | 重复的流名称。 | 多个流不能具有相同的流名称。为流选择唯一的名称。 | 
| 0x5200004c | STATUS\_INVALID\_RETENTION\_PERIOD | 保留期无效。 | 在 StreamInfo 结构中指定的保留期无效。有关有效的保留期值范围的信息，请参阅[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x5200004d | STATUS\_INVALID\_ACK\_KEY\_START | 无效 FragmentAck。 | 无法解析片段 ACK 字符串。键开始指示符无效。片段 ACK 字符串可能已损坏。它可以自行更正，并且可以将该错误视为警告。 | 
| 0x5200004e | STATUS\_INVALID\_ACK\_DUPLICATE\_KEY\_NAME | 无效 FragmentAck。 | 无法解析片段 ACK 字符串。多个键具有相同的名称。片段 ACK 字符串可能已损坏。它可以自行更正，并且可以将该错误视为警告。 | 
| 0x5200004f | STATUS\_INVALID\_ACK\_INVALID\_VALUE\_START | 无效 FragmentAck。 | 无法解析片段 ACK 字符串，因为键值开始指示符无效。片段 ACK 字符串可能已损坏。它可以自行更正，并且可以将该错误视为警告。 | 
| 0x52000050 | STATUS\_INVALID\_ACK\_INVALID\_VALUE\_END | 无效 FragmentAck。 | 无法解析片段 ACK 字符串，因为键值结束指示符无效。片段 ACK 字符串可能已损坏。它可以自行更正，并且可以将该错误视为警告。 | 
| 0x52000051 | STATUS\_INVALID\_PARSED\_ACK\_TYPE | 无效 FragmentAck。 | 无法解析片段 ACK 字符串，因为指定的 ACK 类型无效。 | 
| 0x52000052 | STATUS\_STREAM\_HAS\_BEEN\_STOPPED | 已停止流。 | 已停止流，但仍在将帧放入流中。 | 
| 0x52000053 | STATUS\_INVALID\_STREAM\_METRICS\_VERSION | StreamMetrics 结构版本无效。 | 指定正确的当前 StreamMetrics 结构版本。 | 
| 0x52000054 | STATUS\_INVALID\_CLIENT\_METRICS\_VERSION | ClientMetrics 结构版本无效。 | 指定正确的当前 ClientMetrics 结构版本。 | 
| 0x52000055 | STATUS\_INVALID\_CLIENT\_READY\_STATE | 创建者初始化无法达到就绪状态。 | 在创建者客户端初始化期间，无法达到就绪状态。有关更多信息，请参阅日志。 | 
| 0x52000056 | STATUS\_STATE\_MACHINE\_STATE\_NOT\_FOUND | 内部状态机错误。 | 不是公开可见的错误。 | 
| 0x52000057 | STATUS\_INVALID\_FRAGMENT\_ACK\_TYPE | 在 FragmentAck 结构中指定的 ACK 类型无效。 | FragmentAck 结构应包含公共标头中定义的 ACK 类型。 | 
| 0x52000058 | STATUS\_INVALID\_STREAM\_READY\_STATE | 内部状态机转换错误。 | 不是公开可见的错误。 | 
| 0x52000059 | STATUS\_CLIENT\_FREED\_BEFORE\_STREAM | 在释放创建者后释放流对象。 | 尝试在释放创建者对象后释放流对象。仅在直接使用 PIC 的客户端中可能会发生这种情况。 | 
| 0x5200005a | STATUS\_ALLOCATION\_SIZE\_SMALLER\_THAN\_REQUESTED | 内部存储错误。 | 内部错误，表示来自内容存储的实际分配大小小于已打包的帧和片段的大小。 | 
| 0x5200005b | STATUS\_VIEW\_ITEM\_SIZE\_GREATER\_THAN\_ALLOCATION | 内部存储错误。 | 内容视图中存储的分配大小大于内容存储中的分配大小。 | 
| 0x5200005c | STATUS\_ACK\_ERR\_STREAM\_READ\_ERROR | 流读取错误 ACK。 | ACK 从后端返回的错误，表示流读取或解析错误。在后端无法检索流时，通常会发生这种情况。自动重新流式传输通常可以纠正该错误。 | 
| 0x5200005d | STATUS\_ACK\_ERR\_FRAGMENT\_SIZE\_REACHED | 已达到最大片段大小。 | 在[制作人 SDK 配额](limits.md#producer-sdk-limits)中定义了最大片段大小 (字节)。该错误表示具有非常大的帧，或者没有用于创建可管理大小的片段的关键帧。检查编码器设置并验证关键帧是否正确生成。对于具有较高密度的流，请将编码器配置为生成具有较短持续时间的片段以管理最大大小。 | 
| 0x5200005e | STATUS\_ACK\_ERR\_FRAGMENT\_DURATION\_REACHED | 已达到最大片段持续时间。 | 在[制作人 SDK 配额](limits.md#producer-sdk-limits)中定义了最大片段持续时间。该错误表示每秒具有非常少的帧，或者没有用于创建可管理持续时间的片段的关键帧。检查编码器设置并验证关键帧是否按固定间隔正确生成。 | 
| 0x5200005f | STATUS\_ACK\_ERR\_CONNECTION\_DURATION\_REACHED | 已达到最大连接持续时间。 | Kinesis Video Streams 强制执行中指定的最大连接持续时间。[制作人 SDK 配额](limits.md#producer-sdk-limits)在达到最大值之前，Producer SDK 会自动轮换直播或令牌。使用 SDK 的客户不应收到此错误。 | 
| 0x52000060 | STATUS\_ACK\_ERR\_FRAGMENT\_TIMECODE\_NOT\_MONOTONIC | 时间码不是单调递增的。 | Producer SDK 强制使用时间戳，因此使用 SDK 的客户端不应收到此错误。 | 
| 0x52000061 | STATUS\_ACK\_ERR\_MULTI\_TRACK\_MKV | 在 MKV 中具有多个音轨。 | Producer SDK 强制使用单轨流，因此使用 SDK 的客户端不应收到此错误。 | 
| 0x52000062 | STATUS\_ACK\_ERR\_INVALID\_MKV\_DATA | MKV 数据无效。 | 后端 MKV 解析器在解析流时遇到错误。如果直播在过渡期间损坏，使用 SDK 的客户端可能会遇到此错误。如果缓冲压力迫使 SDK 丢掉部分传输的尾帧，也会发生这种情况。在后一种情况下，我们建议您要么降低 FPS 和分辨率，提高压缩率，要么（如果有 “爆发” 的网络）允许更大的内容存储和缓冲持续时间以适应临时压力。 | 
| 0x52000063 | STATUS\_ACK\_ERR\_INVALID\_PRODUCER\_TIMESTAMP | 创建者时间戳无效。 | 如果创建者时钟大幅漂移到将来的时间，服务将返回该错误 ACK。更高级别 SDKs （例如 Java 或 C\+\+）使用某个版本的系统时钟来满足 PIC 的当前时间回调。验证系统时钟设置是否正确。直接使用 PIC 的客户端应验证其回调函数是否返回了正确的时间戳。 | 
| 0x52000064 | STATUS\_ACK\_ERR\_STREAM\_NOT\_ACTIVE | 非活动流。 | 在流未处于“活动”状态时，对后端 API 进行了调用。如果客户端创建流并立即继续将帧推入流中，则会发生这种情况。SDK 通过状态机和恢复机制处理这种情况。 | 
| 0x52000065 | STATUS\_ACK\_ERR\_KMS\_KEY\_ACCESS\_DENIED | Amazon KMS 访问被拒绝错误。 | 在账户没有指定密钥的访问权限时返回。 | 
| 0x52000066 | STATUS\_ACK\_ERR\_KMS\_KEY\_DISABLED | Amazon KMS 密钥已禁用。 | 已禁用指定的密钥。 | 
| 0x52000067 | STATUS\_ACK\_ERR\_KMS\_KEY\_VALIDATION\_ERROR  | Amazon KMS 密钥验证错误。 | 常规验证错误。有关更多信息，请参阅 [Amazon Key Management Service API 参考](https://docs.amazonaws.cn/kms/latest/APIReference/)。 | 
| 0x52000068 | STATUS\_ACK\_ERR\_KMS\_KEY\_UNAVAILABLE | Amazon KMS key 不可用。 | 密钥不可用。有关更多信息，请参阅 [Amazon Key Management Service API 参考](https://docs.amazonaws.cn/kms/latest/APIReference/)。 | 
| 0x52000069 | STATUS\_ACK\_ERR\_KMS\_KEY\_INVALID\_USAGE | KMS 密钥的使用无效。 | 未配置为在此上下文中使用。 Amazon KMS key 有关更多信息，请参阅 [Amazon Key Management Service API 参考](https://docs.amazonaws.cn/kms/latest/APIReference/)。 | 
| 0x5200006a | STATUS\_ACK\_ERR\_KMS\_KEY\_INVALID\_STATE | Amazon KMS 状态无效。 | 有关更多信息，请参阅 [Amazon Key Management Service API 参考](https://docs.amazonaws.cn/kms/latest/APIReference/)。 | 
| 0x5200006b | STATUS\_ACK\_ERR\_KMS\_KEY\_NOT\_FOUND | 找不到 KMS 密钥。 | 找不到密钥。有关更多信息，请参阅 [Amazon Key Management Service API 参考](https://docs.amazonaws.cn/kms/latest/APIReference/)。 | 
| 0x5200006c | STATUS\_ACK\_ERR\_STREAM\_DELETED | 已删除或正在删除流。 | 正在由另一个应用程序或通过 Amazon Web Services 管理控制台删除流。 | 
| 0x5200006d | STATUS\_ACK\_ERR\_ACK\_INTERNAL\_ERROR | 内部错误。 | 常规服务内部错误。 | 
| 0x5200006e | STATUS\_ACK\_ERR\_FRAGMENT\_ARCHIVAL\_ERROR | 片段存档错误。 | 在服务无法持久保留片段并为其编制索引时返回。虽然非常少见，但可能会出于各种原发生这种情况。默认情况下，SDK 再次尝试发送片段。 | 
| 0x5200006f | STATUS\_ACK\_ERR\_UNKNOWN\_ACK\_ERROR | 未知错误。 | 服务返回未知错误。 | 
| 0x52000070 | STATUS\_MISSING\_ERR\_ACK\_ID | 缺少 ACK 信息。 | ACK 解析器已完成解析，但缺少 FragmentAck 信息。 | 
| 0x52000071 | STATUS\_INVALID\_ACK\_SEGMENT\_LEN | ACK 段长度无效。 | 为 ACK 解析器指定的 ACK 段字符串具有无效的长度。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x52000074 | STATUS\_MAX\_FRAGMENT\_METADATA\_COUNT | 已向片段中添加最大数目的元数据项目。 | Kinesis 视频流最多可以向片段添加 10 个元数据项，方法是向片段添加非永久项目，也可以向元数据队列中添加永久项目。有关更多信息，请参阅 [在 Kinesis Video Streams 中使用直播元数据](how-meta.md)。 | 
| 0x52000075 | STATUS\_ACK\_ERR\_FRAGMENT\_METADATA\_LIMIT\_REACHED | 已达到限制（最大元数据计数、元数据名称长度或元数据值长度）。 | 创建者开发工具包限制元数据项目的数量和大小。除非更改了 Producer SDK 代码中的限制，否则不会发生此错误。有关更多信息，请参阅 [在 Kinesis Video Streams 中使用直播元数据](how-meta.md)。 | 
| 0x52000076 | STATUS\_BLOCKING\_PUT\_INTERRUPTED\_STREAM\_TERMINATED | 未实现。 |  | 
| 0x52000077 | STATUS\_INVALID\_METADATA\_NAME | 元数据名称无效。 | 元数据名称不能以字符串 “Amazon” 开头。如果发生此错误，则不会将元数据项添加到片段或元数据队列中。有关更多信息，请参阅 [在 Kinesis Video Streams 中使用直播元数据](how-meta.md)。 | 
| 0x52000078 | STATUS\_END\_OF\_FRAGMENT\_FRAME\_INVALID\_STATE | 片段帧的结尾处于无效状态。 | 片段的结尾不应以 non-key-frame碎片流形式发送。 | 
| 0x52000079 | STATUS\_TRACK\_INFO\_MISSING | 缺少轨道信息。 | 曲目编号必须大于零且与曲目 ID 相匹配。 | 
| 0x5200007a | STATUS\_MAX\_TRACK\_COUNT\_EXCEEDED | 超出最大轨道数。 | 每个直播最多可以有三首曲目。 | 
| 0x5200007b | STATUS\_OFFLINE\_MODE\_WITH\_ZERO\_RETENTION | 离线流式处理模式保留时间设置为零。 | 离线直播模式的保留时间不应设置为零。 | 
| 0x5200007c | STATUS\_ACK\_ERR\_TRACK\_NUMBER\_MISMATCH | 错误 ACK 的轨道编号不匹配。 |  | 
| 0x5200007d | STATUS\_ACK\_ERR\_FRAMES\_MISSING\_FOR\_TRACK | 轨道缺少帧。 |  | 
| 0x5200007e | STATUS\_ACK\_ERR\_MORE\_THAN\_ALLOWED\_TRACKS\_FOUND | 超出允许的最大轨道数。 |  | 
| 0x5200007f | STATUS\_UPLOAD\_HANDLE\_ABORTED | 上传处理已中止。 |  | 
| 0x52000080 | STATUS\_INVALID\_CERT\_PATH\_LENGTH | 证书路径长度无效。 |  | 
| 0x52000081 | STATUS\_DUPLICATE\_TRACK\_ID\_FOUND | 找到重复的轨道 ID。 |  | 
| 0x52000082 | STATUS\_INVALID\_CLIENT\_INFO\_VERSION |  |  | 
| 0x52000083 | STATUS\_INVALID\_CLIENT\_ID\_STRING\_LENGTH |  |  | 
| 0x52000084 | STATUS\_SETTING\_KEY\_FRAME\_FLAG\_WHILE\_USING\_EOFR |  |  | 
| 0x52000085 | STATUS\_MAX\_FRAME\_TIMESTAMP\_DELTA\_BETWEEN\_TRACKS\_EXCEEDED |  |  | 
| 0x52000086 | STATUS\_STREAM\_SHUTTING\_DOWN |  |  | 
| 0x52000087 | STATUS\_CLIENT\_SHUTTING\_DOWN |  |  | 
| 0x52000088 | STATUS\_PUTMEDIA\_LAST\_PERSIST\_ACK\_NOT\_RECEIVED |  |  | 
| 0x52000089 | STATUS\_NON\_ALIGNED\_HEAP\_WITH\_IN\_CONTENT\_STORE\_ALLOCATORS |  |  | 
| 0x5200008a | STATUS\_MULTIPLE\_CONSECUTIVE\_EOFR |  |  | 
| 0x5200008b | STATUS\_DUPLICATE\_STREAM\_EVENT\_TYPE |  |  | 
| 0x5200008c | STATUS\_STREAM\_NOT\_STARTED |  |  | 
| 0x5200008d | STATUS\_INVALID\_IMAGE\_PREFIX\_LENGTH |  |  | 
| 0x5200008e | STATUS\_INVALID\_IMAGE\_METADATA\_KEY\_LENGTH |  |  | 
| 0x5200008f | STATUS\_INVALID\_IMAGE\_METADATA\_VALUE\_LENGTH |  |  | 

### 持续时间库返回的错误和状态码
<a name="producer-sdk-errors-duration"></a>

下表包含`Duration`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 
| --- | --- | 
| 0xFFFFFFFFFFFFFFFF | INVALID\_DURATION\_VALUE | 

### 公共库返回的错误和状态码
<a name="producer-sdk-errors-common"></a>

下表包含`Common`库中方法返回的错误和状态信息。

**注意**  
这些错误和状态信息代码对许多人来说都很常见 APIs。


****  

| 代码 | 不带前导 0 的代码 | Message | 说明 | 
| --- | --- | --- | --- | 
| 0x00000001  | 0x1 | STATUS\_NULL\_ARG | 为必需参数传递了 NULL。 | 
| 0x00000002  | 0x2 | STATUS\_INVALID\_ARG  | 为参数指定的值无效。 | 
| 0x00000003  | 0x3 | STATUS\_INVALID\_ARG\_LEN  | 指定的参数长度无效。 | 
| 0x00000004  | 0x4 | STATUS\_NOT\_ENOUGH\_MEMORY  | 无法分配足够的内存。 | 
| 0x00000005  | 0x5 | STATUS\_BUFFER\_TOO\_SMALL  | 指定的缓冲区大小太小。 | 
| 0x00000006  | 0x6 | STATUS\_UNEXPECTED\_EOF  | 到达意外的文件末尾。 | 
| 0x00000007  | 0x7 | STATUS\_FORMAT\_ERROR  | 遇到无效的格式。 | 
| 0x00000008  | 0x8 | STATUS\_INVALID\_HANDLE\_ERROR  | 句柄值无效。 | 
| 0x00000009  | 0x9 | STATUS\_OPEN\_FILE\_FAILED  | 无法打开文件。 | 
| 0x0000000a  | 0xa | STATUS\_READ\_FILE\_FAILED | 无法从文件中读取。 | 
| 0x0000000b  | 0xb | STATUS\_WRITE\_TO\_FILE\_FAILED  | 无法写入到文件中。 | 
| 0x0000000c  | 0xc | STATUS\_INTERNAL\_ERROR  | 通常不会出现的内部错误，可能表示 SDK 或服务 API 错误。 | 
| 0x0000000d  | 0xd | STATUS\_INVALID\_OPERATION  | 具有无效的操作，或者不允许执行该操作。 | 
| 0x0000000e  | 0xe | STATUS\_NOT\_IMPLEMENTED  | 未实现该功能。 | 
| 0x0000000f  | 0xf | STATUS\_OPERATION\_TIMED\_OUT  | 操作已超时。 | 
| 0x00000010  | 0x10 | STATUS\_NOT\_FOUND  | 找不到所需的资源。 | 
| 0x00000011 | 0x11 | STATUS\_CREATE\_THREAD\_FAILED  | 创建话题失败。 | 
| 0x00000012 | 0x12 | STATUS\_THREAD\_NOT\_ENOUGH\_RESOURCES  | 资源不足，无法创建另一个线程，或者遇到了系统对线程数施加的限制。 | 
| 0x00000013  | 0x13 | STATUS\_THREAD\_INVALID\_ARG  | 指定的话题属性无效，或者其他话题已在等待加入此话题。 | 
| 0x00000014  | 0x14 | STATUS\_THREAD\_PERMISSIONS  | 没有权限设置线程属性中指定的调度策略和参数。 | 
| 0x00000015  | 0x15 | STATUS\_THREAD\_DEADLOCKED  | 检测到死锁或者加入的线程指定了调用线程。 | 
| 0x00000016  | 0x16 | STATUS\_THREAD\_DOES\_NOT\_EXIST  | 找不到具有指定话题 ID 的话题。 | 
| 0x00000017  | 0x17 | STATUS\_JOIN\_THREAD\_FAILED  | 线程加入操作返回未知或一般错误。 | 
| 0x00000018  | 0x18 | STATUS\_WAIT\_FAILED  | 已超过等待条件变量的最长时间。 | 
| 0x00000019  | 0x19 | STATUS\_CANCEL\_THREAD\_FAILED  | 线程取消操作返回未知或一般错误。 | 
| 0x0000001a  | 0x1a | STATUS\_THREAD\_IS\_NOT\_JOINABLE  | 在不可连接的线程上请求线程加入操作。 | 
| 0x0000001b  | 0x1b | STATUS\_DETACH\_THREAD\_FAILED   | 线程分离操作返回未知或一般错误。 | 
| 0x0000001c  | 0x1c | STATUS\_THREAD\_ATTR\_INIT\_FAILED  | 无法初始化线程属性对象。 | 
| 0x0000001d  | 0x1d | STATUS\_THREAD\_ATTR\_SET\_STACK\_SIZE\_FAILED  | 未能为线程属性对象设置堆栈大小。 | 
| 0x0000001e  | 0x1e | STATUS\_MEMORY\_NOT\_FREED  | 仅在测试中使用。表示未释放所有请求的内存。 | 
| 0x0000001f | 0x1f | STATUS\_INVALID\_THREAD\_PARAMS\_VERSION  | “ThreadParams” 结构版本无效。指定正确的当前结构版本。 | 

### 堆库返回的错误和状态码
<a name="producer-sdk-errors-heap"></a>

下表包含`Heap`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 说明 | 
| --- | --- | --- | 
| 0x10000001  | STATUS\_HEAP\_FLAGS\_ERROR  | 指定的标记组合无效。 | 
| 0x10000002  | STATUS\_HEAP\_NOT\_INITIALIZED  | 在初始化堆之前尝试执行一个操作。 | 
| 0x10000003  | STATUS\_HEAP\_CORRUPTED  | 堆已损坏或已覆盖保护频段 (在调试模式下)。客户端代码中的缓冲区溢出可能导致堆损坏。 | 
| 0x10000004  | STATUS\_HEAP\_VRAM\_LIB\_MISSING  | VRAM（视频 RAM）用户或内核模式库无法加载或缺失。检查底层平台是否支持 VRAM 分配。 | 
| 0x10000005  | STATUS\_HEAP\_VRAM\_LIB\_REOPEN  | 无法打开 VRAM 库。 | 
| 0x10000006  | STATUS\_HEAP\_VRAM\_INIT\_FUNC\_SYMBOL  | 无法加载 INIT 函数导出。 | 
| 0x10000007  | STATUS\_HEAP\_VRAM\_ALLOC\_FUNC\_SYMBOL  | 无法加载 ALLOC 函数导出。 | 
| 0x10000008  | STATUS\_HEAP\_VRAM\_FREE\_FUNC\_SYMBOL  | 无法加载 FREE 函数导出。 | 
| 0x10000009  | STATUS\_HEAP\_VRAM\_LOCK\_FUNC\_SYMBOL  | 无法加载 LOCK 函数导出。 | 
| 0x1000000a  | STATUS\_HEAP\_VRAM\_UNLOCK\_FUNC\_SYMBOL  | 无法加载 UNLOCK 函数导出。 | 
| 0x1000000b  | STATUS\_HEAP\_VRAM\_UNINIT\_FUNC\_SYMBOL  | 无法加载 UNINIT 函数导出。 | 
| 0x1000000c  | STATUS\_HEAP\_VRAM\_GETMAX\_FUNC\_SYMBOL  | 无法加载 GETMAX 函数导出。 | 
| 0x1000000d  | STATUS\_HEAP\_DIRECT\_MEM\_INIT  | 无法初始化混合堆中的主堆池。 | 
| 0x1000000e  | STATUS\_HEAP\_VRAM\_INIT\_FAILED  | VRAM 动态初始化失败。 | 
| 0x1000000f  | STATUS\_HEAP\_LIBRARY\_FREE\_FAILED  | 无法取消分配并释放 VRAM 库。 | 
| 0x10000010  | STATUS\_HEAP\_VRAM\_ALLOC\_FAILED  | VRAM 分配失败。 | 
| 0x10000011  | STATUS\_HEAP\_VRAM\_FREE\_FAILED  | VRAM 释放失败。 | 
| 0x10000012  | STATUS\_HEAP\_VRAM\_MAP\_FAILED  | VRAM 映射失败。 | 
| 0x10000013  | STATUS\_HEAP\_VRAM\_UNMAP\_FAILED  | VRAM 取消映射失败。 | 
| 0x10000014  | STATUS\_HEAP\_VRAM\_UNINIT\_FAILED  | VRAM 取消初始化失败。 | 
| 0x10000015 | STATUS\_INVALID\_ALLOCATION\_SIZE |  | 
| 0x10000016 | STATUS\_HEAP\_REALLOC\_ERROR |  | 
| 0x10000017 | STATUS\_HEAP\_FILE\_HEAP\_FILE\_CORRUPT |  | 

### MKVGen 库返回的错误和状态码
<a name="producer-sdk-errors-mkvgen"></a>

下表包含`MKVGen`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 描述/建议的操作 | 
| --- | --- | --- | 
| 0x32000001  | STATUS\_MKV\_INVALID\_FRAME\_DATA  | Frame 数据结构的成员无效。确保时长、大小和帧数据有效且在中指定的限制范围内[制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000002  | STATUS\_MKV\_INVALID\_FRAME\_TIMESTAMP  | 帧时间戳无效。计算的 PTS（演示时间戳）和 DTS（解码时间戳）大于或等于片段开始帧的时间戳。这表示潜在的媒体管道重新启动或编码器稳定性问题。有关故障排除信息，请参阅[错误：“Failed to submit frame to Kinesis Video client”(无法将帧提交到 Kinesis 视频客户端)](troubleshooting.md#troubleshooting-producer-failed-frame-client)。 | 
| 0x32000003  | STATUS\_MKV\_INVALID\_CLUSTER\_DURATION  | 指定的片段持续时间无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000004  | STATUS\_MKV\_INVALID\_CONTENT\_TYPE\_LENGTH  | 内容类型字符串长度无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000005  | STATUS\_MKV\_NUMBER\_TOO\_BIG  | 尝试编码的数字太大，无法使用 EBML (可扩展二进制元语言) 格式表示。不会向 SDK 客户端显示该错误。 | 
| 0x32000006  | STATUS\_MKV\_INVALID\_CODEC\_ID\_LENGTH  | 编解码器 ID 字符串长度无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000007  | STATUS\_MKV\_INVALID\_TRACK\_NAME\_LENGTH  | 音轨名称字符串长度无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000008  | STATUS\_MKV\_INVALID\_CODEC\_PRIVATE\_LENGTH  | 编解码器私有数据长度无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x32000009  | STATUS\_MKV\_CODEC\_PRIVATE\_NULL  | 编解码器私有数据 (CPD) 为空，而 CPD 大小大于零。 | 
| 0x3200000a  | STATUS\_MKV\_INVALID\_TIMECODE\_SCALE  | 时间码标度值无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x3200000b  | STATUS\_MKV\_MAX\_FRAME\_TIMECODE  | 帧时间码大于最大值。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x3200000c  | STATUS\_MKV\_LARGE\_FRAME\_TIMECODE  | 已达到最大帧时间码。MKV 格式使用有符号 16 位表示帧相对于集群开头的时间码。如果无法表示帧时间码，则会生成错误。该错误表示选择的时间码标度不正确或集群持续时间太长，因此，表示帧时间码将导致有符号 16 位空间溢出。 | 
| 0x3200000d  | STATUS\_MKV\_INVALID\_ANNEXB\_NALU\_IN\_FRAME\_DATA  | 遇到无效的 Annex-B 启动代码。例如，指定了 Annex-B 适配标记，并且代码遇到包含超过三个零的无效开始序列。有效的 Annex-B 格式应具有“模拟防护”序列，以便对字节流中包含三个或更多零的序列进行转义。有关更多信息，请参阅 MPEG 规范。有关 Android 上的此错误的信息，请参阅 [Android 上的 STATUS\_MKV\_INVALID\_ANNEXB\_NALU\_IN\_FRAME\_DATA (0x3200000d) 错误](troubleshooting.md#troubleshooting-producer-android-invalid-annexb)。 | 
| 0x3200000e  | STATUS\_MKV\_INVALID\_AVCC\_NALU\_IN\_FRAME\_DATA  | 指定自适应 AVCC 标志时，AVCC NALU 打包无效。验证字节流是否为有效的 AVCC 格式。有关更多信息，请参阅 MPEG 规范。 | 
| 0x3200000f  | STATUS\_MKV\_BOTH\_ANNEXB\_AND\_AVCC\_SPECIFIED  | 对改编AVCC和附件B都进行了具体说明 NALUs 。指定其中的一个 NAL，或者不指定任何 NAL。 | 
| 0x32000010  | STATUS\_MKV\_INVALID\_ANNEXB\_NALU\_IN\_CPD  | 在指定了适配 Annex-B 标记时，CPD 的 Annex-B 格式无效。验证 CPD 的格式是否有效 Annex-B。如果不是，则移除 CPD Annex-B 适应标志。 | 
| 0x32000011  | STATUS\_MKV\_PTS\_DTS\_ARE\_NOT\_SAME  | Kinesis Video Streams 强制片段起始帧的 PTS（演示时间戳）和 DTS（解码时间戳）相同。这些是片段开头的关键帧。 | 
| 0x32000012  | STATUS\_MKV\_INVALID\_H264\_H265\_CPD  | 无法解析 H264/H265 编解码器私有数据。 | 
| 0x32000013  | STATUS\_MKV\_INVALID\_H264\_H265\_SPS\_WIDTH  | 无法从编解码器私有数据中提取宽度。 | 
| 0x32000014  | STATUS\_MKV\_INVALID\_H264\_H265\_SPS\_HEIGHT  | 无法从编解码器私有数据中提取高度。 | 
| 0x32000015  | STATUS\_MKV\_INVALID\_H264\_H265\_SPS\_NALU  | H264/H265 SPS NALU 无效。 | 
| 0x32000016  | STATUS\_MKV\_INVALID\_BIH\_CPD  | 编解码器私有数据中的位图信息标头格式无效。 | 
| 0x32000017  | STATUS\_MKV\_INVALID\_HEVC\_NALU\_COUNT  | 高效高级音频编码 (HEVC) 网络抽象层单元 (NALU) 计数无效。 | 
| 0x32000018  | STATUS\_MKV\_INVALID\_HEVC\_FORMAT  | HEVC 格式无效。 | 
| 0x32000019  | STATUS\_MKV\_HEVC\_SPS\_NALU\_MISSING  | 序列参数集 (SPS) NALUs 中缺少 HEVC。 | 
| 0x3200001a  | STATUS\_MKV\_INVALID\_HEVC\_SPS\_NALU\_SIZE   | HEVC SPS NALU 大小无效。 | 
| 0x3200001b  | STATUS\_MKV\_INVALID\_HEVC\_SPS\_CHROMA\_FORMAT\_IDC   | 色度格式 IDC 无效。 | 
| 0x3200001c  | STATUS\_MKV\_INVALID\_HEVC\_SPS\_RESERVED   | HEVC 保留 SPS 无效。 | 
| 0x3200001d  | STATUS\_MKV\_MIN\_ANNEX\_B\_CPD\_SIZE   |  AnnexBb 编解码器私有测试版的最小值大小。对于 H264，该值必须等于或大于 11。对于 H265，该值必须等于或大于 15。 | 
| 0x3200001e  | STATUS\_MKV\_ANNEXB\_CPD\_MISSING\_NALUS  | 附件 NALUs B中缺少编解码器的私有数据。 | 
| 0x3200001f  | STATUS\_MKV\_INVALID\_ANNEXB\_CPD\_NALUS  | Ann NALUs ex-B 中的编解码器私有测试版无效。 | 
| 0x32000020  | STATUS\_MKV\_INVALID\_TAG\_NAME\_LENGTH   | 标记名称长度无效。有效值大于 0 且小于 128。 | 
| 0x32000021  | STATUS\_MKV\_INVALID\_TAG\_VALUE\_LENGTH   | 标记值长度无效。有效值大于零且小于 256。 | 
| 0x32000022  | STATUS\_MKV\_INVALID\_GENERATOR\_STATE\_TAGS   | 生成器状态标签无效。 | 
| 0x32000023  | STATUS\_MKV\_INVALID\_AAC\_CPD\_SAMPLING\_FREQUENCY\_INDEX   | AAC 编解码器专用数据采样频率索引无效。 | 
| 0x32000024  | STATUS\_MKV\_INVALID\_AAC\_CPD\_CHANNEL\_CONFIG   | AAC 编解码器专用数据通道配置无效。 | 
| 0x32000025  | STATUS\_MKV\_INVALID\_AAC\_CPD   | AAC 编解码器专用数据无效。 | 
| 0x32000026  | STATUS\_MKV\_TRACK\_INFO\_NOT\_FOUND   | 找不到轨道信息。 | 
| 0x32000027  | STATUS\_MKV\_INVALID\_SEGMENT\_UUID   | 片段 UUID 无效。 | 
| 0x32000028  | STATUS\_MKV\_INVALID\_TRACK\_UID   | 轨道 UID 无效。 | 
| 0x32000029 | STATUS\_MKV\_INVALID\_CLIENT\_ID\_LENGTH |  | 
| 0x3200002a | STATUS\_MKV\_INVALID\_AMS\_ACM\_CPD |  | 
| 0x3200002b | STATUS\_MKV\_MISSING\_SPS\_FROM\_H264\_CPD |  | 
| 0x3200002c | STATUS\_MKV\_MISSING\_PPS\_FROM\_H264\_CPD |  | 
| 0x3200002d | STATUS\_MKV\_INVALID\_PARENT\_TYPE |  | 

### Trace 库返回的错误和状态码
<a name="producer-sdk-errors-trace"></a>

下表包含`Trace`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 
| --- | --- | 
| 0x10100001 | STATUS\_MIN\_PROFILER\_BUFFER  | 

### Utils 库返回的错误和状态码
<a name="producer-sdk-errors-utils"></a>

下表包含`Utils`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 
| --- | --- | 
| 0x40000001 | STATUS\_INVALID\_BASE64\_ENCODE  | 
| 0x40000002 | STATUS\_INVALID\_BASE  | 
| 0x40000003 | STATUS\_INVALID\_DIGIT  | 
| 0x40000004 | STATUS\_INT\_OVERFLOW  | 
| 0x40000005 | STATUS\_EMPTY\_STRING  | 
| 0x40000006 | STATUS\_DIRECTORY\_OPEN\_FAILED  | 
| 0x40000007 | STATUS\_PATH\_TOO\_LONG  | 
| 0x40000008 | STATUS\_UNKNOWN\_DIR\_ENTRY\_TYPE  | 
| 0x40000009 | STATUS\_REMOVE\_DIRECTORY\_FAILED  | 
| 0x4000000a | STATUS\_REMOVE\_FILE\_FAILED  | 
| 0x4000000b | STATUS\_REMOVE\_LINK\_FAILED  | 
| 0x4000000c | STATUS\_DIRECTORY\_ACCESS\_DENIED  | 
| 0x4000000d | STATUS\_DIRECTORY\_MISSING\_PATH  | 
| 0x4000000e | STATUS\_DIRECTORY\_ENTRY\_STAT\_ERROR  | 
| 0x4000000f | STATUS\_STRFTIME\_FALIED | 
| 0x40000010 | STATUS\_MAX\_TIMESTAMP\_FORMAT\_STR\_LEN\_EXCEEDED | 
| 0x40000011 | STATUS\_UTIL\_MAX\_TAG\_COUNT | 
| 0x40000012 | STATUS\_UTIL\_INVALID\_TAG\_VERSION | 
| 0x40000013 | STATUS\_UTIL\_TAGS\_COUNT\_NON\_ZERO\_TAGS\_NULL | 
| 0x40000014 | STATUS\_UTIL\_INVALID\_TAG\_NAME\_LEN | 
| 0x40000015 | STATUS\_UTIL\_INVALID\_TAG\_VALUE\_LEN | 
| 0x4000002a | STATUS\_EXPONENTIAL\_BACKOFF\_INVALID\_STATE | 
| 0x4000002b | STATUS\_EXPONENTIAL\_BACKOFF\_RETRIES\_EXHAUSTED | 
| 0x4000002c | STATUS\_THREADPOOL\_MAX\_COUNT | 
| 0x4000002d | STATUS\_THREADPOOL\_INTERNAL\_ERROR | 
| 0x40100001 | STATUS\_HASH\_KEY\_NOT\_PRESENT | 
| 0x40100002 | STATUS\_HASH\_KEY\_ALREADY\_PRESENT | 
| 0x40100003 | STATUS\_HASH\_ENTRY\_ITERATION\_ABORT | 
| 0x41000001 | STATUS\_BIT\_READER\_OUT\_OF\_RANGE | 
| 0x41000002 | STATUS\_BIT\_READER\_INVALID\_SIZE | 
| 0x41100001 | STATUS\_TIMER\_QUEUE\_STOP\_SCHEDULING | 
| 0x41100002 | STATUS\_INVALID\_TIMER\_COUNT\_VALUE | 
| 0x41100003 | STATUS\_INVALID\_TIMER\_PERIOD\_VALUE | 
| 0x41100004 | STATUS\_MAX\_TIMER\_COUNT\_REACHED | 
| 0x41100005 | STATUS\_TIMER\_QUEUE\_SHUTDOWN | 
| 0x41200001 | STATUS\_SEMAPHORE\_OPERATION\_AFTER\_SHUTDOWN | 
| 0x41200002 | STATUS\_SEMAPHORE\_ACQUIRE\_WHEN\_LOCKED | 
| 0x41300001 | STATUS\_FILE\_LOGGER\_INDEX\_FILE\_INVALID\_SIZE | 

### View 库返回的错误和状态码
<a name="producer-sdk-errors-view"></a>

下表包含`View`库中方法返回的错误和状态信息。


****  

| 代码 | Message | 说明 | 
| --- | --- | --- | 
| 0x30000001  | STATUS\_MIN\_CONTENT\_VIEW\_ITEMS  | 指定的内容视图项目数无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x30000002  | STATUS\_INVALID\_CONTENT\_VIEW\_DURATION  | 指定的内容视图持续时间无效。有关更多信息，请参阅 [制作人 SDK 配额](limits.md#producer-sdk-limits)。 | 
| 0x30000003  | STATUS\_CONTENT\_VIEW\_NO\_MORE\_ITEMS  | 尝试获取的位置超过标头。 | 
| 0x30000004  | STATUS\_CONTENT\_VIEW\_INVALID\_INDEX  | 指定的索引无效。 | 
| 0x30000005  | STATUS\_CONTENT\_VIEW\_INVALID\_TIMESTAMP  | 具有无效的时间戳，或者时间戳发生重叠。帧解码时间戳应大于或等于前一帧的时间戳，再加上前一帧的持续时间：。`DTS(n) >= DTS(n-1) \+ Duration(n-1)`该错误通常表示“不稳定”编码器。编码器生成一组突发编码帧，并且其时间戳小于帧内的持续时间。或者，流配置为使用 SDK 时间戳，并且发送帧的速度比帧持续时间快。为了帮助解决编码器中的一些“抖动”问题，请在 StreamInfo.StreamCaps 结构中指定较小的帧持续时间。例如，如果直播为 25 FPS，则每帧的持续时间为 40 毫秒。但是，为了处理编码器的 “抖动”，我们建议您使用该帧持续时间的一半（20 毫秒）。某些流要求更精确地控制错误检测时间。 | 
| 0x30000006  | STATUS\_INVALID\_CONTENT\_VIEW\_LENGTH  | 指定的内容视图项目数据长度无效。 | 

## PutFrame 回调返回的错误和状态码-C 制作人库
<a name="producer-sdk-errors-putframe-c"></a>

以下部分包含 C producer 库中`PutFrame`操作的回调返回的错误和状态信息。


****  

| 代码 | Message | 说明 | 推荐操作 | 
| --- | --- | --- | --- | 
| 0x15000001 | STATUS\_STOP\_CALLBACK\_CHAIN | 回调链已停止。 |  | 
| 0x15000002 | STATUS\_MAX\_CALLBACK\_CHAIN | 已达到最大回调链数。 |  | 
| 0x15000003 | STATUS\_INVALID\_PLATFORM\_CALLBACKS\_VERSION | PlatformCallbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000004 | STATUS\_INVALID\_PRODUCER\_CALLBACKS\_VERSION | ProducerCallbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000005 | STATUS\_INVALID\_STREAM\_CALLBACKS\_VERSION | StreamCallbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000006 | STATUS\_INVALID\_AUTH\_CALLBACKS\_VERSION | AuthCallbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000007 | STATUS\_INVALID\_API\_CALLBACKS\_VERSION | ApiCallbacks 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000008 | STATUS\_INVALID\_AWS\_CREDENTIALS\_VERSION | AwsCredentials 结构版本无效。 | 指定正确的当前结构版本。 | 
| 0x15000009 | STATUS\_MAX\_REQUEST\_HEADER\_COUNT | 已达到最大请求标头数。 |  | 
| 0x1500000a | STATUS\_MAX\_REQUEST\_HEADER\_NAME\_LEN | 已达到最大请求标头名称长度。 |  | 
| 0x1500000b | STATUS\_MAX\_REQUEST\_HEADER\_VALUE\_LEN | 已达到最大请求标头值长度。 |  | 
| 0x1500000c | STATUS\_INVALID\_API\_CALL\_RETURN\_JSON | API 调用的返回 JSON 无效。 |  | 
| 0x1500000d | STATUS\_CURL\_INIT\_FAILED | Curl 初始化失败。 |  | 
| 0x1500000e | STATUS\_CURL\_LIBRARY\_INIT\_FAILED | Curl lib 初始化失败。 |  | 
| 0x1500000f | STATUS\_INVALID\_DESCRIBE\_STREAM\_RETURN\_JSON | 的返回 JSON 无效 DescribeStream。 |  | 
| 0x15000010 | STATUS\_HMAC\_GENERATION\_ERROR | HMAC 生成错误。 |  | 
| 0x15000011 | STATUS\_IOT\_FAILED | 物联网授权失败。 |  | 
| 0x15000012 | STATUS\_MAX\_ROLE\_ALIAS\_LEN\_EXCEEDED | 已达到最大角色别名长度。 | 请指定较短的别名长度。 | 
| 0x15000013 | STATUS\_MAX\_USER\_AGENT\_NAME\_POSTFIX\_LEN\_EXCEEDED | 已达到最大代理名称后缀长度。 |  | 
| 0x15000014 | STATUS\_MAX\_CUSTOM\_USER\_AGENT\_LEN\_EXCEEDED | 已达到最大客户用户代理长度。 |  | 
| 0x15000015 | STATUS\_INVALID\_USER\_AGENT\_LENGTH | 无效的用户代理长度。 |  | 
| 0x15000016 | STATUS\_INVALID\_ENDPOINT\_CACHING\_PERIOD | 无效的终端节点缓存期。 | 指定小于 24 小时的缓存期。 | 
| 0x15000017 | STATUS\_IOT\_EXPIRATION\_OCCURS\_IN\_PAST | IoT 过期时间戳发生在过去。 |  | 
| 0x15000018 | STATUS\_IOT\_EXPIRATION\_PARSING\_FAILED | 物联网过期解析失败。 |  | 
| 0x15000019 | STATUS\_DUPLICATE\_PRODUCER\_CALLBACK\_FREE\_FUNC |  |  | 
| 0x1500001a | STATUS\_DUPLICATE\_STREAM\_CALLBACK\_FREE\_FUNC |  |  | 
| 0x1500001b | STATUS\_DUPLICATE\_AUTH\_CALLBACK\_FREE\_FUNC |  |  | 
| 0x1500001c | STATUS\_DUPLICATE\_API\_CALLBACK\_FREE\_FUNC |  |  | 
| 0x1500001d | STATUS\_FILE\_LOGGER\_INDEX\_FILE\_TOO\_LARGE |  |  | 
| 0x1500001e | STATUS\_MAX\_IOT\_THING\_NAME\_LENGTH |  |  | 
| 0x1500001f | STATUS\_IOT\_CREATE\_LWS\_CONTEXT\_FAILED |  |  | 
| 0x15000020 | STATUS\_INVALID\_CA\_CERT\_PATH |  |  | 
| 0x15000022 | STATUS\_FILE\_CREDENTIAL\_PROVIDER\_OPEN\_FILE\_FAILED |  |  | 
| 0x15000023 | STATUS\_FILE\_CREDENTIAL\_PROVIDER\_INVALID\_FILE\_LENGTH |  |  | 
| 0x15000024 | STATUS\_FILE\_CREDENTIAL\_PROVIDER\_INVALID\_FILE\_FORMAT |  |  | 
| 0x15000026 | STATUS\_STREAM\_BEING\_SHUTDOWN |  |  | 
| 0x15000027 | STATUS\_CLIENT\_BEING\_SHUTDOWN |  |  | 
| 0x15000028 | STATUS\_CONTINUOUS\_RETRY\_RESET\_FAILED |  |  | 
| 0x16000001 | STATUS\_CURL\_PERFORM\_FAILED | CURL 返回了一个不成功的代码。 | 查看日志以获取更多信息。常见的 CURL 错误是 “无法解析主机名。 “，请检查设备的互联网连接。<br />另一个常见的错误是 403 错误代码。这表明 IoT 证书的创建或指定不正确。检查物联网证书的文件路径，权限设置是否正确。请参阅[使用控制对 Kinesis Video Streams 资源的访问权限 Amazon IoT](how-iot.md)了解更多信息。 | 
| 0x16000002 | STATUS\_IOT\_INVALID\_RESPONSE\_LENGTH | 获取 IoT 凭据时收到长度为 0 的响应。 | 查看 Amazon 运行状况控制面板，稍后重试。 | 
| 0x16000003 | STATUS\_IOT\_NULL\_AWS\_CREDS | 从物联网凭证端点返回的 JSON 不包含凭证对象。 | 查看 JSON 中的 “消息” 项以了解更多信息。 | 
| 0x16000004 | STATUS\_IOT\_INVALID\_URI\_LEN | 传递到获取物联网凭证函数的网址长度不在 1 到 10,000 之间。 | 查看传入此函数的 URL。 | 
| 0x16000005 | STATUS\_TIMESTAMP\_STRING\_UNRECOGNIZED\_FORMAT | 获取物联网凭证的 JSON 中的 “过期” 项的格式不是:`YYYY-MM-DDTHH:mm:SSZ`. | 查看 Amazon 运行状况控制面板，稍后重试。 | 