Skip to content
Agentmart
Submit a tool

webm-alpha-video

Convert green-screen MP4 videos to WebM with true alpha transparency for floating UI elements

Skill by sudomadhatter

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/sudomadhatter-webm-alpha-video

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Convert green-screen MP4 videos to WebM with true alpha transparency for floating UI elements

Use cases: design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/webm-alpha-video

What's inside

Skill name
webm-alpha-video
Description
Convert green-screen MP4 videos to WebM with true alpha transparency for floating UI elements
License
MIT
Instructions
93 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# webm-alpha-video — Transparent WebM Generator

Hand-authored knowledge skill, not a launcher — there is no `/webm-alpha-video` command (retired
SCC-63; this file used to point at a command body that only pointed back at this file). Load it
when the operator asks to convert a green-screen video, or says "webm alpha video" / "transparent
video asset".

**Goal:** process a raw green-screen `.mp4` into a web-optimized `.webm` with a native alpha channel
using FFmpeg, for "floating" UI elements (e.g. an avatar) that need to sit on top of complex
backgrounds (glassmorphism, etc.) without a bounding box. MP4 codecs carry no alpha channel; this
workflow bypasses that limit.

## Prerequisites

FFmpeg must be on PATH. Verify with `ffmpeg -version`. If missing, ASK before installing — never
install a dependency unprompted:
- macOS: `brew install ffmpeg`
- Windows: `winget install --id Gyan.FFmpeg -e --source winget`

## Required inputs

Get all three before running anything:
1. **Input file path** — the source `.mp4`.
2. **Output file path** — ask the caller where the `.webm` should land; it is project-specific
   (e.g. `frontend/public/assets/`, `webapp_images/`). Never write to a repo root.
3. **Exact hex color** of the green screen (e.g. `#27BB36`).

## Step 1 — Run the FFmpeg chromakey conversion

**Parameters:**
- `chromakey=0x[HEX]:0.15:0.02` — first number is the similarity threshold (how aggressive the cut
  is; `0.15` is tight). Second is blend/feathering (`0.02` is slightly soft). If the subject is
  getting erased, lower similarity to `0.10`.
- `format=yuva420p` — adds the alpha-channel structure; this is what makes transparency stick.
- `-c:v libvpx-vp9` — required codec for transparent WebM to render in Chrome/Safari.

macOS / Linux (bash):
```bash
input_file="/path/to/input.mp4"
output_file="/path/to/output.webm"
hex="HEX_CODE"   # no leading #

ffmpeg -i "$input_file" -vf "chromakey=0x${hex}:0.15:0.02,format=yuva420p" \
  -c:v libvpx-vp9 -auto-alt-ref 0 -b:v 0 -crf 28 -y "$output_file" 2>&1 | tail -n 10
```

Windows (PowerShell):
```powershell
$input_file = "path\to\input.mp4"
$output_file = "path\to\output.webm"
$hex = "HEX_CODE"   # no leading #

ffmpeg -i $input_file -vf "chromakey=0x${hex}:0.15:0.02,format=yuva420p" -c:v libvpx-vp9 -auto-alt-ref 0 -b:v 0 -crf 28 -y $output_file 2>&1 | Select-Object -Last 10
```

> **Exit-code note:** the VP9 encoder often reports `Exit code: 1` when the muxer closes the file,
> even on a fully successful conversion. Trust the output file, not the exit code — verify size
> instead (Step 2).

## Step 2 — Verify the output

Confirm the file exists and is a plausible size (> 500KB usually means it worked):
```bash
ls -la "$output_file"          # macOS/Linux
```
```powershell
Get-Item -Path $output_file | Select-Object Name, Length   # Windows
```

## Step 3 — Wire it into the frontend

When adding the `<video>` element in React/Next.js, this shape is required for silent, automatic,
looping playback with no user interaction:

```tsx
<video
    src="/assets/[your_file].webm"
    poster="/assets/[your_fallback_image].png"
    autoPlay
    muted
    loop
    playsInline
    className="opacity-80 object-contain drop-shadow-2xl"
/>
```

**Rules:**
- `muted` and `playsInline` are strictly required — modern browsers block `autoPlay` without both.
- Always provide a `poster` (a static PNG fallback) so the UI doesn't look broken while the asset
  loads.
- Tune `opacity` to the background so the asset reads as part of the page, not pasted on.

From sudomadhatter/design-engineer-skills, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 10, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sudomadhatter

Cite this page

webm-alpha-video skill. Agent Mart. https://agentmart.dev/skills/sudomadhatter-webm-alpha-video (last updated 2026-10-24)