我创建了一个使用 React JS 作为前端的应用程序,并希望将网络摄像头捕获的视频发送到我的 Flask 后端服务器,作为响应,它会发回一个音频文件。我是 JS 的菜鸟,因此几乎不知道如何去做。
handleDownload = () => {
const { recordedChunks } = this.state;
if (recordedChunks.length) {
const blob = new Blob(recordedChunks, {
type: "video/webm"
});
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = "react-webcam-stream-capture.webm";
a.click();
window.URL.revokeObjectURL(url);
this.setState({ recordedChunks: [] });
}
}
这就是我下载 blob 文件的方式。
from flask import Flask
from werkzeug.wrappers import request
import cv2
app = Flask(__name__)
@app.route('/video_record',methods = ['POST'])
def save_video():
file = request.form['file']
try:
read_video_file(file[0])
return "***Video Read***"
except:
title = request.form['title']
print(title)
return "Request received and responded"
def read_video_file(video_from_post):
cap = cv2.VideoCapture(video_from_post)
if (cap.isOpened()==False):
return "Error"
@app.route('/',methods=['GET'])
def home():
return {"msg":"Hello World"}
if __name__ ==' __main__':
app.run(debug=True,port=8000)