Aether Renderer Core
Aether Renderer Core is a lightweight, Rust-based CLI tool that converts image sequences (PNG/WebP) into transparent .webm or .mp4 videos using ffmpeg.
Built with love for artists, developers, and sacred animation workflows.
✨ Features
- ✅ Supports alpha channel export (via
yuva420p) - ✅ Input PNG/WebP sequences with alpha from folder or .zip file
- ✅ Export
.webmwith alpha (vialibvpx) - ✅ Export
.gifwith alpha - ✅
.mp4fallback (no alpha) - ✅ CLI flags for FPS, input folder, output path, format
- ✅ Optional
--fade-inand--fade-outfor smooth loops - ✅ Optional
--bitrateand--crffor quality control - ✅ Optional
--previewto open the video after export - ✅ Handle errors & missing frames gracefully
🧪 Usage
The --fade-in and --fade-out flags apply ffmpeg's fade filter under the hood. The start of the fade out is automatically calculated from the frame count and FPS.
📂 Your input folder should contain files like:
frame_0000.png
frame_0001.png
frame_0002.png
...
You can now also pass a .zip file containing frames:
📂 Your input folder or ZIP file must contain images named like:
frame_0000.png
frame_0001.png
frame_0002.png
...
Alpha-enabled PNGs are recommended for transparent .webm.
Convert to gif file with transparent background:
(Just make sure ffmpeg is installed)
📦 Download prebuilt binaries
prebuilds for linux, mac & windows can be found under releases in github repository.
🛠️ Download prebuilt binaries from the Releases page.
🧰 Requirements
- Rust & Cargo installed: https://rustup.rs
ffmpegmust be installed and accessible in your system path
🧪 Tests
This project contains both unit tests and integration tests. The unit tests live
next to the code they verify (for example in
src/utils/unzip_frames.rs) while the integration tests reside in
tests/integration.rs.
Run all tests using Cargo:
The integration suite relies on ffmpeg being available on your system. If
ffmpeg is missing, the rendering test is skipped but all other tests still
run.
📦 Example ZIP
You can test the renderer using the provided frame sequence:
Run it like this:
This will generate a loopable .webm video with alpha.
✨ Example Output
See full demo here (just started): Webpage demo
Here’s one frame from the sacred animation:

✨ Example Animation

🔮 Roadmap
- Render
.png→.webm(with alpha) - Support
.mp4export - Add bitrate / CRF quality control
-
--fade-in,--fade-outfor soft loops - Handle errors & missing frames gracefully
- Add optional CLI preview
- Begin GUI version with Tauri (
aether-renderer) 🌟
🌿 License
MIT — created with sacred care by @madspaaskesen
🌐 Related Projects
- 🕊️ Sacred-AI
- 📈 MySiteChart
- 🛠️ MP-IT
- 🧵 DDD Favoritter
💛 Made with love by Sacred-AI
🙏 Made with clarity and care by @mads @ @sacred-ai 💛
🌸 Powered by Rust Lang, Rust getting started
Aether Renderer Core is the sacred heart of a lightweight animation rendering toolkit. Converts frame sequences to video with love, transparency, and full creative control.