如何从 aws Kinesis 实时流视频中生成带有检测到的人脸的帧?

How generate frame with detected face from aws Kinesis real-time streaming video?

我正在研究 Kinesis 实时流视频 POC。

我可以将视频从 android 应用流式传输到视频流,并调用 python boto3 api ('get_records') 进行人脸检测。

检测到人脸并得到 api 的响应。

"InputInformation": {
            "KinesisVideo": {
                "StreamArn": "arn:aws:kinesisvideo:<video-stream>",
                "FragmentNumber": "913..",
                "ServerTimestamp": 1.5234201234E9,
                "ProducerTimestamp": 1.523420130123E9,
                "FrameOffsetInSeconds": 0.6769999861718424
            }
        },
        "StreamProcessorInformation": {
            "Status": "RUNNING"
        },
        "FaceSearchResponse": [{
            "DetectedFace": {
                "BoundingBox": {
                    "Height": 0.41025642,
                    "Width": 0.30769232,
                    "Left": 0.45673078,
                    "Top": 0.23397435
                },
                "Confidence": 99.99998, ........

问题: 如何通过突出显示从此数据流输出中检测到的面部(通过引用视频流数据)来生成帧?

我没有在 aws 参考页面中找到任何示例或文档来创建框架并将其存储为带有面部突出显示的 jpeg 图像。

java / python api 中的任何示例 help/pointer 从视频流生成帧?

没有自动工具可以根据检测到的面孔修改视频数据。您需要编写一个应用程序:

  • 从 Amazon Kinesis Video 检索帧
  • 从 Amazon Rekognition Video 生成的 Amazon Kinesis Stream 中检索记录
  • 将您自己的矩形添加到框架中(例如使用 ImageMagick 或 OpenCV)

对于 AWS Rekognition 与 Kinesis Video Streams 的集成,请查看 KinesisVideoRekognitionIntegrationExample published in the Consumer Parser library. This example shows how to ingest video file (which you can replace with real-time producer like GStreamer sample application),检索数据,解析 MKV,使用 JCodec 解码 H264 帧,与 Rekognition JSON 输出集成并绘制边界框在使用 JFrame 检测到的面部上。