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

# GStreamer-guide for exploreHD

> En guide til bruk av GStreamer med exploreHD-kameraet for høyytelses videostrømming og -opptak.

## Oversikt

GStreamer er et kraftig multimediarammeverk som muliggjør effektiv videostrømming og -behandling. exploreHD støtter flere komprimeringsformater inkludert maskinvareakselerert **H.264**, **MJPEG** og rå **YUYV**.

## Krav

Du må ha GStreamer installert på en Linux-datamaskin for dette. Du kan bruke følgende installasjonskommando for å få de nødvendige pakkene.

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

## Identifisering av enhetsnoder

Når du kobler til et exploreHD-kamera, oppretter Linux-kjernen (via V4L2) vanligvis fire enhetsnoder (f.eks. `/dev/video0` til `/dev/video3`).

* **MJPEG / YUYV:** Vanligvis funnet på den første noden i gruppen (f.eks. `/dev/video0`).
* **Maskinvare-H.264:** Vanligvis funnet på den tredje noden i gruppen (f.eks. `/dev/video2`).

Du kan bekrefte enhetsnodene dine ved hjelp av `v4l2-ctl`:

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

Se etter oppføringen som tilsvarer exploreHD. Den vil liste opp stiene som er knyttet til det spesifikke kameraet.

## Maskinvare-H.264-modus

exploreHD har innebygd maskinvare-H.264-koding, som gir høy videokvalitet ved lav bitrate med minimal CPU-belastning.

### Lokal forhåndsvisning

For å vise H.264-strømmen lokalt (forutsatt at `/dev/video2` er H.264-noden):

```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-nettverksstrøm

For å strømme H.264-feeden over et nettverk til en annen enhet (f.eks. IP `192.168.1.50` på 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
```

For å motta strømmen på en annen datamaskin kan du bruke følgende:

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

MJPEG-modus er bredt kompatibel og gir god kvalitet med lav forsinkelse.

### Lokal forhåndsvisning

Forutsatt at `/dev/video0` er MJPEG-noden:

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

### UDP-nettverksstrøm

For å strømme MJPEG over nettverket:

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

Merk at YUYV på grunn av USB-båndbreddebegrensninger typisk er begrenset til lavere bildefrekvenser ved høye oppløsninger.

### Lokal forhåndsvisning

Forutsatt at `/dev/video0` er noden:

```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>
  Se [tekniske spesifikasjoner for exploreHD](/no/exploreHD/specs/exploreHD#støttede-oppløsninger-og-bildefrekvenser) for å se hvilke kombinasjoner av oppløsning og bildefrekvens som støttes i YUYV-modus. Ved 1080p er YUYV begrenset til 5 FPS.
</Note>

## Avansert bitratekontroll

Når du bruker H.264-modus, kan du justere bitrate og andre koderparametere via V4L2-kontroller mens pipelinen kjører.

```bash theme={null}
# Eksempel: Sett bitrate til 5 Mbps
v4l2-ctl -d /dev/video2 --set-ctrl=video_bitrate=5000000
```
