> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dwe.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# exploreHD GStreamer-Anleitung

> Eine Anleitung zur Verwendung von GStreamer mit der exploreHD-Kamera für leistungsstarkes Video-Streaming und -Capture.

## Übersicht

GStreamer ist ein leistungsfähiges Multimedia-Framework, das effizientes Video-Streaming und -Processing ermöglicht. Die exploreHD unterstützt mehrere Kompressionsformate, darunter hardwarebeschleunigtes **H.264**, **MJPEG** und rohes **YUYV**.

## Voraussetzungen

Sie müssen GStreamer auf einem Linux-Computer installiert haben. Sie können den folgenden Installationsbefehl verwenden, um die erforderlichen Pakete zu erhalten.

```bash theme={null}
sudo apt install v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-plugins-ugly
```

## Geräteknoten identifizieren

Wenn Sie eine exploreHD-Kamera anschließen, erstellt der Linux-Kernel (über V4L2) in der Regel vier Geräteknoten (z. B. `/dev/video0` bis `/dev/video3`).

* **MJPEG / YUYV:** In der Regel auf dem ersten Knoten der Gruppe zu finden (z. B. `/dev/video0`).
* **Hardware-H.264:** In der Regel auf dem dritten Knoten der Gruppe zu finden (z. B. `/dev/video2`).

Sie können Ihre Geräteknoten mit `v4l2-ctl` überprüfen:

```bash theme={null}
v4l2-ctl --list-devices
```

Suchen Sie nach dem Eintrag, der der exploreHD entspricht. Dort werden die mit dieser bestimmten Kamera verknüpften Pfade aufgelistet.

## Hardware-H.264-Modus

Die exploreHD verfügt über eine integrierte Hardware-H.264-Kodierung, die hochwertige Videos bei niedrigen Bitraten mit minimaler CPU-Last liefert.

### Lokale Vorschau

Um den H.264-Stream lokal anzuzeigen (unter der Annahme, dass `/dev/video2` der H.264-Knoten ist):

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
    video/x-h264,width=1920,height=1080,framerate=30/1 ! \
    h264parse ! avdec_h264 ! autovideosink
```

### UDP-Netzwerkstream

Um den H.264-Feed über ein Netzwerk an ein anderes Gerät zu streamen (z. B. IP `192.168.1.50` auf Port `5600`):

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
    video/x-h264,width=1920,height=1080,framerate=30/1 ! \
    h264parse ! queue ! rtph264pay config-interval=10 pt=96 ! \
    udpsink host=192.168.1.50 port=5600
```

Um den Stream auf einem anderen Computer zu empfangen, können Sie Folgendes verwenden:

```bash theme={null}
gst-launch-1.0 -v udpsrc port=5600 ! \
    "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! \
    rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
```

## MJPEG-Modus

Der MJPEG-Modus ist weitgehend kompatibel und bietet eine gute Qualität bei geringer Latenz.

### Lokale Vorschau

Unter der Annahme, dass `/dev/video0` der MJPEG-Knoten ist:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1920,height=1080,framerate=30/1 ! \
    jpegdec ! autovideosink
```

### UDP-Netzwerkstream

Um MJPEG über das Netzwerk zu streamen:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1920,height=1080,framerate=30/1 ! \
    rtpjpegpay ! udpsink host=192.168.1.50 port=5600
```

## YUYV-Modus

Beachten Sie, dass YUYV aufgrund der Bandbreitenbeschränkungen von USB bei hohen Auflösungen in der Regel auf niedrigere Bildraten begrenzt ist.

### Lokale Vorschau

Unter der Annahme, dass `/dev/video0` der Knoten ist:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! \
    videoconvert ! autovideosink
```

<Note>
  Sehen Sie in den [technischen Spezifikationen der exploreHD](/de/exploreHD/specs/exploreHD#unterstützte-auflösungen-und-bildraten) nach, welche Kombinationen aus Auflösung und Bildrate im YUYV-Modus unterstützt werden. Bei 1080p ist YUYV auf 5 FPS begrenzt.
</Note>

## Erweiterte Bitratensteuerung

Im H.264-Modus können Sie die Bitrate und andere Encoder-Parameter über V4L2-Steuerelemente anpassen, während die Pipeline läuft.

```bash theme={null}
# Beispiel: Bitrate auf 5 Mbit/s setzen
v4l2-ctl -d /dev/video2 --set-ctrl=video_bitrate=5000000
```
