我有一个API,它在POST请求中接收视频文件 - funny_video
,如下所示:
@app.route('/myapi/version/videos', methods=['GET', 'POST'])
def process_video():
if request.method == 'POST':
funny_video = request.files['funny_video']
我想将该视频分成帧和处理帧,为此我遇到了两种不同的方式:
使用 OpenCV :
vid_cap = cv2.VideoCapture("/some/file/path/funny_video.mov")
success, frame = vid_cap.read()
# .. and so on
使用 PyAV :
container = av.open("/some/file/path/funny_video.mov")
for frame in container.decode(video=0):
print('Start processing frame ..')
所以我的问题是,有什么方法可以直接将funny_video
传递给OpenCV或PyAV并使用它或以任何其他方式不要求我先保存{{ 1}}到funny_video
?
我使用的是OpenCV版本2.4.9.1,PyAV版本0.3.3和Python版本2.7.12。 (稍后,将升级到最新版本的Python和OpenCV,因此围绕这些版本的任何解决方案也应该没问题!)
谢谢!