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

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

gStreamer 元素参数参考

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

主题

向提供凭证 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元素还具有以下必需参数:

stream-name-目标亚马逊 Kinesis 视频流的名称。

kvssink可选参数

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

参数 描述 单位/类型 默认
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如果未另行指定,则该区域将默认为。

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

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

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

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

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

  • 2:离线

枚举 GstKvsSinkStreamingType 0:实时
timecode-scale MKV 时间码标度。 毫秒 1
track-name MKV 音轨名称。 字符串 "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

字符串