2024-12-11 09:54:57 +02:00
2024-12-11 09:54:57 +02:00
2024-12-11 09:54:57 +02:00
2024-12-11 09:54:57 +02:00

# Live Webcam Stream Flaskilla ja OpenCV:llä

Tämä projekti tarjoaa yksinkertaisen verkkosovelluksen, joka suoratoistaa reaaliaikaista videota verkkokamerasta käyttäen Flaskia ja OpenCV:tä. Sovellus pitää kameran jatkuvasti päällä ja palvelee videolähetystä yhdistetyille asiakkaille.

---

## Ominaisuudet
- Suoratoistaa reaaliaikaista videota verkkokamerasta verkkoselaimeen.
- Flask-hoitaa HTTP-pyynnöt.
- OpenCV käytetään videon kaappaamiseen ja kehysten käsittelyyn.
- Säikeistys varmistaa, että kamera pysyy päällä riippumatta asiakkaan toiminnasta.

---

## Vaatimukset
- Python 3.8 tai uudempi
- Flask
- OpenCV

---

## Asennus ja käyttöönotto

### 1. Kloonaa repositorio
Kloonaa tämä repositorio Gitea-palvelimellesi tai paikalliselle koneellesi:
```bash
git clone <repository-url>
cd <repository-folder>
```

### 2. Asenna riippuvuudet
Suosittelemme käyttämään Python-virtuaaliympäristöä:
```bash
python3 -m venv venv
source venv/bin/activate
pip install flask opencv-python
```

### 3. Käynnistä sovellus
Käynnistä Flask-sovellus paikallisesti:
```bash
python app.py
```

Avaa sovellus selaimessasi osoitteessa:
```
http://localhost:5000
```

---

## Dockerin käyttö

### 1. Luo Docker-image
Luo Docker-image mukana toimitetusta `Dockerfile`-tiedostosta:
```bash
sudo docker build -t webcam .
```

### 2. Käynnistä Docker-kontti
Käynnistä kontti kameran käyttöoikeudella:
```bash
sudo docker run -it --rm -p 5001:5000 --device /dev/video0 webcam
```

Avaa sovellus selaimessasi osoitteessa:
```
http://<docker-isäntä-ip>:5001
```

---

## Tiedostorakenne
```
.
├── app.py          # Pääasiallinen Flask-sovellus
├── Dockerfile      # Docker-konfiguraatio
├── README.md       # Projektin dokumentaatio
└── requirements.txt # Python-riippuvuudet
```

---

## Vianetsintä

### Verkkokameraa ei löydy
Varmista, että verkkokamera on oikein liitetty ja käytettävissä. Jos käytät Dockeria, varmista, että `--device /dev/video0`-lippu on mukana.

### Suorituskykyongelmat
Jos suoratoisto pätkii, harkitse resoluution alentamista OpenCV:n `VideoCapture`-asetuksista.

---

## Osallistuminen
Voit vapaasti haarauttaa tämän repositorion ja lähettää pull requesteja parantaaksesi projektia.

---

## Lisenssi
Tämä projekti on lisensoitu MIT-lisenssillä.


Description
No description provided
Readme 28 KiB
Languages
Python 65.3%
Dockerfile 34.7%