4

我知道这可能是一个相对笼统的问题,但我想看看我如何才能指出正确的方向......

我正在尝试使用 AWS Rekognition 构建一个实时人脸识别应用程序。我对 API 非常满意,并且使用上传到 S3 的静态图像来执行面部识别。但是,我正在尝试找到一种将实时数据流式传输到 Rekognition 的方法。在阅读了亚马逊提供的各种文章和文档后,我找到了这个过程,但似乎无法克服一个障碍。

根据文档,我可以使用 Kinesis 来完成此操作。看起来很简单:创建一个 Kinesis 视频流,并通过 Rekognition 处理该流。生产者将流数据生成到 Kinesis 流中,我很高兴。

我的问题是制片人。我发现 AWS 有一个可用的 Java Producer 库(https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-javaapi.html)。太好了...看起来很简单,但现在我如何使用该生产者从我的网络摄像头捕获流,并将字节发送到 Kinesis?AWS 提供的示例代码实际上使用了目录中的静态图像,没有任何代码可以将其与网络摄像头等实际实时源集成。

理想情况下,我可以将我的相机加载为输入源并开始流式传输。但我似乎找不到任何有关如何执行此操作的文档。

任何帮助或指导将不胜感激。

4

2 回答 2

4

您可以使用GStreamer 示例应用程序,该应用程序使用网络摄像头或连接到您机器的任何摄像头作为输入,将视频摄取到 Kinesis Video Streams。目前,示例应用程序可以在 Mac、Ubuntu 或 Raspberry Pi 中执行。您还可以使用Android 示例应用程序从 Android 设备提取视频。

此外,对于 AWS Rekognition 与 Kinesis Video Streams 的集成,请查看Consumer Parser 库中发布的示例。此示例展示了如何摄取视频文件(您可以将其替换为上面的 GStreamer 示例应用程序等实时生成器)、检索数据、解析 MKV、解码 H264 帧、与 Rekognition JSON 输出集成以及在视频中检测到的面部上绘制边界框框架。

于 2018-05-21T04:14:59.187 回答
3

目前,要将 AWS Rekogniton 与直播摄像头一起使用,您必须设置 AWS kinesis 视频流和 AWS kinesis 数据流,如下所述: https ://docs.aws.amazon.com/rekognition/latest/dg/recognize-faces -in-a-video-stream.html

之后,您必须使用 API:PutMedia 将直播帧发送到 AWS Kinesis 视频流。然后 AWS Rekognition 将其用作输入,处理后,输出将发送到 AWS Kinesis Data 流。因此,您将从 AWS Kinesis Data 流中获取结果。

所有步骤都非常简单,但使用 PutMedia API 可能会遇到一些问题。现在,我找不到任何文档来实现它,但您可以使用此源代码作为参考。它使用 MediaSource 而不是 PutMedia 从您的网络摄像头/usb_cam 创建实时流媒体视频。您可以从它开始并进行一些更改以使用 PutMedia 而不是 MediaSource。 https://github.com/backdoorcodr/amazon-kinesis-video-streams-producer-sdk-java

我也在做同样的事情,但这需要时间,因为我只是一个 java 新手。希望它可以提供帮助。

于 2018-06-03T04:26:02.300 回答