mkhtml-video

Solid

Render an HTML/CSS/JS template to a local MP4 video by capturing frames with headless Chromium (via Playwright) and encoding them with ffmpeg. Use when "render my animation as a video", "export HTML to MP4", "make a video from my web template", or "capture CSS animation as MP4". NOT for recording live browser interactions (use `agent-browser record start`); NOT for screen recording; NOT for AI video generation (use mk:multimodal).

Web & Frontend 15 stars 2 forks Updated today MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
40
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
94
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# HTML → MP4 Render Pipeline Render a local HTML/CSS/JS animation to MP4 with Playwright frame capture and ffmpeg encoding. ## Route by Intent - **Check dependencies or choose dimensions/fps:** load [render workflow](references/render-workflow.md). - **Implement deterministic JavaScript, canvas, WebGL, or GSAP animation stepping:** load [template contract](references/html-template-contract.md). - **Capture frames directly:** execute `node .claude/skills/html-video/scripts/capture-frames.mjs <html-file> <frame-dir> <fps> <duration-seconds> <width> <height> [background-color]`. - **Render a complete MP4:** execute `bash .claude/skills/html-video/scripts/render-html-to-mp4.sh <html-file> <output.mp4> [fps] [duration-seconds] [width] [height] [background-color]`. - **Resolve module, `file://`, codec, cleanup, or dimension failures:** load [troubleshooting](references/troubleshooting.md). ## Quick Start ```bash bash .claude/skills/html-video/scripts/render-html-to-mp4.sh template.html output.mp4 30 5 1920 1080 ``` The final optional argument supplies a background colour. The script captures `fps × duration` PNG frames, encodes H.264 MP4 with `yuv420p`, cleans its temporary frame directory, and prints the output path. ## Delivery 1. Verify `ffmpeg` and Playwright before rendering; install Chromium only when missing and only with user approval. 2. Use an even viewport width and height. 3. Prefer a `window.onFrame` hook for fast deterministic animation; otherwise capture runs...

Details

Author
ngocsangyem
Repository
ngocsangyem/MeowKit
Created
4 months ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category