Add readme

This commit is contained in:
ABelliqueux 2024-04-09 09:28:37 +02:00
parent e542b242c9
commit bcf23d8774
1 changed files with 85 additions and 0 deletions

85
readme.md Normal file
View File

@ -0,0 +1,85 @@
# Stopi
A python stop-motion script that keeps things simple and allows to use a DSLR or raspicam for capture.
* Full screen display of the last picture taken
* Optional Onion Skinning with the second to last picture
* No gui : everything is done with keyboard keys (or a [homemade rpi pico based remote](https://forge.chapril.org/ABelliqueux/picote)) and a config file
* Auto configuration of the DSLR on startup
* Key or event mode ; use your DSLR's trigger button or IR remote and images are automatically downloaded after capture
* Preview playback
* Full HD export with ffmpeg
* Uses translations
## Disclaimer
This script was tested with a Nikon D40x DSLR and a rpi 4 B + raspicam module v3. It might not work with other hardware.
Issues reports and commits are welcome !
## Setup
0. (Windows users only) Setup WSL2 on your (P)OS and install a Debian based distro (Debian, Mint, Ubuntu...)
1. Install dependencides : `sudo apt install --no-install-recommends --no-install-suggests git ffmpeg gphoto2 python3-libcamera python3-picamera2 python3-tk`
(Optional) If you want a minimal graphical environment : `sudo apt install --no-install-recommends --no-install-suggests openbox xserver-xorg xinit pcmanfm gmrun lxterminal hsetroot unclutter`
2. Clone the repo : `git clone https://`
3. Change to directory : `cd stopimotion`
4. Create Python venv : `python -m venv ./` (If planning to use a raspicam, you need to also pass the `--system-site-packages` parameter to be able to import the GPIO module.)
5. Install dependencies : `pip install -r requirements.txt`
6. Plug your DSLR/setup your raspicam
7. Set Execution bit on script : `chmod +x stopi.sh`
8. Launch script : `./stopi.sh`
## Todo / Fix me
* UI freezes when exporting
* Better settings names ; currently they're kinda cryptic and sucky.
* Notify ffmpeg export ending
## Planned features
* Liveview (when I get a DSLR that supports it :))
* Webcam support (e.g; using pygame)
## Raspberry Pi image
For convenience, a disk image will soon be available here for RPI users.
## Kiosk like setup
For advanced users, the steps for preparing RaspiOS for a minimal kiosk-like experience are these :
1. Flash Raspi OS bookworm lite version to a SD card, enabling SSH, Wifi, etc if needed.
2. Follow the steps in the 'Setup' section above.
3. Use the 'raspi-config' utility to enable console auto-login.
4. Add this content to '~/.bash_login' :
```
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
startx
fi
```
5. Add this content to '~/.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. Add this content to '~/.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 &
```
When you reboot, the X session should launch automatically, and then the script.