Add readme
This commit is contained in:
parent
e542b242c9
commit
bcf23d8774
|
@ -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.
|
Loading…
Reference in New Issue