我正在使用REST API
编写简单的Flask
,它会读取上传的视频并返回一些JSON
。视频通过POST请求作为文件发送,内容类型为application/x-www-form-urlencoded
。
我想使用opencv
处理它,但我不知道如何从原始二进制字符串中读取它。
我想出的唯一解决方案是将视频保存到文件并使用opencv VideoCapture
类读取它。但是我想避免IO操作,因为我认为它会减慢我的API。
所以我的问题是:
如何将视频从原始字节表示转换为opencv
表示(numpy数组列表)?
答案 0 :(得分:1)
如果您将视频作为文件上传到服务器,那么听起来您已将其保存到文件中 - 在这种情况下,只是从文件中读取它可能效率不高。
视频通常太大而无法容纳在内存中,所以无论如何,它可能会以某种方式进入磁盘并返回。
如果您的意思是您希望openCV程序直接接受流式视频,请执行处理,然后执行下一步操作(例如保存到文件,显示,流式传输到其他地方),然后通常最容易流式传输视频到OpenCV程序,如果可能,并使用OpenCV直接读取流:
(get-date).ToString('yymmddhhmmssfff')