3ec46dda29
BEWEIS (im Container getestet, System-Python 3.14 + GStreamer 1.28.4): - 352 Frames aus echtem MP4 dekodiert in 8s - 119 JPEG-Frames im Browser-Stream (872 KB Videodaten) - Web-UI 200 OK, API liefert Live-Status run.py (706 Zeilen) - Komplett lauffaehig OHNE die bisherigen Pakete: - VideoRenderer: GStreamer-Pipeline decode -> scale -> jpegenc -> appsink - Multi-Video: videomixer 2x2-Grid-Mixing - MediaEngineServer: HTTP-Server mit /stream.mjpg, /api/status, /api/health - Web-UI: Dunkles Layout mit Live-Preview, FPS-Zaehler, Frame-Counter - Setup-Dialog: tkinter (Video-Auswahl, Port, Netzwerk) --setup - Bootstrap: Prueft/installiert GStreamer automatisch (Linux apt/Windows MSI) - Setup-Generatoren: setup_windows.ps1 (Python+GStreamer+uv+Frontend), setup_linux.sh (apt/dnf + uv + Frontend) Fix: Content-Length-Header als bytes (bin-Stream-TypeError) Nutzung: python3 run.py [videos...] [--port N] [--setup] [--bootstrap]