我使用这个片段号并调用get_media_for_fragment_list
上面的调用返回一个称为有效载荷的键作为响应。
我一直试图以某种方式把这个有效载荷渲染成一个图像。
def getFrameFromFragment(fragment):
client = boto3.client('kinesis-video-archived-media',endpoint_url=data_endpoint_for_kvs)
response = client.get_media_for_fragment_list(
StreamName='kvs1',
Fragments=[
fragment,
]
)
payload = response['Payload']
print(payload.read())
如果我的问题陈述是错误的或没有意义的,请随时问我更多关于这个问题的问题。
谢谢你的帮助。:)
使用以下代码接收有效载荷后,
kvs_stream = kvs_video_client.get_media(
StreamARN="ARN",
StartSelector=
{'StartSelectorType':'FRAGMENT_NUMBER',
'AfterFragmentNumber': decoded_json_from_stream['InputInformation']['KinesisVideo']['FragmentNumber']
}
)
您可以使用,
frame = kvs_stream['Payload'].read()
接收以从有效负载获取帧。现在,您可以打开一个mvi文件并将这个框架写入其中,然后使用openCV从这个mvi文件中提取一个特定的框架。
with open('/tmp/stream.avi', 'wb') as f:
f.write(frame)
cap = cv2.VideoCapture(file.mvi)
#use frame for further processing
我会考虑不要将与其他解决方案一起使用以满足上述需求的建议。
我使用aws lambda处理帧,它生成png图像序列作为输出。我想把这些处理过的帧推送到amzaon Kinesis-video-stream。用Java怎么做?
问题内容: 我是OpenCV的初学者。我想对要上传到服务器的视频帧进行一些图像处理。我只想读取可用的框架并将它们写入目录中。然后,等待视频的另一部分上载并将帧写入目录。并且,我应该等待每个帧都完全上传,然后将其写入文件。 您能告诉我如何使用OpenCV(Python)吗? 编辑1: 我编写了这段代码,用于从文件中捕获视频,而新数据将附加在文件末尾。换句话说,该文件不是完整的视频,并且另一个程序正在
我在用Kinesis和Lambda。使用SageMakerendpointfor ML处理Kinesis视频流,将输出数据写入Kinesis数据流,然后用lambda处理输出数据。如果发生特定情况,我需要可视化该帧并发送图像数据,然而,我无法检索该帧。我有片段和框架元数据,例如: 有没有一种方法可以使用Python从Kinesis视频流中通过fragmentNumberString获得图像?
下面是我的代码: 所以问题是调用!当没有框架时,它将返回!而且它不会再捕捉帧了,即使我等了很长时间。
我正在尝试将过滤器(如Instagram的过滤器)应用于现有视频。 我使用GLSURFACHEVIEW显示视频帧,并希望通过对传入帧应用特定过滤器,使用onDrawFrame()渲染每个帧。 但是在onDrawFrame()中,如何获取传入帧? 谢谢