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

> Un guide d'utilisation de GStreamer avec la caméra stellarHD 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. Le stellarHD prend en charge les formats de compression **MJPEG** et **YUYV** brut, avec une prise en charge des fréquences d'images élevées jusqu'à 60 FPS.

## 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 stellarHD, 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 :** présent sur le premier nœud du groupe (par exemple, `/dev/video0`).

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 au stellarHD. Elle listera les chemins associés à cette caméra spécifique.

## Mode MJPEG

Le mode MJPEG est le principal moyen d'atteindre des fréquences d'images élevées (jusqu'à 60 FPS) sur le stellarHD.

### 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=1600,height=1200,framerate=60/1 ! \
    jpegdec ! autovideosink
```

### Flux réseau UDP

Pour diffuser du MJPEG 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/video0 ! \
    image/jpeg,width=1600,height=1200,framerate=60/1 ! \
    rtpjpegpay ! 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)JPEG, payload=(int)26" ! \
    rtpjpegdepay ! jpegdec ! videoconvert ! autovideosink
```

## Mode YUYV

Notez que YUYV est limité à des fréquences d'images plus faibles à des résolutions plus élevées en raison de la bande passante USB.

### 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=5/1 ! \
    videoconvert ! autovideosink
```

<Note>
  Consultez les [spécifications techniques du stellarHD](/fr/stellarHD/specs/stellarHD#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.
</Note>

## Encodage logiciel (H.264)

Comme le stellarHD ne dispose pas d'encodeur H.264 matériel intégré, vous pouvez utiliser GStreamer pour effectuer un encodage logiciel si vous devez diffuser du H.264 sur un réseau.

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1280,height=720,framerate=60/1 ! \
    jpegdec ! queue ! x264enc tune=zerolatency bitrate=4000 speed-preset=ultrafast ! \
    h264parse ! rtph264pay config-interval=10 pt=96 ! \
    udpsink host=192.168.1.50 port=5600
```
