从字节读取视频

时间:2017-10-08 21:20:31

标签: python opencv numpy video

我正在使用REST API编写简单的Flask,它会读取上传的视频并返回一些JSON。视频通过POST请求作为文件发送,内容类型为application/x-www-form-urlencoded

我想使用opencv处理它,但我不知道如何从原始二进制字符串中读取它。 我想出的唯一解决方案是将视频保存到文件并使用opencv VideoCapture类读取它。但是我想避免IO操作,因为我认为它会减慢我的API。

所以我的问题是:

如何将视频从原始字节表示转换为opencv表示(numpy数组列表)?

1 个答案:

答案 0 :(得分:1)

如果您将视频作为文件上传到服务器,那么听起来您已将其保存到文件中 - 在这种情况下,只是从文件中读取它可能效率不高。

视频通常太大而无法容纳在内存中,所以无论如何,它可能会以某种方式进入磁盘并返回。

如果您的意思是您希望openCV程序直接接受流式视频,请执行处理,然后执行下一步操作(例如保存到文件,显示,流式传输到其他地方),然后通常最容易流式传输视频到OpenCV程序,如果可能,并使用OpenCV直接读取流:

 (get-date).ToString('yymmddhhmmssfff')