# movmaker Simple Python + ffmpeg movie maker. Drop pictures, videos, music, and optionally one simple `data.txt` file into a single flat input directory. Then run one command to create an MP4 video. No YAML. No required subdirectories. ## Requirements - Python 3 - `ffmpeg` - `ffprobe` usually included with ffmpeg Install on Debian/Ubuntu/Raspberry Pi OS: ```bash sudo apt install ffmpeg ``` ## Input folder Example: ```text input/ IMG_001.jpg IMG_002.png holiday_clip.mp4 music.mp3 data.txt ``` Supported file types: - Images: `.jpg`, `.jpeg`, `.png`, `.webp`, `.bmp`, `.tif`, `.tiff` - Videos: `.mp4`, `.mov`, `.mkv`, `.avi`, `.webm`, `.m4v` - Audio: `.mp3`, `.wav`, `.m4a`, `.aac`, `.flac`, `.ogg` - Data: `data.txt`, `info.txt`, or `title.txt` Files are ordered by filename, so names like this work well: ```text 001.jpg 002.jpg 003.mp4 004.jpg ``` ## data.txt `data.txt` is optional. Simplest format: ```text Paris Trip May 2024 Paris, France ``` Those three lines mean: 1. title 2. date 3. place Key/value format also works: ```text title: Paris Trip date: May 2024 place: Paris, France ``` Optional per-file captions may be supported, but they are not required: ```text IMG_001.jpg: Eiffel Tower IMG_002.jpg: Louvre ``` ## Usage Basic: ```bash python3 movmaker.py input --output movie.mp4 ``` With options: ```bash python3 movmaker.py input \ --output out/movie.mp4 \ --image-duration 3 \ --fade 1 \ --resolution 1920x1080 \ --fps 30 ``` ## Current behavior - scans one flat input directory - auto-detects media/audio/data files by extension - shows each image for 3 seconds by default - includes video clips inline - crossfades between media items - loops/trims music to match the video - overlays title/date/place at the beginning - writes an MP4 file ## Notes This is an early version. The intended workflow is deliberately simple: dump files into one folder and run the script.