Stream Reader

Dieser Funktionsblock spielt Netzwerkstreams (YouTube, Twitch, HTTP/RTSP und ähnliche) im Hintergrund ab und hält das jeweils neueste Frame bereit, damit andere Blöcke es verwenden können. Er ist für kontinuierliche Stream-Vorschauen und nachgelagerte Verarbeitung ausgelegt und bietet Steuerungen für Wiedergabegeschwindigkeit, gewünschte Qualität und Begrenzung der Bildrate.

📥 Eingänge

Dieser Funktionsblock hat keine Eingänge.

📤 Ausgänge

Image Any Das jeweils zuletzt aus der konfigurierten Quelle abgerufene Frame (wird aktualisiert, während der Stream läuft).

🕹️ Steuerungen

Status Zeigt den aktuellen Zustand und hilfreiche Meldungen an (z. B. waiting, connecting, live, paused, reconnecting).

Stream URL Geben Sie die Stream-Adresse oder den Link ein, den Sie abspielen möchten (Beispiele: öffentliche Live-Links, HTTP-Livestreams oder Anbieterlinks).

Playback speed Passt die Wiedergabegeschwindigkeit an (im UI angezeigter Bereich). Verwenden Sie Werte unter 1.0 für Zeitlupe oder über 1.0 für schnellere Wiedergabe.

Preferred quality Fordert eine bevorzugte Stream-Qualität an, wenn mehrere Renditionen verfügbar sind (z. B. Best, 1080p, 720p).

FPS limit Begrenzt die ausgehende Bildrate, die dieser Block erzeugt. Auf 0 setzen, um die native Bildrate der Quelle zu verwenden.

Pause playback Ein/Aus-Schalter zum Pausieren/Fortsetzen des Streams, ohne die Verbindung zu schließen.

🎨 Funktionen

  • Hintergrund-Streaming: Spielt entfernte Streams in einem Hintergrundprozess ab, sodass die UI reaktionsfähig bleibt und das neueste Frame verfügbar gehalten wird.

  • Robuste Verbindungsbehandlung: Zeigt klare Statusmeldungen (connecting, live, paused, reconnecting) und versucht, vorübergehende Fehler zu beheben.

  • Wiedergabesteuerung: Steuerung der Wiedergabegeschwindigkeit und Anforderung einer bestimmten Rendition, sofern verfügbar.

  • Begrenzung der Bildrate: Reduziert die Last downstream, indem die FPS begrenzt werden.

  • Optionales Remote-Frame-Upload: Bei Konfiguration können erfasste Frames an einen Remote-Uploader für Speicherung oder Protokollierung gesendet werden.

  • Pausieren ohne Verlust des letzten Frames: Beim Pausieren bleibt das letzte Frame zur Inspektion oder Verarbeitung erhalten.

📝 Nutzungshinweise

  1. Geben Sie einen Streaming-Link in Stream URL ein.

  2. Passen Sie Preferred quality an, wenn Sie eine bestimmte Rendition wünschen.

  3. Stellen Sie Playback speed und FPS limit ein, um zu steuern, wie der Stream an nachgelagerte Blöcke geliefert wird.

  4. Verwenden Sie Pause playback, um Frame-Updates vorübergehend anzuhalten, während die Verbindung bestehen bleibt.

  5. Verbinden Sie den Ausgang dieses Blocks Image Any mit Visualisierungs- oder Verarbeitungsblöcken, um Live-Frames zu konsumieren.

📊 Bewertung

Wenn aktiv, holt dieser Funktionsblock kontinuierlich Frames aus dem konfigurierten Stream und liefert das aktuellste Frame über den Ausgang Image Any. Die Statusmeldungen werden aktualisiert, um den Verbindungszustand widerzuspiegeln. Bei Pausierung stoppen die Frame-Updates, das letzte Frame bleibt jedoch verfügbar.

💡 Tipps und Tricks

  • Um den Live-Stream interaktiv zu betrachten, verbinden Sie den Ausgang Image Any mit dem Show Image-Block, damit Sie den Image Viewer öffnen und Frames inspizieren können.

  • Reduzieren Sie CPU-/GPU-Last, indem Sie Image Any vor rechenintensiven KI-Blöcken (z. B. Object Detection (D-FINE), Mask Detection, Pose Estimation) an einen Image Resizer-Block anschließen.

  • Für Langzeitaufnahmen oder Debugging leiten Sie den Ausgang an Record Video, Image Logger oder Image Write weiter.

  • Verwenden Sie Background Subtractor auf dem Stream-Output, um Bewegung zu erkennen oder Vordergrundregionen für nachgelagerte Detektoren (z. B. Object Detection - Custom) zu extrahieren.

  • Wenn Sie sich auf einen bestimmten Bereich der Szene konzentrieren müssen, nutzen Sie Image ROI, Image ROI Select oder Image ROI Polygon vor Erkennungs- oder Messblöcken (wie Find Object oder Histogram On Line).

  • Kombinieren Sie mit Object_Detection_Tracker und Draw Detections, um erkannte Objekte über Frames hinweg zu verfolgen und zu visualisieren.

  • Für OCR in Live-Streams verbinden Sie den Ausgang nach geeigneter Beschneidung (Image ROI Select) und Bildverbesserung (Contrast Optimization oder Denoising) mit OCR oder OCR (EasyOCR).

  • Wenn die Stream-Quelle groß oder instabil ist, versuchen Sie, die FPS limit zu senken oder die Preferred quality zu reduzieren, um die Stabilität zu verbessern und Bandbreite zu sparen.

🛠️ Fehlersuche

  • Wenn der Status "Waiting for stream link" anzeigt, stellen Sie sicher, dass Stream URL eine vollständige URL einschließlich Schema enthält (z. B. http://, https://, rtsp://).

  • Wenn die Verbindung fehlschlägt oder häufig neu verbindet, versuchen Sie, die angeforderte Qualität zu verringern oder das FPS-Limit zu reduzieren, um Bandbreite und Verarbeitungslast zu senken.

  • Wenn Frames nicht mehr aktualisiert werden, obwohl der Status "live" anzeigt, schalten Sie Pause playback aus und wieder ein, um eine Aktualisierung zu erzwingen.

  • Um Verbindungsfehler zu debuggen, überwachen Sie das Status-Label des Blocks auf Texthinweise zum Verbindungsfortschritt oder Fehlern.

Zuletzt aktualisiert