### Předpoklady
  * Python >=3.8
  * pip
  * virtualenv

### Před prvním spuštěním

V adresáři s projektem spusťte následující příkazy:

`python -m venv venv` - vytvoření virtuálního prostředí

`venv\Scripts\activate.bat` - aktivace virtuálního prostředí

`pip install wheel` - instalace balíčku wheel

`pip install -r requirements.txt` - instalace závislostí projektu

`ultralytics settings` - inicializace konfiguračního souboru `settings.yaml` pro `ultralytics` balíček

V souboru `C:\Users\{username}\AppData\Roaming\Ultralytics\settings.yaml` nastavit `sync: false` pro vypnutí Usage Tracking `ultralytics` balíčku

Podle pokynů v části "Instalace FFmpeg" níže stahnout binární soubor nástroje "ffmpeg".


### Instalace FFmpeg

Přejít na oficiální webovou stránku FFmpeg: https://ffmpeg.org/download.html

V sekci "Get packages & executable files" vybrat možnost "Windows" a kliknout na první odkaz "Windows builds from gyan.dev".

Na otevřené stránce kliknutím na odkaz `ffmpeg-git-essentials.7z` v sekci "latest git master branch build" stáhnout archiv.

Stažený soubor rozbalit do adresáře `C:\ffmpeg`.

Výsledná adresářová struktura by měla vypadat následovně:

```
C:\ffmpeg\bin
C:\ffmpeg\doc
C:\ffmpeg\licenses
C:\ffmpeg\presets
C:\ffmpeg\README.txt
```

Soubor `ffmpeg.exe`, který se nachází v adresáři `C:\ffmpeg\bin`, je potřeba zkopírovat do adresáře projektu `app\commons\ffmpeg`.

Konečná cesta k souboru EXE v projektu by měla být `app\commons\ffmpeg\ffmpeg.exe`.

### Spuštění

V adresáři s projektem spusťte následující příkazy:

`venv\Scripts\activate.bat` - aktivace virtuálního prostředí

`python -m app.main` - spuštění aplikace


### Změna konfigurace jednotlivých modulů aplikace

Soubor `app/constants.py` je rozdělen do několika sekcí, které obsahují konfiguraci jednotlivých modulů aplikace.
Všechny konfigurační proměnné jsou vysvětleny v komentářích.


### Změna úrovně logování

V souboru `app/constants.py` je proměnná `LOGGING_LEVEL`, která určuje úroveň logování. Je možné použít následující hodnoty:

  * `DEBUG` - vypisuje všechny logy
  * `INFO` - vypisuje pouze informační logy a vyšší
  * `WARNING` - vypisuje pouze varovné logy a vyšší
  * `ERROR` - vypisuje pouze chybové logy a vyšší
  * `CRITICAL` - vypisuje pouze kritické logy

# find all folders __pycache__
find . -name __pycache__ -type d -exec rm -rf {} \;