How do I convert a ProRes MOV with alpha to WebM in FFmpeg?
This is a convert step, not a background-removal step. FFmpeg can take a ProRes 4444 MOV that already stores alpha and encode VP9 WebM with yuva420p. If the source is opaque, FFmpeg cannot invent a matte.
Source has no alpha? Remove the background first
ExportAlpha runs AI removal, then encodes true-alpha WebM or ProRes. Do not run FFmpeg on a filled-in MP4 and expect holes.
5 free credits on first sign-in for most new accounts. Trial stills capped at 5. No card required. Fair-use limits apply.
Hard rule: alpha in, alpha out
A convert copies or recompresses channels that already exist. It does not segment a person from a room. Before you encode:
- Proceed if the MOV is ProRes 4444 / 4444 XQ (or another codec that actually stored alpha) and
ffprobeshows an alpha-capable pixel format or an alpha mode. - Stop if the file is H.264, ProRes 422, or any MOV whose transparent areas are already black or white. Re-encoding will keep the fill.
If you still need a matte, export RGB+Alpha from After Effects or Premiere, or upload the filmed clip to ExportAlpha for AI removal. Then come back to FFmpeg if you want a local WebM encode.
Check the source first
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name,pix_fmt -of default=noprint_wrappers=1 input.movYou want a ProRes family codec and a pixel format that includes alpha (names vary; look for yuva, rgba, or an explicit alpha mode). If pix_fmt is plain yuv422p10le or yuv420p with no A, there is nothing to convert into transparency.
Encode VP9 WebM with yuva420p
Same intent as the snippet on How do I make a WebM video with a transparent background?—this page is the dedicated ProRes → WebM convert:
ffmpeg -i input.mov -c:v libvpx-vp9 -pix_fmt yuva420p -c:a libopus output.webmThis is a reference command. FFmpeg builds differ. You need libvpx-vp9 compiled in. Drop audio (-an) if the stinger or overlay is silent. Bitrate and CRF flags are optional; check current FFmpeg VP9 docs for your version. If FFmpeg errors on yuva420p, the input likely has no alpha or your libvpx build cannot write it.
Verify the WebM
ffprobe -v error -select_streams v:0 -show_entries stream=pix_fmt -of default=noprint_wrappers=1:nokey=1 output.webmExpect yuva420p. Then open the file in Chrome over a colored page. A desktop player showing black does not prove failure. Safari will not composite WebM alpha; that is a browser limit, not a bad convert. ExportAlpha does not ship HEVC-with-alpha—use another encoder if Safari must show the holes. See transparent WebM in Safari.
When to skip FFmpeg
If the clip still has a real background, local FFmpeg is the wrong tool. ExportAlpha removes the background and writes VP9 WebM (yuva420p) or ProRes 4444 MOV. Uploads: 60 seconds, 1080p, 200MB. New accounts get 5 free processing seconds. That is AI removal plus encode—not a live keyer.
Frequently Asked Questions
How do I convert a ProRes MOV with alpha to WebM in FFmpeg?
Confirm alpha with ffprobe, then encode libvpx-vp9 with -pix_fmt yuva420p. Adjust flags for your FFmpeg build.
What if my ProRes MOV has no alpha channel?
FFmpeg cannot create one. Re-export from the editor with RGB+Alpha, or use ExportAlpha for background removal first. A convert of an opaque file stays opaque.
How do I verify the WebM still has alpha?
ffprobe should report a yuva pixel format. Composite in Chrome. Do not trust a system player that paints black behind every video.
Sources
- FFmpeg VP9 encoding: FFmpeg Wiki
- WebM project docs: webmproject.org
- Apple ProRes 4444 alpha: Apple support
No alpha in the MOV? Start with removal, not FFmpeg
Upload the filmed clip, remove the background, download VP9 WebM with yuva420p. Use FFmpeg only when the source already has a matte.
5 free credits on first sign-in for most new accounts. Trial stills capped at 5. No card required. Fair-use limits apply.