add readme

This commit is contained in:
ABelliqueux 2024-09-12 12:40:21 +02:00
parent c4e9c00b67
commit b54a41adf3
1 changed files with 103 additions and 0 deletions

103
readme.md Normal file
View File

@ -0,0 +1,103 @@
# Stopi2
Seconde version du script python [stopi](https://git.arthus.net/arthus/stopi)
Cette version utilise opencv et ne fonctionne pour le moment qu'avec une webcam.
Encore une fois, l'objectif est de créer un logiciel simple et minimaliste dans son interface, dont les caractéristiques sont les suivantes :
* Affichage des images en plein écran sans interface : toutes les fonctions utilisent quelques touches du clavier.
* [Pelure d'oignon](https://fr.wikipedia.org/wiki/Pelure_d'oignon#Sciences_et_techniques) entre la dernière image et le flux vidéo.
* Un seul fichier de configuration permet de régler les options (résolution, images/secondes, mirroir vertical/horizontal, )
* Auto configuration de la camera au démarrage (exposition et balance des blancs)
* Prévisualisation de l'animation
* Exportation vidéo avec [ffmpeg](https://ffmpeg.org/)
* Interface localisée (anglais et français disponible pour le moment.)
## Banc de test
Ce script a été testé avec une webcam compatible V4L2 et un ordinateur classique sous [Debian](https://debian.org), et plus précisement une ["showmewebcam"](https://github.com/showmewebcam/showmewebcam) à base de rpi 0 et d'un module caméra v2 (8Mp).
Les contributions et rapports de bugs sont les bienvenus !
## Installation
Dans un terminal :
0. (Utilisateurs Windows) Activer le [sous système Linux **version 2** (WSL2)](https://learn.microsoft.com/fr-fr/windows/wsl/install) et installer Debian.
1. Installer les dépendances suivantes :
```
# Avec une distribution basée sur Debian (Ubuntu, Mint...)
sudo apt install --no-install-recommends --no-install-suggests git ffmpeg python3-tk python3-pip python3-venv
```
- (Optionnel) Pour installer un environnement graphique minimal sur une [installation console](https://debian-facile.org/doc:install:installation-minimale) : `sudo apt install --no-install-recommends --no-install-suggests openbox xserver-xorg xinit pcmanfm gmrun lxterminal hsetroot unclutter plymouth plymouth-themes`
2. Cloner de dépôt dans le dossier de votre choix : `git clone https://git.arthus.net/arthus/stopi2.git`
3. Aller dans répertoire du projet : `cd stopi2`
4. Créer un environnement virtuel (venv) Python : `python -m venv ./`
5. Activer l'environnement virtuel avec `source bin/activate`
6. Installer les dépendances python : `pip install -r requirements.txt`
7. Brancher la caméra
8. Activer l'éxécution du script : `chmod +x stopi2.sh`
9. Lancer le script : `./stopi2.sh`
## Installation Kiosque
Pour créer un kiosque d'animation à partir d'une installation minimale de Debian :
1. Installer Debian pour un environnement console.
2. Suivre les étapes d'installation ci-dessus.
3. Activer le login automatique de votre utilisateur au démarrage :
```
sudo systemctl edit getty@tty1.service
# Ajout du contenu suivant dans le fichier créé:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --skip-login --nonewline --noissue --noclear --autologin arthus %I $TERM
```
4. Ajouter ce contenu à '~/.bash_login' :
```
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
exec startx &>/dev/null
fi
```
5. Ajouter ce contenu à '~/.xinitrc' :
```
#!/bin/sh
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)
# invoke global X session script
. /etc/X11/Xsession
exec openbox-session
```
6. Ajouter ce contenu à '~/.config/openbox/autostart.sh' :
```
#!/bin/env bash
# Change X keyboard mapping
setxkbmap fr
# Set background color
hsetroot -solid "#8393CC"
# Hide mouse after 0.2 seconds
unclutter -idle 0.2 &
# Start script
/home/$USER/stopi.sh &
```
Au redémarrage, la session graphique devrait démarrer automatiquement.
# Démarrage 'silencieux'
Pour un démarrage sans aucun texte avant la session graphique, ajouter les lignes suivantes à `/etc/default/grub` :
```
GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_GFXMODE=1920x1080
```
et modifier la ligne :
`GRUB_CMDLINE_LINUX_DEFAULT="quiet`
en :
`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3`
Puis configurer plymouth : `sudo plymouth-set-default-theme`
Appliquer les modifs avec `sudo update-grub`.