# 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 http://88.114.1.82:3000/RikuSi/docker_webcam.git cd docker_webcam ``` ### 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 ``` tai ```bash sudo docker run --name="webcam" \ -p 5001:5000 \ --restart="always" \ --detach=true \ --device=/dev/video0 \ webcam ``` Avaa sovellus selaimessasi osoitteessa: ``` http://: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ä.