后端部分:
from flask import Flask
from flask_socketio import SocketIO
import cv2
import base64
import time
app = Flask(__name__)
socketio = SocketIO(app, cors_allowed_origins="*")
def video_stream():
video = cv2.VideoCapture('you.mp4')
while True:
success, frame = video.read()
if not success:
break # 视频结束或出错则退出循环
# 将帧编码为JPEG格式
ret, buffer = cv2.imencode('.jpg', frame)
if not ret:
continue # 编码失败,则跳过此帧
# 将编码后的帧转换为Base64字符串
frame_base64 = base64.b64encode(buffer).decode('utf-8')
# 发送图像帧数据
socketio