> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/function-blocks/input-output/image-inputs/video.md).

# Video

Dieser Funktionsblock spielt eine Video-Datei ab und liefert einzelne Frames zur weiteren Verarbeitung. Sie können eine Datei auswählen, den Wiedergabemodus steuern und erhalten zu jedem Frame einen Zeitstempel sowie Informationen zum Loop/Restart.

## 📥 Eingänge

* `Restart`\
  Dieser Eingangs-Socket akzeptiert einen Boolean; wenn `true`, startet die Wiedergabe des Videos von vorne. (Input socket)

## 📤 Ausgänge

* `Image Any`\
  Frame-Bild, das aus dem Video gelesen wurde. (Output socket)
* `Timestamp`\
  Menschlich lesbarer Zeitstempel für den aktuellen Frame innerhalb des Videos. (Output socket)
* `Restarted`\
  Boolean-Flag, das `true` wird, wenn das Video das Ende erreicht und neu startet. (Output socket)

## 🕹️ Controls

* `Select video file`\
  Button zum Auswählen der abzuspielenden Videodatei. (Control)
* `Real-time`\
  Schalter, um die Echtzeit-Wiedergabe ein- oder auszuschalten. Wenn aktiviert, werden Frames so vorgerückt, dass die Wiedergabe der Original-Bildrate des Videos entspricht. (Control)

## 🎨 Features

* Glatte Wiedergabe mit optionaler Real-time-Synchronisation, sodass Frames dem originalen Video-Timing folgen.
* Framegenauer Output mit einem praktischen Zeitstempel-String für jeden Frame.
* Loop-Verhalten und ein Restart-Control zum Zurücksetzen der Wiedergabe auf den Anfang.
* Möglichkeit, Frames zur Vorschau oder zur Weiterverarbeitung an nachgelagerte Blöcke zu senden (z. B. Detections, Logging oder Speicherung).
* Optionale Hintergrund-Frame-Behandlung für Integrationen, die Frames extern hochladen oder protokollieren.

## ⚙️ Ausführungsmechanismus

* Wenn eine Videodatei ausgewählt wird, öffnet der Block diese und bereitet die Wiedergabe vor.
* Ist der `Real-time`-Schalter aktiviert, werden Frames so vorgerückt, dass die Wiedergabegeschwindigkeit der FPS des Quellvideos entspricht. Ist er deaktiviert, werden Frames so schnell wie die Auswertung des Graphen es erlaubt vorgerückt.
* Sendet man `true` an den `Restart`-Eingang, wird die Wiedergabe auf den ersten Frame zurückgesetzt.
* Bei jeder Auswertung liefert der Block das neueste Frame, einen lesbaren Zeitstempel zur Position im Video und einen Boolean, der anzeigt, ob das Video geloopt oder neu gestartet wurde.

## 📝 Nutzungshinweise

1. Klicken Sie auf den `Select video file`-Button und wählen Sie eine unterstützte Videodatei.
2. Schalten Sie `Real-time` ein, wenn die Wiedergabe mit der Originalgeschwindigkeit übereinstimmen soll; schalten Sie ihn aus, um Frames so schnell wie möglich entsprechend der Verarbeitung zu schrittweise voranzutreiben.
3. Optional können Sie `true` an den `Restart`-Eingang senden, um die Wiedergabe zurückzusetzen.
4. Verbinden Sie den `Image Any`-Ausgang mit Visualisierungs- oder Analyseblöcken, um jedes Frame zu verarbeiten.

## 💡 Tipps und Tricks

* Frames zur Entwicklung vorschauen: Verbinden Sie `Image Any` mit `Show Image`, um Frames schnell zu inspizieren.
* Wichtige Frames oder Aufnahmen speichern: Leiten Sie `Image Any` an `Image Logger` oder `Record Video`, um Frames zu speichern oder eine Videodatei zu erzeugen.
* Verarbeitungsaufwand reduzieren: Fügen Sie vor rechenintensiven Analyseblöcken einen `Image Resizer` bzw. `Image Resize`-Block hinzu (z. B. vor `Object Detection` oder `Pose Estimation`), um die Auflösung zu verringern und den Durchsatz zu erhöhen.
* Erkennungsqualität verbessern: Rauschunterdrückung mit `Denoising` vor Modell-basierten Erkennungen kann helfen.
* Background-Subtraction-Workflows: Kombinieren Sie mit `Background Subtractor`, um bewegte Objekte zu erkennen, bevor Sie Ergebnisse an `Object Detection` oder `Blob Detector` senden.
* Bereichsbegrenzte Verarbeitung: Verwenden Sie `Image ROI Select` oder `Image ROI`, um Interessebereiche zuzuschneiden und anschließend `Find Object`, `Mask Detection` oder OCR-Blöcke gezielt einzusetzen.
* Tracking und Analysen: Paaren Sie `Object Detection` (oder `Object Detection - Custom`) mit `Object_Detection_Tracker`, um Erkennungen über Frames hinweg zu verfolgen, und nutzen Sie den Tracker-Output für Analyse-Blöcke wie `Traffic Intersection Analysis`.
* Texterkennung: Verwenden Sie `OCR` oder `OCR (EasyOCR)` auf Frames (optional nach Zuschneiden mit `Image ROI Select`), um gedruckte Labels oder Zeitstempel auszulesen.

(Hinweis) Bei langen Videos empfiehlt es sich, während der Konfiguration und Tests `Real-time` auszuschalten, um schneller iterieren zu können; für zeitgetreue Wiedergabe bei finalen Läufen einschalten.

## 🛠️ Fehlersuche

* Es erscheinen keine Frames: Stellen Sie sicher, dass mit `Select video file` eine gültige Videodatei ausgewählt wurde und die Datei zugänglich ist.
* Wiedergabe zu langsam: Wenn `Real-time` aktiviert ist, das System aber nicht mithalten kann, deaktivieren Sie `Real-time` oder reduzieren Sie die Frame-Größe mit `Image Resizer`.
* Video startet unerwartet neu: Das Dateiende setzt die Restart-Flag; verwenden Sie den `Restart`-Eingang, um die Wiedergabe explizit zu steuern.
* Zeitstempel scheinen falsch: Zeitstempel werden relativ zur Videodauer berechnet; prüfen Sie die Metadaten der gewählten Datei oder versuchen Sie eine andere Datei, wenn Werte inkorrekt erscheinen.

Wenn Sie planen, Frames in Cloud- oder Logging-Services zu streamen, kombinieren Sie den Block mit `Image Logger`, `Record Video` oder anderen Export-Blöcken, um Ergebnisse zu persistieren.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.augelab.com/german/function-blocks/input-output/image-inputs/video.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
