mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 21:50:28 +02:00
1.7 KiB
1.7 KiB
How to Create Videos Like the Demo (52 seconds in just 736kB!)
This guide explains how I created such a small yet effective demonstration video, being only 736kB for a 52-second video!
https://github.com/user-attachments/assets/9e4fc237-a3cd-46bd-b82c-c608336d6411
What You Need
- A background image (bg.jpg)
- The subtitle file (.srt) (created by Abogen)
- The audio recording (.wav) (created by Abogen)
- Python and FFmpeg installed on your computer:
# Windows
winget install ffmpeg
# MacOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg
Step 1: Process the Subtitle File
Run this command to process Abogen's subtitle file:
python convert.py your_subtitle.srt
This creates a properly formatted subtitle file called "your_subtitle_demo.ass" with centered text and appropriate styling.
Step 2: Create the Video (.webm)
Run this FFmpeg command to create the tiny video:
ffmpeg -loop 1 -framerate 24 -i bg.jpg -i audio.wav -vf "ass=your_subtitle_demo.ass" -c:v libvpx-vp9 -b:v 0 -crf 30 -c:a libopus -shortest demo.webm
That's it! The magic happens because:
- We use a single static background image instead of many frames
- The subtitles are stored as text (vector data), not as pixels
- VP9 video codec with Opus audio provides excellent compression
For Higher Quality (But Larger) Video (.mp4)
If you need better quality for distribution, use this command instead:
ffmpeg -loop 1 -framerate 24 -i bg.jpg -i audio.wav -vf "ass=your_subtitle_demo.ass" -c:v libx264 -preset slow -crf 18 -movflags +faststart -c:a copy -shortest demo.mp4
This creates an MP4 file that's compatible with more devices but larger in size.