J'essaie de restituer une pageHTML
qui affiche un flux vidéo provenant d'une webcam. Cependant, je suis confronté à l'erreur suivante :
500 Server Error TypeError: TemplateResponse() missing 1 required positional argument: 'context'
Mon application FastAPI :
from fastapi import FastAPI import uvicorn from fastapi import Depends, FastAPI from fastapi import FastAPI, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates import cv2 app = FastAPI(debug=True) templates = Jinja2Templates(directory="templates") @app.get("/") async def index(): return templates.TemplateResponse("index.html") async def gen_frames(camera_id): cap= cv2.VideoCapture(0) while True: # for cap in caps: # # Capture frame-by-frame success, frame = cap.read() # read the camera frame if not success: break else: ret, buffer = cv2.imencode('.jpg', frame) frame = buffer.tobytes() yield (b'--framern'b'Content-Type: image/jpegrnrn' + frame + b'rn') if __name__ == '__main__': uvicorn.run(app, host="127.0.0.1",port=8000)
Ma page HTML (index.html) :
Multiple Live Streaming Multiple Live Streaming
Tracback :
Vous devez transmettre la demande lorsque vous utilisez des modèles.
Vous pouvez donc également utiliserStreamingResponse
Ensuite, utilisez Ajax ou Axios etc. pour obtenir la réponse.