我有2个微服务, A 用Java编写,并以 bytes [] 的形式将视频发送到 B 在python中。
B 正在使用openCV对视频进行一些处理,尤其是此命令
stream = cv2.VideoCapture(video)
该命令在由流媒体或本地视频提供时可以正常工作,但是当我给它发送我发送给我的 request.data 时,该命令说
TypeError:必须为整数(获取类型字节)
所以我的问题是:
有什么方法可以将视频从我从Java接收到的字节保存到磁盘,还是可以将字节提供给 cv2.capture ?
谢谢。
答案 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()