> 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/funktionsblocke/blocks-reference/input-output/image-inputs/camera-usb-external.md).

# Camera USB External

Dieser Funktionsblock stellt eine Verbindung zu einer externen USB-Kamera über den Geräteindex her und bietet flexible Steuerungsmöglichkeiten für Auflösung, Belichtung und Live-Frame-Streaming. Er eignet sich für Automatisierungs- und Produktionsumgebungen, in denen Kameraindex, Auflösung und Belichtung von anderen Blöcken oder externen Signalen gesteuert werden.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Activate Signal`\
Verwende dieses Boolean, um das Abrufen von Frames von der ausgewählten Kamera zu starten.

`Release Signal`\
Verwende dieses Boolean, um die Kamera zu stoppen und ihre Ressourcen freizugeben.

`Camera Index`\
Gib einen Integer an, um das Kameragerät auszuwählen (Geräteindex oder gescannte Indexzuordnung).

`Resolution Width`\
Gib einen Integer für die gewünschte Erfassungsbreite an.

`Resolution Height`\
Gib einen Integer für die gewünschte Erfassungshöhe an.

`Scan Cameras`\
Auf true setzen, um angeschlossene USB-Kameras neu zu scannen und die Geräteliste zu aktualisieren.

`Set Exposure`\
Optionaler numerischer Wert, um die manuelle Belichtung der Kamera einzustellen (wenn unterstützt).

`Set Auto Exposure`\
Optionaler numerischer Wert, um den Auto-Exposure-Modus der Kamera einzustellen (wenn unterstützt).

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Camera Frame`\
Der zuletzt aufgenommene Bildframe von der ausgewählten USB-Kamera.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Source / Resolution Info`\
Ein Statuslabel, das die aktuelle Kameraquelle und die aktive Auflösung anzeigt.

Hinweis: Viele Steuerungen sind als Eingangsbuchsen verfügbar, sodass der Block von anderen Blöcken oder UI-Steuerelementen gesteuert werden kann.

## 🎯 Funktionen <a href="#features" id="features"></a>

* Kamerawahl per Geräteindex oder gescannter Listenabbildung, geeignet für Multi-Kamera-Systeme.
* Laufzeitänderung der Auflösung über separate Breiten- und Höhen-Eingänge.
* Manuelle Belichtungs- und Auto-Belichtungssteuerung, sofern Kamera und Plattform dies unterstützen.
* Soft-Restart-Verhalten: Der Block versucht, bei leeren oder fehlerhaften Frames die Kamera automatisch neu zu starten.
* Optionaler Hintergrund-Frame-Uploader (falls im System konfiguriert) zum Streamen von Frames für Remote-Logging oder Analyse.
* Für headless- oder automatisierte Workflows ausgelegt, weil die meisten Einstellungen über Eingänge verfügbar sind.

## ⚙️ Ausführungsmechanismus <a href="#running-mechanism" id="running-mechanism"></a>

* Wenn `Activate Signal` true ist, versucht der Block, Frames über `Camera Frame` bereitzustellen.
* Wenn `Release Signal` true ist, stoppt der Block die Aufnahme und gibt die Kameraressourcen frei.
* Eine Änderung von `Camera Index` veranlasst den Block, das ausgewählte Gerät zu öffnen.
* Die Angabe von `Resolution Width` und `Resolution Height` während des Betriebs versucht, die Erfassungsauflösung zu ändern.
* Die Angabe von `Set Exposure` oder `Set Auto Exposure` versucht, die Belichtungseinstellungen der Kamera anzupassen, sofern das Gerät dies unterstützt.
* Erkennt der Block wiederholt leere oder fehlgeschlagene Frames, führt er einen Neustartzyklus durch, um die Kamera automatisch zu rekonfigurieren.
* Wird `Scan Cameras` aktiviert, aktualisiert der Block die verfügbare Kameraliste (nützlich beim Anschließen neuer Geräte).

## 📝 Nutzungsanweisungen <a href="#usage" id="usage"></a>

1. Verwende `Scan Cameras` oder die Kamerenerkennung deines Systems, um verfügbare Geräte aufzulisten.
2. Gib den gewünschten Geräteindex in `Camera Index` ein, um eine Kamera auszuwählen.
3. Optional: Setze `Resolution Width` und `Resolution Height` für die gewünschte Erfassungsgröße.
4. Sende `Activate Signal`, um die Frame-Erfassung zu starten. Überwache `Source / Resolution Info` für den aktuellen Zustand.
5. Passe `Set Exposure` oder `Set Auto Exposure` nur an, wenn deine Kamera diese Steuerungen unterstützt.
6. Sende `Release Signal`, wenn du fertig bist, um das Gerät freizugeben.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Um Frames live zu betrachten, verbinde den Ausgang `Camera Frame` mit dem Block `Show Image` für eine interaktive Vorschau.
* Um Frames zu speichern oder ein Dataset zu erstellen, verbinde `Camera Frame` mit `Image Logger` oder `Record Video`.
* Wenn die Kamera verrauschte Frames liefert, leite die Frames durch `Blur` oder `Denoising`, bevor du sie an Detektoren weitergibst.
* Ändere die Größe hochauflösender Aufnahmen vor rechenintensiven Schritten, um die Geschwindigkeit zu erhöhen: Verbinde `Camera Frame` mit `Image Resize` und dann mit nachgelagerten Analyseblöcken.
* Für regionsbasierte Analysen schneide das Frame mit `Image ROI Select` zu, bevor du Detektoren wie `Find Object` oder `Object Detection` ausführst.
* Kombiniere den Block mit AI-Modulen wie `Object Detection - Custom` oder `Skeleton Estimation` für Live-Inferenzpipelines.
* Nutze `Scan Cameras` beim Hot-Plugging von Kameras, damit der Block neue Geräte entdecken kann, ohne das gesamte System neu zu starten.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Keine Frames oder schwarze/leere Frames:
  * Überprüfe, ob der richtige Integer an `Camera Index` übergeben wurde. Falls unsicher, führe einen Scan mit `Scan Cameras` durch.
  * Stelle sicher, dass keine andere Anwendung die Kamera verwendet. Schließe andere Programme und versuche es erneut.
  * Versuche niedrigere Auflösungswerte über `Resolution Width` und `Resolution Height` — einige Kameras können hohe Auflösungen nicht zuverlässig streamen.
* Belichtungssteuerungen zeigen keine Wirkung:
  * Nicht alle Kameras oder Plattformen unterstützen programmatische Belichtungssteuerung. Falls die Einstellungen nicht greifen, versuche die Hersteller-Software der Kamera oder nutze das Info-Label des Blocks, um aktuelle Werte zu prüfen.
* Sporadische Frame-Drops oder Fehler:
  * Verwende einen anderen USB-Port oder einen aktiven USB-Hub. Nutze niedrigere Auflösungen, um Bandbreite zu sparen.
  * Wenn die automatische Wiederherstellung nicht hilft, setze zuerst `Release Signal` und dann `Activate Signal`, um einen vollständigen Neustart zu erzwingen.
* Kamera wird beim Scan nicht erkannt:
  * Stelle sicher, dass das Gerät mit Strom versorgt und verbunden ist. Stecke die Kamera neu ein und aktiviere `Scan Cameras` erneut.
  * Auf manchen Systemen können sich Geräteindizes nach Neustart oder Wiedereinstecken ändern — verwende die Scan-Listen-Zuordnung, um zuverlässig auszuwählen.

Wenn Probleme weiterhin bestehen, zeige die Frames mit `Show Image` an und nimm eine kurze Aufnahme mit `Record Video` auf, um das Verhalten zu prüfen und ggf. dem Support bereitzustellen.
