diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..82d3692 --- /dev/null +++ b/readme.md @@ -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`. \ No newline at end of file