gStreamer 元素参数参考 - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

gStreamer 元素参数参考

要向 Amazon Kinesis Video Streams Video Streams Producer C++ SDK 发送视频,请视频kvssink指定为管道的接收方或最终目的地。此参考提供了有关 kvssink 必需参数和可选参数的信息。有关更多信息,请参阅 示例:Kinesis Video Streams Producer SDK gStreamer 插件-kvssink

主题

向提供凭证 kvssink

要允许 kvssink gStreamer 元素向其发出请求 Amazon,请提供 Amazon 凭证供其在调用 Amazon Kinesis Video Streams 服务时使用。凭证提供商链按以下顺序查找证书:

要设置 Amazon IoT 凭证,请参阅使用控制对 Kinesis Video Streams 资源的访问权限 Amazon IoT

iot-credentials参数值必须以以下键 = 值对的iot-certificate,逗号分隔列表开头,后面跟着一个 key = value 对的列表。

必需 描述
ca-path

用于通过 TLS 与后端服务建立信任的 CA 证书的文件路径。

示例 /file/path/to/certificate.pem

cert-path

X.509 证书的文件路径。

示例/file/path/to/certificateID-certificate.pem.crt

endpoint

您 Amazon 账户的 Amazon IoT Core 凭证终端节点提供商终端节点。请参阅《Amazon IoT 开发人员指南》

示例credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com

key-path

公钥/私钥对中使用的私钥的文件路径。

示例/file/path/to/certificateID-private.pem.key

role-aliases

指向连接时要使用 Amazon 的 IAM 角色的角色别名的名称 Amazon IoT Core。

示例KvsCameraIoTRoleAlias

iot-thing-name

iot-thing-name 是可选项。如果iot-thing-name未提供,则使用stream-name参数值。

示例kvs_example_camera

示例

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" iot-certificate="iot-certificate,endpoint=credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com,cert-path=certificateID-certificate.pem.crt,key-path=certificateID-private.pem.key,ca-path=certificate.pem,role-aliases=YourRoleAlias,iot-thing-name=YourThingName"

kvssink使用来自环境的凭证,请设置以下环境变量:

环境变量名 必需 描述
AWS_ACCESS_KEY_ID 用于 Amazon 访问亚马逊 Kinesis Video Streams 的访问密钥。
AWS_SECRET_ACCESS_KEY 与访问 Amazon 密钥关联的密钥。
AWS_SESSION_TOKEN 如果您直接使用 Amazon STS 操作中的临时安全证书,则指定所需的会话令牌值。

设置环境变量会更改使用的值,直到 Shell 会话结束或直到您将该变量设置为其他值。要使变量在 future 会话中保持不变,请在 shell 的启动脚本中对其进行设置。

要直接将凭据指定为kvssink参数,请设置以下参数:

kvssink参数名 必需 描述
access-key 用于 Amazon 访问亚马逊 Kinesis Video Streams 的访问密钥。
secret-key 与访问 Amazon 密钥关联的密钥。
session-token 如果您直接使用 Amazon STS 操作中的临时安全证书,则指定所需的会话令牌值。

使用静态凭证:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE"

使用临时证书:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE" session-token="STEXAMPLE"
重要

如果您选择了前面的方法之一,则无法使用该credential-filekvssink参数。

kvssink参数名 必需 描述
credential-file 包含特定格式凭据的文本文件的路径。

文本文件必须包含以下格式之一的凭据:

  • 全权证书 YourAccessKeyYourSecretKey

  • 凭证YourAccessKey到期 YourSecretKeySessionToken

示例:您的credentials.txt文件位于/home/ubuntu并包含以下内容:

CREDENTIALS AKIDEXAMPLE 2023-08-10T22:43:00Z SKEXAMPLE STEXAMPLE

要在中使用它kvssink,请键入:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" credential-file="/home/ubuntu/credentials.txt"
注意

将来的到期时间应至少为 5 + 30 + 3 = 38 秒。宽限期定义为中的IOT_CREDENTIAL_FETCH_GRACE_PERIOD变量IotCredentialProvider.h。如果您启动时凭证过于接近到期时间kvssink,则会收到错误代码0x52000049 - STATUS_INVALID_TOKEN_EXPIRATION

重要

kvssink不会修改凭据文件。如果您使用的是临时证书,则证书文件必须在到期时间减去宽限期之前由外部来源更新。

提供一个区域给 kvssink

以下是区域查询顺序:

  1. AWS_DEFAULT_REGION首先审查环境变量。如果已设置,则使用该区域来配置客户端。

  2. aws-region接下来将查看参数。如果已设置,则使用该区域来配置客户端。

  3. 如果前面的方法均未使用,kvssink则默认为us-west-2

kvssink可选参数

kvssink 元素具有以下可选参数。有关这些参数的更多信息,请参阅 Kinesis 视频流结构

参数 描述 单位/类型 默认
stream-name 目标 Amazon Kinesis 视频流的名称。
重要

如果未指定直播名称,则将使用默认的直播名称:“DEFAULT_STREAM”。如果使用该默认名称的直播尚不存在,则会创建该流。

absolute-fragment-times 是否使用绝对片段时间。 布尔值 true
access-key

用于 Amazon 访问 Kinesis Video Streams 的访问密钥。

您必须设置 Amazon 凭据或提供此参数。要提供此信息,请键入以下内容:

export AWS_ACCESS_KEY_ID=
avg-bandwidth-bps 流的预期平均带宽。 每秒位元数 4194304
aws-region

Amazon Web Services 区域 要使用的。

注意

您也可以为该区域提供AWS_DEFAULT_REGION环境变量。如果同时设置了环境变量和 kvssink 参数,则环境变量优先。

重要

us-west-2如果未另行指定,则该区域将默认为。

String "us-west-2"
buffer-duration 流缓冲持续时间。 120
codec-id 流的编解码器 ID。 String "V_MPEG4/ISO/AVC"
connection-staleness 之后调用直播陈旧回调的时间。 60
content-type 流的内容类型。 String "video/h264"
fragment-acks 是否使用片段 ACK。 布尔值 true
fragment-duration 所需的片段持续时间。 毫秒 2000
framerate 预期的帧率。 每秒帧数 25
frame-timecodes 是否使用帧时间码或者使用当前时间回调生成时间戳。 布尔值 true
key-frame-fragmentation 是否在关键帧上生成片段。 布尔值 true
log-config 日志配置路径。 String "../kvs_log_configuration"
max-latency 流的最大延迟。 60
recalculate-metrics 是否重新计算指标。 布尔值 true
replay-duration 启用重新启动时,在出错时回滚当前阅读器以重放的持续时间。 40
restart-on-error 发生错误时是否重新启动。 布尔值 true
retention-period 保留流的时间长度。 小时 2
rotation-period 密钥轮换周期。有关更多信息,请参阅轮换 Amazon KMS 密钥 3600
secret-key

用于访问 Kinesis Video Streams 的 Amazon 密钥。

您必须设置 Amazon 凭据或提供此参数。

export AWS_SECRET_ACCESS_KEY=
session-token 如果您直接使用 Amazon STS 操作中的临时安全证书,则指定所需的会话令牌值。
storage-size 以兆字节 (MiB) 为单位的设备存储大小。有关配置设备存储的信息,请参阅StorageInfo 兆字节 (MiB) 128
streaming-type 流式处理类型。有效值包括:
  • 0:实时

  • 1:几乎实时(当前不支持)

  • 2:离线

枚举 GstKvsSinkStreamingType 0:实时
timecode-scale MKV 时间码标度。 毫秒 1
track-name MKV 音轨名称。 String "kinesis_video"
iot-certificate

Amazon IoT 要在kvssink元素中使用的证书。

iot-certificate接受以下键和值:

注意

iot-thing-name可选的。如果iot-thing-name未提供,则使用stream-name参数值。

  • endpoint=iotcredentialsproviderendpoint

  • cert-path=/localdirectorypath /to/certificate

  • key-path=/localdirectorypath /to/private/key

  • ca-path=/localdirectorypath/to/ca-cert

  • role-aliases=role-aliases

  • iot-thing-name=YourIotThingName

String