feat: add MOV (ProRes 4444) as transparent video output format - #224
Merged
Conversation
WebM VP9 alpha works in browsers but not in video editors (CapCut, Final Cut, Premiere, DaVinci). Add MOV with ProRes 4444 as the editor-compatible transparent video format — the industry standard used by Remotion and professional pipelines. - Add `mov` to CLI `--format` option alongside mp4/webm - Wire ProRes 4444 (yuva444p10le) in getEncoderPreset for mov format - Handle .mov in muxVideoWithAudio and applyFaststart - Add ProRes pix_fmt to streaming encoder - Treat mov like webm for alpha capture (PNG frames, screenshot mode) - Add MOV option to studio export dropdown - Add .mov mime type to file servers - Add encoder preset tests for mov format Usage: hyperframes render --format mov --output overlay.mov
jrusso1020
reviewed
Apr 8, 2026
jrusso1020
reviewed
Apr 8, 2026
jrusso1020
reviewed
Apr 8, 2026
Documents the --format mov option for ProRes 4444 transparent video, format comparison table, authoring tips for transparent compositions, and verification methods. Adds --format to the CLI options table.
Addresses review feedback — replace chained ternary format/extension logic with FORMAT_EXT lookup maps across CLI, studio API, studio UI, and render orchestrator.
jrusso1020
approved these changes
Apr 8, 2026
- Add missing -pix_fmt to chunkEncoder ProRes path (critical: alpha would silently be lost in non-streaming encode mode) - Fix chunked concat using wrong extension for MOV chunks - Add MOV to render listing filter, deletion cleanup, and ID regex - Fix Content-Type for MOV renders (video/quicktime via shared helper) - Add MOV to meta file path regex in studioServer and vite.config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--format movto the render CLI for ProRes 4444 transparent video outputTransparency format comparison
Changes
movto--formatvalidation, examples, and output path logicgetEncoderPreset()returns ProRes 4444 (yuva444p10le) formovformat; handle.movinapplyFaststartandmuxVideoWithAudio; addpix_fmtto streaming encoder ProRes pathmovlikewebmfor alpha capture (PNG frames, screenshot mode,forceScreenshot)movto studio API types, render route, and mime helpersUsage
Test plan
pnpm buildpassespnpm --filter @hyperframes/engine test— 42 tests pass (2 new for MOV)oxlintandoxfmtclean on all 12 changed filesyuva444p12le) with working alpha--format mov— ProRes 4444 confirmed via ffprobe