当前位置: 首页 > 知识库问答 >
问题:

Kinesis视频流异步获取帧

东郭宏朗
2023-03-14
import asyncio

import aiobotocore

VIDEO_STREAM_NAME = 'bc-test1'


async def get_data2(loop):
    chunk_size = 1024 * 1024 * 500
    session = aiobotocore.get_session(loop=loop)
    async with session.create_client('kinesisvideo', region_name='us-west-2', ) as client:
        resp = await client.get_data_endpoint(
            StreamName=VIDEO_STREAM_NAME,
            APIName='GET_MEDIA',
        )
        data_url = resp['DataEndpoint']

    async with session.create_client('kinesis-video-media', endpoint_url=data_url) as client:
        resp = await client.get_media(
            StreamName=VIDEO_STREAM_NAME,
            StartSelector={"StartSelectorType": "NOW", },
        )
        print(resp)
        while True:
            data = await resp['Payload'].read(1024 * 8)
            if data:
                print("frame len: %s" % len(frame))
            else:
                print("No data")
                break


def main():
    loop = asyncio.get_event_loop()
    loop.run_until_complete(get_data2(loop))


if __name__ == '__main__':
    main()

我会考虑不要将Asyncio与其他解决方案一起使用以满足上述需求的建议。

共有1个答案

邹杰
2023-03-14

一定要是Python吗?

KinesisVideoStream在Java中有使用流、解析数据和解码视频的示例:https://github.com/aws/amazon-kinesis-video-streams-parser-library

KinesisVideoStream也有工具包:https://aws.amazon.com/blogs/machine-learning/analyse-live-video-at-scale-in-real-time-using-amazon-kinesis-video-streams-and-amazon-sagemaker/它可以用来处理规模上的视频流。

 类似资料:
  • 我试图从覆盆子派流视频使用aws kinesis视频流。我们在Aws站点上使用了C++sdk(https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp) [错误][19-04-2020 19:20:33:859.598 GMT]createKinesisVideoStreamSync():未能创建Kinesis

  • 设置ARN所需的细节,得到一个设置给帧查看器的视频流。然后尝试将Kinesis视频流与Rekognition集成。

  • 我使用aws lambda处理帧,它生成png图像序列作为输出。我想把这些处理过的帧推送到amzaon Kinesis-video-stream。用Java怎么做?

  • 我可以从我的机器发送一个RTSP视频流到亚马逊Kinesis视频流。我想知道是否有可能从一个边缘设备发送多个RTSP视频流(多个生产者)?目前我关注的文档是https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-gstreamer-plugin.html#examples-gstreamer-plugin-docker。

  • 现在,我正在Amazon Kinesis视频流的客户端工作,使用Video.js和HTTP Streaming来显示视频。 然而,在stream server上,每个片段都有一些元数据(仅限文本)(如以下链接:https://aws.amazon.com/about-aws/whats-new/2018/10/kinesis-video-streams-fragment-level-metadat