movmaker/README.md
2026-05-24 12:42:20 +00:00

1.9 KiB

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:

sudo apt install ffmpeg

Input folder

Example:

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:

001.jpg
002.jpg
003.mp4
004.jpg

data.txt

data.txt is optional.

Simplest format:

Paris Trip
May 2024
Paris, France

Those three lines mean:

  1. title
  2. date
  3. place

Key/value format also works:

title: Paris Trip
date: May 2024
place: Paris, France

Optional per-file captions may be supported, but they are not required:

IMG_001.jpg: Eiffel Tower
IMG_002.jpg: Louvre

Usage

Basic:

python3 movmaker.py input --output movie.mp4

With options:

python3 movmaker.py input \
  --output output/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.