> ## 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.

# Guide GStreamer pour exploreHD

> Un guide d'utilisation de GStreamer avec la caméra exploreHD pour le streaming et la capture vidéo haute performance.

## Présentation

GStreamer est un puissant framework multimédia qui permet le streaming et le traitement vidéo efficaces. L'exploreHD prend en charge plusieurs formats de compression, notamment **H.264** accéléré matériellement, **MJPEG** et **YUYV** brut.

## Prérequis

Vous devez avoir GStreamer installé sur un ordinateur Linux. Vous pouvez utiliser la commande d'installation suivante pour obtenir les packages requis.

```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
```

## Identifier les nœuds de périphérique

Lorsque vous branchez une caméra exploreHD, le noyau Linux (via V4L2) crée généralement quatre nœuds de périphérique (par exemple, `/dev/video0` à `/dev/video3`).

* **MJPEG / YUYV :** généralement présent sur le premier nœud du groupe (par exemple, `/dev/video0`).
* **H.264 matériel :** généralement présent sur le troisième nœud du groupe (par exemple, `/dev/video2`).

Vous pouvez vérifier vos nœuds de périphérique à l'aide de `v4l2-ctl` :

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

Recherchez l'entrée correspondant à l'exploreHD. Elle listera les chemins associés à cette caméra spécifique.

## Mode H.264 matériel

L'exploreHD intègre un encodage H.264 matériel qui offre une vidéo de haute qualité à faible débit avec une charge CPU minimale.

### Aperçu local

Pour afficher le flux H.264 localement (en supposant que `/dev/video2` soit le nœud H.264) :

```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
```

### Flux réseau UDP

Pour diffuser le flux H.264 sur un réseau vers un autre appareil (par exemple, IP `192.168.1.50` sur le 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
```

Pour recevoir le flux sur un autre ordinateur, vous pouvez utiliser ceci :

```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
```

## Mode MJPEG

Le mode MJPEG est largement compatible et offre une bonne qualité avec une faible latence.

### Aperçu local

En supposant que `/dev/video0` soit le nœud MJPEG :

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

### Flux réseau UDP

Pour diffuser du MJPEG sur le réseau :

```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
```

## Mode YUYV

Notez qu'en raison des limitations de bande passante USB, YUYV est généralement limité à des fréquences d'images plus faibles à haute résolution.

### Aperçu local

En supposant que `/dev/video0` soit le nœud :

```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>
  Consultez les [spécifications techniques de l'exploreHD](/fr/exploreHD/specs/exploreHD#résolutions-et-fréquences-d-images-prises-en-charge) pour voir quelles combinaisons de résolution et de fréquence d'images sont prises en charge en mode YUYV. En 1080p, YUYV est limité à 5 FPS.
</Note>

## Contrôle avancé du débit

En mode H.264, vous pouvez ajuster le débit et d'autres paramètres de l'encodeur via les contrôles V4L2 pendant l'exécution du pipeline.

```bash theme={null}
# Exemple : régler le débit à 5 Mbps
v4l2-ctl -d /dev/video2 --set-ctrl=video_bitrate=5000000
```
