72 lines
1.8 KiB
Markdown
72 lines
1.8 KiB
Markdown
# Render the SquareMCP launch video locally
|
|
|
|
## Files
|
|
- `render_squaremcp_video.py` renders the video
|
|
- `squaremcp_shotlist.json` drives scene timing and copy
|
|
- `squaremcp_launch_captions.srt` provides burned-in captions
|
|
- `squaremcp_visual_prompts.md` can be used to create optional scene background images
|
|
|
|
## 1. Install dependencies
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## 2. Basic render
|
|
|
|
Place the script in the same folder as the shotlist and captions, then run:
|
|
|
|
```bash
|
|
python render_squaremcp_video.py \
|
|
--shotlist squaremcp_shotlist.json \
|
|
--captions squaremcp_launch_captions.srt \
|
|
--output squaremcp_launch.mp4
|
|
```
|
|
|
|
## 3. Faster draft render
|
|
|
|
```bash
|
|
python render_squaremcp_video.py \
|
|
--shotlist squaremcp_shotlist.json \
|
|
--captions squaremcp_launch_captions.srt \
|
|
--output squaremcp_launch_draft.mp4 \
|
|
--draft
|
|
```
|
|
|
|
## 4. Add your own voiceover
|
|
|
|
```bash
|
|
python render_squaremcp_video.py \
|
|
--shotlist squaremcp_shotlist.json \
|
|
--captions squaremcp_launch_captions.srt \
|
|
--voiceover founder_voiceover.wav \
|
|
--output squaremcp_launch_with_vo.mp4
|
|
```
|
|
|
|
## 5. Optional richer visuals
|
|
|
|
If you generate background stills for each scene from the prompts, save them in an `assets/` folder like this:
|
|
|
|
- `assets/scene1.png`
|
|
- `assets/scene2.png`
|
|
- ...
|
|
- `assets/scene7.png`
|
|
|
|
Then run:
|
|
|
|
```bash
|
|
python render_squaremcp_video.py \
|
|
--shotlist squaremcp_shotlist.json \
|
|
--captions squaremcp_launch_captions.srt \
|
|
--assets-dir assets \
|
|
--output squaremcp_launch_with_assets.mp4
|
|
```
|
|
|
|
## Notes
|
|
- Default output is vertical 1080x1920
|
|
- `--draft` renders 720x1280 and is much faster
|
|
- The renderer creates a clean product-style motion graphic even without scene images
|
|
- If you already have a polished voiceover, attach it with `--voiceover`
|