loopkit generate --preset plasma --duration 5 -o plasma_loop.mp4
loopkit generate --preset plasma --duration 5 -o plasma_loop.mp4
loopkit generate --preset plasma --duration 5 -o plasma_loop.mp4
# Install from source
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
# Install from source
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
# Install from source
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
# macOS
brew install ffmpeg # Ubuntu/Debian
sudo apt install ffmpeg
# macOS
brew install ffmpeg # Ubuntu/Debian
sudo apt install ffmpeg
# macOS
brew install ffmpeg # Ubuntu/Debian
sudo apt install ffmpeg
loopkit generate --preset plasma --duration 5 --fps 30 -o plasma.mp4
loopkit generate --preset plasma --duration 5 --fps 30 -o plasma.mp4
loopkit generate --preset plasma --duration 5 --fps 30 -o plasma.mp4
loopkit generate --preset gradient --duration 8 --fps 24 -o gradient.mp4
loopkit generate --preset gradient --duration 8 --fps 24 -o gradient.mp4
loopkit generate --preset gradient --duration 8 --fps 24 -o gradient.mp4
loopkit generate --preset aurora --duration 6 --fps 30 -o aurora.mp4
loopkit generate --preset aurora --duration 6 --fps 30 -o aurora.mp4
loopkit generate --preset aurora --duration 6 --fps 30 -o aurora.mp4
loopkit generate --preset waves --duration 5 --fps 30 -o waves.mp4
loopkit generate --preset waves --duration 5 --fps 30 -o waves.mp4
loopkit generate --preset waves --duration 5 --fps 30 -o waves.mp4
loopkit generate --preset fire --duration 4 --fps 30 -o fire.mp4
loopkit generate --preset fire --duration 4 --fps 30 -o fire.mp4
loopkit generate --preset fire --duration 4 --fps 30 -o fire.mp4
for preset in plasma gradient aurora waves fire; do loopkit generate --preset $preset --duration 5 -o "${preset}_loop.mp4"
done
for preset in plasma gradient aurora waves fire; do loopkit generate --preset $preset --duration 5 -o "${preset}_loop.mp4"
done
for preset in plasma gradient aurora waves fire; do loopkit generate --preset $preset --duration 5 -o "${preset}_loop.mp4"
done
cos=1 | |
sin=-1 --+-- sin=1 | | cos=-1 Frame 0 starts at angle 0 (top of circle)
Frame N ends at angle 2pi (back to top)
cos=1 | |
sin=-1 --+-- sin=1 | | cos=-1 Frame 0 starts at angle 0 (top of circle)
Frame N ends at angle 2pi (back to top)
cos=1 | |
sin=-1 --+-- sin=1 | | cos=-1 Frame 0 starts at angle 0 (top of circle)
Frame N ends at angle 2pi (back to top)
let phase = (frame as f64 / total_frames as f64) * 2.0 * PI;
let t1 = phase.sin(); // circular time component 1
let t2 = phase.cos(); // circular time component 2
let phase = (frame as f64 / total_frames as f64) * 2.0 * PI;
let t1 = phase.sin(); // circular time component 1
let t2 = phase.cos(); // circular time component 2
let phase = (frame as f64 / total_frames as f64) * 2.0 * PI;
let t1 = phase.sin(); // circular time component 1
let t2 = phase.cos(); // circular time component 2
# 1080x1920 vertical video
loopkit generate --preset gradient --duration 8 --width 1080 --height 1920 -o vertical.mp4 # 4K for the big screen
loopkit generate --preset aurora --duration 10 --width 3840 --height 2160 -o aurora_4k.mp4 # Quick 720p preview
loopkit generate --preset fire --duration 3 --width 1280 --height 720 -o preview.mp4
# 1080x1920 vertical video
loopkit generate --preset gradient --duration 8 --width 1080 --height 1920 -o vertical.mp4 # 4K for the big screen
loopkit generate --preset aurora --duration 10 --width 3840 --height 2160 -o aurora_4k.mp4 # Quick 720p preview
loopkit generate --preset fire --duration 3 --width 1280 --height 720 -o preview.mp4
# 1080x1920 vertical video
loopkit generate --preset gradient --duration 8 --width 1080 --height 1920 -o vertical.mp4 # 4K for the big screen
loopkit generate --preset aurora --duration 10 --width 3840 --height 2160 -o aurora_4k.mp4 # Quick 720p preview
loopkit generate --preset fire --duration 3 --width 1280 --height 720 -o preview.mp4
src/ main.rs CLI entry point (clap) lib.rs Public API color.rs HSL-to-RGB conversion, color interpolation renderer.rs Frame generation + ffmpeg encoding presets/ mod.rs Preset trait + registry plasma.rs Sine wave interference gradient.rs Flowing color gradients aurora.rs Northern lights waves.rs Ocean waves fire.rs Fire/lava
src/ main.rs CLI entry point (clap) lib.rs Public API color.rs HSL-to-RGB conversion, color interpolation renderer.rs Frame generation + ffmpeg encoding presets/ mod.rs Preset trait + registry plasma.rs Sine wave interference gradient.rs Flowing color gradients aurora.rs Northern lights waves.rs Ocean waves fire.rs Fire/lava
src/ main.rs CLI entry point (clap) lib.rs Public API color.rs HSL-to-RGB conversion, color interpolation renderer.rs Frame generation + ffmpeg encoding presets/ mod.rs Preset trait + registry plasma.rs Sine wave interference gradient.rs Flowing color gradients aurora.rs Northern lights waves.rs Ocean waves fire.rs Fire/lava
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
loopkit generate --preset plasma --duration 5 -o my_first_loop.mp4
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
loopkit generate --preset plasma --duration 5 -o my_first_loop.mp4
git clone https://github.com/LakshmiSravyaVedantham/loopkit.git
cd loopkit
cargo install --path .
loopkit generate --preset plasma --duration 5 -o my_first_loop.mp4 - Pay per clip — Shutterstock, Adobe Stock, Envato. $15–50 each. Licensing restrictions. Watermarks until you pay.
- Learn After Effects — Steep learning curve for something that should be simple.
- Use Processing/TouchDesigner — Great tools, but heavy setup and a runtime to manage.
- Find free clips on Pexels — Limited selection, everyone uses the same ones. - Parse CLI arguments with clap
- Look up the preset function from the registry
- For each frame: compute t1, t2 from the circular phase, render every pixel
- Save frames as PNGs in a temp directory
- Shell out to ffmpeg to encode PNGs into an MP4
- Clean up the temp directory - New presets (starfield, geometric patterns, noise landscapes)
- Parallel frame rendering with rayon
- Custom color palettes via CLI
- GIF output option
- Preview mode (single frame to PNG)