@remotion/renderer 4.0.533 → 4.0.535

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/dist/aac-priming.js +6 -2
  2. package/dist/browser/BrowserFetcher.d.ts +7 -1
  3. package/dist/browser/BrowserFetcher.js +33 -13
  4. package/dist/browser/BrowserPage.js +4 -0
  5. package/dist/browser/Connection.js +5 -17
  6. package/dist/browser/DOMWorld.js +19 -13
  7. package/dist/browser/devtools-commands.d.ts +13 -1
  8. package/dist/browser/devtools-types.d.ts +62 -0
  9. package/dist/browser/get-chrome-download-url.d.ts +1 -1
  10. package/dist/browser/get-chrome-download-url.js +19 -33
  11. package/dist/can-use-parallel-encoding.d.ts +0 -1
  12. package/dist/can-use-parallel-encoding.js +10 -10
  13. package/dist/client.d.ts +402 -4
  14. package/dist/client.js +2 -0
  15. package/dist/combine-chunks.d.ts +2 -1
  16. package/dist/combine-chunks.js +81 -52
  17. package/dist/combine-video-streams.js +3 -0
  18. package/dist/compositor/get-executable-path.js +30 -15
  19. package/dist/cycle-browser-tabs.js +9 -1
  20. package/dist/ensure-browser.d.ts +3 -0
  21. package/dist/ensure-browser.js +30 -6
  22. package/dist/esm/client.mjs +1325 -954
  23. package/dist/esm/index.mjs +4465 -3324
  24. package/dist/esm/pure.mjs +36 -10
  25. package/dist/file-extensions.js +4 -1
  26. package/dist/get-mp4-brand.d.ts +1 -0
  27. package/dist/get-mp4-brand.js +21 -0
  28. package/dist/get-video-threads-flag.js +5 -1
  29. package/dist/image-format.d.ts +1 -0
  30. package/dist/image-format.js +8 -4
  31. package/dist/index.d.ts +58 -2
  32. package/dist/index.js +4 -0
  33. package/dist/memory/from-macos-sysctl.d.ts +1 -0
  34. package/dist/memory/from-macos-sysctl.js +50 -0
  35. package/dist/memory/from-proc-meminfo.d.ts +1 -1
  36. package/dist/memory/from-proc-meminfo.js +7 -4
  37. package/dist/memory/get-available-memory.js +29 -21
  38. package/dist/mux-video-and-audio.js +11 -2
  39. package/dist/next-frame-to-render.d.ts +3 -7
  40. package/dist/next-frame-to-render.js +3 -22
  41. package/dist/open-browser.js +1 -0
  42. package/dist/options/allow-html-in-canvas.d.ts +1 -0
  43. package/dist/options/allow-html-in-canvas.js +2 -1
  44. package/dist/options/api-key.d.ts +1 -0
  45. package/dist/options/api-key.js +2 -1
  46. package/dist/options/ask-ai.d.ts +1 -0
  47. package/dist/options/ask-ai.js +2 -1
  48. package/dist/options/audio-bitrate.d.ts +1 -0
  49. package/dist/options/audio-bitrate.js +2 -1
  50. package/dist/options/audio-codec.d.ts +1 -0
  51. package/dist/options/audio-codec.js +13 -6
  52. package/dist/options/beep-on-finish.d.ts +1 -0
  53. package/dist/options/beep-on-finish.js +2 -1
  54. package/dist/options/benchmark-concurrencies.d.ts +1 -0
  55. package/dist/options/benchmark-concurrencies.js +2 -1
  56. package/dist/options/binaries-directory.d.ts +1 -0
  57. package/dist/options/binaries-directory.js +2 -1
  58. package/dist/options/browser-executable.d.ts +1 -0
  59. package/dist/options/browser-executable.js +2 -1
  60. package/dist/options/browser.d.ts +1 -0
  61. package/dist/options/browser.js +2 -1
  62. package/dist/options/bundle-cache.d.ts +1 -0
  63. package/dist/options/bundle-cache.js +2 -1
  64. package/dist/options/canvas-tabs.d.ts +1 -0
  65. package/dist/options/canvas-tabs.js +2 -1
  66. package/dist/options/chrome-mode.d.ts +1 -0
  67. package/dist/options/chrome-mode.js +2 -1
  68. package/dist/options/color-space.d.ts +1 -0
  69. package/dist/options/color-space.js +2 -1
  70. package/dist/options/concurrency.d.ts +1 -0
  71. package/dist/options/concurrency.js +2 -1
  72. package/dist/options/config.d.ts +1 -0
  73. package/dist/options/config.js +2 -1
  74. package/dist/options/crf.d.ts +1 -0
  75. package/dist/options/crf.js +2 -1
  76. package/dist/options/cross-site-isolation.d.ts +1 -0
  77. package/dist/options/cross-site-isolation.js +2 -1
  78. package/dist/options/dark-mode.d.ts +1 -0
  79. package/dist/options/dark-mode.js +2 -1
  80. package/dist/options/default-coding-agent.d.ts +1 -0
  81. package/dist/options/default-coding-agent.js +2 -1
  82. package/dist/options/default-editor.d.ts +1 -0
  83. package/dist/options/default-editor.js +2 -1
  84. package/dist/options/default-premount-in-seconds.d.ts +19 -0
  85. package/dist/options/default-premount-in-seconds.js +36 -0
  86. package/dist/options/delete-after.d.ts +1 -0
  87. package/dist/options/delete-after.js +2 -1
  88. package/dist/options/disable-git-source.d.ts +1 -0
  89. package/dist/options/disable-git-source.js +2 -1
  90. package/dist/options/disable-shared-memory-capture.d.ts +17 -0
  91. package/dist/options/disable-shared-memory-capture.js +30 -0
  92. package/dist/options/disable-web-security.d.ts +1 -0
  93. package/dist/options/disable-web-security.js +2 -1
  94. package/dist/options/disallow-parallel-encoding.d.ts +1 -0
  95. package/dist/options/disallow-parallel-encoding.js +2 -1
  96. package/dist/options/enable-cancellation.d.ts +1 -0
  97. package/dist/options/enable-cancellation.js +2 -1
  98. package/dist/options/enable-lambda-insights.d.ts +1 -0
  99. package/dist/options/enable-lambda-insights.js +2 -1
  100. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
  101. package/dist/options/enable-multiprocess-on-linux.js +2 -1
  102. package/dist/options/encoding-buffer-size.d.ts +1 -0
  103. package/dist/options/encoding-buffer-size.js +2 -1
  104. package/dist/options/encoding-max-rate.d.ts +1 -0
  105. package/dist/options/encoding-max-rate.js +2 -1
  106. package/dist/options/enforce-audio.d.ts +1 -0
  107. package/dist/options/enforce-audio.js +2 -1
  108. package/dist/options/env-file.d.ts +1 -0
  109. package/dist/options/env-file.js +2 -1
  110. package/dist/options/every-nth-frame.d.ts +1 -0
  111. package/dist/options/every-nth-frame.js +2 -1
  112. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
  113. package/dist/options/experimental-keep-audio-context-alive.js +2 -1
  114. package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
  115. package/dist/options/experimental-sequence-activity-limit.js +40 -0
  116. package/dist/options/experimental-sequence-activity.d.ts +19 -0
  117. package/dist/options/experimental-sequence-activity.js +38 -0
  118. package/dist/options/experimental-tracks.d.ts +19 -0
  119. package/dist/options/experimental-tracks.js +43 -0
  120. package/dist/options/folder-expiry.d.ts +1 -0
  121. package/dist/options/folder-expiry.js +2 -1
  122. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
  123. package/dist/options/for-seamless-aac-concatenation.js +2 -1
  124. package/dist/options/force-new-studio.d.ts +1 -0
  125. package/dist/options/force-new-studio.js +2 -1
  126. package/dist/options/frames.d.ts +1 -0
  127. package/dist/options/frames.js +2 -1
  128. package/dist/options/gl.d.ts +1 -0
  129. package/dist/options/gl.js +2 -1
  130. package/dist/options/gop-size.d.ts +1 -0
  131. package/dist/options/gop-size.js +2 -1
  132. package/dist/options/hardware-acceleration.d.ts +1 -0
  133. package/dist/options/hardware-acceleration.js +2 -1
  134. package/dist/options/headless.d.ts +1 -0
  135. package/dist/options/headless.js +2 -1
  136. package/dist/options/ignore-certificate-errors.d.ts +1 -0
  137. package/dist/options/ignore-certificate-errors.js +2 -1
  138. package/dist/options/image-sequence-pattern.d.ts +2 -1
  139. package/dist/options/image-sequence-pattern.js +2 -1
  140. package/dist/options/image-sequence.d.ts +1 -0
  141. package/dist/options/image-sequence.js +2 -1
  142. package/dist/options/index.d.ts +211 -2
  143. package/dist/options/index.js +12 -0
  144. package/dist/options/interactivity.d.ts +1 -0
  145. package/dist/options/interactivity.js +2 -1
  146. package/dist/options/ipv4.d.ts +1 -0
  147. package/dist/options/ipv4.js +2 -1
  148. package/dist/options/is-production.d.ts +1 -0
  149. package/dist/options/is-production.js +2 -1
  150. package/dist/options/jpeg-quality.d.ts +1 -0
  151. package/dist/options/jpeg-quality.js +6 -2
  152. package/dist/options/keyboard-shortcuts.d.ts +1 -0
  153. package/dist/options/keyboard-shortcuts.js +2 -1
  154. package/dist/options/latency-hint.d.ts +1 -0
  155. package/dist/options/latency-hint.js +2 -1
  156. package/dist/options/license-key.d.ts +1 -0
  157. package/dist/options/license-key.js +2 -1
  158. package/dist/options/log-level.d.ts +1 -0
  159. package/dist/options/log-level.js +2 -1
  160. package/dist/options/metadata.d.ts +1 -0
  161. package/dist/options/metadata.js +2 -1
  162. package/dist/options/mute.d.ts +1 -0
  163. package/dist/options/mute.js +2 -1
  164. package/dist/options/no-open.d.ts +1 -0
  165. package/dist/options/no-open.js +2 -1
  166. package/dist/options/number-of-gif-loops.d.ts +1 -0
  167. package/dist/options/number-of-gif-loops.js +2 -1
  168. package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
  169. package/dist/options/number-of-shared-audio-tags.js +2 -1
  170. package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
  171. package/dist/options/offthreadvideo-cache-size.js +2 -1
  172. package/dist/options/offthreadvideo-threads.d.ts +1 -0
  173. package/dist/options/offthreadvideo-threads.js +2 -1
  174. package/dist/options/on-browser-download.d.ts +1 -0
  175. package/dist/options/on-browser-download.js +2 -1
  176. package/dist/options/option.d.ts +1 -0
  177. package/dist/options/options-map.d.ts +189 -1
  178. package/dist/options/options-map.js +4 -0
  179. package/dist/options/out-dir.d.ts +1 -0
  180. package/dist/options/out-dir.js +2 -1
  181. package/dist/options/override-duration.d.ts +1 -0
  182. package/dist/options/override-duration.js +2 -1
  183. package/dist/options/override-fps.d.ts +1 -0
  184. package/dist/options/override-fps.js +2 -1
  185. package/dist/options/override-height.d.ts +1 -0
  186. package/dist/options/override-height.js +2 -1
  187. package/dist/options/override-width.d.ts +1 -0
  188. package/dist/options/override-width.js +2 -1
  189. package/dist/options/overwrite.d.ts +1 -0
  190. package/dist/options/overwrite.js +2 -1
  191. package/dist/options/package-manager.d.ts +1 -0
  192. package/dist/options/package-manager.js +2 -1
  193. package/dist/options/pixel-format.d.ts +1 -0
  194. package/dist/options/pixel-format.js +2 -1
  195. package/dist/options/port.d.ts +1 -0
  196. package/dist/options/port.js +2 -1
  197. package/dist/options/prefer-lossless.d.ts +1 -0
  198. package/dist/options/prefer-lossless.js +2 -1
  199. package/dist/options/preview-sample-rate.d.ts +1 -0
  200. package/dist/options/preview-sample-rate.js +2 -1
  201. package/dist/options/props.d.ts +1 -0
  202. package/dist/options/props.js +2 -1
  203. package/dist/options/prores-profile.d.ts +1 -0
  204. package/dist/options/prores-profile.js +2 -1
  205. package/dist/options/public-dir.d.ts +1 -0
  206. package/dist/options/public-dir.js +2 -1
  207. package/dist/options/public-license-key.d.ts +1 -0
  208. package/dist/options/public-license-key.js +2 -1
  209. package/dist/options/public-path.d.ts +1 -0
  210. package/dist/options/public-path.js +2 -1
  211. package/dist/options/repro.d.ts +1 -0
  212. package/dist/options/repro.js +2 -1
  213. package/dist/options/rspack.d.ts +2 -1
  214. package/dist/options/rspack.js +2 -1
  215. package/dist/options/runs.d.ts +1 -0
  216. package/dist/options/runs.js +2 -1
  217. package/dist/options/sample-rate.d.ts +1 -0
  218. package/dist/options/sample-rate.js +2 -1
  219. package/dist/options/scale.d.ts +1 -0
  220. package/dist/options/scale.js +2 -1
  221. package/dist/options/separate-audio.d.ts +1 -0
  222. package/dist/options/separate-audio.js +3 -2
  223. package/dist/options/show-premounting.d.ts +19 -0
  224. package/dist/options/show-premounting.js +33 -0
  225. package/dist/options/skip-skills.d.ts +1 -0
  226. package/dist/options/skip-skills.js +2 -1
  227. package/dist/options/still-frame.d.ts +1 -0
  228. package/dist/options/still-frame.js +2 -1
  229. package/dist/options/still-image-format.d.ts +1 -0
  230. package/dist/options/still-image-format.js +2 -1
  231. package/dist/options/throw-if-site-exists.d.ts +1 -0
  232. package/dist/options/throw-if-site-exists.js +2 -1
  233. package/dist/options/timeout.d.ts +1 -0
  234. package/dist/options/timeout.js +2 -1
  235. package/dist/options/user-agent.d.ts +1 -0
  236. package/dist/options/user-agent.js +2 -1
  237. package/dist/options/version-flag.d.ts +1 -0
  238. package/dist/options/version-flag.js +2 -1
  239. package/dist/options/video-bitrate.d.ts +1 -0
  240. package/dist/options/video-bitrate.js +2 -1
  241. package/dist/options/video-cache-size.d.ts +1 -0
  242. package/dist/options/video-cache-size.js +2 -1
  243. package/dist/options/video-codec.d.ts +1 -0
  244. package/dist/options/video-codec.js +5 -3
  245. package/dist/options/video-image-format.d.ts +1 -0
  246. package/dist/options/video-image-format.js +7 -2
  247. package/dist/options/webhook-custom-data.d.ts +1 -0
  248. package/dist/options/webhook-custom-data.js +2 -1
  249. package/dist/options/webpack-poll.d.ts +1 -0
  250. package/dist/options/webpack-poll.js +2 -1
  251. package/dist/options/x264-preset.d.ts +1 -0
  252. package/dist/options/x264-preset.js +2 -1
  253. package/dist/prespawn-ffmpeg.d.ts +20 -0
  254. package/dist/prespawn-ffmpeg.js +157 -29
  255. package/dist/probe-shared-memory-capture.d.ts +8 -0
  256. package/dist/probe-shared-memory-capture.js +111 -0
  257. package/dist/puppeteer-screenshot.d.ts +3 -1
  258. package/dist/puppeteer-screenshot.js +1 -0
  259. package/dist/pure.d.ts +1 -1
  260. package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
  261. package/dist/remotion-shared-memory-ffmpeg.js +312 -0
  262. package/dist/remotion-shared-memory.d.ts +49 -0
  263. package/dist/remotion-shared-memory.js +359 -0
  264. package/dist/render-frame-and-retry-target-close.d.ts +5 -2
  265. package/dist/render-frame-and-retry-target-close.js +20 -4
  266. package/dist/render-frame-with-option-to-reject.d.ts +4 -1
  267. package/dist/render-frame-with-option-to-reject.js +206 -115
  268. package/dist/render-frame.d.ts +4 -5
  269. package/dist/render-frame.js +3 -1
  270. package/dist/render-frames.d.ts +3 -0
  271. package/dist/render-frames.js +15 -18
  272. package/dist/render-media.d.ts +1 -1
  273. package/dist/render-media.js +131 -46
  274. package/dist/render-still.js +1 -0
  275. package/dist/screenshot-background.d.ts +2 -0
  276. package/dist/screenshot-background.js +20 -0
  277. package/dist/screenshot-task.d.ts +4 -2
  278. package/dist/screenshot-task.js +40 -21
  279. package/dist/seek-to-frame.js +1 -1
  280. package/dist/stitch-frames-to-video.js +71 -10
  281. package/dist/take-frame.d.ts +11 -3
  282. package/dist/take-frame.js +10 -8
  283. package/dist/validate-output-filename.d.ts +1 -1
  284. package/dist/validate-output-filename.js +10 -2
  285. package/package.json +13 -13
@@ -1,38 +1,21 @@
1
1
  // src/client.ts
2
- import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
2
+ import { NoReactInternals as NoReactInternals9 } from "remotion/no-react";
3
3
 
4
4
  // src/browser/TimeoutSettings.ts
5
5
  var DEFAULT_TIMEOUT = 30000;
6
6
 
7
- class TimeoutSettings {
8
- #defaultTimeout;
9
- #defaultNavigationTimeout;
10
- constructor() {
11
- this.#defaultTimeout = null;
12
- this.#defaultNavigationTimeout = null;
13
- }
14
- setDefaultTimeout(timeout) {
15
- this.#defaultTimeout = timeout;
16
- }
17
- setDefaultNavigationTimeout(timeout) {
18
- this.#defaultNavigationTimeout = timeout;
19
- }
20
- navigationTimeout() {
21
- if (this.#defaultNavigationTimeout !== null) {
22
- return this.#defaultNavigationTimeout;
23
- }
24
- if (this.#defaultTimeout !== null) {
25
- return this.#defaultTimeout;
26
- }
27
- return DEFAULT_TIMEOUT;
28
- }
29
- timeout() {
30
- if (this.#defaultTimeout !== null) {
31
- return this.#defaultTimeout;
32
- }
33
- return DEFAULT_TIMEOUT;
7
+ // src/is-audio-codec.ts
8
+ var isAudioCodec = (codec) => {
9
+ return codec === "mp3" || codec === "aac" || codec === "wav";
10
+ };
11
+
12
+ // src/can-use-parallel-encoding.ts
13
+ var canUseParallelEncoding = (codec) => {
14
+ if (isAudioCodec(codec)) {
15
+ return false;
34
16
  }
35
- }
17
+ return codec === "h264" || codec === "h264-mkv" || codec === "h264-ts" || codec === "h265" || codec === "vp8" || codec === "vp9" || codec === "av1" || codec === "prores";
18
+ };
36
19
 
37
20
  // src/codec.ts
38
21
  var validCodecs = [
@@ -51,11 +34,6 @@ var validCodecs = [
51
34
  ];
52
35
  var DEFAULT_CODEC = "h264";
53
36
 
54
- // src/is-audio-codec.ts
55
- var isAudioCodec = (codec) => {
56
- return codec === "mp3" || codec === "aac" || codec === "wav";
57
- };
58
-
59
37
  // src/crf.ts
60
38
  var defaultCrfMap = {
61
39
  h264: 18,
@@ -124,6 +102,7 @@ var codecSupportsVideoBitrate = (codec) => {
124
102
  };
125
103
 
126
104
  // src/file-extensions.ts
105
+ import { NoReactInternals } from "remotion/no-react";
127
106
  var defaultFileExtensionMap = {
128
107
  "h264-mkv": {
129
108
  default: "mkv",
@@ -143,7 +122,7 @@ var defaultFileExtensionMap = {
143
122
  default: "aac",
144
123
  forAudioCodec: {
145
124
  aac: {
146
- possible: ["aac", "3gp", "m4a", "m4b", "mpg", "mpeg"],
125
+ possible: NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? ["aac", "3gp", "m4a", "m4b"] : ["aac", "3gp", "m4a", "m4b", "mpg", "mpeg"],
147
126
  default: "aac"
148
127
  },
149
128
  "pcm-16": {
@@ -426,6 +405,7 @@ var allowHtmlInCanvasEnabled = false;
426
405
  var cliFlag = "allow-html-in-canvas";
427
406
  var allowHtmlInCanvasOption = {
428
407
  name: "Allow HTML-in-canvas for client-side rendering",
408
+ addedIn: "4.0.447",
429
409
  cliFlag,
430
410
  description: () => /* @__PURE__ */ jsxs(Fragment, {
431
411
  children: [
@@ -439,7 +419,7 @@ var allowHtmlInCanvasOption = {
439
419
  ]
440
420
  }),
441
421
  ssrName: null,
442
- docLink: "https://www.remotion.dev/docs/client-side-rendering/html-in-canvas",
422
+ docLink: "https://www.remotion.dev/docs/options/allow-html-in-canvas",
443
423
  type: false,
444
424
  getValue: ({ commandLine }) => {
445
425
  if (commandLine[cliFlag] !== null) {
@@ -465,6 +445,7 @@ var currentApiKey = null;
465
445
  var cliFlag2 = "api-key";
466
446
  var apiKeyOption = {
467
447
  name: "API key",
448
+ addedIn: "4.0.253",
468
449
  cliFlag: cliFlag2,
469
450
  description: () => /* @__PURE__ */ jsxs2(Fragment2, {
470
451
  children: [
@@ -476,7 +457,7 @@ var apiKeyOption = {
476
457
  ]
477
458
  }),
478
459
  ssrName: "apiKey",
479
- docLink: "https://www.remotion.dev/docs/licensing",
460
+ docLink: "https://www.remotion.dev/docs/options/api-key",
480
461
  type: null,
481
462
  getValue: ({ commandLine }) => {
482
463
  if (commandLine[cliFlag2] !== undefined) {
@@ -503,12 +484,13 @@ var configuredAskAIEnabled = null;
503
484
  var cliFlag3 = "disable-ask-ai";
504
485
  var askAIOption = {
505
486
  name: "Disable or Enable the Ask AI option",
487
+ addedIn: "4.0.407",
506
488
  cliFlag: cliFlag3,
507
489
  description: () => /* @__PURE__ */ jsx3(Fragment3, {
508
490
  children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this."
509
491
  }),
510
492
  ssrName: null,
511
- docLink: "https://www.remotion.dev/docs/config#setaskaienabled",
493
+ docLink: "https://www.remotion.dev/docs/options/disable-ask-ai",
512
494
  type: false,
513
495
  getValue: ({ commandLine }) => {
514
496
  if (commandLine[cliFlag3] !== undefined) {
@@ -541,6 +523,7 @@ var cliFlag4 = "audio-bitrate";
541
523
  var audioBitrate = null;
542
524
  var audioBitrateOption = {
543
525
  name: "Audio Bitrate",
526
+ addedIn: "3.2.32",
544
527
  cliFlag: cliFlag4,
545
528
  description: () => /* @__PURE__ */ jsxs3(Fragment4, {
546
529
  children: [
@@ -565,7 +548,7 @@ var audioBitrateOption = {
565
548
  ]
566
549
  }),
567
550
  ssrName: "audioBitrate",
568
- docLink: "https://www.remotion.dev/docs/renderer/render-media#audiobitrate-",
551
+ docLink: "https://www.remotion.dev/docs/options/audio-bitrate",
569
552
  type: "0",
570
553
  getValue: ({ commandLine }) => {
571
554
  if (commandLine[cliFlag4]) {
@@ -591,13 +574,26 @@ var audioBitrateOption = {
591
574
  id: cliFlag4
592
575
  };
593
576
 
577
+ // src/get-mp4-brand.ts
578
+ var mp4Brands = {
579
+ m4a: "M4A ",
580
+ m4b: "M4B ",
581
+ "3gp": "3gp4"
582
+ };
583
+ var getMp4BrandForExtension = (extension) => {
584
+ if (extension === null) {
585
+ return null;
586
+ }
587
+ return mp4Brands[extension.toLowerCase()] ?? null;
588
+ };
589
+
594
590
  // src/options/separate-audio.tsx
595
591
  var DEFAULT = null;
596
592
  var cliFlag5 = "separate-audio-to";
597
593
  var separateAudioOption = {
598
594
  cliFlag: cliFlag5,
599
- description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. The muted option still takes precedence. It is recommended to use an absolute path. If a relative path is passed, it is relative to the Remotion Root.`,
600
- docLink: "https://remotion.dev/docs/renderer/render-media",
595
+ description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. Audio-only renders, muted renders and codecs without audio support cannot use this option. For local renders, use an absolute path; relative paths are resolved against the Remotion Root. On Lambda, pass an output name or custom destination as described in renderMediaOnLambda().`,
596
+ docLink: "https://www.remotion.dev/docs/options/separate-audio-to",
601
597
  getValue: ({ commandLine }) => {
602
598
  if (commandLine[cliFlag5]) {
603
599
  return {
@@ -611,6 +607,7 @@ var separateAudioOption = {
611
607
  };
612
608
  },
613
609
  name: "Separate audio to",
610
+ addedIn: "4.0.123",
614
611
  setConfig: () => {
615
612
  throw new Error("Not implemented");
616
613
  },
@@ -710,15 +707,18 @@ var resolveAudioCodec = ({
710
707
  }) => {
711
708
  let derivedFromSeparateAudioToExtension = null;
712
709
  if (separateAudioTo) {
713
- const extension = separateAudioTo.split(".").pop();
710
+ const extension = separateAudioTo.split(".").pop() ?? null;
714
711
  for (const [key, value] of Object.entries(extensionMap)) {
715
712
  if (value === extension) {
716
713
  derivedFromSeparateAudioToExtension = key;
717
- if (!supportedAudioCodecs[codec].includes(derivedFromSeparateAudioToExtension) && derivedFromSeparateAudioToExtension) {
718
- throw new Error(`The codec is ${codec} but the audio codec derived from --${separateAudioOption.cliFlag} is ${derivedFromSeparateAudioToExtension}. The only supported codecs are: ${supportedAudioCodecs[codec].join(", ")}`);
719
- }
720
714
  }
721
715
  }
716
+ if (getMp4BrandForExtension(extension)) {
717
+ derivedFromSeparateAudioToExtension = "aac";
718
+ }
719
+ if (derivedFromSeparateAudioToExtension && !supportedAudioCodecs[codec].includes(derivedFromSeparateAudioToExtension)) {
720
+ throw new Error(`The codec is ${codec} but the audio codec derived from --${separateAudioOption.cliFlag} is ${derivedFromSeparateAudioToExtension}. The only supported codecs are: ${supportedAudioCodecs[codec].join(", ")}`);
721
+ }
722
722
  }
723
723
  if (preferLossless) {
724
724
  const selected = getDefaultAudioCodec({ codec, preferLossless });
@@ -780,8 +780,9 @@ var audioCodecOption = {
780
780
  };
781
781
  },
782
782
  description: () => `Set the format of the audio that is embedded in the video. Not all codec and audio codec combinations are supported and certain combinations require a certain file extension and container format. See the table in the docs to see possible combinations.`,
783
- docLink: "https://www.remotion.dev/docs/encoding/#audio-codec",
783
+ docLink: "https://www.remotion.dev/docs/options/audio-codec",
784
784
  name: "Audio Codec",
785
+ addedIn: "3.3.41",
785
786
  ssrName,
786
787
  type: "aac",
787
788
  id: cliFlag6
@@ -794,12 +795,13 @@ var configuredBeepOnFinish = null;
794
795
  var cliFlag7 = "beep-on-finish";
795
796
  var beepOnFinishOption = {
796
797
  name: "Beep on finish",
798
+ addedIn: "4.0.84",
797
799
  cliFlag: cliFlag7,
798
800
  description: () => /* @__PURE__ */ jsx5(Fragment5, {
799
801
  children: "Whether the Remotion Studio tab should beep when the render is finished."
800
802
  }),
801
803
  ssrName: null,
802
- docLink: "https://www.remotion.dev/docs/config#setbeeponfinish",
804
+ docLink: "https://www.remotion.dev/docs/options/beep-on-finish",
803
805
  type: false,
804
806
  getValue: ({ commandLine }) => {
805
807
  if (commandLine[cliFlag7] !== undefined && commandLine[cliFlag7] !== null) {
@@ -837,6 +839,7 @@ var currentConcurrencies = null;
837
839
  var cliFlag8 = "concurrencies";
838
840
  var benchmarkConcurrenciesOption = {
839
841
  name: "Benchmark concurrencies",
842
+ addedIn: "3.2.28",
840
843
  cliFlag: cliFlag8,
841
844
  description: () => /* @__PURE__ */ jsxs4(Fragment6, {
842
845
  children: [
@@ -850,7 +853,7 @@ var benchmarkConcurrenciesOption = {
850
853
  ]
851
854
  }),
852
855
  ssrName: null,
853
- docLink: "https://www.remotion.dev/docs/cli/benchmark#--concurrencies",
856
+ docLink: "https://www.remotion.dev/docs/options/concurrencies",
854
857
  type: null,
855
858
  getValue: ({ commandLine }) => {
856
859
  if (commandLine[cliFlag8] !== undefined) {
@@ -873,6 +876,7 @@ var cliFlag9 = "binaries-directory";
873
876
  var currentDirectory = null;
874
877
  var binariesDirectoryOption = {
875
878
  name: "Binaries Directory",
879
+ addedIn: "4.0.120",
876
880
  cliFlag: cliFlag9,
877
881
  description: () => /* @__PURE__ */ jsxs5(Fragment7, {
878
882
  children: [
@@ -900,7 +904,7 @@ var binariesDirectoryOption = {
900
904
  ]
901
905
  }),
902
906
  ssrName: "binariesDirectory",
903
- docLink: "https://www.remotion.dev/docs/renderer",
907
+ docLink: "https://www.remotion.dev/docs/options/binaries-directory",
904
908
  type: "",
905
909
  getValue: ({ commandLine }) => {
906
910
  if (commandLine[cliFlag9] !== undefined) {
@@ -931,6 +935,7 @@ import { jsx as jsx8, jsxs as jsxs6, Fragment as Fragment8 } from "react/jsx-run
931
935
  var cliFlag10 = "browser";
932
936
  var browserOption = {
933
937
  name: "Browser",
938
+ addedIn: "3.3.79",
934
939
  cliFlag: cliFlag10,
935
940
  description: () => /* @__PURE__ */ jsxs6(Fragment8, {
936
941
  children: [
@@ -943,7 +948,7 @@ var browserOption = {
943
948
  ]
944
949
  }),
945
950
  ssrName: null,
946
- docLink: "https://www.remotion.dev/docs/cli/studio#--browser",
951
+ docLink: "https://www.remotion.dev/docs/options/browser",
947
952
  getValue: ({ commandLine }) => {
948
953
  if (commandLine[cliFlag10] !== undefined) {
949
954
  return {
@@ -969,12 +974,13 @@ var currentBrowserExecutablePath = null;
969
974
  var cliFlag11 = "browser-executable";
970
975
  var browserExecutableOption = {
971
976
  name: "Browser executable",
977
+ addedIn: "1.5.0",
972
978
  cliFlag: cliFlag11,
973
979
  description: () => /* @__PURE__ */ jsx9(Fragment9, {
974
980
  children: "Set a custom Chrome or Chromium executable path. By default Remotion will try to find an existing version of Chrome on your system and if not found, it will download one. This flag is useful if you don't have Chrome installed in a standard location and you want to prevent downloading an additional browser or need support for the H264 codec."
975
981
  }),
976
982
  ssrName: "browserExecutable",
977
- docLink: "https://www.remotion.dev/docs/config#setbrowserexecutable",
983
+ docLink: "https://www.remotion.dev/docs/options/browser-executable",
978
984
  type: null,
979
985
  getValue: ({ commandLine }) => {
980
986
  if (commandLine[cliFlag11] !== undefined) {
@@ -1006,6 +1012,7 @@ var cliFlag12 = "bundle-cache";
1006
1012
  var cachingEnabled = true;
1007
1013
  var bundleCacheOption = {
1008
1014
  name: "Webpack Bundle Caching",
1015
+ addedIn: "2.0.0",
1009
1016
  cliFlag: cliFlag12,
1010
1017
  description: () => /* @__PURE__ */ jsxs7(Fragment10, {
1011
1018
  children: [
@@ -1018,7 +1025,7 @@ var bundleCacheOption = {
1018
1025
  ]
1019
1026
  }),
1020
1027
  ssrName: null,
1021
- docLink: "https://www.remotion.dev/docs/config#setcachingenabled",
1028
+ docLink: "https://www.remotion.dev/docs/options/bundle-cache",
1022
1029
  getValue: ({ commandLine }) => {
1023
1030
  if (commandLine[cliFlag12] !== undefined && commandLine[cliFlag12] !== null) {
1024
1031
  return {
@@ -1048,12 +1055,13 @@ var configuredCanvasTabsEnabled = null;
1048
1055
  var cliFlag13 = "disable-canvas-tabs";
1049
1056
  var canvasTabsOption = {
1050
1057
  name: "Disable or enable Studio canvas tabs",
1058
+ addedIn: "4.0.530",
1051
1059
  cliFlag: cliFlag13,
1052
1060
  description: () => /* @__PURE__ */ jsx11(Fragment11, {
1053
1061
  children: "Enable or disable the tabs above the Studio canvas."
1054
1062
  }),
1055
1063
  ssrName: null,
1056
- docLink: "https://www.remotion.dev/docs/config#setcanvastabsenabled",
1064
+ docLink: "https://www.remotion.dev/docs/options/disable-canvas-tabs",
1057
1065
  type: false,
1058
1066
  getValue: ({ commandLine }) => {
1059
1067
  if (commandLine[cliFlag13] !== undefined && commandLine[cliFlag13] !== null) {
@@ -1091,6 +1099,7 @@ var configSelection = null;
1091
1099
  var chromeModeOption = {
1092
1100
  cliFlag: cliFlag14,
1093
1101
  name: "Chrome Mode",
1102
+ addedIn: "4.0.248",
1094
1103
  ssrName: "chromeMode",
1095
1104
  description: () => {
1096
1105
  return /* @__PURE__ */ jsxs8(Fragment12, {
@@ -1122,7 +1131,7 @@ var chromeModeOption = {
1122
1131
  ]
1123
1132
  });
1124
1133
  },
1125
- docLink: "https://www.remotion.dev/chrome-for-testing",
1134
+ docLink: "https://www.remotion.dev/docs/options/chrome-mode",
1126
1135
  getValue: ({ commandLine }) => {
1127
1136
  if (commandLine[cliFlag14]) {
1128
1137
  if (!validChromeModeOptions.includes(commandLine[cliFlag14])) {
@@ -1152,16 +1161,17 @@ var chromeModeOption = {
1152
1161
  };
1153
1162
 
1154
1163
  // src/options/color-space.tsx
1155
- import { NoReactInternals } from "remotion/no-react";
1164
+ import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
1156
1165
  import { jsx as jsx13, jsxs as jsxs9, Fragment as Fragment13 } from "react/jsx-runtime";
1157
1166
  var validV4ColorSpaces = ["default", "bt601", "bt709", "bt2020-ncl"];
1158
1167
  var validV5ColorSpaces = ["bt601", "bt709", "bt2020-ncl"];
1159
- var validColorSpaces = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
1160
- var DEFAULT_COLOR_SPACE = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
1168
+ var validColorSpaces = NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
1169
+ var DEFAULT_COLOR_SPACE = NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
1161
1170
  var colorSpace = DEFAULT_COLOR_SPACE;
1162
1171
  var cliFlag15 = "color-space";
1163
1172
  var colorSpaceOption = {
1164
1173
  name: "Color space",
1174
+ addedIn: "4.0.28",
1165
1175
  cliFlag: "color-space",
1166
1176
  description: () => /* @__PURE__ */ jsxs9(Fragment13, {
1167
1177
  children: [
@@ -1176,7 +1186,7 @@ var colorSpaceOption = {
1176
1186
  }),
1177
1187
  "(default since 5.0),",
1178
1188
  " ",
1179
- NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs9("code", {
1189
+ NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs9("code", {
1180
1190
  children: [
1181
1191
  '"',
1182
1192
  "bt601",
@@ -1251,7 +1261,7 @@ var colorSpaceOption = {
1251
1261
  "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."
1252
1262
  ]
1253
1263
  }),
1254
- docLink: "https://www.remotion.dev/docs/renderer/render-media#colorspace",
1264
+ docLink: "https://www.remotion.dev/docs/options/color-space",
1255
1265
  ssrName: "colorSpace",
1256
1266
  type: DEFAULT_COLOR_SPACE,
1257
1267
  getValue: ({ commandLine }) => {
@@ -1299,6 +1309,7 @@ var validateConcurrencyValue = (value, setting) => {
1299
1309
  };
1300
1310
  var concurrencyOption = {
1301
1311
  name: "Concurrency",
1312
+ addedIn: "1.0.0",
1302
1313
  cliFlag: cliFlag16,
1303
1314
  description: () => /* @__PURE__ */ jsxs10(Fragment14, {
1304
1315
  children: [
@@ -1314,7 +1325,7 @@ var concurrencyOption = {
1314
1325
  ]
1315
1326
  }),
1316
1327
  ssrName: "concurrency",
1317
- docLink: "https://www.remotion.dev/docs/config#setconcurrency",
1328
+ docLink: "https://www.remotion.dev/docs/options/concurrency",
1318
1329
  type: null,
1319
1330
  getValue: ({ commandLine }) => {
1320
1331
  if (commandLine[cliFlag16] !== undefined) {
@@ -1348,12 +1359,13 @@ import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1348
1359
  var cliFlag17 = "config";
1349
1360
  var configOption = {
1350
1361
  name: "Config file",
1362
+ addedIn: "1.2.0",
1351
1363
  cliFlag: cliFlag17,
1352
1364
  description: () => /* @__PURE__ */ jsx15(Fragment15, {
1353
1365
  children: "Specify a location for the Remotion config file."
1354
1366
  }),
1355
1367
  ssrName: null,
1356
- docLink: "https://www.remotion.dev/docs/config",
1368
+ docLink: "https://www.remotion.dev/docs/options/config",
1357
1369
  getValue: ({ commandLine }) => {
1358
1370
  if (commandLine[cliFlag17] !== undefined) {
1359
1371
  return {
@@ -1384,12 +1396,13 @@ var validateCrf = (newCrf) => {
1384
1396
  var cliFlag18 = "crf";
1385
1397
  var crfOption = {
1386
1398
  name: "CRF",
1399
+ addedIn: "1.4.0",
1387
1400
  cliFlag: cliFlag18,
1388
1401
  description: () => /* @__PURE__ */ jsx16(Fragment16, {
1389
1402
  children: "No matter which codec you end up using, there's always a tradeoff between file size and video quality. You can control it by setting the CRF (Constant Rate Factor). The lower the number, the better the quality, the higher the number, the smaller the file is – of course at the cost of quality."
1390
1403
  }),
1391
1404
  ssrName: "crf",
1392
- docLink: "https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting",
1405
+ docLink: "https://www.remotion.dev/docs/options/crf",
1393
1406
  type: 0,
1394
1407
  getValue: ({ commandLine }) => {
1395
1408
  if (commandLine[cliFlag18] !== undefined) {
@@ -1424,6 +1437,7 @@ var configuredEnableCrossSiteIsolation = null;
1424
1437
  var cliFlag19 = "cross-site-isolation";
1425
1438
  var enableCrossSiteIsolationOption = {
1426
1439
  name: "Enable Cross-Site Isolation",
1440
+ addedIn: "4.0.306",
1427
1441
  cliFlag: cliFlag19,
1428
1442
  description: () => /* @__PURE__ */ jsxs11(Fragment17, {
1429
1443
  children: [
@@ -1436,7 +1450,7 @@ var enableCrossSiteIsolationOption = {
1436
1450
  ]
1437
1451
  }),
1438
1452
  ssrName: null,
1439
- docLink: "https://www.remotion.dev/docs/config#setenablecrosssiteisolation",
1453
+ docLink: "https://www.remotion.dev/docs/options/cross-site-isolation",
1440
1454
  type: false,
1441
1455
  getValue: ({ commandLine }) => {
1442
1456
  if (commandLine[cliFlag19] !== undefined) {
@@ -1469,6 +1483,7 @@ var darkMode = DEFAULT_VALUE;
1469
1483
  var cliFlag20 = "dark-mode";
1470
1484
  var darkModeOption = {
1471
1485
  name: "Dark Mode",
1486
+ addedIn: "4.0.381",
1472
1487
  cliFlag: cliFlag20,
1473
1488
  description: () => /* @__PURE__ */ jsxs12(Fragment18, {
1474
1489
  children: [
@@ -1481,7 +1496,7 @@ var darkModeOption = {
1481
1496
  ]
1482
1497
  }),
1483
1498
  ssrName: "darkMode",
1484
- docLink: "https://www.remotion.dev/docs/chromium-flags#--dark-mode",
1499
+ docLink: "https://www.remotion.dev/docs/options/dark-mode",
1485
1500
  type: false,
1486
1501
  getValue: ({ commandLine }) => {
1487
1502
  if (commandLine[cliFlag20] !== undefined && commandLine[cliFlag20] !== null) {
@@ -1528,6 +1543,7 @@ var validateDefaultCodingAgent = (value, source) => {
1528
1543
  };
1529
1544
  var defaultCodingAgentOption = {
1530
1545
  name: "Default coding agent",
1546
+ addedIn: "4.0.506",
1531
1547
  cliFlag: cliFlag21,
1532
1548
  description: () => /* @__PURE__ */ jsxs13(Fragment19, {
1533
1549
  children: [
@@ -1540,7 +1556,7 @@ var defaultCodingAgentOption = {
1540
1556
  ]
1541
1557
  }),
1542
1558
  ssrName: null,
1543
- docLink: "https://www.remotion.dev/docs/config#setdefaultcodingagent",
1559
+ docLink: "https://www.remotion.dev/docs/options/coding-agent",
1544
1560
  type: null,
1545
1561
  getValue: ({ commandLine }) => {
1546
1562
  const cliValue = commandLine[cliFlag21];
@@ -1613,6 +1629,7 @@ var validateDefaultEditor = (value, source) => {
1613
1629
  };
1614
1630
  var defaultEditorOption = {
1615
1631
  name: "Default editor",
1632
+ addedIn: "4.0.503",
1616
1633
  cliFlag: cliFlag22,
1617
1634
  description: () => /* @__PURE__ */ jsxs14(Fragment20, {
1618
1635
  children: [
@@ -1624,7 +1641,7 @@ var defaultEditorOption = {
1624
1641
  ]
1625
1642
  }),
1626
1643
  ssrName: null,
1627
- docLink: "https://www.remotion.dev/docs/studio/open-in-editor",
1644
+ docLink: "https://www.remotion.dev/docs/options/editor",
1628
1645
  type: null,
1629
1646
  getValue: ({ commandLine }) => {
1630
1647
  const cliValue = commandLine[cliFlag22];
@@ -1645,38 +1662,76 @@ var defaultEditorOption = {
1645
1662
  id: cliFlag22
1646
1663
  };
1647
1664
 
1665
+ // src/options/default-premount-in-seconds.tsx
1666
+ import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
1667
+ import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1668
+ var configuredDefaultPremountInSeconds = null;
1669
+ var cliFlag23 = "default-premount-in-seconds";
1670
+ var defaultPremountInSecondsOption = {
1671
+ name: "Default premount duration in seconds",
1672
+ addedIn: "4.0.535",
1673
+ cliFlag: cliFlag23,
1674
+ id: cliFlag23,
1675
+ description: () => /* @__PURE__ */ jsx21(Fragment21, {
1676
+ children: "Set the default premount duration in seconds for timed components in the Studio. Defaults to 2. Before v4.0.535, there was no premounting by default."
1677
+ }),
1678
+ ssrName: null,
1679
+ docLink: "https://www.remotion.dev/docs/options/default-premount-in-seconds",
1680
+ type: 0,
1681
+ getValue: ({ commandLine }) => {
1682
+ if (commandLine[cliFlag23] !== undefined) {
1683
+ const value = commandLine[cliFlag23];
1684
+ NoReactInternals3.validateDefaultPremountInSeconds(value);
1685
+ return { value, source: "cli" };
1686
+ }
1687
+ return {
1688
+ value: configuredDefaultPremountInSeconds ?? NoReactInternals3.DEFAULT_STUDIO_PREMOUNT_IN_SECONDS,
1689
+ source: "config"
1690
+ };
1691
+ },
1692
+ setConfig(value) {
1693
+ NoReactInternals3.validateDefaultPremountInSeconds(value);
1694
+ configuredDefaultPremountInSeconds = value;
1695
+ },
1696
+ getConfigValue: () => configuredDefaultPremountInSeconds,
1697
+ reset: () => {
1698
+ configuredDefaultPremountInSeconds = null;
1699
+ }
1700
+ };
1701
+
1648
1702
  // src/options/delete-after.tsx
1649
- import { jsx as jsx21, jsxs as jsxs15, Fragment as Fragment21 } from "react/jsx-runtime";
1650
- var cliFlag23 = "delete-after";
1703
+ import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment22 } from "react/jsx-runtime";
1704
+ var cliFlag24 = "delete-after";
1651
1705
  var deleteAfter = null;
1652
1706
  var deleteAfterOption = {
1653
1707
  name: "Lambda render expiration",
1654
- cliFlag: cliFlag23,
1708
+ addedIn: "4.0.32",
1709
+ cliFlag: cliFlag24,
1655
1710
  description: () => {
1656
- return /* @__PURE__ */ jsxs15(Fragment21, {
1711
+ return /* @__PURE__ */ jsxs15(Fragment22, {
1657
1712
  children: [
1658
1713
  "Automatically delete the render after a certain period. Accepted values are ",
1659
- /* @__PURE__ */ jsx21("code", {
1714
+ /* @__PURE__ */ jsx22("code", {
1660
1715
  children: "1-day"
1661
1716
  }),
1662
1717
  ", ",
1663
- /* @__PURE__ */ jsx21("code", {
1718
+ /* @__PURE__ */ jsx22("code", {
1664
1719
  children: "3-days"
1665
1720
  }),
1666
1721
  ", ",
1667
- /* @__PURE__ */ jsx21("code", {
1722
+ /* @__PURE__ */ jsx22("code", {
1668
1723
  children: "7-days"
1669
1724
  }),
1670
1725
  " and",
1671
1726
  " ",
1672
- /* @__PURE__ */ jsx21("code", {
1727
+ /* @__PURE__ */ jsx22("code", {
1673
1728
  children: "30-days"
1674
1729
  }),
1675
1730
  ".",
1676
- /* @__PURE__ */ jsx21("br", {}),
1731
+ /* @__PURE__ */ jsx22("br", {}),
1677
1732
  " For this to work, your bucket needs to have",
1678
1733
  " ",
1679
- /* @__PURE__ */ jsx21("a", {
1734
+ /* @__PURE__ */ jsx22("a", {
1680
1735
  href: "/docs/lambda/autodelete",
1681
1736
  children: "lifecycles enabled"
1682
1737
  }),
@@ -1685,13 +1740,13 @@ var deleteAfterOption = {
1685
1740
  });
1686
1741
  },
1687
1742
  ssrName: "deleteAfter",
1688
- docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1743
+ docLink: "https://www.remotion.dev/docs/options/delete-after",
1689
1744
  type: "1-day",
1690
1745
  getValue: ({ commandLine }) => {
1691
- if (commandLine[cliFlag23] !== undefined) {
1746
+ if (commandLine[cliFlag24] !== undefined) {
1692
1747
  return {
1693
1748
  source: "cli",
1694
- value: commandLine[cliFlag23]
1749
+ value: commandLine[cliFlag24]
1695
1750
  };
1696
1751
  }
1697
1752
  if (deleteAfter !== null) {
@@ -1708,21 +1763,21 @@ var deleteAfterOption = {
1708
1763
  setConfig: (value) => {
1709
1764
  deleteAfter = value;
1710
1765
  },
1711
- id: cliFlag23
1766
+ id: cliFlag24
1712
1767
  };
1713
1768
 
1714
1769
  // src/options/disable-git-source.tsx
1715
1770
  var DEFAULT2 = false;
1716
- var cliFlag24 = "disable-git-source";
1771
+ var cliFlag25 = "disable-git-source";
1717
1772
  var disableGitSourceOption = {
1718
- cliFlag: cliFlag24,
1773
+ cliFlag: cliFlag25,
1719
1774
  description: () => `Disables the Git Source being connected to the Remotion Studio. Clicking on stack traces and certain menu items will be disabled.`,
1720
- docLink: "https://remotion.dev/docs/bundle",
1775
+ docLink: "https://www.remotion.dev/docs/options/disable-git-source",
1721
1776
  getValue: ({ commandLine }) => {
1722
- if (commandLine[cliFlag24]) {
1777
+ if (commandLine[cliFlag25]) {
1723
1778
  return {
1724
1779
  source: "cli",
1725
- value: commandLine[cliFlag24]
1780
+ value: commandLine[cliFlag25]
1726
1781
  };
1727
1782
  }
1728
1783
  return {
@@ -1731,32 +1786,69 @@ var disableGitSourceOption = {
1731
1786
  };
1732
1787
  },
1733
1788
  name: "Disable Git source",
1789
+ addedIn: "4.0.182",
1734
1790
  setConfig: () => {
1735
1791
  throw new Error("Not implemented");
1736
1792
  },
1737
1793
  ssrName: "disableGitSource",
1738
1794
  type: false,
1739
- id: cliFlag24
1795
+ id: cliFlag25
1796
+ };
1797
+
1798
+ // src/options/disable-shared-memory-capture.tsx
1799
+ import { jsx as jsx23, jsxs as jsxs16, Fragment as Fragment23 } from "react/jsx-runtime";
1800
+ var disableSharedMemoryCapture = false;
1801
+ var cliFlag26 = "disable-shared-memory-capture";
1802
+ var disableSharedMemoryCaptureOption = {
1803
+ name: "Disable shared-memory capture",
1804
+ addedIn: "4.0.534",
1805
+ cliFlag: cliFlag26,
1806
+ description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1807
+ children: [
1808
+ "Disables shared-memory capture and uses regular JPEG or PNG screenshots instead. Parallel encoding remains enabled. Default ",
1809
+ /* @__PURE__ */ jsx23("code", {
1810
+ children: "false"
1811
+ }),
1812
+ "."
1813
+ ]
1814
+ }),
1815
+ ssrName: "disableSharedMemoryCapture",
1816
+ docLink: "https://www.remotion.dev/docs/options/disable-shared-memory-capture",
1817
+ type: false,
1818
+ getValue: ({ commandLine }) => {
1819
+ if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1820
+ return { value: commandLine[cliFlag26], source: "cli" };
1821
+ }
1822
+ if (disableSharedMemoryCapture !== false) {
1823
+ return { value: disableSharedMemoryCapture, source: "config" };
1824
+ }
1825
+ return { value: false, source: "default" };
1826
+ },
1827
+ setConfig(value) {
1828
+ disableSharedMemoryCapture = value;
1829
+ },
1830
+ id: cliFlag26
1740
1831
  };
1741
1832
 
1742
1833
  // src/options/disable-web-security.tsx
1743
- import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1834
+ import { jsx as jsx24, Fragment as Fragment24 } from "react/jsx-runtime";
1744
1835
  var disableWebSecurity = false;
1745
- var cliFlag25 = "disable-web-security";
1836
+ var cliFlag27 = "disable-web-security";
1746
1837
  var disableWebSecurityOption = {
1747
1838
  name: "Disable web security",
1748
- cliFlag: cliFlag25,
1749
- description: () => /* @__PURE__ */ jsx22(Fragment22, {
1839
+ addedIn: "2.6.5",
1840
+ cliFlag: cliFlag27,
1841
+ description: () => /* @__PURE__ */ jsx24(Fragment24, {
1750
1842
  children: "This will most notably disable CORS in Chrome among other security features."
1751
1843
  }),
1752
1844
  ssrName: "disableWebSecurity",
1753
- docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-web-security",
1845
+ docLink: "https://www.remotion.dev/docs/options/disable-web-security",
1754
1846
  type: false,
1755
1847
  getValue: ({ commandLine }) => {
1756
- if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1848
+ if (commandLine[cliFlag27] !== undefined && commandLine[cliFlag27] !== null) {
1757
1849
  return {
1758
1850
  source: "cli",
1759
- value: Boolean(commandLine[cliFlag25])
1851
+ value: Boolean(commandLine[cliFlag27])
1760
1852
  };
1761
1853
  }
1762
1854
  if (disableWebSecurity) {
@@ -1773,26 +1865,27 @@ var disableWebSecurityOption = {
1773
1865
  setConfig: (value) => {
1774
1866
  disableWebSecurity = value;
1775
1867
  },
1776
- id: cliFlag25
1868
+ id: cliFlag27
1777
1869
  };
1778
1870
 
1779
1871
  // src/options/disallow-parallel-encoding.tsx
1780
- import { jsx as jsx23, Fragment as Fragment23 } from "react/jsx-runtime";
1872
+ import { jsx as jsx25, Fragment as Fragment25 } from "react/jsx-runtime";
1781
1873
  var disallowParallelEncoding = false;
1782
- var cliFlag26 = "disallow-parallel-encoding";
1874
+ var cliFlag28 = "disallow-parallel-encoding";
1783
1875
  var disallowParallelEncodingOption = {
1784
1876
  name: "Disallow parallel encoding",
1785
- cliFlag: cliFlag26,
1786
- description: () => /* @__PURE__ */ jsx23(Fragment23, {
1877
+ addedIn: "3.2.29",
1878
+ cliFlag: cliFlag28,
1879
+ description: () => /* @__PURE__ */ jsx25(Fragment25, {
1787
1880
  children: "Disallows the renderer from doing rendering frames and encoding at the same time. This makes the rendering process more memory-efficient, but possibly slower."
1788
1881
  }),
1789
1882
  ssrName: "disallowParallelEncoding",
1790
- docLink: "https://www.remotion.dev/docs/config#setdisallowparallelencoding",
1883
+ docLink: "https://www.remotion.dev/docs/options/disallow-parallel-encoding",
1791
1884
  type: false,
1792
1885
  getValue: ({ commandLine }) => {
1793
- if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1886
+ if (commandLine[cliFlag28] !== undefined && commandLine[cliFlag28] !== null) {
1794
1887
  return {
1795
- value: commandLine[cliFlag26],
1888
+ value: commandLine[cliFlag28],
1796
1889
  source: "cli"
1797
1890
  };
1798
1891
  }
@@ -1810,36 +1903,37 @@ var disallowParallelEncodingOption = {
1810
1903
  setConfig(value) {
1811
1904
  disallowParallelEncoding = value;
1812
1905
  },
1813
- id: cliFlag26
1906
+ id: cliFlag28
1814
1907
  };
1815
1908
 
1816
1909
  // src/options/enable-cancellation.tsx
1817
- import { jsx as jsx24, jsxs as jsxs16, Fragment as Fragment24 } from "react/jsx-runtime";
1818
- var cliFlag27 = "enable-cancellation";
1910
+ import { jsx as jsx26, jsxs as jsxs17, Fragment as Fragment26 } from "react/jsx-runtime";
1911
+ var cliFlag29 = "enable-cancellation";
1819
1912
  var enableCancellation = false;
1820
1913
  var enableCancellationOption = {
1821
1914
  name: "Enable cancellation",
1822
- cliFlag: cliFlag27,
1823
- description: () => /* @__PURE__ */ jsxs16(Fragment24, {
1915
+ addedIn: "4.0.515",
1916
+ cliFlag: cliFlag29,
1917
+ description: () => /* @__PURE__ */ jsxs17(Fragment26, {
1824
1918
  children: [
1825
1919
  "Allows a Lambda render to be cancelled by pressing Ctrl+C while running",
1826
1920
  " ",
1827
- /* @__PURE__ */ jsx24("code", {
1921
+ /* @__PURE__ */ jsx26("code", {
1828
1922
  children: "npx remotion lambda render"
1829
1923
  }),
1830
1924
  ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."
1831
1925
  ]
1832
1926
  }),
1833
1927
  ssrName: null,
1834
- docLink: "https://www.remotion.dev/docs/lambda/cli/render#--enable-cancellation",
1928
+ docLink: "https://www.remotion.dev/docs/options/enable-cancellation",
1835
1929
  type: false,
1836
1930
  setConfig: (value) => {
1837
1931
  enableCancellation = value;
1838
1932
  },
1839
1933
  getValue: ({ commandLine }) => {
1840
- if (typeof commandLine[cliFlag27] === "boolean") {
1934
+ if (typeof commandLine[cliFlag29] === "boolean") {
1841
1935
  return {
1842
- value: commandLine[cliFlag27],
1936
+ value: commandLine[cliFlag29],
1843
1937
  source: "cli"
1844
1938
  };
1845
1939
  }
@@ -1848,21 +1942,22 @@ var enableCancellationOption = {
1848
1942
  source: enableCancellation ? "config" : "default"
1849
1943
  };
1850
1944
  },
1851
- id: cliFlag27
1945
+ id: cliFlag29
1852
1946
  };
1853
1947
 
1854
1948
  // src/options/enable-lambda-insights.tsx
1855
- import { jsx as jsx25, jsxs as jsxs17, Fragment as Fragment25 } from "react/jsx-runtime";
1856
- var cliFlag28 = "enable-lambda-insights";
1949
+ import { jsx as jsx27, jsxs as jsxs18, Fragment as Fragment27 } from "react/jsx-runtime";
1950
+ var cliFlag30 = "enable-lambda-insights";
1857
1951
  var option = false;
1858
1952
  var enableLambdaInsights = {
1859
1953
  name: "Enable Lambda Insights",
1860
- cliFlag: cliFlag28,
1861
- description: () => /* @__PURE__ */ jsxs17(Fragment25, {
1954
+ addedIn: "4.0.61",
1955
+ cliFlag: cliFlag30,
1956
+ description: () => /* @__PURE__ */ jsxs18(Fragment27, {
1862
1957
  children: [
1863
1958
  "Enable",
1864
1959
  " ",
1865
- /* @__PURE__ */ jsx25("a", {
1960
+ /* @__PURE__ */ jsx27("a", {
1866
1961
  href: "https://remotion.dev/docs/lambda/insights",
1867
1962
  children: "Lambda Insights in AWS CloudWatch"
1868
1963
  }),
@@ -1870,15 +1965,15 @@ var enableLambdaInsights = {
1870
1965
  ]
1871
1966
  }),
1872
1967
  ssrName: "enableLambdaInsights",
1873
- docLink: "https://www.remotion.dev/docs/lambda/insights",
1968
+ docLink: "https://www.remotion.dev/docs/options/enable-lambda-insights",
1874
1969
  type: false,
1875
1970
  setConfig: (value) => {
1876
1971
  option = value;
1877
1972
  },
1878
1973
  getValue: ({ commandLine }) => {
1879
- if (commandLine[cliFlag28] !== undefined) {
1974
+ if (commandLine[cliFlag30] !== undefined) {
1880
1975
  return {
1881
- value: commandLine[cliFlag28],
1976
+ value: commandLine[cliFlag30],
1882
1977
  source: "cli"
1883
1978
  };
1884
1979
  }
@@ -1893,52 +1988,53 @@ var enableLambdaInsights = {
1893
1988
  source: "default"
1894
1989
  };
1895
1990
  },
1896
- id: cliFlag28
1991
+ id: cliFlag30
1897
1992
  };
1898
1993
 
1899
1994
  // src/options/enable-multiprocess-on-linux.tsx
1900
- import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1995
+ import { jsx as jsx28, jsxs as jsxs19, Fragment as Fragment28 } from "react/jsx-runtime";
1901
1996
  var DEFAULT_VALUE2 = true;
1902
1997
  var multiProcessOnLinux = DEFAULT_VALUE2;
1903
- var cliFlag29 = "enable-multiprocess-on-linux";
1998
+ var cliFlag31 = "enable-multiprocess-on-linux";
1904
1999
  var enableMultiprocessOnLinuxOption = {
1905
2000
  name: "Enable Multiprocess on Linux",
1906
- cliFlag: cliFlag29,
1907
- description: () => /* @__PURE__ */ jsxs18(Fragment26, {
2001
+ addedIn: "4.0.42",
2002
+ cliFlag: cliFlag31,
2003
+ description: () => /* @__PURE__ */ jsxs19(Fragment28, {
1908
2004
  children: [
1909
2005
  "Removes the ",
1910
- /* @__PURE__ */ jsx26("code", {
2006
+ /* @__PURE__ */ jsx28("code", {
1911
2007
  children: "--single-process"
1912
2008
  }),
1913
2009
  " flag that gets passed to Chromium on Linux by default. This will make the render faster because multiple processes can be used, but may cause issues with some Linux distributions or if window server libraries are missing.",
1914
- /* @__PURE__ */ jsx26("br", {}),
2010
+ /* @__PURE__ */ jsx28("br", {}),
1915
2011
  "Default: ",
1916
- /* @__PURE__ */ jsx26("code", {
2012
+ /* @__PURE__ */ jsx28("code", {
1917
2013
  children: "false"
1918
2014
  }),
1919
2015
  " until v4.0.136, then ",
1920
- /* @__PURE__ */ jsx26("code", {
2016
+ /* @__PURE__ */ jsx28("code", {
1921
2017
  children: "true"
1922
2018
  }),
1923
2019
  " from v4.0.137 on because newer Chrome versions ",
1924
2020
  "don't",
1925
2021
  " allow rendering with the ",
1926
- /* @__PURE__ */ jsx26("code", {
2022
+ /* @__PURE__ */ jsx28("code", {
1927
2023
  children: "--single-process"
1928
2024
  }),
1929
2025
  " flag. ",
1930
- /* @__PURE__ */ jsx26("br", {}),
2026
+ /* @__PURE__ */ jsx28("br", {}),
1931
2027
  "This flag will be removed in Remotion v5.0."
1932
2028
  ]
1933
2029
  }),
1934
2030
  ssrName: "chromiumOptions.enableMultiprocessOnLinux",
1935
- docLink: "https://www.remotion.dev/docs/chromium-flags",
2031
+ docLink: "https://www.remotion.dev/docs/options/enable-multiprocess-on-linux",
1936
2032
  type: false,
1937
2033
  getValue: ({ commandLine }) => {
1938
- if (commandLine[cliFlag29] !== undefined) {
2034
+ if (commandLine[cliFlag31] !== undefined) {
1939
2035
  return {
1940
2036
  source: "cli",
1941
- value: commandLine[cliFlag29]
2037
+ value: commandLine[cliFlag31]
1942
2038
  };
1943
2039
  }
1944
2040
  if (multiProcessOnLinux !== false) {
@@ -1955,35 +2051,36 @@ var enableMultiprocessOnLinuxOption = {
1955
2051
  setConfig: (value) => {
1956
2052
  multiProcessOnLinux = value;
1957
2053
  },
1958
- id: cliFlag29
2054
+ id: cliFlag31
1959
2055
  };
1960
2056
 
1961
2057
  // src/options/encoding-buffer-size.tsx
1962
- import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
2058
+ import { jsx as jsx29, jsxs as jsxs20, Fragment as Fragment29 } from "react/jsx-runtime";
1963
2059
  var encodingBufferSize = null;
1964
2060
  var setEncodingBufferSize = (bitrate) => {
1965
2061
  encodingBufferSize = bitrate;
1966
2062
  };
1967
- var cliFlag30 = "buffer-size";
2063
+ var cliFlag32 = "buffer-size";
1968
2064
  var encodingBufferSizeOption = {
1969
2065
  name: "FFmpeg -bufsize flag",
1970
- cliFlag: cliFlag30,
1971
- description: () => /* @__PURE__ */ jsxs19(Fragment27, {
2066
+ addedIn: "4.0.78",
2067
+ cliFlag: cliFlag32,
2068
+ description: () => /* @__PURE__ */ jsxs20(Fragment29, {
1972
2069
  children: [
1973
2070
  "The value for the ",
1974
- /* @__PURE__ */ jsx27("code", {
2071
+ /* @__PURE__ */ jsx29("code", {
1975
2072
  children: "-bufsize"
1976
2073
  }),
1977
2074
  " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
1978
2075
  ]
1979
2076
  }),
1980
2077
  ssrName: "encodingBufferSize",
1981
- docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize",
2078
+ docLink: "https://www.remotion.dev/docs/options/buffer-size",
1982
2079
  type: "",
1983
2080
  getValue: ({ commandLine }) => {
1984
- if (commandLine[cliFlag30] !== undefined) {
2081
+ if (commandLine[cliFlag32] !== undefined) {
1985
2082
  return {
1986
- value: commandLine[cliFlag30],
2083
+ value: commandLine[cliFlag32],
1987
2084
  source: "cli"
1988
2085
  };
1989
2086
  }
@@ -1999,32 +2096,33 @@ var encodingBufferSizeOption = {
1999
2096
  };
2000
2097
  },
2001
2098
  setConfig: setEncodingBufferSize,
2002
- id: cliFlag30
2099
+ id: cliFlag32
2003
2100
  };
2004
2101
 
2005
2102
  // src/options/encoding-max-rate.tsx
2006
- import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
2103
+ import { jsx as jsx30, jsxs as jsxs21, Fragment as Fragment30 } from "react/jsx-runtime";
2007
2104
  var encodingMaxRate = null;
2008
- var cliFlag31 = "max-rate";
2105
+ var cliFlag33 = "max-rate";
2009
2106
  var encodingMaxRateOption = {
2010
2107
  name: "FFmpeg -maxrate flag",
2011
- cliFlag: cliFlag31,
2012
- description: () => /* @__PURE__ */ jsxs20(Fragment28, {
2108
+ addedIn: "4.0.78",
2109
+ cliFlag: cliFlag33,
2110
+ description: () => /* @__PURE__ */ jsxs21(Fragment30, {
2013
2111
  children: [
2014
2112
  "The value for the ",
2015
- /* @__PURE__ */ jsx28("code", {
2113
+ /* @__PURE__ */ jsx30("code", {
2016
2114
  children: "-maxrate"
2017
2115
  }),
2018
2116
  " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag. With the VP8, VP9 and AV1 codecs, a video bitrate must also be set."
2019
2117
  ]
2020
2118
  }),
2021
2119
  ssrName: "encodingMaxRate",
2022
- docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate",
2120
+ docLink: "https://www.remotion.dev/docs/options/max-rate",
2023
2121
  type: "",
2024
2122
  getValue: ({ commandLine }) => {
2025
- if (commandLine[cliFlag31] !== undefined) {
2123
+ if (commandLine[cliFlag33] !== undefined) {
2026
2124
  return {
2027
- value: commandLine[cliFlag31],
2125
+ value: commandLine[cliFlag33],
2028
2126
  source: "cli"
2029
2127
  };
2030
2128
  }
@@ -2042,55 +2140,56 @@ var encodingMaxRateOption = {
2042
2140
  setConfig: (newMaxRate) => {
2043
2141
  encodingMaxRate = newMaxRate;
2044
2142
  },
2045
- id: cliFlag31
2143
+ id: cliFlag33
2046
2144
  };
2047
2145
 
2048
2146
  // src/options/enforce-audio.tsx
2049
- import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
2147
+ import { jsx as jsx31, jsxs as jsxs22, Fragment as Fragment31 } from "react/jsx-runtime";
2050
2148
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
2051
2149
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
2052
- var cliFlag32 = "enforce-audio-track";
2150
+ var cliFlag34 = "enforce-audio-track";
2053
2151
  var enforceAudioOption = {
2054
2152
  name: "Enforce Audio Track",
2055
- cliFlag: cliFlag32,
2056
- description: (mode) => /* @__PURE__ */ jsxs21(Fragment29, {
2153
+ addedIn: "3.2.1",
2154
+ cliFlag: cliFlag34,
2155
+ description: (mode) => /* @__PURE__ */ jsxs22(Fragment31, {
2057
2156
  children: [
2058
- /* @__PURE__ */ jsxs21("p", {
2157
+ /* @__PURE__ */ jsxs22("p", {
2059
2158
  children: [
2060
2159
  "Defaults to ",
2061
- /* @__PURE__ */ jsx29("code", {
2160
+ /* @__PURE__ */ jsx31("code", {
2062
2161
  children: "false"
2063
2162
  }),
2064
2163
  ". If ",
2065
- /* @__PURE__ */ jsx29("code", {
2164
+ /* @__PURE__ */ jsx31("code", {
2066
2165
  children: "true"
2067
2166
  }),
2068
2167
  ", include a silent audio track when the render contains no audio. If ",
2069
- /* @__PURE__ */ jsx29("code", {
2168
+ /* @__PURE__ */ jsx31("code", {
2070
2169
  children: "false"
2071
2170
  }),
2072
2171
  ", omit the audio track when no audio is present. Audio-only exports and",
2073
2172
  " ",
2074
- /* @__PURE__ */ jsx29("code", {
2173
+ /* @__PURE__ */ jsx31("code", {
2075
2174
  children: mode === "cli" ? "--separate-audio-to" : "separateAudioTo"
2076
2175
  }),
2077
2176
  " ",
2078
2177
  "still produce an audio file, even when silent."
2079
2178
  ]
2080
2179
  }),
2081
- /* @__PURE__ */ jsxs21("p", {
2180
+ /* @__PURE__ */ jsxs22("p", {
2082
2181
  children: [
2083
- mode === "cli" ? /* @__PURE__ */ jsxs21(Fragment29, {
2182
+ mode === "cli" ? /* @__PURE__ */ jsxs22(Fragment31, {
2084
2183
  children: [
2085
2184
  "Pass ",
2086
- /* @__PURE__ */ jsx29("code", {
2185
+ /* @__PURE__ */ jsx31("code", {
2087
2186
  children: "--enforce-audio-track"
2088
2187
  })
2089
2188
  ]
2090
- }) : /* @__PURE__ */ jsxs21(Fragment29, {
2189
+ }) : /* @__PURE__ */ jsxs22(Fragment31, {
2091
2190
  children: [
2092
2191
  "Set this to ",
2093
- /* @__PURE__ */ jsx29("code", {
2192
+ /* @__PURE__ */ jsx31("code", {
2094
2193
  children: "true"
2095
2194
  })
2096
2195
  ]
@@ -2098,13 +2197,13 @@ var enforceAudioOption = {
2098
2197
  " ",
2099
2198
  "for",
2100
2199
  " ",
2101
- /* @__PURE__ */ jsx29("a", {
2200
+ /* @__PURE__ */ jsx31("a", {
2102
2201
  href: "/docs/distributed-rendering",
2103
2202
  children: "chunks that will later be concatenated"
2104
2203
  }),
2105
2204
  ", because other chunks may contain audio.",
2106
2205
  " ",
2107
- /* @__PURE__ */ jsx29("code", {
2206
+ /* @__PURE__ */ jsx31("code", {
2108
2207
  children: mode === "cli" ? "--muted" : "muted: true"
2109
2208
  }),
2110
2209
  " takes precedence."
@@ -2113,10 +2212,10 @@ var enforceAudioOption = {
2113
2212
  ]
2114
2213
  }),
2115
2214
  ssrName: "enforceAudioTrack",
2116
- docLink: "https://www.remotion.dev/docs/config#setenforceaudiotrack-",
2215
+ docLink: "https://www.remotion.dev/docs/options/enforce-audio-track",
2117
2216
  type: false,
2118
2217
  getValue: ({ commandLine }) => {
2119
- if (commandLine[cliFlag32]) {
2218
+ if (commandLine[cliFlag34]) {
2120
2219
  return {
2121
2220
  source: "cli",
2122
2221
  value: true
@@ -2136,32 +2235,33 @@ var enforceAudioOption = {
2136
2235
  setConfig: (value) => {
2137
2236
  enforceAudioTrackState = value;
2138
2237
  },
2139
- id: cliFlag32
2238
+ id: cliFlag34
2140
2239
  };
2141
2240
 
2142
2241
  // src/options/env-file.tsx
2143
- import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
2144
- var cliFlag33 = "env-file";
2242
+ import { jsx as jsx32, jsxs as jsxs23, Fragment as Fragment32 } from "react/jsx-runtime";
2243
+ var cliFlag35 = "env-file";
2145
2244
  var envFileLocation = null;
2146
2245
  var envFileOption = {
2147
2246
  name: "Env File",
2148
- cliFlag: cliFlag33,
2149
- description: () => /* @__PURE__ */ jsxs22(Fragment30, {
2247
+ addedIn: "2.2.0",
2248
+ cliFlag: cliFlag35,
2249
+ description: () => /* @__PURE__ */ jsxs23(Fragment32, {
2150
2250
  children: [
2151
2251
  "Specify a location for a dotenv file. Default ",
2152
- /* @__PURE__ */ jsx30("code", {
2252
+ /* @__PURE__ */ jsx32("code", {
2153
2253
  children: ".env"
2154
2254
  }),
2155
2255
  "."
2156
2256
  ]
2157
2257
  }),
2158
2258
  ssrName: null,
2159
- docLink: "https://www.remotion.dev/docs/cli/render#--env-file",
2259
+ docLink: "https://www.remotion.dev/docs/options/env-file",
2160
2260
  getValue: ({ commandLine }) => {
2161
- if (commandLine[cliFlag33] !== undefined) {
2261
+ if (commandLine[cliFlag35] !== undefined) {
2162
2262
  return {
2163
2263
  source: "cli",
2164
- value: commandLine[cliFlag33]
2264
+ value: commandLine[cliFlag35]
2165
2265
  };
2166
2266
  }
2167
2267
  if (envFileLocation !== null) {
@@ -2179,43 +2279,44 @@ var envFileOption = {
2179
2279
  envFileLocation = value;
2180
2280
  },
2181
2281
  type: "",
2182
- id: cliFlag33
2282
+ id: cliFlag35
2183
2283
  };
2184
2284
 
2185
2285
  // src/options/every-nth-frame.tsx
2186
- import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2286
+ import { jsx as jsx33, jsxs as jsxs24, Fragment as Fragment33 } from "react/jsx-runtime";
2187
2287
  var DEFAULT_EVERY_NTH_FRAME = 1;
2188
2288
  var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
2189
- var cliFlag34 = "every-nth-frame";
2289
+ var cliFlag36 = "every-nth-frame";
2190
2290
  var everyNthFrameOption = {
2191
2291
  name: "Every nth frame",
2192
- cliFlag: cliFlag34,
2193
- description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2292
+ addedIn: "3.1.0",
2293
+ cliFlag: cliFlag36,
2294
+ description: () => /* @__PURE__ */ jsxs24(Fragment33, {
2194
2295
  children: [
2195
2296
  "This option may only be set when rendering GIFs. It determines how many frames are rendered, while the other ones get skipped in order to lower the FPS of the GIF. For example, if the ",
2196
- /* @__PURE__ */ jsx31("code", {
2297
+ /* @__PURE__ */ jsx33("code", {
2197
2298
  children: "fps"
2198
2299
  }),
2199
2300
  " is 30, and",
2200
2301
  " ",
2201
- /* @__PURE__ */ jsx31("code", {
2302
+ /* @__PURE__ */ jsx33("code", {
2202
2303
  children: "everyNthFrame"
2203
2304
  }),
2204
2305
  " is 2, the FPS of the GIF is ",
2205
- /* @__PURE__ */ jsx31("code", {
2306
+ /* @__PURE__ */ jsx33("code", {
2206
2307
  children: "15"
2207
2308
  }),
2208
2309
  "."
2209
2310
  ]
2210
2311
  }),
2211
2312
  ssrName: "everyNthFrame",
2212
- docLink: "https://www.remotion.dev/docs/config#seteverynthframe",
2313
+ docLink: "https://www.remotion.dev/docs/options/every-nth-frame",
2213
2314
  type: DEFAULT_EVERY_NTH_FRAME,
2214
2315
  getValue: ({ commandLine }) => {
2215
- if (commandLine[cliFlag34] !== undefined) {
2316
+ if (commandLine[cliFlag36] !== undefined) {
2216
2317
  return {
2217
2318
  source: "cli",
2218
- value: commandLine[cliFlag34]
2319
+ value: commandLine[cliFlag36]
2219
2320
  };
2220
2321
  }
2221
2322
  if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
@@ -2232,32 +2333,33 @@ var everyNthFrameOption = {
2232
2333
  setConfig: (value) => {
2233
2334
  everyNthFrame = value;
2234
2335
  },
2235
- id: cliFlag34
2336
+ id: cliFlag36
2236
2337
  };
2237
2338
 
2238
2339
  // src/options/experimental-keep-audio-context-alive.tsx
2239
- import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
2340
+ import { jsx as jsx34, jsxs as jsxs25, Fragment as Fragment34 } from "react/jsx-runtime";
2240
2341
  var experimentalKeepAudioContextAlive = false;
2241
- var cliFlag35 = "experimental-keep-audio-context-alive";
2342
+ var cliFlag37 = "experimental-keep-audio-context-alive";
2242
2343
  var experimentalKeepAudioContextAliveOption = {
2243
2344
  name: "Keep AudioContext alive (experimental)",
2244
- cliFlag: cliFlag35,
2245
- description: () => /* @__PURE__ */ jsxs24(Fragment32, {
2345
+ addedIn: "4.0.508",
2346
+ cliFlag: cliFlag37,
2347
+ description: () => /* @__PURE__ */ jsxs25(Fragment34, {
2246
2348
  children: [
2247
2349
  "Keeps the shared ",
2248
- /* @__PURE__ */ jsx32("code", {
2350
+ /* @__PURE__ */ jsx34("code", {
2249
2351
  children: "AudioContext"
2250
2352
  }),
2251
2353
  " running while the Remotion Studio is paused."
2252
2354
  ]
2253
2355
  }),
2254
2356
  ssrName: null,
2255
- docLink: "https://www.remotion.dev/docs/config#setexperimentalkeepaudiocontextalive",
2357
+ docLink: "https://www.remotion.dev/docs/options/experimental-keep-audio-context-alive",
2256
2358
  type: false,
2257
2359
  getValue: ({ commandLine }) => {
2258
- if (commandLine[cliFlag35] !== undefined && commandLine[cliFlag35] !== null) {
2360
+ if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2259
2361
  return {
2260
- value: commandLine[cliFlag35],
2362
+ value: commandLine[cliFlag37],
2261
2363
  source: "cli"
2262
2364
  };
2263
2365
  }
@@ -2269,26 +2371,161 @@ var experimentalKeepAudioContextAliveOption = {
2269
2371
  setConfig(value) {
2270
2372
  experimentalKeepAudioContextAlive = value;
2271
2373
  },
2272
- id: cliFlag35
2374
+ id: cliFlag37
2375
+ };
2376
+
2377
+ // src/options/experimental-sequence-activity.tsx
2378
+ import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2379
+ var experimentalSequenceActivityEnabled = false;
2380
+ var configuredExperimentalSequenceActivityEnabled = null;
2381
+ var cliFlag38 = "experimental-sequence-activity";
2382
+ var experimentalSequenceActivityOption = {
2383
+ name: "Enable experimental Sequence Activity",
2384
+ addedIn: "4.0.535",
2385
+ cliFlag: cliFlag38,
2386
+ description: () => /* @__PURE__ */ jsx35(Fragment35, {
2387
+ children: "Discover layers in nearby hidden scenes in the Remotion Studio before they become visible. This experimental feature may use more CPU. Disabled by default. Does not affect rendering."
2388
+ }),
2389
+ ssrName: null,
2390
+ docLink: "https://www.remotion.dev/docs/options/experimental-sequence-activity",
2391
+ type: false,
2392
+ getValue: ({ commandLine }) => {
2393
+ if (commandLine[cliFlag38] !== undefined && commandLine[cliFlag38] !== null) {
2394
+ return {
2395
+ value: commandLine[cliFlag38],
2396
+ source: "cli"
2397
+ };
2398
+ }
2399
+ return {
2400
+ value: experimentalSequenceActivityEnabled,
2401
+ source: "config"
2402
+ };
2403
+ },
2404
+ setConfig(value) {
2405
+ experimentalSequenceActivityEnabled = value;
2406
+ configuredExperimentalSequenceActivityEnabled = value;
2407
+ },
2408
+ getConfigValue: () => configuredExperimentalSequenceActivityEnabled,
2409
+ reset: () => {
2410
+ experimentalSequenceActivityEnabled = false;
2411
+ configuredExperimentalSequenceActivityEnabled = null;
2412
+ },
2413
+ id: cliFlag38
2414
+ };
2415
+
2416
+ // src/options/experimental-sequence-activity-limit.tsx
2417
+ import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
2418
+ import { jsx as jsx36, Fragment as Fragment36 } from "react/jsx-runtime";
2419
+ var configuredLimit = null;
2420
+ var cliFlag39 = "experimental-sequence-activity-limit";
2421
+ var experimentalSequenceActivityLimitOption = {
2422
+ name: "Experimental hidden Sequence Activity limit",
2423
+ addedIn: "4.0.535",
2424
+ cliFlag: cliFlag39,
2425
+ id: cliFlag39,
2426
+ description: () => /* @__PURE__ */ jsx36(Fragment36, {
2427
+ children: "Limit nearby hidden scenes discovered by experimental Sequence Activity in the Remotion Studio, including nested sequences and their ancestors. Visible, premounted, and postmounted scenes always render. Defaults to 20. Must be a safe integer of at least -1. Set to 0 to disable hidden discovery, or -1 for unlimited discovery without admission delays. Only applies when experimental Sequence Activity is enabled. Does not affect rendering."
2428
+ }),
2429
+ ssrName: null,
2430
+ docLink: "https://www.remotion.dev/docs/options/experimental-sequence-activity-limit",
2431
+ type: 0,
2432
+ getValue: ({ commandLine }) => {
2433
+ if (commandLine[cliFlag39] !== undefined) {
2434
+ const value = commandLine[cliFlag39];
2435
+ if (!Number.isSafeInteger(value) || value < -1) {
2436
+ throw new Error("Sequence Activity limit must be a safe integer of at least -1.");
2437
+ }
2438
+ return { value, source: "cli" };
2439
+ }
2440
+ return {
2441
+ value: configuredLimit ?? NoReactInternals4.DEFAULT_SEQUENCE_ACTIVITY_LIMIT,
2442
+ source: "config"
2443
+ };
2444
+ },
2445
+ setConfig(value) {
2446
+ if (!Number.isSafeInteger(value) || value < -1) {
2447
+ throw new Error("Sequence Activity limit must be a safe integer of at least -1.");
2448
+ }
2449
+ configuredLimit = value;
2450
+ },
2451
+ getConfigValue: () => configuredLimit,
2452
+ reset: () => {
2453
+ configuredLimit = null;
2454
+ }
2455
+ };
2456
+
2457
+ // src/options/experimental-tracks.tsx
2458
+ import { jsx as jsx37, jsxs as jsxs26, Fragment as Fragment37 } from "react/jsx-runtime";
2459
+ var experimentalTracksEnabled = false;
2460
+ var configuredExperimentalTracksEnabled = null;
2461
+ var cliFlag40 = "experimental-tracks";
2462
+ var experimentalTracksOption = {
2463
+ name: "Enable experimental timeline tracks",
2464
+ addedIn: "4.0.534",
2465
+ cliFlag: cliFlag40,
2466
+ description: () => /* @__PURE__ */ jsxs26(Fragment37, {
2467
+ children: [
2468
+ "Enable experimental timeline tracks in the Remotion Studio. Group clips from ",
2469
+ /* @__PURE__ */ jsx37("code", {
2470
+ children: "<Track>"
2471
+ }),
2472
+ ", ",
2473
+ /* @__PURE__ */ jsx37("code", {
2474
+ children: "<Series>"
2475
+ }),
2476
+ " and",
2477
+ " ",
2478
+ /* @__PURE__ */ jsx37("code", {
2479
+ children: "<TransitionSeries>"
2480
+ }),
2481
+ " on shared rows, with overlays on additional rows. Disabled by default."
2482
+ ]
2483
+ }),
2484
+ ssrName: null,
2485
+ docLink: "https://www.remotion.dev/docs/options/experimental-tracks",
2486
+ type: false,
2487
+ getValue: ({ commandLine }) => {
2488
+ if (commandLine[cliFlag40] !== undefined && commandLine[cliFlag40] !== null) {
2489
+ return {
2490
+ value: commandLine[cliFlag40],
2491
+ source: "cli"
2492
+ };
2493
+ }
2494
+ return {
2495
+ value: experimentalTracksEnabled,
2496
+ source: "config"
2497
+ };
2498
+ },
2499
+ setConfig(value) {
2500
+ experimentalTracksEnabled = value;
2501
+ configuredExperimentalTracksEnabled = value;
2502
+ },
2503
+ getConfigValue: () => configuredExperimentalTracksEnabled,
2504
+ reset: () => {
2505
+ experimentalTracksEnabled = false;
2506
+ configuredExperimentalTracksEnabled = null;
2507
+ },
2508
+ id: cliFlag40
2273
2509
  };
2274
2510
 
2275
2511
  // src/options/folder-expiry.tsx
2276
- import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2512
+ import { jsx as jsx38, jsxs as jsxs27, Fragment as Fragment38 } from "react/jsx-runtime";
2277
2513
  var enableFolderExpiry = null;
2278
- var cliFlag36 = "enable-folder-expiry";
2514
+ var cliFlag41 = "enable-folder-expiry";
2279
2515
  var folderExpiryOption = {
2280
2516
  name: "Lambda render expiration",
2281
- cliFlag: cliFlag36,
2517
+ addedIn: "4.0.32",
2518
+ cliFlag: cliFlag41,
2282
2519
  description: () => {
2283
- return /* @__PURE__ */ jsxs25(Fragment33, {
2520
+ return /* @__PURE__ */ jsxs27(Fragment38, {
2284
2521
  children: [
2285
2522
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
2286
2523
  " ",
2287
- /* @__PURE__ */ jsx33("code", {
2524
+ /* @__PURE__ */ jsx38("code", {
2288
2525
  children: "null"
2289
2526
  }),
2290
2527
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
2291
- /* @__PURE__ */ jsx33("a", {
2528
+ /* @__PURE__ */ jsx38("a", {
2292
2529
  href: "/docs/lambda/autodelete",
2293
2530
  children: "Lambda autodelete"
2294
2531
  }),
@@ -2297,13 +2534,13 @@ var folderExpiryOption = {
2297
2534
  });
2298
2535
  },
2299
2536
  ssrName: "enableFolderExpiry",
2300
- docLink: "https://www.remotion.dev/docs/lambda/autodelete",
2537
+ docLink: "https://www.remotion.dev/docs/options/enable-folder-expiry",
2301
2538
  type: false,
2302
2539
  getValue: ({ commandLine }) => {
2303
- if (commandLine[cliFlag36] !== undefined) {
2540
+ if (commandLine[cliFlag41] !== undefined) {
2304
2541
  return {
2305
2542
  source: "cli",
2306
- value: commandLine[cliFlag36]
2543
+ value: commandLine[cliFlag41]
2307
2544
  };
2308
2545
  }
2309
2546
  if (enableFolderExpiry !== null) {
@@ -2320,28 +2557,29 @@ var folderExpiryOption = {
2320
2557
  setConfig: (value) => {
2321
2558
  enableFolderExpiry = value;
2322
2559
  },
2323
- id: cliFlag36
2560
+ id: cliFlag41
2324
2561
  };
2325
2562
 
2326
2563
  // src/options/for-seamless-aac-concatenation.tsx
2327
- import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2564
+ import { jsx as jsx39, jsxs as jsxs28, Fragment as Fragment39 } from "react/jsx-runtime";
2328
2565
  var DEFAULT3 = false;
2329
2566
  var forSeamlessAacConcatenation = DEFAULT3;
2330
- var cliFlag37 = "for-seamless-aac-concatenation";
2567
+ var cliFlag42 = "for-seamless-aac-concatenation";
2331
2568
  var forSeamlessAacConcatenationOption = {
2332
2569
  name: "For seamless AAC concatenation",
2333
- cliFlag: cliFlag37,
2334
- description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2570
+ addedIn: "4.0.123",
2571
+ cliFlag: cliFlag42,
2572
+ description: () => /* @__PURE__ */ jsxs28(Fragment39, {
2335
2573
  children: [
2336
2574
  "If enabled, the audio is trimmed to the nearest AAC frame, which is required for seamless concatenation of AAC files. This is a requirement if you later want to combine multiple video snippets seamlessly.",
2337
- /* @__PURE__ */ jsx34("br", {}),
2338
- /* @__PURE__ */ jsx34("br", {}),
2575
+ /* @__PURE__ */ jsx39("br", {}),
2576
+ /* @__PURE__ */ jsx39("br", {}),
2339
2577
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
2340
2578
  ]
2341
2579
  }),
2342
- docLink: "https://remotion.dev/docs/renderer",
2580
+ docLink: "https://www.remotion.dev/docs/options/for-seamless-aac-concatenation",
2343
2581
  getValue: ({ commandLine }) => {
2344
- if (commandLine[cliFlag37]) {
2582
+ if (commandLine[cliFlag42]) {
2345
2583
  return {
2346
2584
  source: "cli",
2347
2585
  value: true
@@ -2363,26 +2601,27 @@ var forSeamlessAacConcatenationOption = {
2363
2601
  },
2364
2602
  ssrName: "forSeamlessAacConcatenation",
2365
2603
  type: false,
2366
- id: cliFlag37
2604
+ id: cliFlag42
2367
2605
  };
2368
2606
 
2369
2607
  // src/options/force-new-studio.tsx
2370
- import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2608
+ import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
2371
2609
  var forceNewEnabled = false;
2372
- var cliFlag38 = "force-new";
2610
+ var cliFlag43 = "force-new";
2373
2611
  var forceNewStudioOption = {
2374
2612
  name: "Force New Studio",
2375
- cliFlag: cliFlag38,
2376
- description: () => /* @__PURE__ */ jsx35(Fragment35, {
2613
+ addedIn: "4.0.421",
2614
+ cliFlag: cliFlag43,
2615
+ description: () => /* @__PURE__ */ jsx40(Fragment40, {
2377
2616
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
2378
2617
  }),
2379
2618
  ssrName: null,
2380
- docLink: "https://www.remotion.dev/docs/config#setforcenewstudioenabled",
2619
+ docLink: "https://www.remotion.dev/docs/options/force-new",
2381
2620
  type: false,
2382
2621
  getValue: ({ commandLine }) => {
2383
- if (commandLine[cliFlag38] !== undefined && commandLine[cliFlag38] !== null) {
2622
+ if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
2384
2623
  return {
2385
- value: commandLine[cliFlag38],
2624
+ value: commandLine[cliFlag43],
2386
2625
  source: "cli"
2387
2626
  };
2388
2627
  }
@@ -2394,7 +2633,7 @@ var forceNewStudioOption = {
2394
2633
  setConfig(value) {
2395
2634
  forceNewEnabled = value;
2396
2635
  },
2397
- id: cliFlag38
2636
+ id: cliFlag43
2398
2637
  };
2399
2638
 
2400
2639
  // src/frame-range.ts
@@ -2513,8 +2752,8 @@ var validateSelectedFrames = ({
2513
2752
  };
2514
2753
 
2515
2754
  // src/options/frames.tsx
2516
- import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2517
- var cliFlag39 = "frames";
2755
+ import { jsx as jsx41, jsxs as jsxs29, Fragment as Fragment41 } from "react/jsx-runtime";
2756
+ var cliFlag44 = "frames";
2518
2757
  var frameSelection = null;
2519
2758
  var parseFrameRangeFromCli = (newFrameRange) => {
2520
2759
  if (typeof newFrameRange === "number") {
@@ -2591,27 +2830,28 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2591
2830
  };
2592
2831
  var framesOption = {
2593
2832
  name: "Frame Range",
2594
- cliFlag: cliFlag39,
2595
- description: () => /* @__PURE__ */ jsxs27(Fragment36, {
2833
+ addedIn: "2.0.0",
2834
+ cliFlag: cliFlag44,
2835
+ description: () => /* @__PURE__ */ jsxs29(Fragment41, {
2596
2836
  children: [
2597
2837
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2598
- /* @__PURE__ */ jsx36("code", {
2838
+ /* @__PURE__ */ jsx41("code", {
2599
2839
  children: "0-9"
2600
2840
  }),
2601
2841
  ") to render a subset of frames. Pass",
2602
2842
  " ",
2603
- /* @__PURE__ */ jsx36("code", {
2843
+ /* @__PURE__ */ jsx41("code", {
2604
2844
  children: "100-"
2605
2845
  }),
2606
2846
  " to render from frame 100 to the end."
2607
2847
  ]
2608
2848
  }),
2609
2849
  ssrName: "frameRange",
2610
- docLink: "https://www.remotion.dev/docs/config#setframerange",
2850
+ docLink: "https://www.remotion.dev/docs/options/frames",
2611
2851
  type: null,
2612
2852
  getValue: ({ commandLine }) => {
2613
- if (commandLine[cliFlag39] !== undefined) {
2614
- const value = parseFrameRangeFromCli(commandLine[cliFlag39]);
2853
+ if (commandLine[cliFlag44] !== undefined) {
2854
+ const value = parseFrameRangeFromCli(commandLine[cliFlag44]);
2615
2855
  if (typeof value === "object" && !Array.isArray(value)) {
2616
2856
  validateSelectedFrames({
2617
2857
  frames: value.frames,
@@ -2638,12 +2878,12 @@ var framesOption = {
2638
2878
  }
2639
2879
  frameSelection = value;
2640
2880
  },
2641
- id: cliFlag39
2881
+ id: cliFlag44
2642
2882
  };
2643
2883
 
2644
2884
  // src/options/gl.tsx
2645
- import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
2646
- import { jsx as jsx37, jsxs as jsxs28, Fragment as Fragment37 } from "react/jsx-runtime";
2885
+ import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
2886
+ import { jsx as jsx42, jsxs as jsxs30, Fragment as Fragment42 } from "react/jsx-runtime";
2647
2887
  var validOpenGlRenderers = [
2648
2888
  "swangle",
2649
2889
  "angle",
@@ -2655,45 +2895,45 @@ var validOpenGlRenderers = [
2655
2895
  var getDefaultOpenGlRenderer = (enableV5BreakingChanges) => {
2656
2896
  return enableV5BreakingChanges ? "angle" : null;
2657
2897
  };
2658
- var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals2.ENABLE_V5_BREAKING_CHANGES);
2898
+ var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals5.ENABLE_V5_BREAKING_CHANGES);
2659
2899
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
2660
2900
  var AngleChangelog = () => {
2661
- return /* @__PURE__ */ jsxs28("details", {
2901
+ return /* @__PURE__ */ jsxs30("details", {
2662
2902
  style: { fontSize: "0.9em", marginBottom: "1em" },
2663
2903
  children: [
2664
- /* @__PURE__ */ jsx37("summary", {
2904
+ /* @__PURE__ */ jsx42("summary", {
2665
2905
  children: "Changelog"
2666
2906
  }),
2667
- /* @__PURE__ */ jsxs28("ul", {
2907
+ /* @__PURE__ */ jsxs30("ul", {
2668
2908
  children: [
2669
- /* @__PURE__ */ jsxs28("li", {
2909
+ /* @__PURE__ */ jsxs30("li", {
2670
2910
  children: [
2671
2911
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2672
2912
  " ",
2673
- /* @__PURE__ */ jsx37("code", {
2913
+ /* @__PURE__ */ jsx42("code", {
2674
2914
  children: "swiftshader"
2675
2915
  }),
2676
2916
  ", but from v3.0.8 the default is",
2677
2917
  " ",
2678
- /* @__PURE__ */ jsx37("code", {
2918
+ /* @__PURE__ */ jsx42("code", {
2679
2919
  children: "swangle"
2680
2920
  }),
2681
2921
  " (Swiftshader on Angle) since Chrome 101 added support for it."
2682
2922
  ]
2683
2923
  }),
2684
- /* @__PURE__ */ jsxs28("li", {
2924
+ /* @__PURE__ */ jsxs30("li", {
2685
2925
  children: [
2686
2926
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2687
- /* @__PURE__ */ jsx37("code", {
2927
+ /* @__PURE__ */ jsx42("code", {
2688
2928
  children: "angle"
2689
2929
  }),
2690
2930
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
2691
2931
  ]
2692
2932
  }),
2693
- NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs28("li", {
2933
+ NoReactInternals5.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs30("li", {
2694
2934
  children: [
2695
2935
  "From Remotion v5.0, the default is ",
2696
- /* @__PURE__ */ jsx37("code", {
2936
+ /* @__PURE__ */ jsx42("code", {
2697
2937
  children: "angle"
2698
2938
  }),
2699
2939
  ". If no compatible GPU is available, Chromium automatically falls back to SwiftShader."
@@ -2704,65 +2944,66 @@ var AngleChangelog = () => {
2704
2944
  ]
2705
2945
  });
2706
2946
  };
2707
- var cliFlag40 = "gl";
2947
+ var cliFlag45 = "gl";
2708
2948
  var glOption = {
2709
- cliFlag: cliFlag40,
2710
- docLink: "https://www.remotion.dev/docs/chromium-flags#--gl",
2949
+ cliFlag: cliFlag45,
2950
+ docLink: "https://www.remotion.dev/docs/options/gl",
2711
2951
  name: "OpenGL renderer",
2952
+ addedIn: "2.6.5",
2712
2953
  type: "angle",
2713
2954
  ssrName: "gl",
2714
2955
  description: () => {
2715
- return /* @__PURE__ */ jsxs28(Fragment37, {
2956
+ return /* @__PURE__ */ jsxs30(Fragment42, {
2716
2957
  children: [
2717
- /* @__PURE__ */ jsx37(AngleChangelog, {}),
2718
- /* @__PURE__ */ jsxs28("p", {
2958
+ /* @__PURE__ */ jsx42(AngleChangelog, {}),
2959
+ /* @__PURE__ */ jsxs30("p", {
2719
2960
  children: [
2720
2961
  "Select the OpenGL renderer backend for Chromium. ",
2721
- /* @__PURE__ */ jsx37("br", {}),
2962
+ /* @__PURE__ */ jsx42("br", {}),
2722
2963
  "Accepted values:"
2723
2964
  ]
2724
2965
  }),
2725
- /* @__PURE__ */ jsxs28("ul", {
2966
+ /* @__PURE__ */ jsxs30("ul", {
2726
2967
  children: [
2727
- /* @__PURE__ */ jsx37("li", {
2728
- children: /* @__PURE__ */ jsx37("code", {
2968
+ /* @__PURE__ */ jsx42("li", {
2969
+ children: /* @__PURE__ */ jsx42("code", {
2729
2970
  children: '"angle"'
2730
2971
  })
2731
2972
  }),
2732
- /* @__PURE__ */ jsx37("li", {
2733
- children: /* @__PURE__ */ jsx37("code", {
2973
+ /* @__PURE__ */ jsx42("li", {
2974
+ children: /* @__PURE__ */ jsx42("code", {
2734
2975
  children: '"egl"'
2735
2976
  })
2736
2977
  }),
2737
- /* @__PURE__ */ jsx37("li", {
2738
- children: /* @__PURE__ */ jsx37("code", {
2978
+ /* @__PURE__ */ jsx42("li", {
2979
+ children: /* @__PURE__ */ jsx42("code", {
2739
2980
  children: '"swiftshader"'
2740
2981
  })
2741
2982
  }),
2742
- /* @__PURE__ */ jsx37("li", {
2743
- children: /* @__PURE__ */ jsx37("code", {
2983
+ /* @__PURE__ */ jsx42("li", {
2984
+ children: /* @__PURE__ */ jsx42("code", {
2744
2985
  children: '"swangle"'
2745
2986
  })
2746
2987
  }),
2747
- /* @__PURE__ */ jsxs28("li", {
2988
+ /* @__PURE__ */ jsxs30("li", {
2748
2989
  children: [
2749
- /* @__PURE__ */ jsx37("code", {
2990
+ /* @__PURE__ */ jsx42("code", {
2750
2991
  children: '"vulkan"'
2751
2992
  }),
2752
2993
  " (",
2753
- /* @__PURE__ */ jsx37("em", {
2994
+ /* @__PURE__ */ jsx42("em", {
2754
2995
  children: "from Remotion v4.0.41"
2755
2996
  }),
2756
2997
  ")"
2757
2998
  ]
2758
2999
  }),
2759
- /* @__PURE__ */ jsxs28("li", {
3000
+ /* @__PURE__ */ jsxs30("li", {
2760
3001
  children: [
2761
- /* @__PURE__ */ jsx37("code", {
3002
+ /* @__PURE__ */ jsx42("code", {
2762
3003
  children: '"angle-egl"'
2763
3004
  }),
2764
3005
  " (",
2765
- /* @__PURE__ */ jsx37("em", {
3006
+ /* @__PURE__ */ jsx42("em", {
2766
3007
  children: "from Remotion v4.0.51"
2767
3008
  }),
2768
3009
  ")"
@@ -2770,16 +3011,16 @@ var glOption = {
2770
3011
  })
2771
3012
  ]
2772
3013
  }),
2773
- /* @__PURE__ */ jsxs28("p", {
3014
+ /* @__PURE__ */ jsxs30("p", {
2774
3015
  children: [
2775
3016
  "The default is",
2776
3017
  " ",
2777
- /* @__PURE__ */ jsx37("code", {
3018
+ /* @__PURE__ */ jsx42("code", {
2778
3019
  children: DEFAULT_OPENGL_RENDERER === null ? "null" : `"${DEFAULT_OPENGL_RENDERER}"`
2779
3020
  }),
2780
3021
  DEFAULT_OPENGL_RENDERER === null ? ", letting Chrome decide" : ", with automatic fallback to SwiftShader if no compatible GPU is available",
2781
3022
  ", except on Lambda where the default is ",
2782
- /* @__PURE__ */ jsx37("code", {
3023
+ /* @__PURE__ */ jsx42("code", {
2783
3024
  children: '"swangle"'
2784
3025
  })
2785
3026
  ]
@@ -2788,10 +3029,10 @@ var glOption = {
2788
3029
  });
2789
3030
  },
2790
3031
  getValue: ({ commandLine }) => {
2791
- if (commandLine[cliFlag40]) {
2792
- validateOpenGlRenderer(commandLine[cliFlag40]);
3032
+ if (commandLine[cliFlag45]) {
3033
+ validateOpenGlRenderer(commandLine[cliFlag45]);
2793
3034
  return {
2794
- value: commandLine[cliFlag40],
3035
+ value: commandLine[cliFlag45],
2795
3036
  source: "cli"
2796
3037
  };
2797
3038
  }
@@ -2810,20 +3051,20 @@ var glOption = {
2810
3051
  validateOpenGlRenderer(value);
2811
3052
  openGlRenderer = value;
2812
3053
  },
2813
- id: cliFlag40
3054
+ id: cliFlag45
2814
3055
  };
2815
- var validateOpenGlRenderer = (option2) => {
2816
- if (option2 === null) {
3056
+ var validateOpenGlRenderer = (option) => {
3057
+ if (option === null) {
2817
3058
  return null;
2818
3059
  }
2819
- if (!validOpenGlRenderers.includes(option2)) {
2820
- throw new TypeError(`${option2} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
3060
+ if (!validOpenGlRenderers.includes(option)) {
3061
+ throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${validOpenGlRenderers.join(", ")}`);
2821
3062
  }
2822
- return option2;
3063
+ return option;
2823
3064
  };
2824
3065
 
2825
3066
  // src/options/gop-size.tsx
2826
- import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
3067
+ import { jsx as jsx43, jsxs as jsxs31, Fragment as Fragment43 } from "react/jsx-runtime";
2827
3068
  var gopSize = null;
2828
3069
  var validateGopSize = (value) => {
2829
3070
  if (value === null) {
@@ -2833,24 +3074,25 @@ var validateGopSize = (value) => {
2833
3074
  throw new TypeError("The GOP size must be an integer greater than 0 or null.");
2834
3075
  }
2835
3076
  };
2836
- var cliFlag41 = "gop";
3077
+ var cliFlag46 = "gop";
2837
3078
  var gopSizeOption = {
2838
3079
  name: "GOP size",
2839
- cliFlag: cliFlag41,
2840
- description: () => /* @__PURE__ */ jsxs29(Fragment38, {
3080
+ addedIn: "4.0.466",
3081
+ cliFlag: cliFlag46,
3082
+ description: () => /* @__PURE__ */ jsxs31(Fragment43, {
2841
3083
  children: [
2842
3084
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2843
- /* @__PURE__ */ jsx38("code", {
3085
+ /* @__PURE__ */ jsx43("code", {
2844
3086
  children: "-g"
2845
3087
  }),
2846
3088
  " option. Default: Let the encoder decide."
2847
3089
  ]
2848
3090
  }),
2849
3091
  ssrName: "gopSize",
2850
- docLink: "https://www.remotion.dev/docs/config#setgopsize",
3092
+ docLink: "https://www.remotion.dev/docs/options/gop",
2851
3093
  type: null,
2852
3094
  getValue: ({ commandLine }) => {
2853
- const value = commandLine[cliFlag41];
3095
+ const value = commandLine[cliFlag46];
2854
3096
  if (value !== undefined) {
2855
3097
  validateGopSize(value);
2856
3098
  return { value, source: "cli" };
@@ -2861,7 +3103,7 @@ var gopSizeOption = {
2861
3103
  validateGopSize(value);
2862
3104
  gopSize = value;
2863
3105
  },
2864
- id: cliFlag41
3106
+ id: cliFlag46
2865
3107
  };
2866
3108
 
2867
3109
  // src/options/hardware-acceleration.tsx
@@ -2870,11 +3112,12 @@ var hardwareAccelerationOptions = [
2870
3112
  "if-possible",
2871
3113
  "required"
2872
3114
  ];
2873
- var cliFlag42 = "hardware-acceleration";
3115
+ var cliFlag47 = "hardware-acceleration";
2874
3116
  var currentValue = null;
2875
3117
  var hardwareAccelerationOption = {
2876
3118
  name: "Hardware Acceleration",
2877
- cliFlag: cliFlag42,
3119
+ addedIn: "4.0.228",
3120
+ cliFlag: cliFlag47,
2878
3121
  description: () => `
2879
3122
  One of
2880
3123
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -2883,13 +3126,13 @@ var hardwareAccelerationOption = {
2883
3126
  available, then the render will fail.
2884
3127
  `,
2885
3128
  ssrName: "hardwareAcceleration",
2886
- docLink: "https://www.remotion.dev/docs/encoding",
3129
+ docLink: "https://www.remotion.dev/docs/options/hardware-acceleration",
2887
3130
  type: "disable",
2888
3131
  getValue: ({ commandLine }) => {
2889
- if (commandLine[cliFlag42] !== undefined) {
2890
- const value = commandLine[cliFlag42];
3132
+ if (commandLine[cliFlag47] !== undefined) {
3133
+ const value = commandLine[cliFlag47];
2891
3134
  if (!hardwareAccelerationOptions.includes(value)) {
2892
- throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
3135
+ throw new Error(`Invalid value for --${cliFlag47}: ${value}`);
2893
3136
  }
2894
3137
  return {
2895
3138
  source: "cli",
@@ -2909,26 +3152,27 @@ var hardwareAccelerationOption = {
2909
3152
  },
2910
3153
  setConfig: (value) => {
2911
3154
  if (!hardwareAccelerationOptions.includes(value)) {
2912
- throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
3155
+ throw new Error(`Invalid value for --${cliFlag47}: ${value}`);
2913
3156
  }
2914
3157
  currentValue = value;
2915
3158
  },
2916
- id: cliFlag42
3159
+ id: cliFlag47
2917
3160
  };
2918
3161
 
2919
3162
  // src/options/headless.tsx
2920
- import { jsx as jsx39, jsxs as jsxs30, Fragment as Fragment39 } from "react/jsx-runtime";
3163
+ import { jsx as jsx44, jsxs as jsxs32, Fragment as Fragment44 } from "react/jsx-runtime";
2921
3164
  var DEFAULT4 = true;
2922
3165
  var headlessMode = DEFAULT4;
2923
- var cliFlag43 = "disable-headless";
3166
+ var cliFlag48 = "disable-headless";
2924
3167
  var headlessOption = {
2925
3168
  name: "Disable Headless Mode",
2926
- cliFlag: cliFlag43,
2927
- description: () => /* @__PURE__ */ jsxs30(Fragment39, {
3169
+ addedIn: "2.6.5",
3170
+ cliFlag: cliFlag48,
3171
+ description: () => /* @__PURE__ */ jsxs32(Fragment44, {
2928
3172
  children: [
2929
3173
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
2930
3174
  " ",
2931
- /* @__PURE__ */ jsx39("a", {
3175
+ /* @__PURE__ */ jsx44("a", {
2932
3176
  href: "/docs/miscellaneous/chrome-headless-shell",
2933
3177
  children: "Chrome for Testing"
2934
3178
  }),
@@ -2937,13 +3181,13 @@ var headlessOption = {
2937
3181
  ]
2938
3182
  }),
2939
3183
  ssrName: "headless",
2940
- docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-headless",
3184
+ docLink: "https://www.remotion.dev/docs/options/disable-headless",
2941
3185
  type: false,
2942
3186
  getValue: ({ commandLine }) => {
2943
- if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
3187
+ if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
2944
3188
  return {
2945
3189
  source: "cli",
2946
- value: !commandLine[cliFlag43]
3190
+ value: !commandLine[cliFlag48]
2947
3191
  };
2948
3192
  }
2949
3193
  if (headlessMode !== DEFAULT4) {
@@ -2960,27 +3204,28 @@ var headlessOption = {
2960
3204
  setConfig: (value) => {
2961
3205
  headlessMode = value;
2962
3206
  },
2963
- id: cliFlag43
3207
+ id: cliFlag48
2964
3208
  };
2965
3209
 
2966
3210
  // src/options/ignore-certificate-errors.tsx
2967
- import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
3211
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
2968
3212
  var ignoreCertificateErrors = false;
2969
- var cliFlag44 = "ignore-certificate-errors";
3213
+ var cliFlag49 = "ignore-certificate-errors";
2970
3214
  var ignoreCertificateErrorsOption = {
2971
3215
  name: "Ignore certificate errors",
2972
- cliFlag: cliFlag44,
2973
- description: () => /* @__PURE__ */ jsx40(Fragment40, {
3216
+ addedIn: "2.6.5",
3217
+ cliFlag: cliFlag49,
3218
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
2974
3219
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
2975
3220
  }),
2976
3221
  ssrName: "ignoreCertificateErrors",
2977
- docLink: "https://www.remotion.dev/docs/chromium-flags#--ignore-certificate-errors",
3222
+ docLink: "https://www.remotion.dev/docs/options/ignore-certificate-errors",
2978
3223
  type: false,
2979
3224
  getValue: ({ commandLine }) => {
2980
- if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
3225
+ if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
2981
3226
  return {
2982
3227
  source: "cli",
2983
- value: Boolean(commandLine[cliFlag44])
3228
+ value: Boolean(commandLine[cliFlag49])
2984
3229
  };
2985
3230
  }
2986
3231
  if (ignoreCertificateErrors) {
@@ -2997,23 +3242,24 @@ var ignoreCertificateErrorsOption = {
2997
3242
  setConfig: (value) => {
2998
3243
  ignoreCertificateErrors = value;
2999
3244
  },
3000
- id: cliFlag44
3245
+ id: cliFlag49
3001
3246
  };
3002
3247
 
3003
3248
  // src/options/image-sequence.tsx
3004
- import { jsx as jsx41, jsxs as jsxs31, Fragment as Fragment41 } from "react/jsx-runtime";
3005
- var cliFlag45 = "sequence";
3249
+ import { jsx as jsx46, jsxs as jsxs33, Fragment as Fragment46 } from "react/jsx-runtime";
3250
+ var cliFlag50 = "sequence";
3006
3251
  var imageSequence = false;
3007
3252
  var imageSequenceOption = {
3008
3253
  name: "Image Sequence",
3009
- cliFlag: cliFlag45,
3010
- description: () => /* @__PURE__ */ jsxs31(Fragment41, {
3254
+ addedIn: "1.4.0",
3255
+ cliFlag: cliFlag50,
3256
+ description: () => /* @__PURE__ */ jsxs33(Fragment46, {
3011
3257
  children: [
3012
3258
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
3013
3259
  " ",
3014
- /* @__PURE__ */ jsx41("a", {
3260
+ /* @__PURE__ */ jsx46("a", {
3015
3261
  href: "/docs/config#setimagesequence",
3016
- children: /* @__PURE__ */ jsx41("code", {
3262
+ children: /* @__PURE__ */ jsx46("code", {
3017
3263
  children: "setImageSequence()"
3018
3264
  })
3019
3265
  }),
@@ -3022,12 +3268,12 @@ var imageSequenceOption = {
3022
3268
  ]
3023
3269
  }),
3024
3270
  ssrName: null,
3025
- docLink: "https://www.remotion.dev/docs/config#setimagesequence",
3271
+ docLink: "https://www.remotion.dev/docs/options/sequence",
3026
3272
  getValue: ({ commandLine }) => {
3027
- if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
3273
+ if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3028
3274
  return {
3029
3275
  source: "cli",
3030
- value: Boolean(commandLine[cliFlag45])
3276
+ value: Boolean(commandLine[cliFlag50])
3031
3277
  };
3032
3278
  }
3033
3279
  return {
@@ -3039,36 +3285,37 @@ var imageSequenceOption = {
3039
3285
  imageSequence = value;
3040
3286
  },
3041
3287
  type: false,
3042
- id: cliFlag45
3288
+ id: cliFlag50
3043
3289
  };
3044
3290
 
3045
3291
  // src/options/image-sequence-pattern.tsx
3046
- import { jsx as jsx42, jsxs as jsxs32, Fragment as Fragment42 } from "react/jsx-runtime";
3047
- var cliFlag46 = "image-sequence-pattern";
3292
+ import { jsx as jsx47, jsxs as jsxs34, Fragment as Fragment47 } from "react/jsx-runtime";
3293
+ var cliFlag51 = "image-sequence-pattern";
3048
3294
  var currentImageSequencePattern = null;
3049
3295
  var imageSequencePatternOption = {
3050
3296
  name: "Image Sequence Pattern",
3051
- cliFlag: cliFlag46,
3297
+ addedIn: "4.0.313",
3298
+ cliFlag: cliFlag51,
3052
3299
  ssrName: "imageSequencePattern",
3053
- description: () => /* @__PURE__ */ jsxs32(Fragment42, {
3300
+ description: () => /* @__PURE__ */ jsxs34(Fragment47, {
3054
3301
  children: [
3055
3302
  "Pattern for naming image sequence files. Supports ",
3056
- /* @__PURE__ */ jsx42("code", {
3303
+ /* @__PURE__ */ jsx47("code", {
3057
3304
  children: "[frame]"
3058
3305
  }),
3059
3306
  " for the zero-padded frame number and ",
3060
- /* @__PURE__ */ jsx42("code", {
3307
+ /* @__PURE__ */ jsx47("code", {
3061
3308
  children: "[ext]"
3062
3309
  }),
3063
3310
  " for the file extension."
3064
3311
  ]
3065
3312
  }),
3066
- docLink: null,
3313
+ docLink: "https://www.remotion.dev/docs/options/image-sequence-pattern",
3067
3314
  type: "string",
3068
3315
  getValue: ({ commandLine }) => {
3069
- if (commandLine[cliFlag46] !== undefined) {
3316
+ if (commandLine[cliFlag51] !== undefined) {
3070
3317
  return {
3071
- value: commandLine[cliFlag46],
3318
+ value: commandLine[cliFlag51],
3072
3319
  source: "cli"
3073
3320
  };
3074
3321
  }
@@ -3089,26 +3336,27 @@ var imageSequencePatternOption = {
3089
3336
  reset: () => {
3090
3337
  currentImageSequencePattern = null;
3091
3338
  },
3092
- id: cliFlag46
3339
+ id: cliFlag51
3093
3340
  };
3094
3341
 
3095
3342
  // src/options/interactivity.tsx
3096
- import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
3343
+ import { jsx as jsx48, Fragment as Fragment48 } from "react/jsx-runtime";
3097
3344
  var interactivityEnabled = true;
3098
3345
  var configuredInteractivityEnabled = null;
3099
- var cliFlag47 = "disable-interactivity";
3346
+ var cliFlag52 = "disable-interactivity";
3100
3347
  var interactivityOption = {
3101
3348
  name: "Disable or enable Studio interactivity",
3102
- cliFlag: cliFlag47,
3103
- description: () => /* @__PURE__ */ jsx43(Fragment43, {
3349
+ addedIn: "4.0.487",
3350
+ cliFlag: cliFlag52,
3351
+ description: () => /* @__PURE__ */ jsx48(Fragment48, {
3104
3352
  children: "Enable or disable interactive editing in the Remotion Studio. When disabled, the Studio keeps previewing and source navigation available, but disables preview outlines, the sequence inspector, visual controls, timeline selection and timeline editing gestures."
3105
3353
  }),
3106
3354
  ssrName: null,
3107
- docLink: "https://www.remotion.dev/docs/config#setinteractivityenabled",
3355
+ docLink: "https://www.remotion.dev/docs/options/disable-interactivity",
3108
3356
  type: false,
3109
3357
  getValue: ({ commandLine }) => {
3110
- if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3111
- interactivityEnabled = commandLine[cliFlag47] === false;
3358
+ if (commandLine[cliFlag52] !== undefined && commandLine[cliFlag52] !== null) {
3359
+ interactivityEnabled = commandLine[cliFlag52] === false;
3112
3360
  return {
3113
3361
  value: interactivityEnabled,
3114
3362
  source: "cli"
@@ -3128,26 +3376,27 @@ var interactivityOption = {
3128
3376
  interactivityEnabled = true;
3129
3377
  configuredInteractivityEnabled = null;
3130
3378
  },
3131
- id: cliFlag47
3379
+ id: cliFlag52
3132
3380
  };
3133
3381
 
3134
3382
  // src/options/ipv4.tsx
3135
- import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
3383
+ import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3136
3384
  var forceIPv4 = false;
3137
- var cliFlag48 = "ipv4";
3385
+ var cliFlag53 = "ipv4";
3138
3386
  var ipv4Option = {
3139
3387
  name: "IPv4",
3140
- cliFlag: cliFlag48,
3141
- description: () => /* @__PURE__ */ jsx44(Fragment44, {
3388
+ addedIn: "4.0.125",
3389
+ cliFlag: cliFlag53,
3390
+ description: () => /* @__PURE__ */ jsx49(Fragment49, {
3142
3391
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
3143
3392
  }),
3144
3393
  ssrName: null,
3145
- docLink: "https://www.remotion.dev/docs/cli/studio",
3394
+ docLink: "https://www.remotion.dev/docs/options/ipv4",
3146
3395
  type: false,
3147
3396
  getValue: ({ commandLine }) => {
3148
- if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
3397
+ if (commandLine[cliFlag53] !== undefined && commandLine[cliFlag53] !== null) {
3149
3398
  return {
3150
- value: commandLine[cliFlag48],
3399
+ value: commandLine[cliFlag53],
3151
3400
  source: "cli"
3152
3401
  };
3153
3402
  }
@@ -3159,37 +3408,38 @@ var ipv4Option = {
3159
3408
  setConfig(value) {
3160
3409
  forceIPv4 = value;
3161
3410
  },
3162
- id: cliFlag48
3411
+ id: cliFlag53
3163
3412
  };
3164
3413
 
3165
3414
  // src/options/is-production.tsx
3166
- import { jsx as jsx45, jsxs as jsxs33, Fragment as Fragment45 } from "react/jsx-runtime";
3167
- var cliFlag49 = "is-production";
3415
+ import { jsx as jsx50, jsxs as jsxs35, Fragment as Fragment50 } from "react/jsx-runtime";
3416
+ var cliFlag54 = "is-production";
3168
3417
  var currentIsProductionKey = null;
3169
3418
  var isProductionOption = {
3170
3419
  name: "Is Production",
3171
- cliFlag: cliFlag49,
3172
- description: () => /* @__PURE__ */ jsxs33(Fragment45, {
3420
+ addedIn: "4.0.409",
3421
+ cliFlag: cliFlag54,
3422
+ description: () => /* @__PURE__ */ jsxs35(Fragment50, {
3173
3423
  children: [
3174
3424
  "Pass ",
3175
- /* @__PURE__ */ jsx45("code", {
3425
+ /* @__PURE__ */ jsx50("code", {
3176
3426
  children: "false"
3177
3427
  }),
3178
3428
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
3179
3429
  " ",
3180
- /* @__PURE__ */ jsx45("code", {
3430
+ /* @__PURE__ */ jsx50("code", {
3181
3431
  children: "licenseKey"
3182
3432
  }),
3183
3433
  "."
3184
3434
  ]
3185
3435
  }),
3186
3436
  ssrName: "isProduction",
3187
- docLink: "https://www.remotion.dev/docs/licensing",
3437
+ docLink: "https://www.remotion.dev/docs/options/is-production",
3188
3438
  getValue: ({ commandLine }) => {
3189
- if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3439
+ if (commandLine[cliFlag54] !== undefined && commandLine[cliFlag54] !== null) {
3190
3440
  return {
3191
3441
  source: "cli",
3192
- value: commandLine[cliFlag49]
3442
+ value: commandLine[cliFlag54]
3193
3443
  };
3194
3444
  }
3195
3445
  if (currentIsProductionKey !== null) {
@@ -3207,11 +3457,11 @@ var isProductionOption = {
3207
3457
  currentIsProductionKey = value;
3208
3458
  },
3209
3459
  type: false,
3210
- id: cliFlag49
3460
+ id: cliFlag54
3211
3461
  };
3212
3462
 
3213
3463
  // src/options/jpeg-quality.tsx
3214
- import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3464
+ import { jsx as jsx51, jsxs as jsxs36, Fragment as Fragment51 } from "react/jsx-runtime";
3215
3465
  var defaultValue = DEFAULT_JPEG_QUALITY;
3216
3466
  var quality = defaultValue;
3217
3467
  var setJpegQuality = (q) => {
@@ -3222,23 +3472,34 @@ var setJpegQuality = (q) => {
3222
3472
  }
3223
3473
  quality = q;
3224
3474
  };
3225
- var cliFlag50 = "jpeg-quality";
3475
+ var cliFlag55 = "jpeg-quality";
3226
3476
  var jpegQualityOption = {
3227
3477
  name: "JPEG Quality",
3228
- cliFlag: cliFlag50,
3229
- description: () => /* @__PURE__ */ jsx46(Fragment46, {
3230
- children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
3478
+ addedIn: "4.0.0",
3479
+ cliFlag: cliFlag55,
3480
+ description: () => /* @__PURE__ */ jsxs36(Fragment51, {
3481
+ children: [
3482
+ "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80.",
3483
+ /* @__PURE__ */ jsx51("br", {}),
3484
+ "This option has no effect when",
3485
+ " ",
3486
+ /* @__PURE__ */ jsx51("a", {
3487
+ href: "/docs/shared-memory-capture",
3488
+ children: "shared-memory capture"
3489
+ }),
3490
+ " is active."
3491
+ ]
3231
3492
  }),
3232
3493
  ssrName: "jpegQuality",
3233
- docLink: "https://www.remotion.dev/docs/renderer/render-media#jpeg-quality",
3494
+ docLink: "https://www.remotion.dev/docs/options/jpeg-quality",
3234
3495
  type: 0,
3235
3496
  setConfig: setJpegQuality,
3236
3497
  getValue: ({ commandLine }) => {
3237
- if (commandLine[cliFlag50] !== undefined) {
3238
- validateJpegQuality(commandLine[cliFlag50]);
3498
+ if (commandLine[cliFlag55] !== undefined) {
3499
+ validateJpegQuality(commandLine[cliFlag55]);
3239
3500
  return {
3240
3501
  source: "cli",
3241
- value: commandLine[cliFlag50]
3502
+ value: commandLine[cliFlag55]
3242
3503
  };
3243
3504
  }
3244
3505
  if (quality !== defaultValue) {
@@ -3252,26 +3513,27 @@ var jpegQualityOption = {
3252
3513
  value: defaultValue
3253
3514
  };
3254
3515
  },
3255
- id: cliFlag50
3516
+ id: cliFlag55
3256
3517
  };
3257
3518
 
3258
3519
  // src/options/keyboard-shortcuts.tsx
3259
- import { jsx as jsx47, Fragment as Fragment47 } from "react/jsx-runtime";
3520
+ import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3260
3521
  var keyboardShortcutsEnabled = true;
3261
3522
  var configuredKeyboardShortcutsEnabled = null;
3262
- var cliFlag51 = "disable-keyboard-shortcuts";
3523
+ var cliFlag56 = "disable-keyboard-shortcuts";
3263
3524
  var keyboardShortcutsOption = {
3264
3525
  name: "Disable or Enable keyboard shortcuts",
3265
- cliFlag: cliFlag51,
3266
- description: () => /* @__PURE__ */ jsx47(Fragment47, {
3526
+ addedIn: "3.2.11",
3527
+ cliFlag: cliFlag56,
3528
+ description: () => /* @__PURE__ */ jsx52(Fragment52, {
3267
3529
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
3268
3530
  }),
3269
3531
  ssrName: null,
3270
- docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
3532
+ docLink: "https://www.remotion.dev/docs/options/disable-keyboard-shortcuts",
3271
3533
  type: false,
3272
3534
  getValue: ({ commandLine }) => {
3273
- if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3274
- keyboardShortcutsEnabled = commandLine[cliFlag51] === false;
3535
+ if (commandLine[cliFlag56] !== undefined && commandLine[cliFlag56] !== null) {
3536
+ keyboardShortcutsEnabled = commandLine[cliFlag56] === false;
3275
3537
  return {
3276
3538
  value: keyboardShortcutsEnabled,
3277
3539
  source: "cli"
@@ -3291,51 +3553,52 @@ var keyboardShortcutsOption = {
3291
3553
  keyboardShortcutsEnabled = true;
3292
3554
  configuredKeyboardShortcutsEnabled = null;
3293
3555
  },
3294
- id: cliFlag51
3556
+ id: cliFlag56
3295
3557
  };
3296
3558
 
3297
3559
  // src/options/latency-hint.tsx
3298
- import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3299
- var cliFlag52 = "audio-latency-hint";
3560
+ import { jsx as jsx53, jsxs as jsxs37, Fragment as Fragment53 } from "react/jsx-runtime";
3561
+ var cliFlag57 = "audio-latency-hint";
3300
3562
  var value = null;
3301
3563
  var audioLatencyHintOption = {
3302
3564
  name: "Audio Latency Hint",
3303
- cliFlag: cliFlag52,
3304
- description: () => /* @__PURE__ */ jsxs34(Fragment48, {
3565
+ addedIn: "4.0.303",
3566
+ cliFlag: cliFlag57,
3567
+ description: () => /* @__PURE__ */ jsxs37(Fragment53, {
3305
3568
  children: [
3306
3569
  "Sets the",
3307
3570
  " ",
3308
- /* @__PURE__ */ jsx48("a", {
3571
+ /* @__PURE__ */ jsx53("a", {
3309
3572
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
3310
3573
  children: "audio latency"
3311
3574
  }),
3312
3575
  " ",
3313
3576
  "hint for the global ",
3314
- /* @__PURE__ */ jsx48("code", {
3577
+ /* @__PURE__ */ jsx53("code", {
3315
3578
  children: "AudioContext"
3316
3579
  }),
3317
3580
  " context that Remotion uses to play audio.",
3318
- /* @__PURE__ */ jsx48("br", {}),
3581
+ /* @__PURE__ */ jsx53("br", {}),
3319
3582
  "Possible values: ",
3320
- /* @__PURE__ */ jsx48("code", {
3583
+ /* @__PURE__ */ jsx53("code", {
3321
3584
  children: "interactive"
3322
3585
  }),
3323
3586
  ", ",
3324
- /* @__PURE__ */ jsx48("code", {
3587
+ /* @__PURE__ */ jsx53("code", {
3325
3588
  children: "balanced"
3326
3589
  }),
3327
3590
  ",",
3328
3591
  " ",
3329
- /* @__PURE__ */ jsx48("code", {
3592
+ /* @__PURE__ */ jsx53("code", {
3330
3593
  children: "playback"
3331
3594
  })
3332
3595
  ]
3333
3596
  }),
3334
3597
  ssrName: "audioLatencyHint",
3335
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
3598
+ docLink: "https://www.remotion.dev/docs/options/audio-latency-hint",
3336
3599
  type: "playback",
3337
3600
  getValue: ({ commandLine }) => {
3338
- const val = commandLine[cliFlag52];
3601
+ const val = commandLine[cliFlag57];
3339
3602
  if (typeof val !== "undefined") {
3340
3603
  return { value: val, source: "cli" };
3341
3604
  }
@@ -3351,34 +3614,35 @@ var audioLatencyHintOption = {
3351
3614
  reset: () => {
3352
3615
  value = null;
3353
3616
  },
3354
- id: cliFlag52
3617
+ id: cliFlag57
3355
3618
  };
3356
3619
 
3357
3620
  // src/options/license-key.tsx
3358
- import { jsx as jsx49, jsxs as jsxs35, Fragment as Fragment49 } from "react/jsx-runtime";
3621
+ import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3359
3622
  var currentLicenseKey = null;
3360
- var cliFlag53 = "license-key";
3623
+ var cliFlag58 = "license-key";
3361
3624
  var licenseKeyOption = {
3362
3625
  name: "License key",
3363
- cliFlag: cliFlag53,
3364
- description: () => /* @__PURE__ */ jsxs35(Fragment49, {
3626
+ addedIn: "4.0.409",
3627
+ cliFlag: cliFlag58,
3628
+ description: () => /* @__PURE__ */ jsxs38(Fragment54, {
3365
3629
  children: [
3366
3630
  "License key for sending a usage event using",
3367
3631
  " ",
3368
- /* @__PURE__ */ jsx49("code", {
3632
+ /* @__PURE__ */ jsx54("code", {
3369
3633
  children: "@remotion/licensing"
3370
3634
  }),
3371
3635
  "."
3372
3636
  ]
3373
3637
  }),
3374
3638
  ssrName: "licenseKey",
3375
- docLink: "https://www.remotion.dev/docs/licensing",
3639
+ docLink: "https://www.remotion.dev/docs/options/license-key",
3376
3640
  type: null,
3377
3641
  getValue: ({ commandLine }) => {
3378
- if (commandLine[cliFlag53] !== undefined) {
3642
+ if (commandLine[cliFlag58] !== undefined) {
3379
3643
  return {
3380
3644
  source: "cli",
3381
- value: commandLine[cliFlag53]
3645
+ value: commandLine[cliFlag58]
3382
3646
  };
3383
3647
  }
3384
3648
  return {
@@ -3386,63 +3650,64 @@ var licenseKeyOption = {
3386
3650
  value: currentLicenseKey
3387
3651
  };
3388
3652
  },
3389
- setConfig: (value2) => {
3390
- currentLicenseKey = value2;
3653
+ setConfig: (value) => {
3654
+ currentLicenseKey = value;
3391
3655
  },
3392
- id: cliFlag53
3656
+ id: cliFlag58
3393
3657
  };
3394
3658
 
3395
3659
  // src/options/log-level.tsx
3396
- import { jsx as jsx50, jsxs as jsxs36, Fragment as Fragment50 } from "react/jsx-runtime";
3660
+ import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3397
3661
  var logLevel = "info";
3398
3662
  var configuredLogLevel = null;
3399
- var cliFlag54 = "log";
3663
+ var cliFlag59 = "log";
3400
3664
  var logLevelOption = {
3401
- cliFlag: cliFlag54,
3665
+ cliFlag: cliFlag59,
3402
3666
  name: "Log Level",
3667
+ addedIn: "2.0.1",
3403
3668
  ssrName: "logLevel",
3404
- description: () => /* @__PURE__ */ jsxs36(Fragment50, {
3669
+ description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3405
3670
  children: [
3406
3671
  "One of ",
3407
- /* @__PURE__ */ jsx50("code", {
3672
+ /* @__PURE__ */ jsx55("code", {
3408
3673
  children: "trace"
3409
3674
  }),
3410
3675
  ", ",
3411
- /* @__PURE__ */ jsx50("code", {
3676
+ /* @__PURE__ */ jsx55("code", {
3412
3677
  children: "verbose"
3413
3678
  }),
3414
3679
  ", ",
3415
- /* @__PURE__ */ jsx50("code", {
3680
+ /* @__PURE__ */ jsx55("code", {
3416
3681
  children: "info"
3417
3682
  }),
3418
3683
  ",",
3419
3684
  " ",
3420
- /* @__PURE__ */ jsx50("code", {
3685
+ /* @__PURE__ */ jsx55("code", {
3421
3686
  children: "warn"
3422
3687
  }),
3423
3688
  ", ",
3424
- /* @__PURE__ */ jsx50("code", {
3689
+ /* @__PURE__ */ jsx55("code", {
3425
3690
  children: "error"
3426
3691
  }),
3427
3692
  ".",
3428
- /* @__PURE__ */ jsx50("br", {}),
3693
+ /* @__PURE__ */ jsx55("br", {}),
3429
3694
  " Determines how much info is being logged to the console.",
3430
- /* @__PURE__ */ jsx50("br", {}),
3431
- /* @__PURE__ */ jsx50("br", {}),
3695
+ /* @__PURE__ */ jsx55("br", {}),
3696
+ /* @__PURE__ */ jsx55("br", {}),
3432
3697
  " Default ",
3433
- /* @__PURE__ */ jsx50("code", {
3698
+ /* @__PURE__ */ jsx55("code", {
3434
3699
  children: "info"
3435
3700
  }),
3436
3701
  "."
3437
3702
  ]
3438
3703
  }),
3439
- docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
3704
+ docLink: "https://www.remotion.dev/docs/options/log",
3440
3705
  getValue: ({ commandLine }) => {
3441
- if (commandLine[cliFlag54]) {
3442
- if (!isValidLogLevel(commandLine[cliFlag54])) {
3706
+ if (commandLine[cliFlag59]) {
3707
+ if (!isValidLogLevel(commandLine[cliFlag59])) {
3443
3708
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3444
3709
  }
3445
- return { value: commandLine[cliFlag54], source: "cli" };
3710
+ return { value: commandLine[cliFlag59], source: "cli" };
3446
3711
  }
3447
3712
  if (logLevel !== "info") {
3448
3713
  return { value: logLevel, source: "config" };
@@ -3459,23 +3724,24 @@ var logLevelOption = {
3459
3724
  configuredLogLevel = null;
3460
3725
  },
3461
3726
  type: "error",
3462
- id: cliFlag54
3727
+ id: cliFlag59
3463
3728
  };
3464
3729
 
3465
3730
  // src/options/metadata.tsx
3466
- import { jsx as jsx51, jsxs as jsxs37, Fragment as Fragment51 } from "react/jsx-runtime";
3731
+ import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3467
3732
  var metadata = {};
3468
- var cliFlag55 = "metadata";
3733
+ var cliFlag60 = "metadata";
3469
3734
  var metadataOption = {
3470
3735
  name: "Metadata",
3471
- cliFlag: cliFlag55,
3736
+ addedIn: "4.0.216",
3737
+ cliFlag: cliFlag60,
3472
3738
  description: (mode) => {
3473
3739
  if (mode === "ssr") {
3474
- return /* @__PURE__ */ jsxs37(Fragment51, {
3740
+ return /* @__PURE__ */ jsxs40(Fragment56, {
3475
3741
  children: [
3476
3742
  "An object containing metadata to be embedded in the video. See",
3477
3743
  " ",
3478
- /* @__PURE__ */ jsx51("a", {
3744
+ /* @__PURE__ */ jsx56("a", {
3479
3745
  href: "/docs/metadata",
3480
3746
  children: "here"
3481
3747
  }),
@@ -3483,18 +3749,18 @@ var metadataOption = {
3483
3749
  ]
3484
3750
  });
3485
3751
  }
3486
- return /* @__PURE__ */ jsxs37(Fragment51, {
3752
+ return /* @__PURE__ */ jsxs40(Fragment56, {
3487
3753
  children: [
3488
3754
  "Metadata to be embedded in the video. See",
3489
3755
  " ",
3490
- /* @__PURE__ */ jsx51("a", {
3756
+ /* @__PURE__ */ jsx56("a", {
3491
3757
  href: "/docs/metadata",
3492
3758
  children: "here"
3493
3759
  }),
3494
3760
  " for which metadata is accepted.",
3495
- /* @__PURE__ */ jsx51("br", {}),
3761
+ /* @__PURE__ */ jsx56("br", {}),
3496
3762
  "The parameter must be in the format of ",
3497
- /* @__PURE__ */ jsx51("code", {
3763
+ /* @__PURE__ */ jsx56("code", {
3498
3764
  children: "--metadata key=value"
3499
3765
  }),
3500
3766
  " ",
@@ -3502,11 +3768,11 @@ var metadataOption = {
3502
3768
  ]
3503
3769
  });
3504
3770
  },
3505
- docLink: "https://www.remotion.dev/docs/metadata",
3771
+ docLink: "https://www.remotion.dev/docs/options/metadata",
3506
3772
  type: {},
3507
3773
  getValue: ({ commandLine }) => {
3508
- if (commandLine[cliFlag55] !== undefined) {
3509
- const val = commandLine[cliFlag55];
3774
+ if (commandLine[cliFlag60] !== undefined) {
3775
+ const val = commandLine[cliFlag60];
3510
3776
  const array = typeof val === "string" ? [val] : val;
3511
3777
  const keyValues = array.map((a) => {
3512
3778
  if (!a.includes("=")) {
@@ -3518,10 +3784,10 @@ var metadataOption = {
3518
3784
  }
3519
3785
  return [splitted[0], splitted[1]];
3520
3786
  });
3521
- const value2 = Object.fromEntries(keyValues);
3787
+ const value = Object.fromEntries(keyValues);
3522
3788
  return {
3523
3789
  source: "config",
3524
- value: value2
3790
+ value
3525
3791
  };
3526
3792
  }
3527
3793
  return {
@@ -3533,28 +3799,29 @@ var metadataOption = {
3533
3799
  metadata = newMetadata;
3534
3800
  },
3535
3801
  ssrName: "metadata",
3536
- id: cliFlag55
3802
+ id: cliFlag60
3537
3803
  };
3538
3804
 
3539
3805
  // src/options/mute.tsx
3540
- import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3806
+ import { jsx as jsx57, Fragment as Fragment57 } from "react/jsx-runtime";
3541
3807
  var DEFAULT_MUTED_STATE = false;
3542
3808
  var mutedState = DEFAULT_MUTED_STATE;
3543
- var cliFlag56 = "muted";
3809
+ var cliFlag61 = "muted";
3544
3810
  var mutedOption = {
3545
3811
  name: "Muted",
3546
- cliFlag: cliFlag56,
3547
- description: () => /* @__PURE__ */ jsx52(Fragment52, {
3812
+ addedIn: "3.2.1",
3813
+ cliFlag: cliFlag61,
3814
+ description: () => /* @__PURE__ */ jsx57(Fragment57, {
3548
3815
  children: "The Audio of the video will be omitted."
3549
3816
  }),
3550
3817
  ssrName: "muted",
3551
- docLink: "https://www.remotion.dev/docs/audio/muting",
3818
+ docLink: "https://www.remotion.dev/docs/options/muted",
3552
3819
  type: false,
3553
3820
  getValue: ({ commandLine }) => {
3554
- if (commandLine[cliFlag56] !== null) {
3821
+ if (commandLine[cliFlag61] !== null) {
3555
3822
  return {
3556
3823
  source: "cli",
3557
- value: commandLine[cliFlag56]
3824
+ value: commandLine[cliFlag61]
3558
3825
  };
3559
3826
  }
3560
3827
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3574,21 +3841,22 @@ var mutedOption = {
3574
3841
  reset: () => {
3575
3842
  mutedState = DEFAULT_MUTED_STATE;
3576
3843
  },
3577
- id: cliFlag56
3844
+ id: cliFlag61
3578
3845
  };
3579
3846
 
3580
3847
  // src/options/no-open.tsx
3581
- import { jsx as jsx53, Fragment as Fragment53 } from "react/jsx-runtime";
3848
+ import { jsx as jsx58, Fragment as Fragment58 } from "react/jsx-runtime";
3582
3849
  var shouldOpenBrowser = true;
3583
- var cliFlag57 = "no-open";
3850
+ var cliFlag62 = "no-open";
3584
3851
  var noOpenOption = {
3585
3852
  name: "Disable browser auto-open",
3586
- cliFlag: cliFlag57,
3587
- description: () => /* @__PURE__ */ jsx53(Fragment53, {
3853
+ addedIn: "3.3.19",
3854
+ cliFlag: cliFlag62,
3855
+ description: () => /* @__PURE__ */ jsx58(Fragment58, {
3588
3856
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3589
3857
  }),
3590
3858
  ssrName: null,
3591
- docLink: "https://www.remotion.dev/docs/cli/studio#--no-open",
3859
+ docLink: "https://www.remotion.dev/docs/options/no-open",
3592
3860
  type: false,
3593
3861
  getValue: ({ commandLine }) => {
3594
3862
  const cliValue = commandLine.open;
@@ -3606,54 +3874,55 @@ var noOpenOption = {
3606
3874
  reset: () => {
3607
3875
  shouldOpenBrowser = true;
3608
3876
  },
3609
- id: cliFlag57
3877
+ id: cliFlag62
3610
3878
  };
3611
3879
 
3612
3880
  // src/options/number-of-gif-loops.tsx
3613
- import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3881
+ import { jsx as jsx59, jsxs as jsxs41, Fragment as Fragment59 } from "react/jsx-runtime";
3614
3882
  var currentLoop = null;
3615
3883
  var validate = (newLoop) => {
3616
3884
  if (newLoop !== null && typeof newLoop !== "number") {
3617
3885
  throw new Error("--number-of-gif-loops flag must be a number.");
3618
3886
  }
3619
3887
  };
3620
- var cliFlag58 = "number-of-gif-loops";
3888
+ var cliFlag63 = "number-of-gif-loops";
3621
3889
  var numberOfGifLoopsOption = {
3622
3890
  name: "Number of GIF loops",
3623
- cliFlag: cliFlag58,
3891
+ addedIn: "3.1.0",
3892
+ cliFlag: cliFlag63,
3624
3893
  description: () => {
3625
- return /* @__PURE__ */ jsxs38(Fragment54, {
3894
+ return /* @__PURE__ */ jsxs41(Fragment59, {
3626
3895
  children: [
3627
3896
  "Allows you to set the number of loops as follows:",
3628
- /* @__PURE__ */ jsxs38("ul", {
3897
+ /* @__PURE__ */ jsxs41("ul", {
3629
3898
  children: [
3630
- /* @__PURE__ */ jsxs38("li", {
3899
+ /* @__PURE__ */ jsxs41("li", {
3631
3900
  children: [
3632
- /* @__PURE__ */ jsx54("code", {
3901
+ /* @__PURE__ */ jsx59("code", {
3633
3902
  children: "null"
3634
3903
  }),
3635
3904
  " (or omitting in the CLI) plays the GIF indefinitely."
3636
3905
  ]
3637
3906
  }),
3638
- /* @__PURE__ */ jsxs38("li", {
3907
+ /* @__PURE__ */ jsxs41("li", {
3639
3908
  children: [
3640
- /* @__PURE__ */ jsx54("code", {
3909
+ /* @__PURE__ */ jsx59("code", {
3641
3910
  children: "0"
3642
3911
  }),
3643
3912
  " disables looping"
3644
3913
  ]
3645
3914
  }),
3646
- /* @__PURE__ */ jsxs38("li", {
3915
+ /* @__PURE__ */ jsxs41("li", {
3647
3916
  children: [
3648
- /* @__PURE__ */ jsx54("code", {
3917
+ /* @__PURE__ */ jsx59("code", {
3649
3918
  children: "1"
3650
3919
  }),
3651
3920
  " loops the GIF once (plays twice in total)"
3652
3921
  ]
3653
3922
  }),
3654
- /* @__PURE__ */ jsxs38("li", {
3923
+ /* @__PURE__ */ jsxs41("li", {
3655
3924
  children: [
3656
- /* @__PURE__ */ jsx54("code", {
3925
+ /* @__PURE__ */ jsx59("code", {
3657
3926
  children: "2"
3658
3927
  }),
3659
3928
  " loops the GIF twice (plays three times in total) and so on."
@@ -3665,13 +3934,13 @@ var numberOfGifLoopsOption = {
3665
3934
  });
3666
3935
  },
3667
3936
  ssrName: "numberOfGifLoops",
3668
- docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
3937
+ docLink: "https://www.remotion.dev/docs/options/number-of-gif-loops",
3669
3938
  type: 0,
3670
3939
  getValue: ({ commandLine }) => {
3671
- if (commandLine[cliFlag58] !== undefined) {
3672
- validate(commandLine[cliFlag58]);
3940
+ if (commandLine[cliFlag63] !== undefined) {
3941
+ validate(commandLine[cliFlag63]);
3673
3942
  return {
3674
- value: commandLine[cliFlag58],
3943
+ value: commandLine[cliFlag63],
3675
3944
  source: "cli"
3676
3945
  };
3677
3946
  }
@@ -3690,22 +3959,23 @@ var numberOfGifLoopsOption = {
3690
3959
  validate(newLoop);
3691
3960
  currentLoop = newLoop;
3692
3961
  },
3693
- id: cliFlag58
3962
+ id: cliFlag63
3694
3963
  };
3695
3964
 
3696
3965
  // src/options/number-of-shared-audio-tags.tsx
3697
- import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3966
+ import { jsx as jsx60, jsxs as jsxs42, Fragment as Fragment60 } from "react/jsx-runtime";
3698
3967
  var numberOfSharedAudioTags = 0;
3699
3968
  var configuredNumberOfSharedAudioTags = null;
3700
- var cliFlag59 = "number-of-shared-audio-tags";
3969
+ var cliFlag64 = "number-of-shared-audio-tags";
3701
3970
  var numberOfSharedAudioTagsOption = {
3702
3971
  name: "Number of shared audio tags",
3703
- cliFlag: cliFlag59,
3704
- description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3972
+ addedIn: "3.3.2",
3973
+ cliFlag: cliFlag64,
3974
+ description: () => /* @__PURE__ */ jsxs42(Fragment60, {
3705
3975
  children: [
3706
3976
  "Set number of shared audio tags. See",
3707
3977
  " ",
3708
- /* @__PURE__ */ jsx55("a", {
3978
+ /* @__PURE__ */ jsx60("a", {
3709
3979
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3710
3980
  children: "Using the numberOfSharedAudioTags prop"
3711
3981
  }),
@@ -3714,12 +3984,12 @@ var numberOfSharedAudioTagsOption = {
3714
3984
  ]
3715
3985
  }),
3716
3986
  ssrName: null,
3717
- docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
3987
+ docLink: "https://www.remotion.dev/docs/options/number-of-shared-audio-tags",
3718
3988
  type: 0,
3719
3989
  getValue: ({ commandLine }) => {
3720
- if (commandLine[cliFlag59] !== undefined) {
3990
+ if (commandLine[cliFlag64] !== undefined) {
3721
3991
  return {
3722
- value: commandLine[cliFlag59],
3992
+ value: commandLine[cliFlag64],
3723
3993
  source: "cli"
3724
3994
  };
3725
3995
  }
@@ -3728,60 +3998,61 @@ var numberOfSharedAudioTagsOption = {
3728
3998
  source: "config"
3729
3999
  };
3730
4000
  },
3731
- setConfig(value2) {
3732
- numberOfSharedAudioTags = value2;
3733
- configuredNumberOfSharedAudioTags = value2;
4001
+ setConfig(value) {
4002
+ numberOfSharedAudioTags = value;
4003
+ configuredNumberOfSharedAudioTags = value;
3734
4004
  },
3735
4005
  getConfigValue: () => configuredNumberOfSharedAudioTags,
3736
4006
  reset: () => {
3737
4007
  numberOfSharedAudioTags = 0;
3738
4008
  configuredNumberOfSharedAudioTags = null;
3739
4009
  },
3740
- id: cliFlag59
4010
+ id: cliFlag64
3741
4011
  };
3742
4012
 
3743
4013
  // src/options/offthreadvideo-cache-size.tsx
3744
- import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
4014
+ import { jsx as jsx61, jsxs as jsxs43, Fragment as Fragment61 } from "react/jsx-runtime";
3745
4015
  var offthreadVideoCacheSizeInBytes = null;
3746
- var cliFlag60 = "offthreadvideo-cache-size-in-bytes";
4016
+ var cliFlag65 = "offthreadvideo-cache-size-in-bytes";
3747
4017
  var offthreadVideoCacheSizeInBytesOption = {
3748
4018
  name: "OffthreadVideo cache size",
3749
- cliFlag: cliFlag60,
3750
- description: () => /* @__PURE__ */ jsxs40(Fragment56, {
4019
+ addedIn: "4.0.23",
4020
+ cliFlag: cliFlag65,
4021
+ description: () => /* @__PURE__ */ jsxs43(Fragment61, {
3751
4022
  children: [
3752
4023
  "From v4.0, Remotion has a cache for",
3753
4024
  " ",
3754
- /* @__PURE__ */ jsx56("a", {
4025
+ /* @__PURE__ */ jsx61("a", {
3755
4026
  href: "https://remotion.dev/docs/offthreadvideo",
3756
- children: /* @__PURE__ */ jsx56("code", {
4027
+ children: /* @__PURE__ */ jsx61("code", {
3757
4028
  children: "<OffthreadVideo>"
3758
4029
  })
3759
4030
  }),
3760
4031
  " ",
3761
4032
  "frames. The default is ",
3762
- /* @__PURE__ */ jsx56("code", {
4033
+ /* @__PURE__ */ jsx61("code", {
3763
4034
  children: "null"
3764
4035
  }),
3765
4036
  ", corresponding to half of the system memory available when the render starts.",
3766
- /* @__PURE__ */ jsx56("br", {}),
4037
+ /* @__PURE__ */ jsx61("br", {}),
3767
4038
  " This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.",
3768
- /* @__PURE__ */ jsx56("br", {}),
4039
+ /* @__PURE__ */ jsx61("br", {}),
3769
4040
  "The used value will be printed when running in verbose mode.",
3770
- /* @__PURE__ */ jsx56("br", {}),
4041
+ /* @__PURE__ */ jsx61("br", {}),
3771
4042
  "Default: ",
3772
- /* @__PURE__ */ jsx56("code", {
4043
+ /* @__PURE__ */ jsx61("code", {
3773
4044
  children: "null"
3774
4045
  })
3775
4046
  ]
3776
4047
  }),
3777
4048
  ssrName: "offthreadVideoCacheSizeInBytes",
3778
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
4049
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-cache-size-in-bytes",
3779
4050
  type: 0,
3780
4051
  getValue: ({ commandLine }) => {
3781
- if (commandLine[cliFlag60] !== undefined) {
4052
+ if (commandLine[cliFlag65] !== undefined) {
3782
4053
  return {
3783
4054
  source: "cli",
3784
- value: commandLine[cliFlag60]
4055
+ value: commandLine[cliFlag65]
3785
4056
  };
3786
4057
  }
3787
4058
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3798,22 +4069,23 @@ var offthreadVideoCacheSizeInBytesOption = {
3798
4069
  setConfig: (size) => {
3799
4070
  offthreadVideoCacheSizeInBytes = size ?? null;
3800
4071
  },
3801
- id: cliFlag60
4072
+ id: cliFlag65
3802
4073
  };
3803
4074
 
3804
4075
  // src/options/offthreadvideo-threads.tsx
3805
- import { jsx as jsx57, jsxs as jsxs41, Fragment as Fragment57 } from "react/jsx-runtime";
4076
+ import { jsx as jsx62, jsxs as jsxs44, Fragment as Fragment62 } from "react/jsx-runtime";
3806
4077
  var value2 = null;
3807
- var cliFlag61 = "offthreadvideo-video-threads";
4078
+ var cliFlag66 = "offthreadvideo-video-threads";
3808
4079
  var offthreadVideoThreadsOption = {
3809
4080
  name: "OffthreadVideo threads",
3810
- cliFlag: cliFlag61,
3811
- description: () => /* @__PURE__ */ jsxs41(Fragment57, {
4081
+ addedIn: "4.0.261",
4082
+ cliFlag: cliFlag66,
4083
+ description: () => /* @__PURE__ */ jsxs44(Fragment62, {
3812
4084
  children: [
3813
4085
  "The number of threads that",
3814
- /* @__PURE__ */ jsx57("a", {
4086
+ /* @__PURE__ */ jsx62("a", {
3815
4087
  href: "https://remotion.dev/docs/offthreadvideo",
3816
- children: /* @__PURE__ */ jsx57("code", {
4088
+ children: /* @__PURE__ */ jsx62("code", {
3817
4089
  children: "<OffthreadVideo>"
3818
4090
  })
3819
4091
  }),
@@ -3825,13 +4097,13 @@ var offthreadVideoThreadsOption = {
3825
4097
  ]
3826
4098
  }),
3827
4099
  ssrName: "offthreadVideoThreads",
3828
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
4100
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-video-threads",
3829
4101
  type: 0,
3830
4102
  getValue: ({ commandLine }) => {
3831
- if (commandLine[cliFlag61] !== undefined) {
4103
+ if (commandLine[cliFlag66] !== undefined) {
3832
4104
  return {
3833
4105
  source: "cli",
3834
- value: commandLine[cliFlag61]
4106
+ value: commandLine[cliFlag66]
3835
4107
  };
3836
4108
  }
3837
4109
  if (value2 !== null) {
@@ -3848,28 +4120,29 @@ var offthreadVideoThreadsOption = {
3848
4120
  setConfig: (size) => {
3849
4121
  value2 = size ?? null;
3850
4122
  },
3851
- id: cliFlag61
4123
+ id: cliFlag66
3852
4124
  };
3853
4125
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3854
4126
 
3855
4127
  // src/options/on-browser-download.tsx
3856
- import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3857
- var cliFlag62 = "on-browser-download";
4128
+ import { jsx as jsx63, jsxs as jsxs45, Fragment as Fragment63 } from "react/jsx-runtime";
4129
+ var cliFlag67 = "on-browser-download";
3858
4130
  var onBrowserDownloadOption = {
3859
4131
  name: "Browser download callback function",
3860
- cliFlag: cliFlag62,
3861
- description: () => /* @__PURE__ */ jsxs42(Fragment58, {
4132
+ addedIn: "4.0.137",
4133
+ cliFlag: cliFlag67,
4134
+ description: () => /* @__PURE__ */ jsxs45(Fragment63, {
3862
4135
  children: [
3863
4136
  "Gets called when no compatible local browser is detected on the system and this API needs to download a browser. Return a callback to observe progress.",
3864
4137
  " ",
3865
- /* @__PURE__ */ jsx58("a", {
4138
+ /* @__PURE__ */ jsx63("a", {
3866
4139
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3867
4140
  children: "See here for how to use this option."
3868
4141
  })
3869
4142
  ]
3870
4143
  }),
3871
4144
  ssrName: "onBrowserDownload",
3872
- docLink: "https://www.remotion.dev/docs/renderer/ensure-browser",
4145
+ docLink: "https://www.remotion.dev/docs/options/on-browser-download",
3873
4146
  type: undefined,
3874
4147
  getValue: () => {
3875
4148
  throw new Error("does not support config file");
@@ -3877,26 +4150,27 @@ var onBrowserDownloadOption = {
3877
4150
  setConfig: () => {
3878
4151
  throw new Error("does not support config file");
3879
4152
  },
3880
- id: cliFlag62
4153
+ id: cliFlag67
3881
4154
  };
3882
4155
 
3883
4156
  // src/options/out-dir.tsx
3884
- import { jsx as jsx59, jsxs as jsxs43, Fragment as Fragment59 } from "react/jsx-runtime";
3885
- var cliFlag63 = "out-dir";
4157
+ import { jsx as jsx64, jsxs as jsxs46, Fragment as Fragment64 } from "react/jsx-runtime";
4158
+ var cliFlag68 = "out-dir";
3886
4159
  var currentOutDir = null;
3887
4160
  var outDirOption = {
3888
4161
  name: "Output Directory",
3889
- cliFlag: cliFlag63,
4162
+ addedIn: "4.0.426",
4163
+ cliFlag: cliFlag68,
3890
4164
  description: () => {
3891
- return /* @__PURE__ */ jsxs43(Fragment59, {
4165
+ return /* @__PURE__ */ jsxs46(Fragment64, {
3892
4166
  children: [
3893
4167
  "Define the location of the resulting bundle. By default it is a folder called ",
3894
- /* @__PURE__ */ jsx59("code", {
4168
+ /* @__PURE__ */ jsx64("code", {
3895
4169
  children: "build"
3896
4170
  }),
3897
4171
  ", adjacent to the",
3898
4172
  " ",
3899
- /* @__PURE__ */ jsx59("a", {
4173
+ /* @__PURE__ */ jsx64("a", {
3900
4174
  href: "/docs/terminology/remotion-root",
3901
4175
  children: "Remotion Root"
3902
4176
  }),
@@ -3905,12 +4179,12 @@ var outDirOption = {
3905
4179
  });
3906
4180
  },
3907
4181
  ssrName: "outDir",
3908
- docLink: "https://www.remotion.dev/docs/cli/bundle#--out-dir",
4182
+ docLink: "https://www.remotion.dev/docs/options/out-dir",
3909
4183
  getValue: ({ commandLine }) => {
3910
- if (commandLine[cliFlag63] !== undefined) {
4184
+ if (commandLine[cliFlag68] !== undefined) {
3911
4185
  return {
3912
4186
  source: "cli",
3913
- value: commandLine[cliFlag63]
4187
+ value: commandLine[cliFlag68]
3914
4188
  };
3915
4189
  }
3916
4190
  if (currentOutDir !== null) {
@@ -3924,42 +4198,43 @@ var outDirOption = {
3924
4198
  value: null
3925
4199
  };
3926
4200
  },
3927
- setConfig: (value3) => {
3928
- currentOutDir = value3;
4201
+ setConfig: (value) => {
4202
+ currentOutDir = value;
3929
4203
  },
3930
4204
  type: "",
3931
- id: cliFlag63
4205
+ id: cliFlag68
3932
4206
  };
3933
4207
 
3934
4208
  // src/validate.ts
3935
- import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
3936
- var validateFps = NoReactInternals3.validateFps;
3937
- var validateDimension = NoReactInternals3.validateDimension;
3938
- var validateDurationInFrames = NoReactInternals3.validateDurationInFrames;
4209
+ import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
4210
+ var validateFps = NoReactInternals6.validateFps;
4211
+ var validateDimension = NoReactInternals6.validateDimension;
4212
+ var validateDurationInFrames = NoReactInternals6.validateDurationInFrames;
3939
4213
 
3940
4214
  // src/options/override-duration.tsx
3941
- import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
4215
+ import { jsx as jsx65, Fragment as Fragment65 } from "react/jsx-runtime";
3942
4216
  var currentDuration = null;
3943
- var cliFlag64 = "duration";
4217
+ var cliFlag69 = "duration";
3944
4218
  var overrideDurationOption = {
3945
4219
  name: "Override Duration",
3946
- cliFlag: cliFlag64,
3947
- description: () => /* @__PURE__ */ jsx60(Fragment60, {
4220
+ addedIn: "4.0.424",
4221
+ cliFlag: cliFlag69,
4222
+ description: () => /* @__PURE__ */ jsx65(Fragment65, {
3948
4223
  children: "Overrides the duration in frames of the composition."
3949
4224
  }),
3950
4225
  ssrName: null,
3951
- docLink: "https://www.remotion.dev/docs/config#overrideduration",
4226
+ docLink: "https://www.remotion.dev/docs/options/duration",
3952
4227
  type: null,
3953
4228
  getValue: ({ commandLine }) => {
3954
- if (commandLine[cliFlag64] !== undefined) {
3955
- const value3 = commandLine[cliFlag64];
3956
- validateDurationInFrames(value3, {
4229
+ if (commandLine[cliFlag69] !== undefined) {
4230
+ const value = commandLine[cliFlag69];
4231
+ validateDurationInFrames(value, {
3957
4232
  component: "in --duration flag",
3958
4233
  allowFloats: false
3959
4234
  });
3960
4235
  return {
3961
4236
  source: "cli",
3962
- value: value3
4237
+ value
3963
4238
  };
3964
4239
  }
3965
4240
  if (currentDuration !== null) {
@@ -3983,29 +4258,30 @@ var overrideDurationOption = {
3983
4258
  reset: () => {
3984
4259
  currentDuration = null;
3985
4260
  },
3986
- id: cliFlag64
4261
+ id: cliFlag69
3987
4262
  };
3988
4263
 
3989
4264
  // src/options/override-fps.tsx
3990
- import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
4265
+ import { jsx as jsx66, Fragment as Fragment66 } from "react/jsx-runtime";
3991
4266
  var currentFps = null;
3992
- var cliFlag65 = "fps";
4267
+ var cliFlag70 = "fps";
3993
4268
  var overrideFpsOption = {
3994
4269
  name: "Override FPS",
3995
- cliFlag: cliFlag65,
3996
- description: () => /* @__PURE__ */ jsx61(Fragment61, {
4270
+ addedIn: "4.0.424",
4271
+ cliFlag: cliFlag70,
4272
+ description: () => /* @__PURE__ */ jsx66(Fragment66, {
3997
4273
  children: "Overrides the frames per second of the composition."
3998
4274
  }),
3999
4275
  ssrName: null,
4000
- docLink: "https://www.remotion.dev/docs/config#overridefps",
4276
+ docLink: "https://www.remotion.dev/docs/options/fps",
4001
4277
  type: null,
4002
4278
  getValue: ({ commandLine }) => {
4003
- if (commandLine[cliFlag65] !== undefined) {
4004
- const value3 = commandLine[cliFlag65];
4005
- validateFps(value3, "in --fps flag", false);
4279
+ if (commandLine[cliFlag70] !== undefined) {
4280
+ const value = commandLine[cliFlag70];
4281
+ validateFps(value, "in --fps flag", false);
4006
4282
  return {
4007
4283
  source: "cli",
4008
- value: value3
4284
+ value
4009
4285
  };
4010
4286
  }
4011
4287
  if (currentFps !== null) {
@@ -4026,29 +4302,30 @@ var overrideFpsOption = {
4026
4302
  reset: () => {
4027
4303
  currentFps = null;
4028
4304
  },
4029
- id: cliFlag65
4305
+ id: cliFlag70
4030
4306
  };
4031
4307
 
4032
4308
  // src/options/override-height.tsx
4033
- import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
4309
+ import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4034
4310
  var currentHeight = null;
4035
- var cliFlag66 = "height";
4311
+ var cliFlag71 = "height";
4036
4312
  var overrideHeightOption = {
4037
4313
  name: "Override Height",
4038
- cliFlag: cliFlag66,
4039
- description: () => /* @__PURE__ */ jsx62(Fragment62, {
4314
+ addedIn: "3.2.40",
4315
+ cliFlag: cliFlag71,
4316
+ description: () => /* @__PURE__ */ jsx67(Fragment67, {
4040
4317
  children: "Overrides the height of the composition."
4041
4318
  }),
4042
4319
  ssrName: null,
4043
- docLink: "https://www.remotion.dev/docs/config#overrideheight",
4320
+ docLink: "https://www.remotion.dev/docs/options/height",
4044
4321
  type: null,
4045
4322
  getValue: ({ commandLine }) => {
4046
- if (commandLine[cliFlag66] !== undefined) {
4047
- const value3 = commandLine[cliFlag66];
4048
- validateDimension(value3, "height", "in --height flag");
4323
+ if (commandLine[cliFlag71] !== undefined) {
4324
+ const value = commandLine[cliFlag71];
4325
+ validateDimension(value, "height", "in --height flag");
4049
4326
  return {
4050
4327
  source: "cli",
4051
- value: value3
4328
+ value
4052
4329
  };
4053
4330
  }
4054
4331
  if (currentHeight !== null) {
@@ -4069,29 +4346,30 @@ var overrideHeightOption = {
4069
4346
  reset: () => {
4070
4347
  currentHeight = null;
4071
4348
  },
4072
- id: cliFlag66
4349
+ id: cliFlag71
4073
4350
  };
4074
4351
 
4075
4352
  // src/options/override-width.tsx
4076
- import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
4353
+ import { jsx as jsx68, Fragment as Fragment68 } from "react/jsx-runtime";
4077
4354
  var currentWidth = null;
4078
- var cliFlag67 = "width";
4355
+ var cliFlag72 = "width";
4079
4356
  var overrideWidthOption = {
4080
4357
  name: "Override Width",
4081
- cliFlag: cliFlag67,
4082
- description: () => /* @__PURE__ */ jsx63(Fragment63, {
4358
+ addedIn: "3.2.40",
4359
+ cliFlag: cliFlag72,
4360
+ description: () => /* @__PURE__ */ jsx68(Fragment68, {
4083
4361
  children: "Overrides the width of the composition."
4084
4362
  }),
4085
4363
  ssrName: null,
4086
- docLink: "https://www.remotion.dev/docs/config#overridewidth",
4364
+ docLink: "https://www.remotion.dev/docs/options/width",
4087
4365
  type: null,
4088
4366
  getValue: ({ commandLine }) => {
4089
- if (commandLine[cliFlag67] !== undefined) {
4090
- const value3 = commandLine[cliFlag67];
4091
- validateDimension(value3, "width", "in --width flag");
4367
+ if (commandLine[cliFlag72] !== undefined) {
4368
+ const value = commandLine[cliFlag72];
4369
+ validateDimension(value, "width", "in --width flag");
4092
4370
  return {
4093
4371
  source: "cli",
4094
- value: value3
4372
+ value
4095
4373
  };
4096
4374
  }
4097
4375
  if (currentWidth !== null) {
@@ -4112,43 +4390,44 @@ var overrideWidthOption = {
4112
4390
  reset: () => {
4113
4391
  currentWidth = null;
4114
4392
  },
4115
- id: cliFlag67
4393
+ id: cliFlag72
4116
4394
  };
4117
4395
 
4118
4396
  // src/options/overwrite.tsx
4119
- import { jsx as jsx64, jsxs as jsxs44, Fragment as Fragment64 } from "react/jsx-runtime";
4397
+ import { jsx as jsx69, jsxs as jsxs47, Fragment as Fragment69 } from "react/jsx-runtime";
4120
4398
  var shouldOverwrite = null;
4121
- var cliFlag68 = "overwrite";
4122
- var validate2 = (value3) => {
4123
- if (typeof value3 !== "boolean") {
4124
- throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
4399
+ var cliFlag73 = "overwrite";
4400
+ var validate2 = (value) => {
4401
+ if (typeof value !== "boolean") {
4402
+ throw new Error(`overwriteExisting must be a boolean but got ${typeof value} (${value})`);
4125
4403
  }
4126
4404
  };
4127
4405
  var overwriteOption = {
4128
4406
  name: "Overwrite output",
4129
- cliFlag: cliFlag68,
4130
- description: () => /* @__PURE__ */ jsxs44(Fragment64, {
4407
+ addedIn: "1.0.0",
4408
+ cliFlag: cliFlag73,
4409
+ description: () => /* @__PURE__ */ jsxs47(Fragment69, {
4131
4410
  children: [
4132
4411
  "If set to ",
4133
- /* @__PURE__ */ jsx64("code", {
4412
+ /* @__PURE__ */ jsx69("code", {
4134
4413
  children: "false"
4135
4414
  }),
4136
4415
  ", will prevent rendering to a path that already exists. Default is ",
4137
- /* @__PURE__ */ jsx64("code", {
4416
+ /* @__PURE__ */ jsx69("code", {
4138
4417
  children: "true"
4139
4418
  }),
4140
4419
  "."
4141
4420
  ]
4142
4421
  }),
4143
4422
  ssrName: "overwrite",
4144
- docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
4423
+ docLink: "https://www.remotion.dev/docs/options/overwrite",
4145
4424
  type: false,
4146
- getValue: ({ commandLine }, defaultValue2) => {
4147
- if (commandLine[cliFlag68] !== undefined && commandLine[cliFlag68] !== null) {
4148
- validate2(commandLine[cliFlag68]);
4425
+ getValue: ({ commandLine }, defaultValue) => {
4426
+ if (commandLine[cliFlag73] !== undefined && commandLine[cliFlag73] !== null) {
4427
+ validate2(commandLine[cliFlag73]);
4149
4428
  return {
4150
4429
  source: "cli",
4151
- value: commandLine[cliFlag68]
4430
+ value: commandLine[cliFlag73]
4152
4431
  };
4153
4432
  }
4154
4433
  if (shouldOverwrite !== null) {
@@ -4159,50 +4438,51 @@ var overwriteOption = {
4159
4438
  }
4160
4439
  return {
4161
4440
  source: "default",
4162
- value: defaultValue2
4441
+ value: defaultValue
4163
4442
  };
4164
4443
  },
4165
- setConfig: (value3) => {
4166
- validate2(value3);
4167
- shouldOverwrite = value3;
4444
+ setConfig: (value) => {
4445
+ validate2(value);
4446
+ shouldOverwrite = value;
4168
4447
  },
4169
4448
  reset: () => {
4170
4449
  shouldOverwrite = null;
4171
4450
  },
4172
- id: cliFlag68
4451
+ id: cliFlag73
4173
4452
  };
4174
4453
 
4175
4454
  // src/options/package-manager.tsx
4176
- import { jsx as jsx65, jsxs as jsxs45, Fragment as Fragment65 } from "react/jsx-runtime";
4177
- var cliFlag69 = "package-manager";
4455
+ import { jsx as jsx70, jsxs as jsxs48, Fragment as Fragment70 } from "react/jsx-runtime";
4456
+ var cliFlag74 = "package-manager";
4178
4457
  var currentPackageManager = null;
4179
4458
  var packageManagerOption = {
4180
4459
  name: "Package Manager",
4181
- cliFlag: cliFlag69,
4460
+ addedIn: "3.2.33",
4461
+ cliFlag: cliFlag74,
4182
4462
  description: () => {
4183
- return /* @__PURE__ */ jsxs45(Fragment65, {
4463
+ return /* @__PURE__ */ jsxs48(Fragment70, {
4184
4464
  children: [
4185
4465
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4186
- /* @__PURE__ */ jsx65("br", {}),
4466
+ /* @__PURE__ */ jsx70("br", {}),
4187
4467
  "Acceptable values are ",
4188
- /* @__PURE__ */ jsx65("code", {
4468
+ /* @__PURE__ */ jsx70("code", {
4189
4469
  children: "npm"
4190
4470
  }),
4191
4471
  ", ",
4192
- /* @__PURE__ */ jsx65("code", {
4472
+ /* @__PURE__ */ jsx70("code", {
4193
4473
  children: "yarn"
4194
4474
  }),
4195
4475
  ",",
4196
4476
  " ",
4197
- /* @__PURE__ */ jsx65("code", {
4477
+ /* @__PURE__ */ jsx70("code", {
4198
4478
  children: "pnpm"
4199
4479
  }),
4200
4480
  ", ",
4201
- /* @__PURE__ */ jsx65("code", {
4481
+ /* @__PURE__ */ jsx70("code", {
4202
4482
  children: "bun"
4203
4483
  }),
4204
4484
  " and ",
4205
- /* @__PURE__ */ jsx65("code", {
4485
+ /* @__PURE__ */ jsx70("code", {
4206
4486
  children: "nub"
4207
4487
  }),
4208
4488
  "."
@@ -4210,12 +4490,12 @@ var packageManagerOption = {
4210
4490
  });
4211
4491
  },
4212
4492
  ssrName: "packageManager",
4213
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--package-manager",
4493
+ docLink: "https://www.remotion.dev/docs/options/package-manager",
4214
4494
  getValue: ({ commandLine }) => {
4215
- if (commandLine[cliFlag69] !== undefined) {
4495
+ if (commandLine[cliFlag74] !== undefined) {
4216
4496
  return {
4217
4497
  source: "cli",
4218
- value: commandLine[cliFlag69]
4498
+ value: commandLine[cliFlag74]
4219
4499
  };
4220
4500
  }
4221
4501
  if (currentPackageManager !== null) {
@@ -4229,11 +4509,11 @@ var packageManagerOption = {
4229
4509
  value: null
4230
4510
  };
4231
4511
  },
4232
- setConfig: (value3) => {
4233
- currentPackageManager = value3;
4512
+ setConfig: (value) => {
4513
+ currentPackageManager = value;
4234
4514
  },
4235
4515
  type: "",
4236
- id: cliFlag69
4516
+ id: cliFlag74
4237
4517
  };
4238
4518
 
4239
4519
  // src/pixel-format.ts
@@ -4256,17 +4536,18 @@ var validPixelFormatsForCodec = (codec) => {
4256
4536
  };
4257
4537
 
4258
4538
  // src/options/pixel-format.tsx
4259
- import { jsx as jsx66, jsxs as jsxs46, Fragment as Fragment66 } from "react/jsx-runtime";
4539
+ import { jsx as jsx71, jsxs as jsxs49, Fragment as Fragment71 } from "react/jsx-runtime";
4260
4540
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4261
- var cliFlag70 = "pixel-format";
4541
+ var cliFlag75 = "pixel-format";
4262
4542
  var pixelFormatOption = {
4263
4543
  name: "Pixel format",
4264
- cliFlag: cliFlag70,
4265
- description: () => /* @__PURE__ */ jsxs46(Fragment66, {
4544
+ addedIn: "1.4.0",
4545
+ cliFlag: cliFlag75,
4546
+ description: () => /* @__PURE__ */ jsxs49(Fragment71, {
4266
4547
  children: [
4267
4548
  "Sets the pixel format in FFmpeg. See",
4268
4549
  " ",
4269
- /* @__PURE__ */ jsx66("a", {
4550
+ /* @__PURE__ */ jsx71("a", {
4270
4551
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
4271
4552
  children: "the FFmpeg docs for an explanation"
4272
4553
  }),
@@ -4276,7 +4557,7 @@ var pixelFormatOption = {
4276
4557
  ]
4277
4558
  }),
4278
4559
  ssrName: "pixelFormat",
4279
- docLink: "https://www.remotion.dev/docs/config#setpixelformat",
4560
+ docLink: "https://www.remotion.dev/docs/options/pixel-format",
4280
4561
  type: DEFAULT_PIXEL_FORMAT,
4281
4562
  getValue: ({ commandLine }, options) => {
4282
4563
  if (options?.uiPixelFormat) {
@@ -4285,10 +4566,10 @@ var pixelFormatOption = {
4285
4566
  value: options.uiPixelFormat
4286
4567
  };
4287
4568
  }
4288
- if (commandLine[cliFlag70] !== undefined) {
4569
+ if (commandLine[cliFlag75] !== undefined) {
4289
4570
  return {
4290
4571
  source: "from --pixel-format flag",
4291
- value: commandLine[cliFlag70]
4572
+ value: commandLine[cliFlag75]
4292
4573
  };
4293
4574
  }
4294
4575
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -4308,32 +4589,33 @@ var pixelFormatOption = {
4308
4589
  value: DEFAULT_PIXEL_FORMAT
4309
4590
  };
4310
4591
  },
4311
- setConfig: (value3) => {
4312
- if (!validPixelFormats.includes(value3)) {
4313
- throw new TypeError(`Value ${value3} is not valid as a pixel format.`);
4592
+ setConfig: (value) => {
4593
+ if (!validPixelFormats.includes(value)) {
4594
+ throw new TypeError(`Value ${value} is not valid as a pixel format.`);
4314
4595
  }
4315
- currentPixelFormat = value3;
4596
+ currentPixelFormat = value;
4316
4597
  },
4317
- id: cliFlag70
4598
+ id: cliFlag75
4318
4599
  };
4319
4600
 
4320
4601
  // src/options/port.tsx
4321
- import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4322
- var cliFlag71 = "port";
4602
+ import { jsx as jsx72, Fragment as Fragment72 } from "react/jsx-runtime";
4603
+ var cliFlag76 = "port";
4323
4604
  var currentPort = null;
4324
4605
  var portOption = {
4325
4606
  name: "Port",
4326
- cliFlag: cliFlag71,
4327
- description: () => /* @__PURE__ */ jsx67(Fragment67, {
4607
+ addedIn: "2.1.3",
4608
+ cliFlag: cliFlag76,
4609
+ description: () => /* @__PURE__ */ jsx72(Fragment72, {
4328
4610
  children: "Set a custom HTTP server port for the Studio or the render process. If not defined, Remotion will try to find a free port."
4329
4611
  }),
4330
4612
  ssrName: null,
4331
- docLink: "https://www.remotion.dev/docs/config#setstudioport",
4613
+ docLink: "https://www.remotion.dev/docs/options/port",
4332
4614
  getValue: ({ commandLine }) => {
4333
- if (commandLine[cliFlag71] !== undefined) {
4615
+ if (commandLine[cliFlag76] !== undefined) {
4334
4616
  return {
4335
4617
  source: "cli",
4336
- value: commandLine[cliFlag71]
4618
+ value: commandLine[cliFlag76]
4337
4619
  };
4338
4620
  }
4339
4621
  if (currentPort !== null) {
@@ -4347,39 +4629,40 @@ var portOption = {
4347
4629
  value: null
4348
4630
  };
4349
4631
  },
4350
- setConfig: (value3) => {
4351
- currentPort = value3;
4632
+ setConfig: (value) => {
4633
+ currentPort = value;
4352
4634
  },
4353
4635
  type: 0,
4354
- id: cliFlag71
4636
+ id: cliFlag76
4355
4637
  };
4356
4638
 
4357
4639
  // src/options/prefer-lossless.tsx
4358
- import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4359
- var cliFlag72 = "prefer-lossless";
4640
+ import { jsx as jsx73, jsxs as jsxs50, Fragment as Fragment73 } from "react/jsx-runtime";
4641
+ var cliFlag77 = "prefer-lossless";
4360
4642
  var input = false;
4361
4643
  var preferLosslessAudioOption = {
4362
4644
  name: "Prefer lossless",
4363
- cliFlag: cliFlag72,
4364
- description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4645
+ addedIn: "4.0.123",
4646
+ cliFlag: cliFlag77,
4647
+ description: () => /* @__PURE__ */ jsxs50(Fragment73, {
4365
4648
  children: [
4366
4649
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4367
- /* @__PURE__ */ jsx68("code", {
4650
+ /* @__PURE__ */ jsx73("code", {
4368
4651
  children: "audioCodec"
4369
4652
  }),
4370
4653
  ", it takes priority over",
4371
4654
  " ",
4372
- /* @__PURE__ */ jsx68("code", {
4655
+ /* @__PURE__ */ jsx73("code", {
4373
4656
  children: "preferLossless"
4374
4657
  }),
4375
4658
  "."
4376
4659
  ]
4377
4660
  }),
4378
- docLink: "https://www.remotion.dev/docs/encoding",
4661
+ docLink: "https://www.remotion.dev/docs/options/prefer-lossless",
4379
4662
  type: false,
4380
4663
  ssrName: "preferLossless",
4381
4664
  getValue: ({ commandLine }) => {
4382
- if (commandLine[cliFlag72]) {
4665
+ if (commandLine[cliFlag77]) {
4383
4666
  return { value: true, source: "cli" };
4384
4667
  }
4385
4668
  if (input === true) {
@@ -4390,53 +4673,55 @@ var preferLosslessAudioOption = {
4390
4673
  setConfig: (val) => {
4391
4674
  input = val;
4392
4675
  },
4393
- id: cliFlag72
4676
+ id: cliFlag77
4394
4677
  };
4395
4678
 
4396
4679
  // src/options/preview-sample-rate.tsx
4397
- import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4398
- var cliFlag73 = "preview-sample-rate";
4680
+ import { jsx as jsx74, jsxs as jsxs51, Fragment as Fragment74 } from "react/jsx-runtime";
4681
+ var cliFlag78 = "preview-sample-rate";
4399
4682
  var currentPreviewSampleRate = null;
4400
4683
  var previewSampleRateOption = {
4401
4684
  name: "Preview Sample Rate",
4402
- cliFlag: cliFlag73,
4403
- description: () => /* @__PURE__ */ jsxs48(Fragment69, {
4685
+ addedIn: "4.0.470",
4686
+ cliFlag: cliFlag78,
4687
+ description: () => /* @__PURE__ */ jsxs51(Fragment74, {
4404
4688
  children: [
4405
4689
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4406
- /* @__PURE__ */ jsx69("code", {
4690
+ /* @__PURE__ */ jsx74("code", {
4407
4691
  children: "48000"
4408
4692
  }),
4409
4693
  " Hz."
4410
4694
  ]
4411
4695
  }),
4412
4696
  ssrName: null,
4413
- docLink: "https://www.remotion.dev/docs/config#setpreviewsamplerate",
4697
+ docLink: "https://www.remotion.dev/docs/options/preview-sample-rate",
4414
4698
  type: null,
4415
4699
  getValue: ({ commandLine }) => {
4416
- if (commandLine[cliFlag73] !== undefined) {
4417
- return { value: commandLine[cliFlag73], source: "cli" };
4700
+ if (commandLine[cliFlag78] !== undefined) {
4701
+ return { value: commandLine[cliFlag78], source: "cli" };
4418
4702
  }
4419
4703
  if (currentPreviewSampleRate !== null) {
4420
4704
  return { value: currentPreviewSampleRate, source: "config file" };
4421
4705
  }
4422
4706
  return { value: null, source: "default" };
4423
4707
  },
4424
- setConfig: (value3) => {
4425
- currentPreviewSampleRate = value3;
4708
+ setConfig: (value) => {
4709
+ currentPreviewSampleRate = value;
4426
4710
  },
4427
- id: cliFlag73
4711
+ id: cliFlag78
4428
4712
  };
4429
4713
 
4430
4714
  // src/options/props.tsx
4431
- import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4432
- var cliFlag74 = "props";
4715
+ import { jsx as jsx75, jsxs as jsxs52, Fragment as Fragment75 } from "react/jsx-runtime";
4716
+ var cliFlag79 = "props";
4433
4717
  var propsOption = {
4434
4718
  name: "Input Props",
4435
- cliFlag: cliFlag74,
4436
- description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4719
+ addedIn: "1.0.0",
4720
+ cliFlag: cliFlag79,
4721
+ description: () => /* @__PURE__ */ jsxs52(Fragment75, {
4437
4722
  children: [
4438
4723
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4439
- /* @__PURE__ */ jsxs49("code", {
4724
+ /* @__PURE__ */ jsxs52("code", {
4440
4725
  children: [
4441
4726
  "--props='",
4442
4727
  "{",
@@ -4446,19 +4731,19 @@ var propsOption = {
4446
4731
  ]
4447
4732
  }),
4448
4733
  ") or a path to a JSON file (",
4449
- /* @__PURE__ */ jsx70("code", {
4734
+ /* @__PURE__ */ jsx75("code", {
4450
4735
  children: "./path/to/props.json"
4451
4736
  }),
4452
4737
  ")."
4453
4738
  ]
4454
4739
  }),
4455
4740
  ssrName: null,
4456
- docLink: "https://www.remotion.dev/docs/passing-props#passing-input-props-in-the-cli",
4741
+ docLink: "https://www.remotion.dev/docs/options/props",
4457
4742
  getValue: ({ commandLine }) => {
4458
- if (commandLine[cliFlag74] !== undefined) {
4743
+ if (commandLine[cliFlag79] !== undefined) {
4459
4744
  return {
4460
4745
  source: "cli",
4461
- value: commandLine[cliFlag74]
4746
+ value: commandLine[cliFlag79]
4462
4747
  };
4463
4748
  }
4464
4749
  return {
@@ -4470,11 +4755,11 @@ var propsOption = {
4470
4755
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4471
4756
  },
4472
4757
  type: "",
4473
- id: cliFlag74
4758
+ id: cliFlag79
4474
4759
  };
4475
4760
 
4476
4761
  // src/options/prores-profile.tsx
4477
- import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4762
+ import { jsx as jsx76, jsxs as jsxs53, Fragment as Fragment76 } from "react/jsx-runtime";
4478
4763
  var validProResProfiles = [
4479
4764
  "4444-xq",
4480
4765
  "4444",
@@ -4484,14 +4769,15 @@ var validProResProfiles = [
4484
4769
  "proxy"
4485
4770
  ];
4486
4771
  var proResProfile;
4487
- var cliFlag75 = "prores-profile";
4772
+ var cliFlag80 = "prores-profile";
4488
4773
  var proResProfileOption = {
4489
4774
  name: "ProRes profile",
4490
- cliFlag: cliFlag75,
4491
- description: () => /* @__PURE__ */ jsxs50(Fragment71, {
4775
+ addedIn: "2.1.6",
4776
+ cliFlag: cliFlag80,
4777
+ description: () => /* @__PURE__ */ jsxs53(Fragment76, {
4492
4778
  children: [
4493
4779
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4494
- /* @__PURE__ */ jsx71("code", {
4780
+ /* @__PURE__ */ jsx76("code", {
4495
4781
  children: "prores"
4496
4782
  }),
4497
4783
  ". Possible values:",
@@ -4499,12 +4785,12 @@ var proResProfileOption = {
4499
4785
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4500
4786
  ". Default:",
4501
4787
  " ",
4502
- /* @__PURE__ */ jsx71("code", {
4788
+ /* @__PURE__ */ jsx76("code", {
4503
4789
  children: '"hq"'
4504
4790
  }),
4505
4791
  ". See",
4506
4792
  " ",
4507
- /* @__PURE__ */ jsx71("a", {
4793
+ /* @__PURE__ */ jsx76("a", {
4508
4794
  href: "https://video.stackexchange.com/a/14715",
4509
4795
  children: "here"
4510
4796
  }),
@@ -4512,7 +4798,7 @@ var proResProfileOption = {
4512
4798
  ]
4513
4799
  }),
4514
4800
  ssrName: "proResProfile",
4515
- docLink: "https://www.remotion.dev/docs/config#setproresprofile",
4801
+ docLink: "https://www.remotion.dev/docs/options/prores-profile",
4516
4802
  type: undefined,
4517
4803
  getValue: ({ commandLine }, options) => {
4518
4804
  if (options?.uiProResProfile) {
@@ -4521,10 +4807,10 @@ var proResProfileOption = {
4521
4807
  value: options.uiProResProfile
4522
4808
  };
4523
4809
  }
4524
- if (commandLine[cliFlag75] !== undefined) {
4810
+ if (commandLine[cliFlag80] !== undefined) {
4525
4811
  return {
4526
4812
  source: "from --prores-profile flag",
4527
- value: String(commandLine[cliFlag75])
4813
+ value: String(commandLine[cliFlag80])
4528
4814
  };
4529
4815
  }
4530
4816
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4544,27 +4830,28 @@ var proResProfileOption = {
4544
4830
  value: undefined
4545
4831
  };
4546
4832
  },
4547
- setConfig: (value3) => {
4548
- proResProfile = value3;
4833
+ setConfig: (value) => {
4834
+ proResProfile = value;
4549
4835
  },
4550
- id: cliFlag75
4836
+ id: cliFlag80
4551
4837
  };
4552
4838
 
4553
4839
  // src/options/public-dir.tsx
4554
- import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4555
- var cliFlag76 = "public-dir";
4840
+ import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
4841
+ var cliFlag81 = "public-dir";
4556
4842
  var currentPublicDir = null;
4557
4843
  var publicDirOption = {
4558
4844
  name: "Public Directory",
4559
- cliFlag: cliFlag76,
4845
+ addedIn: "3.2.13",
4846
+ cliFlag: cliFlag81,
4560
4847
  description: () => {
4561
- return /* @__PURE__ */ jsxs51(Fragment72, {
4848
+ return /* @__PURE__ */ jsxs54(Fragment77, {
4562
4849
  children: [
4563
4850
  "Define the location of the",
4564
4851
  " ",
4565
- /* @__PURE__ */ jsx72("a", {
4852
+ /* @__PURE__ */ jsx77("a", {
4566
4853
  href: "/docs/terminology/public-dir",
4567
- children: /* @__PURE__ */ jsx72("code", {
4854
+ children: /* @__PURE__ */ jsx77("code", {
4568
4855
  children: "public/ directory"
4569
4856
  })
4570
4857
  }),
@@ -4573,12 +4860,12 @@ var publicDirOption = {
4573
4860
  });
4574
4861
  },
4575
4862
  ssrName: "publicDir",
4576
- docLink: "https://www.remotion.dev/docs/terminology/public-dir",
4863
+ docLink: "https://www.remotion.dev/docs/options/public-dir",
4577
4864
  getValue: ({ commandLine }) => {
4578
- if (commandLine[cliFlag76] !== undefined) {
4865
+ if (commandLine[cliFlag81] !== undefined) {
4579
4866
  return {
4580
4867
  source: "cli",
4581
- value: commandLine[cliFlag76]
4868
+ value: commandLine[cliFlag81]
4582
4869
  };
4583
4870
  }
4584
4871
  if (currentPublicDir !== null) {
@@ -4592,24 +4879,25 @@ var publicDirOption = {
4592
4879
  value: null
4593
4880
  };
4594
4881
  },
4595
- setConfig: (value3) => {
4596
- currentPublicDir = value3;
4882
+ setConfig: (value) => {
4883
+ currentPublicDir = value;
4597
4884
  },
4598
4885
  type: "",
4599
- id: cliFlag76
4886
+ id: cliFlag81
4600
4887
  };
4601
4888
 
4602
4889
  // src/options/public-license-key.tsx
4603
- import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4604
- var cliFlag77 = "public-license-key";
4890
+ import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4891
+ var cliFlag82 = "public-license-key";
4605
4892
  var currentPublicLicenseKey = null;
4606
4893
  var publicLicenseKeyOption = {
4607
4894
  name: "Public License Key",
4608
- cliFlag: cliFlag77,
4609
- description: () => /* @__PURE__ */ jsxs52(Fragment73, {
4895
+ addedIn: "4.0.398",
4896
+ cliFlag: cliFlag82,
4897
+ description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4610
4898
  children: [
4611
4899
  "The public license key for your company license, obtained from the License keys page on ",
4612
- /* @__PURE__ */ jsx73("a", {
4900
+ /* @__PURE__ */ jsx78("a", {
4613
4901
  href: "https://remotion.pro/dashboard",
4614
4902
  children: "remotion.pro"
4615
4903
  }),
@@ -4617,12 +4905,12 @@ var publicLicenseKeyOption = {
4617
4905
  ]
4618
4906
  }),
4619
4907
  ssrName: "publicLicenseKey",
4620
- docLink: "https://www.remotion.dev/docs/licensing",
4908
+ docLink: "https://www.remotion.dev/docs/options/public-license-key",
4621
4909
  getValue: ({ commandLine }) => {
4622
- if (commandLine[cliFlag77] !== undefined) {
4910
+ if (commandLine[cliFlag82] !== undefined) {
4623
4911
  return {
4624
4912
  source: "cli",
4625
- value: commandLine[cliFlag77]
4913
+ value: commandLine[cliFlag82]
4626
4914
  };
4627
4915
  }
4628
4916
  if (currentPublicLicenseKey !== null) {
@@ -4636,32 +4924,33 @@ var publicLicenseKeyOption = {
4636
4924
  value: null
4637
4925
  };
4638
4926
  },
4639
- setConfig: (value3) => {
4640
- if (value3 && value3 !== "free-license" && !value3.startsWith("rm_pub_")) {
4927
+ setConfig: (value) => {
4928
+ if (value && value !== "free-license" && !value.startsWith("rm_pub_")) {
4641
4929
  throw new Error('Invalid public license key. It must start with "rm_pub_" or be "free-license".');
4642
4930
  }
4643
- currentPublicLicenseKey = value3;
4931
+ currentPublicLicenseKey = value;
4644
4932
  },
4645
4933
  type: null,
4646
- id: cliFlag77
4934
+ id: cliFlag82
4647
4935
  };
4648
4936
 
4649
4937
  // src/options/public-path.tsx
4650
- import { jsx as jsx74, jsxs as jsxs53, Fragment as Fragment74 } from "react/jsx-runtime";
4651
- var cliFlag78 = "public-path";
4938
+ import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
4939
+ var cliFlag83 = "public-path";
4652
4940
  var currentPublicPath = null;
4653
4941
  var publicPathOption = {
4654
4942
  name: "Public Path",
4655
- cliFlag: cliFlag78,
4943
+ addedIn: "4.0.127",
4944
+ cliFlag: cliFlag83,
4656
4945
  description: () => {
4657
- return /* @__PURE__ */ jsxs53(Fragment74, {
4946
+ return /* @__PURE__ */ jsxs56(Fragment79, {
4658
4947
  children: [
4659
4948
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4660
- /* @__PURE__ */ jsx74("code", {
4949
+ /* @__PURE__ */ jsx79("code", {
4661
4950
  children: "./"
4662
4951
  }),
4663
4952
  ", making the bundle relocatable. Set an absolute path such as ",
4664
- /* @__PURE__ */ jsx74("code", {
4953
+ /* @__PURE__ */ jsx79("code", {
4665
4954
  children: "/sites/my-site/"
4666
4955
  }),
4667
4956
  " to host the bundle at a fixed location."
@@ -4669,12 +4958,12 @@ var publicPathOption = {
4669
4958
  });
4670
4959
  },
4671
4960
  ssrName: "publicPath",
4672
- docLink: "https://www.remotion.dev/docs/renderer",
4961
+ docLink: "https://www.remotion.dev/docs/options/public-path",
4673
4962
  getValue: ({ commandLine }) => {
4674
- if (commandLine[cliFlag78] !== undefined) {
4963
+ if (commandLine[cliFlag83] !== undefined) {
4675
4964
  return {
4676
4965
  source: "cli",
4677
- value: commandLine[cliFlag78]
4966
+ value: commandLine[cliFlag83]
4678
4967
  };
4679
4968
  }
4680
4969
  if (currentPublicPath !== null) {
@@ -4688,33 +4977,34 @@ var publicPathOption = {
4688
4977
  value: null
4689
4978
  };
4690
4979
  },
4691
- setConfig: (value3) => {
4692
- currentPublicPath = value3;
4980
+ setConfig: (value) => {
4981
+ currentPublicPath = value;
4693
4982
  },
4694
4983
  type: "",
4695
- id: cliFlag78
4984
+ id: cliFlag83
4696
4985
  };
4697
4986
 
4698
4987
  // src/options/repro.tsx
4699
- import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4988
+ import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4700
4989
  var enableRepro = false;
4701
4990
  var setRepro = (should) => {
4702
4991
  enableRepro = should;
4703
4992
  };
4704
- var cliFlag79 = "repro";
4993
+ var cliFlag84 = "repro";
4705
4994
  var reproOption = {
4706
4995
  name: "Create reproduction",
4707
- cliFlag: cliFlag79,
4708
- description: () => /* @__PURE__ */ jsx75(Fragment75, {
4996
+ addedIn: "4.0.88",
4997
+ cliFlag: cliFlag84,
4998
+ description: () => /* @__PURE__ */ jsx80(Fragment80, {
4709
4999
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4710
5000
  }),
4711
5001
  ssrName: "repro",
4712
- docLink: "https://www.remotion.dev/docs/render-media#repro",
5002
+ docLink: "https://www.remotion.dev/docs/options/repro",
4713
5003
  type: false,
4714
5004
  getValue: ({ commandLine }) => {
4715
- if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
5005
+ if (commandLine[cliFlag84] !== undefined && commandLine[cliFlag84] !== null) {
4716
5006
  return {
4717
- value: commandLine[cliFlag79],
5007
+ value: commandLine[cliFlag84],
4718
5008
  source: "cli"
4719
5009
  };
4720
5010
  }
@@ -4730,27 +5020,28 @@ var reproOption = {
4730
5020
  };
4731
5021
  },
4732
5022
  setConfig: setRepro,
4733
- id: cliFlag79
5023
+ id: cliFlag84
4734
5024
  };
4735
5025
 
4736
5026
  // src/options/rspack.tsx
4737
- import { jsx as jsx76, Fragment as Fragment76 } from "react/jsx-runtime";
5027
+ import { jsx as jsx81, Fragment as Fragment81 } from "react/jsx-runtime";
4738
5028
  var rspackEnabled = false;
4739
5029
  var configuredRspackEnabled = null;
4740
- var cliFlag80 = "rspack";
5030
+ var cliFlag85 = "rspack";
4741
5031
  var rspackOption = {
4742
5032
  name: "Rspack",
4743
- cliFlag: cliFlag80,
4744
- description: () => /* @__PURE__ */ jsx76(Fragment76, {
5033
+ addedIn: "4.0.502",
5034
+ cliFlag: cliFlag85,
5035
+ description: () => /* @__PURE__ */ jsx81(Fragment81, {
4745
5036
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4746
5037
  }),
4747
5038
  ssrName: null,
4748
- docLink: null,
5039
+ docLink: "https://www.remotion.dev/docs/options/rspack",
4749
5040
  type: false,
4750
5041
  getValue: ({ commandLine }) => {
4751
- if (commandLine[cliFlag80] !== undefined && commandLine[cliFlag80] !== null) {
5042
+ if (commandLine[cliFlag85] !== undefined && commandLine[cliFlag85] !== null) {
4752
5043
  return {
4753
- value: commandLine[cliFlag80],
5044
+ value: commandLine[cliFlag85],
4754
5045
  source: "cli"
4755
5046
  };
4756
5047
  }
@@ -4759,83 +5050,85 @@ var rspackOption = {
4759
5050
  source: "config"
4760
5051
  };
4761
5052
  },
4762
- setConfig(value3) {
4763
- rspackEnabled = value3;
4764
- configuredRspackEnabled = value3;
5053
+ setConfig(value) {
5054
+ rspackEnabled = value;
5055
+ configuredRspackEnabled = value;
4765
5056
  },
4766
5057
  getConfigValue: () => configuredRspackEnabled,
4767
5058
  reset: () => {
4768
5059
  rspackEnabled = false;
4769
5060
  configuredRspackEnabled = null;
4770
5061
  },
4771
- id: cliFlag80
5062
+ id: cliFlag85
4772
5063
  };
4773
5064
 
4774
5065
  // src/options/runs.tsx
4775
- import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
5066
+ import { jsx as jsx82, jsxs as jsxs57, Fragment as Fragment82 } from "react/jsx-runtime";
4776
5067
  var DEFAULT_RUNS = 3;
4777
5068
  var currentRuns = DEFAULT_RUNS;
4778
- var cliFlag81 = "runs";
5069
+ var cliFlag86 = "runs";
4779
5070
  var runsOption = {
4780
5071
  name: "Benchmark runs",
4781
- cliFlag: cliFlag81,
4782
- description: () => /* @__PURE__ */ jsxs54(Fragment77, {
5072
+ addedIn: "3.2.28",
5073
+ cliFlag: cliFlag86,
5074
+ description: () => /* @__PURE__ */ jsxs57(Fragment82, {
4783
5075
  children: [
4784
5076
  "Specify how many times the video should be rendered during a benchmark. Default ",
4785
- /* @__PURE__ */ jsx77("code", {
5077
+ /* @__PURE__ */ jsx82("code", {
4786
5078
  children: DEFAULT_RUNS
4787
5079
  }),
4788
5080
  "."
4789
5081
  ]
4790
5082
  }),
4791
5083
  ssrName: null,
4792
- docLink: "https://www.remotion.dev/docs/cli/benchmark#--runs",
5084
+ docLink: "https://www.remotion.dev/docs/options/runs",
4793
5085
  type: DEFAULT_RUNS,
4794
5086
  getValue: ({ commandLine }) => {
4795
- if (commandLine[cliFlag81] !== undefined) {
4796
- const value3 = Number(commandLine[cliFlag81]);
4797
- if (isNaN(value3) || value3 < 1) {
4798
- throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag81]}`);
5087
+ if (commandLine[cliFlag86] !== undefined) {
5088
+ const value = Number(commandLine[cliFlag86]);
5089
+ if (isNaN(value) || value < 1) {
5090
+ throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag86]}`);
4799
5091
  }
4800
- return { value: value3, source: "cli" };
5092
+ return { value, source: "cli" };
4801
5093
  }
4802
5094
  if (currentRuns !== DEFAULT_RUNS) {
4803
5095
  return { value: currentRuns, source: "config" };
4804
5096
  }
4805
5097
  return { value: DEFAULT_RUNS, source: "default" };
4806
5098
  },
4807
- setConfig: (value3) => {
4808
- if (typeof value3 !== "number" || isNaN(value3) || value3 < 1) {
4809
- throw new Error(`Runs must be a positive number, but got ${value3}`);
5099
+ setConfig: (value) => {
5100
+ if (typeof value !== "number" || isNaN(value) || value < 1) {
5101
+ throw new Error(`Runs must be a positive number, but got ${value}`);
4810
5102
  }
4811
- currentRuns = value3;
5103
+ currentRuns = value;
4812
5104
  },
4813
- id: cliFlag81
5105
+ id: cliFlag86
4814
5106
  };
4815
5107
 
4816
5108
  // src/options/sample-rate.tsx
4817
- import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4818
- var cliFlag82 = "sample-rate";
5109
+ import { jsx as jsx83, jsxs as jsxs58, Fragment as Fragment83 } from "react/jsx-runtime";
5110
+ var cliFlag87 = "sample-rate";
4819
5111
  var currentSampleRate = 48000;
4820
5112
  var sampleRateOption = {
4821
5113
  name: "Sample Rate",
4822
- cliFlag: cliFlag82,
4823
- description: () => /* @__PURE__ */ jsxs55(Fragment78, {
5114
+ addedIn: "4.0.448",
5115
+ cliFlag: cliFlag87,
5116
+ description: () => /* @__PURE__ */ jsxs58(Fragment83, {
4824
5117
  children: [
4825
5118
  "Controls the sample rate of the output audio. The default is",
4826
5119
  " ",
4827
- /* @__PURE__ */ jsx78("code", {
5120
+ /* @__PURE__ */ jsx83("code", {
4828
5121
  children: "48000"
4829
5122
  }),
4830
5123
  " Hz. Match this to your source audio to avoid resampling artifacts."
4831
5124
  ]
4832
5125
  }),
4833
5126
  ssrName: "sampleRate",
4834
- docLink: "https://www.remotion.dev/docs/sample-rate",
5127
+ docLink: "https://www.remotion.dev/docs/options/sample-rate",
4835
5128
  type: 48000,
4836
5129
  getValue: ({ commandLine }, compositionSampleRate) => {
4837
- if (commandLine[cliFlag82] !== undefined) {
4838
- return { value: commandLine[cliFlag82], source: "cli" };
5130
+ if (commandLine[cliFlag87] !== undefined) {
5131
+ return { value: commandLine[cliFlag87], source: "cli" };
4839
5132
  }
4840
5133
  if (currentSampleRate !== 48000) {
4841
5134
  return { value: currentSampleRate, source: "config file" };
@@ -4848,32 +5141,33 @@ var sampleRateOption = {
4848
5141
  }
4849
5142
  return { value: 48000, source: "default" };
4850
5143
  },
4851
- setConfig: (value3) => {
4852
- currentSampleRate = value3;
5144
+ setConfig: (value) => {
5145
+ currentSampleRate = value;
4853
5146
  },
4854
- id: cliFlag82
5147
+ id: cliFlag87
4855
5148
  };
4856
5149
 
4857
5150
  // src/options/scale.tsx
4858
- import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
5151
+ import { jsx as jsx84, jsxs as jsxs59, Fragment as Fragment84 } from "react/jsx-runtime";
4859
5152
  var currentScale = 1;
4860
- var cliFlag83 = "scale";
4861
- var validateScale = (value3) => {
4862
- if (typeof value3 !== "number") {
5153
+ var cliFlag88 = "scale";
5154
+ var validateScale = (value) => {
5155
+ if (typeof value !== "number") {
4863
5156
  throw new Error("scale must be a number.");
4864
5157
  }
4865
5158
  };
4866
5159
  var scaleOption = {
4867
5160
  name: "Scale",
4868
- cliFlag: cliFlag83,
4869
- description: () => /* @__PURE__ */ jsxs56(Fragment79, {
5161
+ addedIn: "2.6.7",
5162
+ cliFlag: cliFlag88,
5163
+ description: () => /* @__PURE__ */ jsxs59(Fragment84, {
4870
5164
  children: [
4871
5165
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4872
- /* @__PURE__ */ jsx79("code", {
5166
+ /* @__PURE__ */ jsx84("code", {
4873
5167
  children: "1.5"
4874
5168
  }),
4875
5169
  ". See ",
4876
- /* @__PURE__ */ jsx79("a", {
5170
+ /* @__PURE__ */ jsx84("a", {
4877
5171
  href: "https://www.remotion.dev/docs/scaling",
4878
5172
  children: "Scaling"
4879
5173
  }),
@@ -4881,14 +5175,14 @@ var scaleOption = {
4881
5175
  ]
4882
5176
  }),
4883
5177
  ssrName: "scale",
4884
- docLink: "https://www.remotion.dev/docs/scaling",
5178
+ docLink: "https://www.remotion.dev/docs/options/scale",
4885
5179
  type: 0,
4886
5180
  getValue: ({ commandLine }) => {
4887
- if (commandLine[cliFlag83] !== undefined) {
4888
- validateScale(commandLine[cliFlag83]);
5181
+ if (commandLine[cliFlag88] !== undefined) {
5182
+ validateScale(commandLine[cliFlag88]);
4889
5183
  return {
4890
5184
  source: "cli",
4891
- value: commandLine[cliFlag83]
5185
+ value: commandLine[cliFlag88]
4892
5186
  };
4893
5187
  }
4894
5188
  if (currentScale !== null) {
@@ -4905,22 +5199,63 @@ var scaleOption = {
4905
5199
  setConfig: (scale) => {
4906
5200
  currentScale = scale;
4907
5201
  },
4908
- id: cliFlag83
5202
+ id: cliFlag88
5203
+ };
5204
+
5205
+ // src/options/show-premounting.tsx
5206
+ import { jsx as jsx85, jsxs as jsxs60, Fragment as Fragment85 } from "react/jsx-runtime";
5207
+ var configuredShowPremounting = null;
5208
+ var cliFlag89 = "show-premounting";
5209
+ var showPremountingOption = {
5210
+ name: "Show premounting in the Studio timeline",
5211
+ addedIn: "4.0.535",
5212
+ cliFlag: cliFlag89,
5213
+ id: cliFlag89,
5214
+ description: () => /* @__PURE__ */ jsxs60(Fragment85, {
5215
+ children: [
5216
+ "Show premounting indicators in the Studio timeline. Defaults to",
5217
+ " ",
5218
+ /* @__PURE__ */ jsx85("code", {
5219
+ children: "false"
5220
+ }),
5221
+ "."
5222
+ ]
5223
+ }),
5224
+ ssrName: null,
5225
+ docLink: "https://www.remotion.dev/docs/options/show-premounting",
5226
+ type: true,
5227
+ getValue: ({ commandLine }) => {
5228
+ if (commandLine[cliFlag89] !== undefined && commandLine[cliFlag89] !== null) {
5229
+ return { value: commandLine[cliFlag89], source: "cli" };
5230
+ }
5231
+ return { value: configuredShowPremounting ?? false, source: "config" };
5232
+ },
5233
+ setConfig(value) {
5234
+ if (typeof value !== "boolean") {
5235
+ throw new Error("Config.setShowPremounting() expects a boolean");
5236
+ }
5237
+ configuredShowPremounting = value;
5238
+ },
5239
+ getConfigValue: () => configuredShowPremounting,
5240
+ reset: () => {
5241
+ configuredShowPremounting = null;
5242
+ }
4909
5243
  };
4910
5244
 
4911
5245
  // src/options/skip-skills.tsx
4912
- import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4913
- var cliFlag84 = "skip-skills";
5246
+ import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5247
+ var cliFlag90 = "skip-skills";
4914
5248
  var skipSkillsOption = {
4915
5249
  name: "Skip Skills",
4916
- cliFlag: cliFlag84,
4917
- description: () => /* @__PURE__ */ jsx80(Fragment80, {
5250
+ addedIn: "4.0.503",
5251
+ cliFlag: cliFlag90,
5252
+ description: () => /* @__PURE__ */ jsx86(Fragment86, {
4918
5253
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
4919
5254
  }),
4920
5255
  ssrName: null,
4921
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--skip-skills",
5256
+ docLink: "https://www.remotion.dev/docs/options/skip-skills",
4922
5257
  getValue: ({ commandLine }) => {
4923
- if (commandLine[cliFlag84]) {
5258
+ if (commandLine[cliFlag90]) {
4924
5259
  return {
4925
5260
  source: "cli",
4926
5261
  value: true
@@ -4935,16 +5270,16 @@ var skipSkillsOption = {
4935
5270
  throw new Error("Cannot skip updating skills via config file");
4936
5271
  },
4937
5272
  type: false,
4938
- id: cliFlag84
5273
+ id: cliFlag90
4939
5274
  };
4940
5275
 
4941
5276
  // src/options/still-frame.tsx
4942
- import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4943
- import { jsx as jsx81, jsxs as jsxs57, Fragment as Fragment81 } from "react/jsx-runtime";
4944
- var cliFlag85 = "frame";
5277
+ import { NoReactInternals as NoReactInternals7 } from "remotion/no-react";
5278
+ import { jsx as jsx87, jsxs as jsxs61, Fragment as Fragment87 } from "react/jsx-runtime";
5279
+ var cliFlag91 = "frame";
4945
5280
  var currentFrame = null;
4946
5281
  var validate3 = (frame) => {
4947
- NoReactInternals4.validateFrame({
5282
+ NoReactInternals7.validateFrame({
4948
5283
  frame,
4949
5284
  durationInFrames: Infinity,
4950
5285
  allowFloats: false
@@ -4952,27 +5287,28 @@ var validate3 = (frame) => {
4952
5287
  };
4953
5288
  var stillFrameOption = {
4954
5289
  name: "Frame",
4955
- cliFlag: cliFlag85,
4956
- description: () => /* @__PURE__ */ jsxs57(Fragment81, {
5290
+ addedIn: "2.3.0",
5291
+ cliFlag: cliFlag91,
5292
+ description: () => /* @__PURE__ */ jsxs61(Fragment87, {
4957
5293
  children: [
4958
5294
  "Which frame should be rendered when rendering a still. Default",
4959
5295
  " ",
4960
- /* @__PURE__ */ jsx81("code", {
5296
+ /* @__PURE__ */ jsx87("code", {
4961
5297
  children: "0"
4962
5298
  }),
4963
5299
  ". From v3.2.27, negative values are allowed, with",
4964
5300
  " ",
4965
- /* @__PURE__ */ jsx81("code", {
5301
+ /* @__PURE__ */ jsx87("code", {
4966
5302
  children: "-1"
4967
5303
  }),
4968
5304
  " being the last frame."
4969
5305
  ]
4970
5306
  }),
4971
5307
  ssrName: "frame",
4972
- docLink: "https://www.remotion.dev/docs/cli/still#--frame",
5308
+ docLink: "https://www.remotion.dev/docs/options/frame",
4973
5309
  getValue: ({ commandLine }) => {
4974
- if (commandLine[cliFlag85] !== undefined) {
4975
- const frame = Number(commandLine[cliFlag85]);
5310
+ if (commandLine[cliFlag91] !== undefined) {
5311
+ const frame = Number(commandLine[cliFlag91]);
4976
5312
  validate3(frame);
4977
5313
  return {
4978
5314
  source: "cli",
@@ -4990,48 +5326,49 @@ var stillFrameOption = {
4990
5326
  value: null
4991
5327
  };
4992
5328
  },
4993
- setConfig: (value3) => {
4994
- if (value3 !== null) {
4995
- validate3(value3);
5329
+ setConfig: (value) => {
5330
+ if (value !== null) {
5331
+ validate3(value);
4996
5332
  }
4997
- currentFrame = value3;
5333
+ currentFrame = value;
4998
5334
  },
4999
5335
  type: 0,
5000
- id: cliFlag85
5336
+ id: cliFlag91
5001
5337
  };
5002
5338
 
5003
5339
  // src/options/still-image-format.tsx
5004
- import { jsx as jsx82, jsxs as jsxs58, Fragment as Fragment82 } from "react/jsx-runtime";
5340
+ import { jsx as jsx88, jsxs as jsxs62, Fragment as Fragment88 } from "react/jsx-runtime";
5005
5341
  var currentStillImageFormat = null;
5006
- var cliFlag86 = "image-format";
5342
+ var cliFlag92 = "image-format";
5007
5343
  var stillImageFormatOption = {
5008
5344
  name: "Still Image Format",
5009
- cliFlag: cliFlag86,
5010
- description: () => /* @__PURE__ */ jsxs58(Fragment82, {
5345
+ addedIn: "2.3.0",
5346
+ cliFlag: cliFlag92,
5347
+ description: () => /* @__PURE__ */ jsxs62(Fragment88, {
5011
5348
  children: [
5012
5349
  "The image format to use when rendering a still. Must be one of",
5013
5350
  " ",
5014
5351
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
5015
5352
  ". Default:",
5016
5353
  " ",
5017
- /* @__PURE__ */ jsx82("code", {
5354
+ /* @__PURE__ */ jsx88("code", {
5018
5355
  children: '"png"'
5019
5356
  }),
5020
5357
  "."
5021
5358
  ]
5022
5359
  }),
5023
5360
  ssrName: "imageFormat",
5024
- docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
5361
+ docLink: "https://www.remotion.dev/docs/options/still-image-format",
5025
5362
  type: null,
5026
5363
  getValue: ({ commandLine }) => {
5027
- if (commandLine[cliFlag86] !== undefined) {
5028
- const value3 = commandLine[cliFlag86];
5029
- if (!validStillImageFormats.includes(value3)) {
5030
- throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
5364
+ if (commandLine[cliFlag92] !== undefined) {
5365
+ const value = commandLine[cliFlag92];
5366
+ if (!validStillImageFormats.includes(value)) {
5367
+ throw new Error(`Invalid still image format: ${value}. Must be one of: ${validStillImageFormats.join(", ")}`);
5031
5368
  }
5032
5369
  return {
5033
5370
  source: "cli",
5034
- value: value3
5371
+ value
5035
5372
  };
5036
5373
  }
5037
5374
  if (currentStillImageFormat !== null) {
@@ -5045,34 +5382,34 @@ var stillImageFormatOption = {
5045
5382
  value: null
5046
5383
  };
5047
5384
  },
5048
- setConfig: (value3) => {
5049
- if (value3 === null) {
5385
+ setConfig: (value) => {
5386
+ if (value === null) {
5050
5387
  currentStillImageFormat = null;
5051
5388
  return;
5052
5389
  }
5053
- if (!validStillImageFormats.includes(value3)) {
5390
+ if (!validStillImageFormats.includes(value)) {
5054
5391
  throw new TypeError([
5055
- `Value ${value3} is not valid as a still image format.`,
5056
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5392
+ `Value ${value} is not valid as a still image format.`,
5393
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5057
5394
  ].filter(Boolean).join(" "));
5058
5395
  }
5059
- currentStillImageFormat = value3;
5396
+ currentStillImageFormat = value;
5060
5397
  },
5061
5398
  id: "still-image-format"
5062
5399
  };
5063
5400
 
5064
5401
  // src/options/throw-if-site-exists.tsx
5065
5402
  var DEFAULT5 = false;
5066
- var cliFlag87 = "throw-if-site-exists";
5403
+ var cliFlag93 = "throw-if-site-exists";
5067
5404
  var throwIfSiteExistsOption = {
5068
- cliFlag: cliFlag87,
5405
+ cliFlag: cliFlag93,
5069
5406
  description: () => `Prevents accidential update of an existing site. If there are any files in the subfolder where the site should be placed, the function will throw.`,
5070
- docLink: "https://remotion.dev/docs/lambda/deploy-site",
5407
+ docLink: "https://www.remotion.dev/docs/options/throw-if-site-exists",
5071
5408
  getValue: ({ commandLine }) => {
5072
- if (commandLine[cliFlag87]) {
5409
+ if (commandLine[cliFlag93]) {
5073
5410
  return {
5074
5411
  source: "cli",
5075
- value: commandLine[cliFlag87]
5412
+ value: commandLine[cliFlag93]
5076
5413
  };
5077
5414
  }
5078
5415
  return {
@@ -5081,58 +5418,60 @@ var throwIfSiteExistsOption = {
5081
5418
  };
5082
5419
  },
5083
5420
  name: "Throw if site exists",
5421
+ addedIn: "4.0.141",
5084
5422
  setConfig: () => {
5085
5423
  throw new Error("Not implemented");
5086
5424
  },
5087
5425
  ssrName: "throwIfSiteExists",
5088
5426
  type: false,
5089
- id: cliFlag87
5427
+ id: cliFlag93
5090
5428
  };
5091
5429
 
5092
5430
  // src/options/timeout.tsx
5093
- import { jsx as jsx83, jsxs as jsxs59, Fragment as Fragment83 } from "react/jsx-runtime";
5431
+ import { jsx as jsx89, jsxs as jsxs63, Fragment as Fragment89 } from "react/jsx-runtime";
5094
5432
  var currentTimeout = DEFAULT_TIMEOUT;
5095
- var validate4 = (value3) => {
5096
- if (typeof value3 !== "number") {
5097
- throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
5433
+ var validate4 = (value) => {
5434
+ if (typeof value !== "number") {
5435
+ throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value));
5098
5436
  }
5099
5437
  };
5100
- var cliFlag88 = "timeout";
5438
+ var cliFlag94 = "timeout";
5101
5439
  var delayRenderTimeoutInMillisecondsOption = {
5102
5440
  name: "delayRender() timeout",
5103
- cliFlag: cliFlag88,
5104
- description: () => /* @__PURE__ */ jsxs59(Fragment83, {
5441
+ addedIn: "2.6.3",
5442
+ cliFlag: cliFlag94,
5443
+ description: () => /* @__PURE__ */ jsxs63(Fragment89, {
5105
5444
  children: [
5106
5445
  "A number describing how long the render may take to resolve all",
5107
5446
  " ",
5108
- /* @__PURE__ */ jsx83("a", {
5447
+ /* @__PURE__ */ jsx89("a", {
5109
5448
  href: "https://remotion.dev/docs/delay-render",
5110
- children: /* @__PURE__ */ jsx83("code", {
5449
+ children: /* @__PURE__ */ jsx89("code", {
5111
5450
  children: "delayRender()"
5112
5451
  })
5113
5452
  }),
5114
5453
  " ",
5115
5454
  "calls",
5116
5455
  " ",
5117
- /* @__PURE__ */ jsx83("a", {
5456
+ /* @__PURE__ */ jsx89("a", {
5118
5457
  style: { fontSize: "inherit" },
5119
5458
  href: "https://remotion.dev/docs/timeout",
5120
5459
  children: "before it times out"
5121
5460
  }),
5122
5461
  ". Default: ",
5123
- /* @__PURE__ */ jsx83("code", {
5462
+ /* @__PURE__ */ jsx89("code", {
5124
5463
  children: "30000"
5125
5464
  })
5126
5465
  ]
5127
5466
  }),
5128
5467
  ssrName: "timeoutInMilliseconds",
5129
- docLink: "https://www.remotion.dev/docs/timeout",
5468
+ docLink: "https://www.remotion.dev/docs/options/timeout",
5130
5469
  type: 0,
5131
5470
  getValue: ({ commandLine }) => {
5132
- if (commandLine[cliFlag88] !== undefined) {
5471
+ if (commandLine[cliFlag94] !== undefined) {
5133
5472
  return {
5134
5473
  source: "cli",
5135
- value: commandLine[cliFlag88]
5474
+ value: commandLine[cliFlag94]
5136
5475
  };
5137
5476
  }
5138
5477
  if (currentTimeout !== null) {
@@ -5147,31 +5486,32 @@ var delayRenderTimeoutInMillisecondsOption = {
5147
5486
  value: DEFAULT_TIMEOUT
5148
5487
  };
5149
5488
  },
5150
- setConfig: (value3) => {
5151
- validate4(value3);
5152
- currentTimeout = value3;
5489
+ setConfig: (value) => {
5490
+ validate4(value);
5491
+ currentTimeout = value;
5153
5492
  },
5154
- id: cliFlag88
5493
+ id: cliFlag94
5155
5494
  };
5156
5495
 
5157
5496
  // src/options/user-agent.tsx
5158
- import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
5497
+ import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5159
5498
  var userAgent = null;
5160
- var cliFlag89 = "user-agent";
5499
+ var cliFlag95 = "user-agent";
5161
5500
  var userAgentOption = {
5162
5501
  name: "User agent",
5163
- cliFlag: cliFlag89,
5164
- description: () => /* @__PURE__ */ jsx84(Fragment84, {
5502
+ addedIn: "3.3.83",
5503
+ cliFlag: cliFlag95,
5504
+ description: () => /* @__PURE__ */ jsx90(Fragment90, {
5165
5505
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5166
5506
  }),
5167
5507
  ssrName: "userAgent",
5168
- docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
5508
+ docLink: "https://www.remotion.dev/docs/options/user-agent",
5169
5509
  type: null,
5170
5510
  getValue: ({ commandLine }) => {
5171
- if (commandLine[cliFlag89] !== undefined) {
5511
+ if (commandLine[cliFlag95] !== undefined) {
5172
5512
  return {
5173
5513
  source: "cli",
5174
- value: commandLine[cliFlag89]
5514
+ value: commandLine[cliFlag95]
5175
5515
  };
5176
5516
  }
5177
5517
  if (userAgent !== null) {
@@ -5185,28 +5525,29 @@ var userAgentOption = {
5185
5525
  value: null
5186
5526
  };
5187
5527
  },
5188
- setConfig: (value3) => {
5189
- userAgent = value3;
5528
+ setConfig: (value) => {
5529
+ userAgent = value;
5190
5530
  },
5191
- id: cliFlag89
5531
+ id: cliFlag95
5192
5532
  };
5193
5533
 
5194
5534
  // src/options/version-flag.tsx
5195
- import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5196
- var cliFlag90 = "version";
5535
+ import { jsx as jsx91, Fragment as Fragment91 } from "react/jsx-runtime";
5536
+ var cliFlag96 = "version";
5197
5537
  var versionFlagOption = {
5198
5538
  name: "Version",
5199
- cliFlag: cliFlag90,
5200
- description: () => /* @__PURE__ */ jsx85(Fragment85, {
5539
+ addedIn: "4.0.15",
5540
+ cliFlag: cliFlag96,
5541
+ description: () => /* @__PURE__ */ jsx91(Fragment91, {
5201
5542
  children: "Install a specific version. Also enables downgrading to an older version."
5202
5543
  }),
5203
5544
  ssrName: null,
5204
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--version",
5545
+ docLink: "https://www.remotion.dev/docs/options/version",
5205
5546
  getValue: ({ commandLine }) => {
5206
- if (commandLine[cliFlag90] !== undefined) {
5547
+ if (commandLine[cliFlag96] !== undefined) {
5207
5548
  return {
5208
5549
  source: "cli",
5209
- value: String(commandLine[cliFlag90])
5550
+ value: String(commandLine[cliFlag96])
5210
5551
  };
5211
5552
  }
5212
5553
  return {
@@ -5218,43 +5559,44 @@ var versionFlagOption = {
5218
5559
  throw new Error("Cannot set version via config file");
5219
5560
  },
5220
5561
  type: "",
5221
- id: cliFlag90
5562
+ id: cliFlag96
5222
5563
  };
5223
5564
 
5224
5565
  // src/options/video-bitrate.tsx
5225
- import { jsx as jsx86, jsxs as jsxs60, Fragment as Fragment86 } from "react/jsx-runtime";
5566
+ import { jsx as jsx92, jsxs as jsxs64, Fragment as Fragment92 } from "react/jsx-runtime";
5226
5567
  var videoBitrate = null;
5227
- var cliFlag91 = "video-bitrate";
5568
+ var cliFlag97 = "video-bitrate";
5228
5569
  var videoBitrateOption = {
5229
5570
  name: "Video Bitrate",
5230
- cliFlag: cliFlag91,
5231
- description: () => /* @__PURE__ */ jsxs60(Fragment86, {
5571
+ addedIn: "3.2.32",
5572
+ cliFlag: cliFlag97,
5573
+ description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5232
5574
  children: [
5233
5575
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5234
5576
  "'",
5235
5577
  "s",
5236
- /* @__PURE__ */ jsx86("code", {
5578
+ /* @__PURE__ */ jsx92("code", {
5237
5579
  children: "-b:v"
5238
5580
  }),
5239
5581
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
5240
- /* @__PURE__ */ jsx86("code", {
5582
+ /* @__PURE__ */ jsx92("code", {
5241
5583
  children: "512K"
5242
5584
  }),
5243
5585
  " for 512 kbps, ",
5244
- /* @__PURE__ */ jsx86("code", {
5586
+ /* @__PURE__ */ jsx92("code", {
5245
5587
  children: "1M"
5246
5588
  }),
5247
5589
  " for 1 Mbps."
5248
5590
  ]
5249
5591
  }),
5250
5592
  ssrName: "videoBitrate",
5251
- docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
5593
+ docLink: "https://www.remotion.dev/docs/options/video-bitrate",
5252
5594
  type: "",
5253
5595
  getValue: ({ commandLine }) => {
5254
- if (commandLine[cliFlag91] !== undefined) {
5596
+ if (commandLine[cliFlag97] !== undefined) {
5255
5597
  return {
5256
5598
  source: "cli",
5257
- value: commandLine[cliFlag91]
5599
+ value: commandLine[cliFlag97]
5258
5600
  };
5259
5601
  }
5260
5602
  if (videoBitrate !== null) {
@@ -5271,45 +5613,46 @@ var videoBitrateOption = {
5271
5613
  setConfig: (bitrate) => {
5272
5614
  videoBitrate = bitrate;
5273
5615
  },
5274
- id: cliFlag91
5616
+ id: cliFlag97
5275
5617
  };
5276
5618
 
5277
5619
  // src/options/video-cache-size.tsx
5278
- import { jsx as jsx87, jsxs as jsxs61, Fragment as Fragment87 } from "react/jsx-runtime";
5620
+ import { jsx as jsx93, jsxs as jsxs65, Fragment as Fragment93 } from "react/jsx-runtime";
5279
5621
  var mediaCacheSizeInBytes = null;
5280
- var cliFlag92 = "media-cache-size-in-bytes";
5622
+ var cliFlag98 = "media-cache-size-in-bytes";
5281
5623
  var mediaCacheSizeInBytesOption = {
5282
5624
  name: "@remotion/media cache size",
5283
- cliFlag: cliFlag92,
5284
- description: () => /* @__PURE__ */ jsxs61(Fragment87, {
5625
+ addedIn: "4.0.352",
5626
+ cliFlag: cliFlag98,
5627
+ description: () => /* @__PURE__ */ jsxs65(Fragment93, {
5285
5628
  children: [
5286
5629
  "Specify the memory budget for decoded media cached by",
5287
5630
  " ",
5288
- /* @__PURE__ */ jsx87("code", {
5631
+ /* @__PURE__ */ jsx93("code", {
5289
5632
  children: "<Video>"
5290
5633
  }),
5291
5634
  " and ",
5292
- /* @__PURE__ */ jsx87("code", {
5635
+ /* @__PURE__ */ jsx93("code", {
5293
5636
  children: "<Audio>"
5294
5637
  }),
5295
5638
  " from",
5296
5639
  " ",
5297
- /* @__PURE__ */ jsx87("code", {
5640
+ /* @__PURE__ */ jsx93("code", {
5298
5641
  children: "@remotion/media"
5299
5642
  }),
5300
5643
  ", in bytes. This value also determines the maximum read cache size for each distinct media source. It is not a limit on total memory usage. ",
5301
- /* @__PURE__ */ jsx87("br", {}),
5644
+ /* @__PURE__ */ jsx93("br", {}),
5302
5645
  "The default is half of the available system memory when the render starts."
5303
5646
  ]
5304
5647
  }),
5305
5648
  ssrName: "mediaCacheSizeInBytes",
5306
- docLink: "https://www.remotion.dev/docs/media/cache",
5649
+ docLink: "https://www.remotion.dev/docs/options/media-cache-size-in-bytes",
5307
5650
  type: 0,
5308
5651
  getValue: ({ commandLine }) => {
5309
- if (commandLine[cliFlag92] !== undefined) {
5652
+ if (commandLine[cliFlag98] !== undefined) {
5310
5653
  return {
5311
5654
  source: "cli",
5312
- value: commandLine[cliFlag92]
5655
+ value: commandLine[cliFlag98]
5313
5656
  };
5314
5657
  }
5315
5658
  if (mediaCacheSizeInBytes !== null) {
@@ -5326,11 +5669,11 @@ var mediaCacheSizeInBytesOption = {
5326
5669
  setConfig: (size) => {
5327
5670
  mediaCacheSizeInBytes = size ?? null;
5328
5671
  },
5329
- id: cliFlag92
5672
+ id: cliFlag98
5330
5673
  };
5331
5674
 
5332
5675
  // src/options/video-codec.tsx
5333
- import { jsx as jsx88, Fragment as Fragment88 } from "react/jsx-runtime";
5676
+ import { jsx as jsx94, Fragment as Fragment94 } from "react/jsx-runtime";
5334
5677
  var codec;
5335
5678
  var setCodec = (newCodec) => {
5336
5679
  if (newCodec === undefined) {
@@ -5349,20 +5692,22 @@ var deriveCodecsFromFilename = (extension) => {
5349
5692
  if (extension === null) {
5350
5693
  return { possible: [], default: null };
5351
5694
  }
5695
+ const normalizedExtension = extension.toLowerCase();
5352
5696
  return {
5353
- default: defaultCodecsForFileExtension[extension] ?? null,
5354
- possible: makeFileExtensionMap()[extension] ?? []
5697
+ default: defaultCodecsForFileExtension[normalizedExtension] ?? null,
5698
+ possible: makeFileExtensionMap()[normalizedExtension] ?? []
5355
5699
  };
5356
5700
  };
5357
- var cliFlag93 = "codec";
5701
+ var cliFlag99 = "codec";
5358
5702
  var videoCodecOption = {
5359
5703
  name: "Codec",
5360
- cliFlag: cliFlag93,
5361
- description: () => /* @__PURE__ */ jsx88(Fragment88, {
5704
+ addedIn: "1.4.0",
5705
+ cliFlag: cliFlag99,
5706
+ description: () => /* @__PURE__ */ jsx94(Fragment94, {
5362
5707
  children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency."
5363
5708
  }),
5364
5709
  ssrName: "codec",
5365
- docLink: "https://www.remotion.dev/docs/encoding/#choosing-a-codec",
5710
+ docLink: "https://www.remotion.dev/docs/options/codec",
5366
5711
  type: "",
5367
5712
  getValue: ({ commandLine }, {
5368
5713
  compositionCodec,
@@ -5381,7 +5726,7 @@ var videoCodecOption = {
5381
5726
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5382
5727
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5383
5728
  }
5384
- const cliArgument = commandLine[cliFlag93];
5729
+ const cliArgument = commandLine[cliFlag99];
5385
5730
  if (cliArgument) {
5386
5731
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5387
5732
  throw new TypeError(`The download name is ${downloadName} but --codec=${cliArgument} was passed. The download name implies a codec of ${derivedDownloadCodecs.possible.join(" or ")} which does not align with the --codec flag.`);
@@ -5430,31 +5775,39 @@ var videoCodecOption = {
5430
5775
  reset: () => {
5431
5776
  codec = undefined;
5432
5777
  },
5433
- id: cliFlag93
5778
+ id: cliFlag99
5434
5779
  };
5435
5780
 
5436
5781
  // src/options/video-image-format.tsx
5437
- import { jsx as jsx89, jsxs as jsxs62, Fragment as Fragment89 } from "react/jsx-runtime";
5782
+ import { jsx as jsx95, jsxs as jsxs66, Fragment as Fragment95 } from "react/jsx-runtime";
5438
5783
  var currentVideoImageFormat = null;
5439
- var cliFlag94 = "image-format";
5784
+ var cliFlag100 = "image-format";
5440
5785
  var videoImageFormatOption = {
5441
5786
  name: "Video Image Format",
5442
- cliFlag: cliFlag94,
5443
- description: () => /* @__PURE__ */ jsxs62(Fragment89, {
5787
+ addedIn: "1.4.0",
5788
+ cliFlag: cliFlag100,
5789
+ description: () => /* @__PURE__ */ jsxs66(Fragment95, {
5444
5790
  children: [
5445
5791
  "The image format to use when rendering frames for a video. Must be one of",
5446
5792
  " ",
5447
5793
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5448
5794
  ". Default:",
5449
5795
  " ",
5450
- /* @__PURE__ */ jsx89("code", {
5796
+ /* @__PURE__ */ jsx95("code", {
5451
5797
  children: '"jpeg"'
5452
5798
  }),
5453
- ". JPEG is faster, but does not support transparency."
5799
+ ". JPEG is faster, but does not support transparency.",
5800
+ /* @__PURE__ */ jsx95("br", {}),
5801
+ "When ",
5802
+ /* @__PURE__ */ jsx95("a", {
5803
+ href: "/docs/shared-memory-capture",
5804
+ children: "shared-memory capture"
5805
+ }),
5806
+ " is active, this option has no effect. The output pixel format determines transparency."
5454
5807
  ]
5455
5808
  }),
5456
5809
  ssrName: "imageFormat",
5457
- docLink: "https://www.remotion.dev/docs/renderer/render-media#imageformat",
5810
+ docLink: "https://www.remotion.dev/docs/options/video-image-format",
5458
5811
  type: null,
5459
5812
  getValue: ({ commandLine }, options) => {
5460
5813
  if (options?.uiVideoImageFormat) {
@@ -5463,14 +5816,14 @@ var videoImageFormatOption = {
5463
5816
  value: options.uiVideoImageFormat
5464
5817
  };
5465
5818
  }
5466
- if (commandLine[cliFlag94] !== undefined) {
5467
- const value3 = commandLine[cliFlag94];
5468
- if (!validVideoImageFormats.includes(value3)) {
5469
- throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5819
+ if (commandLine[cliFlag100] !== undefined) {
5820
+ const value = commandLine[cliFlag100];
5821
+ if (!validVideoImageFormats.includes(value)) {
5822
+ throw new Error(`Invalid video image format: ${value}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5470
5823
  }
5471
5824
  return {
5472
5825
  source: "from --image-format flag",
5473
- value: value3
5826
+ value
5474
5827
  };
5475
5828
  }
5476
5829
  if (options && options.compositionDefaultVideoImageFormat !== null) {
@@ -5511,29 +5864,30 @@ var videoImageFormatOption = {
5511
5864
  value: null
5512
5865
  };
5513
5866
  },
5514
- setConfig: (value3) => {
5515
- if (value3 === null) {
5867
+ setConfig: (value) => {
5868
+ if (value === null) {
5516
5869
  currentVideoImageFormat = null;
5517
5870
  return;
5518
5871
  }
5519
- if (!validVideoImageFormats.includes(value3)) {
5872
+ if (!validVideoImageFormats.includes(value)) {
5520
5873
  throw new TypeError([
5521
- `Value ${value3} is not valid as a video image format.`,
5522
- value3 === "jpg" ? 'Did you mean "jpeg"?' : null
5874
+ `Value ${value} is not valid as a video image format.`,
5875
+ value === "jpg" ? 'Did you mean "jpeg"?' : null
5523
5876
  ].filter(Boolean).join(" "));
5524
5877
  }
5525
- currentVideoImageFormat = value3;
5878
+ currentVideoImageFormat = value;
5526
5879
  },
5527
5880
  id: "video-image-format"
5528
5881
  };
5529
5882
 
5530
5883
  // src/options/webhook-custom-data.tsx
5531
- import { jsxs as jsxs63, Fragment as Fragment90 } from "react/jsx-runtime";
5532
- var cliFlag95 = "webhook-custom-data";
5884
+ import { jsxs as jsxs67, Fragment as Fragment96 } from "react/jsx-runtime";
5885
+ var cliFlag101 = "webhook-custom-data";
5533
5886
  var webhookCustomDataOption = {
5534
5887
  name: "Webhook custom data",
5535
- cliFlag: cliFlag95,
5536
- description: (type) => /* @__PURE__ */ jsxs63(Fragment90, {
5888
+ addedIn: "4.0.25",
5889
+ cliFlag: cliFlag101,
5890
+ description: (type) => /* @__PURE__ */ jsxs67(Fragment96, {
5537
5891
  children: [
5538
5892
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5539
5893
  " ",
@@ -5541,7 +5895,7 @@ var webhookCustomDataOption = {
5541
5895
  ]
5542
5896
  }),
5543
5897
  ssrName: "customData",
5544
- docLink: "https://www.remotion.dev/docs/lambda/webhooks",
5898
+ docLink: "https://www.remotion.dev/docs/options/webhook-custom-data",
5545
5899
  type: {},
5546
5900
  getValue: () => {
5547
5901
  throw new Error("Option resolution not implemented");
@@ -5549,24 +5903,25 @@ var webhookCustomDataOption = {
5549
5903
  setConfig: () => {
5550
5904
  throw new Error("Not implemented");
5551
5905
  },
5552
- id: cliFlag95
5906
+ id: cliFlag101
5553
5907
  };
5554
5908
 
5555
5909
  // src/options/webpack-poll.tsx
5556
- import { jsx as jsx90, Fragment as Fragment91 } from "react/jsx-runtime";
5557
- var cliFlag96 = "webpack-poll";
5910
+ import { jsx as jsx96, Fragment as Fragment97 } from "react/jsx-runtime";
5911
+ var cliFlag102 = "webpack-poll";
5558
5912
  var webpackPolling = null;
5559
5913
  var webpackPollOption = {
5560
5914
  name: "Webpack Polling",
5561
- cliFlag: cliFlag96,
5562
- description: () => /* @__PURE__ */ jsx90(Fragment91, {
5915
+ addedIn: "3.3.11",
5916
+ cliFlag: cliFlag102,
5917
+ description: () => /* @__PURE__ */ jsx96(Fragment97, {
5563
5918
  children: "Enables Webpack polling instead of the file system event listeners for hot reloading. This is useful if you are inside a virtual machine or have a remote file system. Pass a value in milliseconds."
5564
5919
  }),
5565
5920
  ssrName: null,
5566
- docLink: "https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds",
5921
+ docLink: "https://www.remotion.dev/docs/options/webpack-poll",
5567
5922
  getValue: ({ commandLine }) => {
5568
- if (commandLine[cliFlag96] !== undefined) {
5569
- const val = commandLine[cliFlag96];
5923
+ if (commandLine[cliFlag102] !== undefined) {
5924
+ const val = commandLine[cliFlag102];
5570
5925
  if (typeof val !== "number") {
5571
5926
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5572
5927
  }
@@ -5586,18 +5941,18 @@ var webpackPollOption = {
5586
5941
  value: null
5587
5942
  };
5588
5943
  },
5589
- setConfig: (value3) => {
5590
- if (typeof value3 !== "number" && value3 !== null) {
5591
- throw new TypeError(`Polling must be a number or null, got ${JSON.stringify(value3)} instead.`);
5944
+ setConfig: (value) => {
5945
+ if (typeof value !== "number" && value !== null) {
5946
+ throw new TypeError(`Polling must be a number or null, got ${JSON.stringify(value)} instead.`);
5592
5947
  }
5593
- webpackPolling = value3;
5948
+ webpackPolling = value;
5594
5949
  },
5595
5950
  type: 0,
5596
- id: cliFlag96
5951
+ id: cliFlag102
5597
5952
  };
5598
5953
 
5599
5954
  // src/options/x264-preset.tsx
5600
- import { jsx as jsx91, jsxs as jsxs64, Fragment as Fragment92 } from "react/jsx-runtime";
5955
+ import { jsx as jsx97, jsxs as jsxs68, Fragment as Fragment98 } from "react/jsx-runtime";
5601
5956
  var x264PresetOptions = [
5602
5957
  "ultrafast",
5603
5958
  "superfast",
@@ -5611,74 +5966,75 @@ var x264PresetOptions = [
5611
5966
  "placebo"
5612
5967
  ];
5613
5968
  var preset = null;
5614
- var cliFlag97 = "x264-preset";
5969
+ var cliFlag103 = "x264-preset";
5615
5970
  var DEFAULT_PRESET = "medium";
5616
5971
  var x264Option = {
5617
5972
  name: "x264 Preset",
5618
- cliFlag: cliFlag97,
5619
- description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5973
+ addedIn: "4.0.22",
5974
+ cliFlag: cliFlag103,
5975
+ description: () => /* @__PURE__ */ jsxs68(Fragment98, {
5620
5976
  children: [
5621
5977
  "Sets a x264 preset profile. Only applies to videos rendered with",
5622
5978
  " ",
5623
- /* @__PURE__ */ jsx91("code", {
5979
+ /* @__PURE__ */ jsx97("code", {
5624
5980
  children: "h264"
5625
5981
  }),
5626
5982
  " codec.",
5627
- /* @__PURE__ */ jsx91("br", {}),
5983
+ /* @__PURE__ */ jsx97("br", {}),
5628
5984
  "Possible values: ",
5629
- /* @__PURE__ */ jsx91("code", {
5985
+ /* @__PURE__ */ jsx97("code", {
5630
5986
  children: "superfast"
5631
5987
  }),
5632
5988
  ", ",
5633
- /* @__PURE__ */ jsx91("code", {
5989
+ /* @__PURE__ */ jsx97("code", {
5634
5990
  children: "veryfast"
5635
5991
  }),
5636
5992
  ",",
5637
5993
  " ",
5638
- /* @__PURE__ */ jsx91("code", {
5994
+ /* @__PURE__ */ jsx97("code", {
5639
5995
  children: "faster"
5640
5996
  }),
5641
5997
  ", ",
5642
- /* @__PURE__ */ jsx91("code", {
5998
+ /* @__PURE__ */ jsx97("code", {
5643
5999
  children: "fast"
5644
6000
  }),
5645
6001
  ", ",
5646
- /* @__PURE__ */ jsx91("code", {
6002
+ /* @__PURE__ */ jsx97("code", {
5647
6003
  children: "medium"
5648
6004
  }),
5649
6005
  ",",
5650
6006
  " ",
5651
- /* @__PURE__ */ jsx91("code", {
6007
+ /* @__PURE__ */ jsx97("code", {
5652
6008
  children: "slow"
5653
6009
  }),
5654
6010
  ", ",
5655
- /* @__PURE__ */ jsx91("code", {
6011
+ /* @__PURE__ */ jsx97("code", {
5656
6012
  children: "slower"
5657
6013
  }),
5658
6014
  ", ",
5659
- /* @__PURE__ */ jsx91("code", {
6015
+ /* @__PURE__ */ jsx97("code", {
5660
6016
  children: "veryslow"
5661
6017
  }),
5662
6018
  ",",
5663
6019
  " ",
5664
- /* @__PURE__ */ jsx91("code", {
6020
+ /* @__PURE__ */ jsx97("code", {
5665
6021
  children: "placebo"
5666
6022
  }),
5667
6023
  ".",
5668
- /* @__PURE__ */ jsx91("br", {}),
6024
+ /* @__PURE__ */ jsx97("br", {}),
5669
6025
  "Default: ",
5670
- /* @__PURE__ */ jsx91("code", {
6026
+ /* @__PURE__ */ jsx97("code", {
5671
6027
  children: DEFAULT_PRESET
5672
6028
  })
5673
6029
  ]
5674
6030
  }),
5675
6031
  ssrName: "x264Preset",
5676
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
6032
+ docLink: "https://www.remotion.dev/docs/options/x264-preset",
5677
6033
  type: "fast",
5678
6034
  getValue: ({ commandLine }) => {
5679
- const value3 = commandLine[cliFlag97];
5680
- if (typeof value3 !== "undefined") {
5681
- return { value: value3, source: "cli" };
6035
+ const value = commandLine[cliFlag103];
6036
+ if (typeof value !== "undefined") {
6037
+ return { value, source: "cli" };
5682
6038
  }
5683
6039
  if (preset !== null) {
5684
6040
  return { value: preset, source: "config" };
@@ -5688,11 +6044,12 @@ var x264Option = {
5688
6044
  setConfig: (profile) => {
5689
6045
  preset = profile;
5690
6046
  },
5691
- id: cliFlag97
6047
+ id: cliFlag103
5692
6048
  };
5693
6049
 
5694
6050
  // src/options/index.tsx
5695
6051
  var allOptions = {
6052
+ showPremountingOption,
5696
6053
  allowHtmlInCanvasOption,
5697
6054
  audioCodecOption,
5698
6055
  benchmarkConcurrenciesOption,
@@ -5714,6 +6071,7 @@ var allOptions = {
5714
6071
  deleteAfterOption,
5715
6072
  disableWebSecurityOption,
5716
6073
  disallowParallelEncodingOption,
6074
+ disableSharedMemoryCaptureOption,
5717
6075
  folderExpiryOption,
5718
6076
  enableCancellationOption,
5719
6077
  enableMultiprocessOnLinuxOption,
@@ -5757,6 +6115,7 @@ var allOptions = {
5757
6115
  darkModeOption,
5758
6116
  defaultCodingAgentOption,
5759
6117
  defaultEditorOption,
6118
+ defaultPremountInSecondsOption,
5760
6119
  publicLicenseKeyOption,
5761
6120
  isProductionOption,
5762
6121
  askAIOption,
@@ -5766,6 +6125,9 @@ var allOptions = {
5766
6125
  framesOption,
5767
6126
  forceNewStudioOption,
5768
6127
  experimentalKeepAudioContextAliveOption,
6128
+ experimentalTracksOption,
6129
+ experimentalSequenceActivityOption,
6130
+ experimentalSequenceActivityLimitOption,
5769
6131
  numberOfSharedAudioTagsOption,
5770
6132
  ipv4Option,
5771
6133
  stillImageFormatOption,
@@ -5807,6 +6169,7 @@ var optionsMap = {
5807
6169
  colorSpace: colorSpaceOption,
5808
6170
  codec: videoCodecOption,
5809
6171
  disallowParallelEncoding: disallowParallelEncodingOption,
6172
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5810
6173
  jpegQuality: jpegQualityOption,
5811
6174
  encodingMaxRate: encodingMaxRateOption,
5812
6175
  encodingBufferSize: encodingBufferSizeOption,
@@ -5875,6 +6238,7 @@ var optionsMap = {
5875
6238
  sampleRate: sampleRateOption
5876
6239
  },
5877
6240
  renderMediaOnLambda: {
6241
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5878
6242
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5879
6243
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5880
6244
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5914,6 +6278,7 @@ var optionsMap = {
5914
6278
  timeoutInMilliseconds: delayRenderTimeoutInMillisecondsOption
5915
6279
  },
5916
6280
  renderMediaOnCloudRun: {
6281
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5917
6282
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5918
6283
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5919
6284
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5964,47 +6329,53 @@ var optionsMap = {
5964
6329
  };
5965
6330
 
5966
6331
  // src/validate-output-filename.ts
6332
+ import { NoReactInternals as NoReactInternals8 } from "remotion/no-react";
5967
6333
  var validateOutputFilename = ({
5968
- codec: codec2,
6334
+ codec,
5969
6335
  audioCodecSetting,
5970
6336
  extension,
5971
6337
  preferLossless,
5972
6338
  separateAudioTo
5973
6339
  }) => {
5974
- if (!defaultFileExtensionMap[codec2]) {
5975
- throw new TypeError(`The codec "${codec2}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6340
+ if (!defaultFileExtensionMap[codec]) {
6341
+ throw new TypeError(`The codec "${codec}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
6342
+ }
6343
+ const normalizedExtension = extension === null ? null : extension.toLowerCase();
6344
+ if (NoReactInternals8.ENABLE_V5_BREAKING_CHANGES && codec === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6345
+ throw new Error("AAC output with .mpg or .mpeg extensions is not supported. Use .aac for raw ADTS AAC or .m4a for an MPEG-4 audio container.");
5976
6346
  }
5977
- const map = defaultFileExtensionMap[codec2];
6347
+ const map = defaultFileExtensionMap[codec];
5978
6348
  const resolvedAudioCodec = resolveAudioCodec({
5979
- codec: codec2,
6349
+ codec,
5980
6350
  preferLossless,
5981
6351
  setting: audioCodecSetting,
5982
6352
  separateAudioTo
5983
6353
  });
5984
6354
  if (resolvedAudioCodec === null) {
5985
- if (extension !== map.default) {
5986
- throw new TypeError(`When using the ${codec2} codec, the output filename must end in .${map.default}.`);
6355
+ if (normalizedExtension !== map.default) {
6356
+ throw new TypeError(`When using the ${codec} codec, the output filename must end in .${map.default}.`);
5987
6357
  }
5988
6358
  return;
5989
6359
  }
5990
6360
  if (!(resolvedAudioCodec in map.forAudioCodec)) {
5991
- throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec2}`);
6361
+ throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec}`);
5992
6362
  }
5993
6363
  const acceptableExtensions = map.forAudioCodec[resolvedAudioCodec].possible;
5994
- if (!acceptableExtensions.includes(extension) && !separateAudioTo) {
5995
- throw new TypeError(`When using the ${codec2} codec with the ${resolvedAudioCodec} audio codec, the output filename must end in one of the following: ${acceptableExtensions.join(", ")}.`);
6364
+ if (!acceptableExtensions.includes(normalizedExtension) && !separateAudioTo) {
6365
+ throw new TypeError(`When using the ${codec} codec with the ${resolvedAudioCodec} audio codec, the output filename must end in one of the following: ${acceptableExtensions.join(", ")}.`);
5996
6366
  }
5997
6367
  };
5998
6368
 
5999
6369
  // src/client.ts
6000
6370
  var BrowserSafeApis = {
6371
+ canUseParallelEncoding,
6001
6372
  getExtensionOfFilename,
6002
6373
  getFileExtensionFromCodec,
6003
6374
  validCodecs,
6004
6375
  validAudioCodecs,
6005
6376
  getDefaultCrfForCodec,
6006
6377
  getValidCrfRanges,
6007
- proResProfileOptions: NoReactInternals5.proResProfileOptions,
6378
+ proResProfileOptions: NoReactInternals9.proResProfileOptions,
6008
6379
  x264PresetOptions,
6009
6380
  hardwareAccelerationOptions,
6010
6381
  validPixelFormats,
@@ -6032,10 +6403,10 @@ var BrowserSafeApis = {
6032
6403
  validChromeModeOptions
6033
6404
  };
6034
6405
  export {
6035
- defaultEditorIds,
6036
- defaultCodingAgentIds,
6037
- customEditorTargetPathPlaceholder,
6038
- customEditorLineNumberPlaceholder,
6406
+ BrowserSafeApis,
6039
6407
  customEditorColumnNumberPlaceholder,
6040
- BrowserSafeApis
6408
+ customEditorLineNumberPlaceholder,
6409
+ customEditorTargetPathPlaceholder,
6410
+ defaultCodingAgentIds,
6411
+ defaultEditorIds
6041
6412
  };