video_compose: allow a job-scoped browser executable for Remotion renders

Author: Alan5168Created Sep 3, 2026Updated Sep 3, 2026

Problem

video_compose's Remotion path always lets Remotion pick its own browser (bundled/downloaded Chromium or a system default). In locked-down or heterogeneous environments this fails or misbehaves:

  • machines without internet access for Remotion's browser download
  • enterprise workstations where only a specific Chrome/Edge build is allowed
  • multi-job setups where each job should pin its own verified browser binary

There is currently no way to pass --browser-executable through video_compose.

Proposed change

Add an optional remotion_browser_executable input to video_compose:

  • when omitted, behavior is unchanged (Remotion's default resolution)
  • when set, validate the path exists and is a file, then append --browser-executable=<path> to the render command
  • fail fast with a clear error if the path is invalid (better than an opaque headless-browser failure mid-render)

Small, backwards compatible, and testable without a real browser (command construction + validation only).

Happy to send a PR with tests.