本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建 Amazon Kinesis Video Streams 边缘代理
构建 Amazon Kinesis Video Streams 边缘代理
-
使用提供给您的链接下载
tar
文件。如果你填写了 Amazon Kinesis Video Streams Edge Agent 意向表,请查看电子邮件中的下载链接。如果您尚未填写表格,请在此处
填写。 -
验证校验和。
-
提取设备中的二进制文件和 jar。
类型:
tar -xvf kvs-edge-agent.tar.gz
。解压缩后,您的文件夹结构将如下所示:
kvs-edge-agent/LICENSE kvs-edge-agent/THIRD-PARTY-LICENSES kvs-edge-agent/pom.xml kvs-edge-agent/KvsEdgeComponent kvs-edge-agent/KvsEdgeComponent/recipes kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml kvs-edge-agent/KvsEdgeComponent/artifacts kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/
EdgeAgentVersion
kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/edge_log_config kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/kvs-edge-agent.jar kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/libgstkvssink.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/libIngestorPipelineJNI.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/lib kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/lib/libcproducer.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/lib/libKinesisVideoProducer.so注意
发行版文件夹名称的设置应反映最新的二进制版本号。例如,1.0.0 版本的文件夹名称将设置为 1.0.0。
-
构建依赖关系 jar。
注意
随附的 jar
kvs-edge-agent.tar.gz
没有依赖关系。使用以下步骤来构建这些库。导航到包含
kvs-edge-agent
的文件夹pom.xml
。键入
mvn clean package
。这将生成一个 jar 文件,其中包含亚马逊 Kinesis Video Streams Edge Agent 所需的
kvs-edge-agent/target/libs.jar
依赖项。 -
将放
libs.jar
入包含组件构件的文件夹中。键入
mv ./target/libs.jar ./KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/
。EdgeAgentVersion
/ -
使用前面步骤中的值设置环境变量。下表提供了变量的描述。
环境变量名 必需 描述 AWS_REGION
是
使用的区域。
示例:us-west -2
AWS_IOT_CA_CERT
是
用于通过后端服务建立信任的 CA 证书的文件路径TLS。
示例:
/
file
/path
/to
/AmazonRootCA1.pemAWS_IOT_CORE_CERT
是
X.509 证书的文件路径。
示例:
/
file
/path
/to
/certificateID-certificate
.pem.crtAWS_IOT_CORE_CREDENTIAL_ENDPOINT
是
您 AWS 账户的AWS IoT Core 凭证终端节点提供商终端节点。
示例:
credential-account-specific-prefix
.credentials.iot.aws-region
.amazonaws.com.rproxy.goskope.comAWS_IOT_CORE_DATA_ATS_ENDPOINT
是
您 AWS 账户AWS IoT Core 的数据平面终端节点。
示例:
data-account-specific-prefix
.iot.aws-region
.amazonaws.com.rproxy.goskope.comAWS_IOT_CORE_PRIVATE_KEY
是
公钥/私钥对中使用的私钥的文件路径。有关更多信息,请参阅中的密钥管理 AWS IoT。
示例:
/
file
/path
/to
/certificateID-private
.pem.keyAWS_IOT_CORE_ROLE_ALIAS
是
指向连接时要使用的 AWS IAM角色的角色别名的名称 AWS IoT Core。
示例:
kvs-edge-role-alias
AWS_IOT_CORE_THING_NAME
是
正在运行应用程序 AWS IoT 的事物的名称。
示例:
my-edge-device-thing
GST_PLUGIN_PATH
是
指向包含
gstkvssink
和IngestorPipelineJNI
依赖于平台的库的文件夹的文件路径。让我们GStreamer加载这些插件。有关更多信息,请参阅 下载、构建和配置GStreamer元素。示例:
/
download-location
/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/LD_LIBRARY_PATH
是
指向包含
cproducer
和KinesisVideoProducer
依赖于平台的库的目录的文件路径。示例:
/
download-location
/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
/lib/AWS_KVS_EDGE_CLOUDWATCH_ENABLED
否
确定 Amazon Kinesis Video Streams Video Streams Edge Agent 是否会将作业运行状况指标 Amazon CloudWatch发布到上。
可接受的值:
TRUE
/FALSE
(不区分大小写)。FALSE
如果未提供,则默认为。示例:FALSE
AWS_KVS_EDGE_LOG_LEVEL
否
亚马逊 Kinesis Video Streams Video Streams Edge Agent 输出的记录级别。
可接受的值:
-
OFF
-
ALL
-
FATAL
-
ERROR
-
WARN
-
INFO,默认(如果未提供)
-
DEBUG
-
TRACE
示例:
INFO
AWS_KVS_EDGE_LOG_MAX_FILE_SIZE
否
一旦日志文件达到此大小,就会发生翻转。
-
最小:0
-
最大:10000
-
默认值:20(如果未提供)
-
单位:兆字节 (MB)
示例:5
AWS_KVS_EDGE_LOG_OUTPUT_DIRECTORY
否
指向输出 Amazon Kinesis Video Streams Edge Agent 日志的目录的文件路径。
./log
如果未提供,则默认为。示例:
/
file
/path
/AWS_KVS_EDGE_LOG_ROLLOVER_COUNT
否
删除前要保留的翻转日志的数量。
-
最小:1
-
最大值:100
-
默认值:10(如果未提供)
示例:20
AWS_KVS_EDGE_RECORDING_DIRECTORY
否
指向录制媒体将被写入的目录的文件路径。如果未提供,则默认为当前目录。
示例:
/
file
/path
/GST_DEBUG
否
指定要输出的GStreamer日志级别。有关更多信息,请参阅GStreamer文档
。 示例:0
GST_DEBUG_FILE
否
指定调GStreamer试日志的输出文件。如果未设置,则调试日志将输出为标准错误。有关更多信息,请参阅GStreamer文档
。 示例:
/
tmp
/gstreamer-logging
.log -
-
清除GStreamer缓存。类型:
rm ~/.cache/gstreamer-1.0/registry.
your-os-architecture
.bin有关更多信息,请参阅GStreamer注册表文档
。 -
准备并运行 java 命令。亚马逊 Kinesis Video Streams Edge Agent 接受以下参数:
Java 属性名称 必需 描述 java.library.path
否
指向包含
gstkvssink
和IngestorPipelineJNI
依赖库的文件夹的文件路径。如果未提供,Amazon Kinesis Video Streams Edge Agent 将在当前目录中搜索它们。重要
如果 Amazon Kinesis Video Streams Edge Agent 找不到这些文件,它将无法正常运行。
示例:
/
file
/path
/要设置这些,请
-D
添加到用于运行 jar 的 java 命令中。java-property-name
=value
例如:
java -Djava.library.path=/
download-location
/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
\ --add-opens java.base/jdk.internal.misc=ALL-UNNAMED \ -Dio.netty.tryReflectionSetAccessible=true \ -cp kvs-edge-agent.jar:libs.jar \ com.amazonaws.kinesisvideo.edge.controller.ControllerApp重要
在与相同的目录中运行上面的 java 命令
/
。download-location
/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
-
使用向应用程序发送配置 AWS CLI。
-
创建一个新文件,
。example-edge-configuration
.json将以下代码粘贴到该文件中。这是一个配置示例,每天从上午 9:00:00 到下午 4:59:59(根据设备上的系统时间)进行记录。 AWS IoT 它还会在每天晚上 7:00:00 至晚上 9:59:59 上传录制的媒体。
有关更多信息,请参阅 StartEdgeConfigurationUpdate。
{ "StreamARN": "arn:aws:kinesisvideo:
your-region
:your-account-id
:stream/your-stream
/0123456789012
", "EdgeConfig": { "HubDeviceArn": "arn:aws:iot:your-region
:your-account-id
:thing/kvs-edge-agent-demo
", "RecorderConfig": { "MediaSourceConfig": { "MediaUriSecretArn": "arn:aws:secretsmanager:your-region
:your-account-id
:secret:your-secret
-dRbHJQ
", "MediaUriType": "RTSP_URI" }, "ScheduleConfig": { "ScheduleExpression": "0 0 9,10,11,12,13,14,15,16 ? * * *", "DurationInSeconds": 3599 } }, "UploaderConfig": { "ScheduleConfig": { "ScheduleExpression": "0 0 19,20,21 ? * * *", "DurationInSeconds": 3599 } }, "DeletionConfig": { "EdgeRetentionInHours": 15, "LocalSizeConfig": { "MaxLocalMediaSizeInMB": 2800, "StrategyOnFullSize": "DELETE_OLDEST_MEDIA" }, "DeleteAfterUpload": true } } } -
要将文件发送到亚马逊 Kinesis Video Streams Edge Agent,请在中 AWS CLI键入以下内容:
aws kinesisvideo start-edge-configuration-update --cli-input-json "file://
example-edge-configuration
.json"
-
-
对亚马逊 Kinesis Video Streams Edge Agent 的每个直播重复上述步骤。