Skip to content

sonnymay/image-loop-video

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 image-loop-video

Python FFmpeg CLI License: MIT

Combine an audio file and a folder of images into a single looping MP4 with Ken Burns zoom — fully local, no upload required. Ships as both a CLI tool and a local web UI.

Built with Python standard library + FFmpeg. No cloud, no subscription, no nonsense.


✨ Features

  • 🖼️ Ken Burns zoom — smooth zoom-in/out effect on each image
  • 🎵 Audio loop — audio file loops to match total video length
  • 📐 Selectable output resolution — defaults to 1080p, configurable
  • 🖥️ Local web UI — drag-and-drop interface via browser
  • ⌨️ CLI mode — scriptable, automation-friendly
  • 📦 Zero external Python deps — uses stdlib + FFmpeg only

🛠 Tech Stack

Tool Purpose
Python (stdlib) Core scripting, file handling, server
FFmpeg Video rendering, Ken Burns zoom, audio mixing
HTML/JS Local web UI (served by Python http.server)

💼 What This Code Shows

  • FFmpeg command construction and subprocess management in Python
  • Ken Burns effect implementation via FFmpeg zoompan filter
  • Building a usable local web UI with zero external dependencies
  • CLI + GUI dual-mode tool architecture in a single codebase
  • Clean, practical Python scripting for media processing

🚀 Run Locally

Requirements: Python 3.8+ and FFmpeg installed

git clone https://github.com/sonnymay/image-loop-video
cd image-loop-video
pip install -r requirements.txt

Web UI:

python app.py
# Open http://localhost:5000

CLI:

python make_video.py --images ./images --audio track.mp3 --output output.mp4

📄 License

MIT

About

Combine an audio file and a folder of images into a single looping MP4 with Ken Burns zoom — fully local, no upload. CLI plus a local web UI. Python standard library + FFmpeg.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors