FastAPI et OpenCV : alimenter des applications de streaming vidéo de pointe
P粉986937457
P粉986937457 2023-10-26 19:57:54
0
1
661

J'essaie de restituer une pageHTMLqui 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 :

P粉986937457
P粉986937457

répondre à tous (1)
P粉884548619

Vous devez transmettre la demande lorsque vous utilisez des modèles.

from fastapi import Request @app.get("/") async def index(request: Request): return templates.TemplateResponse("index.html", {"request": request})

Vous pouvez donc également utiliserStreamingResponse

from fastapi.responses import StreamingResponse @app.get("/serve/{camera_id}", include_in_schema=False) async def serve_video(camera_id: int): return StreamingResponse(gen_frames(camera_id))

Ensuite, utilisez Ajax ou Axios etc. pour obtenir la réponse.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!