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

# dweOS (H.264 RTP over UDP) til OpenCV

> Et lett, plattformuavhengig startprosjekt for å motta H.264-kodet video via rå RTP/UDP-pakker og dekode dem til OpenCV-kompatible bilder.

<Card title="Repository for OpenCV-veiledninger" icon="github" href="https://github.com/DeepwaterExploration/opencv-guides">
  Se hele kildekoden og eksempelprosjekter for DWE.ai-kameraer på GitHub.
</Card>

## Funksjoner

* **Rå RTP/UDP**: Ingen GStreamer eller eksterne avhengigheter kreves.
* **Høy oppløsning**: Optimalisert for 1080p 30fps+ strømmer.
* **10-bits støtte**: Håndterer 10-bit YUV 4:4:4 (`yuv444p10le`) og standard 8-bits formater.
* **Lav forsinkelse**: Bruker en bakgrunnsmottakertråd og flertrådet dekoding.
* **Modulær design**: Skiller nettverkshåndtering, dekoding og visningslogikk.

## Forutsetninger

* **Python 3.8+**
* **FFmpeg-biblioteker** (vanligvis installert automatisk via PyAV)

## Installasjon

Naviger til katalogen `3-receive-dweos-h264/python` i repositoriet og sett opp miljøet ditt:

1. Opprett et virtuelt miljø:
   ```bash theme={null}
   python3 -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```

2. Installer de nødvendige avhengighetene:
   ```bash theme={null}
   pip install -r requirements.txt
   ```

## Bruk

1. Start din H.264 RTP-strøm (standard `127.0.0.1:5600`).
2. Kjør mottakeren:
   ```bash theme={null}
   python main.py
   ```

## Prosjektstruktur

* **`rtp_receiver.py`**: Håndterer rå UDP-pakkemottak og H.264 NAL-rekonstruksjon (inkludert FU-A og STAP-A).
* **`h264_decoder.py`**: Pakker inn PyAV for høyytelses H.264-dekoding.
* **`main.py`**: Hovedinngangspunktet som kobler mottakeren og dekoderen til et OpenCV-vindu.
