本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
gStreamer 元素参数参考
要向亚马逊 Kinesis Video Streams 制作者 C++ SDK 发送视频,您需要指定kvssink流水线的接收器或最终目的地。此参考提供了有关 kvssink 必需参数和可选参数的信息。有关更多信息,请参阅 示例:Kinesis 视频流制作人 SDK GStreamer 插件-kvssink。
主题
向 kvssink 提供证书
要允许 kvssink GStreamer 元素向发出请求 AWS,请提供 AWS 凭证供其在调用 Amazon Kinesis Video Streams 服务时使用。凭证提供者链按以下顺序查找证书:
要设置 AWS IoT 证书,请参阅使用控制对 Kinesis Video Streams 资源的访问权限 AWS IoT。
iot-credentials参数值必须以逗号分隔的以iot-certificate,下 key = value 对的列表开头,后面是逗号分隔的列表。
| Key | 必需 | 描述 |
|---|---|---|
ca-path |
是 | 用于通过 TLS 与后端服务建立信任的 CA 证书的文件路径。 例示例: |
cert-path |
是 | X.509 证书的文件路径。 例示例: |
endpoint |
是 | 您 AWS 账户的 AWS IoT Core 凭证终端节点提供商终端节点。请参阅《AWS IoT 开发者指南》。 例示例: |
key-path |
是 | 密钥对中使用的私 public/private 钥的文件路径。 例示例: |
role-aliases |
是 | 指向连接时要使用的 AWS IAM 角色的角色别名的名称 AWS IoT Core。 例示例: |
iot-thing-name |
否 |
例示例: |
例
示例:
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 |
是 | 用于 AWS 访问亚马逊 Kinesis Video Streams 的访问密钥。 |
AWS_SECRET_ACCESS_KEY |
是 | 与访问 AWS 密钥关联的密钥。 |
AWS_SESSION_TOKEN |
否 | 如果您直接使用 AWS STS 操作中的临时安全证书,请指定所需的会话令牌值。 |
设置环境变量会更改使用的值,直到 Shell 会话结束或直到您将该变量设置为其他值。要使变量在未来的会话中保持不变,请在 shell 的启动脚本中设置它们。
要直接将凭据指定为kvssink参数,请设置以下参数:
kvssink参数名称 |
必需 | 描述 |
|---|---|---|
access-key |
是 | 用于 AWS 访问亚马逊 Kinesis Video Streams 的访问密钥。 |
secret-key |
是 | 与访问 AWS 密钥关联的密钥。 |
session-token |
否 | 如果您直接使用 AWS 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-pathkvssink参数。
kvssink参数名称 |
必需 | 描述 |
|---|---|---|
credential-path |
是 | 包含特定格式凭据的文本文件的路径。 |
该文本文件必须包含以下格式之一的证书:
-
证书
YourAccessKeyYourSecretKey -
证书
YourAccessKeyExpirationYourSecretKeySessionToken
例
示例:您的文件位于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-path="/home/ubuntu/credentials.txt"
注意
未来的到期时间应至少为 5 + 30 + 3 = 38 秒。宽限期定义为中的IOT_CREDENTIAL_FETCH_GRACE_PERIOD变量IotCredentialProvider.hkvssink,则会收到错误代码0x52000049 -
STATUS_INVALID_TOKEN_EXPIRATION。
重要
kvssink不修改凭证文件。如果您使用临时证书,则证书文件必须在到期时间减去宽限期之前由外部来源更新。
为 kvssink 提供一个区域
以下是区域查询顺序:
-
AWS_DEFAULT_REGION首先审查环境变量。如果已设置,则使用该区域来配置客户端。 -
aws-region接下来将审查参数。如果已设置,则使用该区域来配置客户端。 如果前面两种方法都未使用,
kvssink则默认为us-west-2。
kvssink 可选参数
kvssink 元素具有以下可选参数。有关这些参数的更多信息,请参阅 Kinesis 视频流结构。
| 参数 | 说明 | 单位/类型 | 默认 |
|---|---|---|---|
stream-name |
目的地 Amazon Kinesis 视频流的名称。重要如果未指定流名称,则将使用默认的直播名称:“DEFAULT_STREAM”。如果使用该默认名称的直播尚不存在,则将创建该流。 |
|
|
absolute-fragment-times |
是否使用绝对片段时间。 | 布尔值 | true |
access-key |
用于 AWS 访问 Kinesis Video Streams 的访问密钥。 您必须设置 AWS 证书或提供此参数。要提供此信息,请键入以下内容:
|
||
avg-bandwidth-bps |
流的预期平均带宽。 | 每秒位元数 | 4194304 |
aws-region |
AWS 区域 要使用的。 注意您也可以为该区域提供 重要
|
字符串 | "us-west-2" |
buffer-duration |
流缓冲持续时间。 | 秒 | 120 |
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 |
保留流的时间长度。 | Hours | 2 |
rotation-period |
密钥轮换周期。有关更多信息,请参阅旋转 AWS KMS 密钥。 | 秒 | 3600 |
secret-key |
用于访问 Kinesis Video Streams 的 AWS 密钥。 您必须设置 AWS 证书或提供此参数。
|
||
session-token |
如果您直接使用 AWS STS 操作中的临时安全证书,请指定所需的会话令牌值。 | ||
storage-size |
以兆字节 (MiB) 为单位的设备存储大小。有关配置设备存储的信息,请参阅StorageInfo。 | 兆字节 (MiB) | 128 |
streaming-type |
流式处理类型。有效值包括:
|
枚举 GstKvsSinkStreamingType |
0:实时 |
timecode-scale |
MKV 时间码标度。 | 毫秒 | 1 |
track-name |
MKV 音轨名称。 | 字符串 | "kinesis_video" |
iot-certificate |
AWS IoT 要在
注意
|
字符串 | 无 |