问题标签 [amazon-kinesis-video-streams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
169 浏览

python - 如何减少“AWS Kinesis Video Stream(kvs) -> gstreamer+opencv image processing -> kvs”过程中的 gstreamer 管道延迟?

我创建了如下图所示的图像处理管道,并希望减少整个管道延迟;

我在 MacBook 中运行如下命令;(vtenc_h264_hw比 快 8 秒左右x264enc

Kinesis 视频流 (KVS) 管理控制台 ( test-instream) 中生成的视频如下;

https://youtu.be/hg13YG7vgHw

大约有 2 秒的延迟。

在服务器端,我g4dn.xlarge使用下面的 python 代码处理了 AWS 实例中的流;

some_image_process设置标志时花了 0.04 秒,gpu设置标志时True花了 0.8 秒。gpuFalse

Kinesis 视频流管理控制台 ( test-outstream) 中生成的视频如下;

使用 GPU 的延迟约为 40 秒,没有 GPU 的延迟约为 25 秒。奇怪的是CPU处理速度更快。这可能是因为使用 GPU 时调用cap.read()过多。错误消息Could not read complete segment.说明了这一点。

我想让这个管道近乎实时地工作。是否有可能使这条管道更快?

我正在尝试使用 NVIDIA deepstreamer 减少编码/解码时间。还有其他选择吗?我阅读了 AWS 的常见问题解答。Q: How do I think about latency in Amazon Kinesis Video Streams?

https://aws.amazon.com/kinesis/video-streams/faqs/?nc1=h_ls

还是应该将 KVS 流拆分为如下图所示的图像?

https://speakerdeck.com/toshitanian/amazon-kinesis-video-streams-x-deep-learning?slide=23

0 投票
0 回答
44 浏览

amazon-web-services - 在 ECS Fargate(Kinesis 视频流)上使用 GStreamer kvssink

我想使用 Fargate 设置一个 ECS 任务,将视频从*.m3u8端点流式传输到 Kinesis Video Stream,我的理解是使用 GStreamer kvssink 插件可以最好地实现这一点。

文档说要使用 kvssink,我需要提供一个andaccess-keysecret-key提供一个credential-path.

我觉得我应该能够从容器中获取适当的凭据,但我不完全确定在哪里。在这种情况下获取凭据并将其传递给 kvssink 的正确方法是什么?

如果流仍在运行,我也不确定当凭据过期时会发生什么。我是否需要每隔一小时左右重新启动一次流,或者我可以将轮换凭据传递给 kvssink(如果需要的话如何)?GitHub 上的文档提到了 Sample Rotating Credentials 文件,但我实际上在存储库中的任何地方都看不到该示例。

0 投票
0 回答
51 浏览

amazon-kinesis - 我可以将 Kinesis Video Stream Signaling 通道发送到 KVS Video Stream 吗?

使用本教程https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-js.html通过 WebRTC 流式传输 非常简单。我正在尝试确定是否可以将流从 Kinesis Video Stream Signaling 通道发送到 KVS Video Stream?我需要 KVS 视频流,因为我需要使用 Amazon Rekognition 实现人脸识别。

谢谢

0 投票
1 回答
62 浏览

amazon-web-services - 如何在前端使用 AWS WebRTC 签名的 url?

aws存储库https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js提供后端代码以生成预签名的 url。

我能够记录它,它看起来像这样(通过添加/删除一些字符来修改以避免误用):

我无法理解如何在前端使用它来查看视频流。我遇到了其他寻求示例的评论,但没有回复:

如何在不提供凭据的情况下在浏览器中使用 Kinesis Video Stream WebRTC SDK?

有没有人能够使用它?

0 投票
0 回答
56 浏览

amazon-web-services - 如何从本地设备网络摄像头(如笔记本电脑或 PC)录制和流式传输视频并将该视频存储在 AWS S3 中?

我目前正在使用 ReactJS 开发一个 Web 应用程序,用户可以在其中记录与他的网络摄像头的会话并将其流式传输到 AWS 基础设施。我遇到了带有 WebRTC 的 Amazon Kinesis Video Streams。通过创建 SignalingChannel,用户可以将该数据流式传输到 AWS 主模型和查看器模型。

但我想将用户的会话存储在 AWS S3 等持久存储中。以便审阅者稍后可以审阅该会话。

想知道我使用 AWS KVS 是否正确?将视频存储在 S3 上的可能步骤是什么?

0 投票
1 回答
30 浏览

amazon-kinesis - 无法从 kinesis 下载视频剪辑

我正在使用下面的代码来下载剪辑。我已成功收到回复,我正在尝试下载视频,但我无法下载。

0 投票
1 回答
84 浏览

java - 如何连接从 Java 中的 Kinesis Video Stream 获取的剪辑

我正在使用 AWS Kinesis Video Stream 服务来获取我的视频记录。因此,由于 Kinesis Video Stream 片段限制,事实证明我一次请求最多只能检索约 30 分钟的视频。我打算检索一个 2 小时的视频。

所以我循环请求并将所有 4 个响应放入 List 中InputStream,然后我将它们变成SequenceInputStream,因为我试图将它们全部链接在一起。

但是,当我成功将它们上传到 S3 存储桶并尝试从那里下载时。它显示我文件已损坏。我研究过,SequenceInputStream但似乎我的设计还可以。

此外,如果我延长我的视频长度,假设我有 24 InputStream,并且我将它们全部链接到一个SequenceInputStream,它将SSL Socket Exception: Connection Reset在我readAllBytes对序列输入流运行操作时遇到 。

有什么方法可以实现我想要的或我的代码中的错误导致这种情况?

这是我的源代码:

编辑:我遇到了几个名为Xugglerand的包FFMPEG,但是他们中的大多数都是从磁盘(有路径)获取视频文件,但就我而言,没有任何视频文件,因为我没有将它们下载到本地,他们仅存在于运行时,将在连接后稍后上传到 S3。

感谢任何帮助!谢谢!

0 投票
0 回答
27 浏览

amazon-web-services - 安装 AWS Kinesis 视频流 sdk 时没有此类元素或插件“kvssink”

尝试从此 repo 安装 kinesis 视频流 C++ sdk:https ://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp

执行自述文件中提到的以下命令后出现错误。

构建目录内容

我在构建时没有遇到任何错误。有一些警告,但似乎共享对象已创建。但我仍然得到

No such element or plugin 'kvssink'执行后gst-inspect-1.0 kvssink

并且cmake版本是3.22.1

0 投票
0 回答
8 浏览

node.js - Kinesis NodeJS SDK 兑现承诺

我正在尝试使用 Kinesis NodeJS SDK,但是当我尝试创建或描述通道时,请求挂起且没有错误。

这是代码:

控制台中根本没有日志。凭据没问题(我检查了多次)。

知道如何解决这个问题吗?

0 投票
2 回答
84 浏览

reactjs - 如何以 AWS Kinesis 为 Master 启动 WebRTC 调用

我正在尝试使用 AWS Kinesis 启动 WebRTC 呼叫,但AWS Kinesis Javascript 文档上的演示仅显示了如何以查看者而不是 MASTER 的身份加入呼叫。

我在网上的任何地方都找不到一个明确的例子,我和我的队友花了几个小时来研究它。

我可以看到和听到自己的声音,所以我知道我的硬件工作正常,但我们看不到或听到对方的声音。我知道这将是一件简单的事情,但我就是不知道我在哪里连接错误。