从字节中将视频保存在python中

时间:2019-09-10 07:06:59

标签: python rest opencv

我有2个微服务, A 用Java编写,并以 bytes [] 的形式将视频发送到 B 在python中。

B 正在使用openCV对视频进行一些处理,尤其是此命令

 stream = cv2.VideoCapture(video)

该命令在由流媒体或本地视频提供时可以正常工作,但是当我给它发送我发送给我的 request.data 时,该命令说

  

TypeError:必须为整数(获取类型字节)

所以我的问题是:

有什么方法可以将视频从我从Java接收到的字节保存到磁盘,还是可以将字节提供给 cv2.capture

谢谢。

2 个答案:

答案 0 :(得分:1)

对您自己的解决方案进行了一点改进:即使发生意外情况,使用with上下文管理器也会为您关闭文件:

FILE_OUTPUT = 'output.avi'

# Checks and deletes the output file
# You cant have a existing file or it will through an error
if os.path.isfile(FILE_OUTPUT):
    os.remove(FILE_OUTPUT)

# opens the file 'output.avi' which is accessable as 'out_file'
with open(FILE_OUTPUT, "wb") as out_file:  # open for [w]riting as [b]inary
    out_file.write(request.data)

答案 1 :(得分:0)

我这样解决了我的问题:

FILE_OUTPUT = 'output.avi'

# Checks and deletes the output file
# You cant have a existing file or it will through an error
if os.path.isfile(FILE_OUTPUT):
    os.remove(FILE_OUTPUT)

out_file = open(FILE_OUTPUT, "wb") # open for [w]riting as [b]inary
out_file.write(request.data)
out_file.close()