@remotion/renderer 4.0.532 → 4.0.534

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 (176) 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/Connection.js +5 -17
  5. package/dist/browser/DOMWorld.js +19 -13
  6. package/dist/browser/devtools-commands.d.ts +13 -1
  7. package/dist/browser/devtools-types.d.ts +62 -0
  8. package/dist/browser/get-chrome-download-url.d.ts +1 -1
  9. package/dist/browser/get-chrome-download-url.js +19 -33
  10. package/dist/can-use-parallel-encoding.d.ts +0 -1
  11. package/dist/can-use-parallel-encoding.js +10 -10
  12. package/dist/client.d.ts +93 -4
  13. package/dist/client.js +2 -0
  14. package/dist/compress-assets.d.ts +1 -1
  15. package/dist/compress-assets.js +1 -1
  16. package/dist/cycle-browser-tabs.js +9 -1
  17. package/dist/ensure-browser.js +30 -6
  18. package/dist/esm/client.mjs +943 -796
  19. package/dist/esm/index.mjs +4113 -2997
  20. package/dist/esm/pure.mjs +33 -9
  21. package/dist/file-extensions.js +4 -1
  22. package/dist/get-mp4-brand.d.ts +1 -0
  23. package/dist/get-mp4-brand.js +21 -0
  24. package/dist/image-format.d.ts +1 -0
  25. package/dist/image-format.js +8 -4
  26. package/dist/index.d.ts +14 -1
  27. package/dist/index.js +4 -0
  28. package/dist/memory/from-macos-sysctl.d.ts +1 -0
  29. package/dist/memory/from-macos-sysctl.js +50 -0
  30. package/dist/memory/from-proc-meminfo.d.ts +1 -1
  31. package/dist/memory/from-proc-meminfo.js +7 -4
  32. package/dist/memory/get-available-memory.js +29 -21
  33. package/dist/mux-video-and-audio.js +8 -2
  34. package/dist/next-frame-to-render.d.ts +3 -7
  35. package/dist/next-frame-to-render.js +3 -22
  36. package/dist/open-browser.js +1 -0
  37. package/dist/options/allow-html-in-canvas.js +1 -1
  38. package/dist/options/api-key.js +1 -1
  39. package/dist/options/ask-ai.js +1 -1
  40. package/dist/options/audio-bitrate.js +1 -1
  41. package/dist/options/audio-codec.js +12 -6
  42. package/dist/options/beep-on-finish.js +1 -1
  43. package/dist/options/benchmark-concurrencies.js +1 -1
  44. package/dist/options/binaries-directory.js +1 -1
  45. package/dist/options/browser-executable.js +1 -1
  46. package/dist/options/browser.js +1 -1
  47. package/dist/options/bundle-cache.js +1 -1
  48. package/dist/options/canvas-tabs.js +1 -1
  49. package/dist/options/chrome-mode.js +1 -1
  50. package/dist/options/color-space.js +1 -1
  51. package/dist/options/concurrency.js +1 -1
  52. package/dist/options/config.js +1 -1
  53. package/dist/options/crf.js +1 -1
  54. package/dist/options/cross-site-isolation.js +1 -1
  55. package/dist/options/dark-mode.js +1 -1
  56. package/dist/options/default-coding-agent.js +1 -1
  57. package/dist/options/default-editor.js +1 -1
  58. package/dist/options/delete-after.js +1 -1
  59. package/dist/options/disable-git-source.js +1 -1
  60. package/dist/options/disable-shared-memory-capture.d.ts +16 -0
  61. package/dist/options/disable-shared-memory-capture.js +29 -0
  62. package/dist/options/disable-web-security.js +1 -1
  63. package/dist/options/disallow-parallel-encoding.js +1 -1
  64. package/dist/options/enable-cancellation.js +1 -1
  65. package/dist/options/enable-lambda-insights.js +1 -1
  66. package/dist/options/enable-multiprocess-on-linux.js +1 -1
  67. package/dist/options/encoding-buffer-size.js +1 -1
  68. package/dist/options/encoding-max-rate.js +1 -1
  69. package/dist/options/enforce-audio.js +1 -1
  70. package/dist/options/env-file.js +1 -1
  71. package/dist/options/every-nth-frame.js +1 -1
  72. package/dist/options/experimental-keep-audio-context-alive.js +1 -1
  73. package/dist/options/experimental-tracks.d.ts +18 -0
  74. package/dist/options/experimental-tracks.js +42 -0
  75. package/dist/options/folder-expiry.js +1 -1
  76. package/dist/options/for-seamless-aac-concatenation.js +1 -1
  77. package/dist/options/force-new-studio.js +1 -1
  78. package/dist/options/frames.js +1 -1
  79. package/dist/options/gl.js +1 -1
  80. package/dist/options/gop-size.js +1 -1
  81. package/dist/options/hardware-acceleration.js +1 -1
  82. package/dist/options/headless.js +1 -1
  83. package/dist/options/ignore-certificate-errors.js +1 -1
  84. package/dist/options/image-sequence-pattern.d.ts +4 -1
  85. package/dist/options/image-sequence-pattern.js +9 -3
  86. package/dist/options/image-sequence.js +1 -1
  87. package/dist/options/index.d.ts +39 -2
  88. package/dist/options/index.js +4 -0
  89. package/dist/options/interactivity.js +1 -1
  90. package/dist/options/ipv4.js +1 -1
  91. package/dist/options/is-production.js +1 -1
  92. package/dist/options/jpeg-quality.js +5 -2
  93. package/dist/options/keyboard-shortcuts.js +1 -1
  94. package/dist/options/latency-hint.js +1 -1
  95. package/dist/options/license-key.js +1 -1
  96. package/dist/options/log-level.js +1 -1
  97. package/dist/options/metadata.js +1 -1
  98. package/dist/options/mute.js +1 -1
  99. package/dist/options/no-open.js +1 -1
  100. package/dist/options/number-of-gif-loops.js +1 -1
  101. package/dist/options/number-of-shared-audio-tags.js +1 -1
  102. package/dist/options/offthreadvideo-cache-size.js +1 -1
  103. package/dist/options/offthreadvideo-threads.js +1 -1
  104. package/dist/options/on-browser-download.js +1 -1
  105. package/dist/options/options-map.d.ts +52 -1
  106. package/dist/options/options-map.js +4 -0
  107. package/dist/options/out-dir.js +1 -1
  108. package/dist/options/override-duration.js +1 -1
  109. package/dist/options/override-fps.js +1 -1
  110. package/dist/options/override-height.js +1 -1
  111. package/dist/options/override-width.js +1 -1
  112. package/dist/options/overwrite.js +1 -1
  113. package/dist/options/package-manager.js +1 -1
  114. package/dist/options/pixel-format.js +1 -1
  115. package/dist/options/port.js +1 -1
  116. package/dist/options/prefer-lossless.js +1 -1
  117. package/dist/options/preview-sample-rate.js +1 -1
  118. package/dist/options/props.js +1 -1
  119. package/dist/options/prores-profile.js +1 -1
  120. package/dist/options/public-dir.js +1 -1
  121. package/dist/options/public-license-key.js +1 -1
  122. package/dist/options/public-path.js +1 -1
  123. package/dist/options/repro.js +1 -1
  124. package/dist/options/rspack.d.ts +1 -1
  125. package/dist/options/rspack.js +1 -1
  126. package/dist/options/runs.js +1 -1
  127. package/dist/options/sample-rate.js +1 -1
  128. package/dist/options/scale.js +1 -1
  129. package/dist/options/separate-audio.js +1 -1
  130. package/dist/options/skip-skills.js +1 -1
  131. package/dist/options/still-frame.js +1 -1
  132. package/dist/options/still-image-format.js +1 -1
  133. package/dist/options/throw-if-site-exists.js +1 -1
  134. package/dist/options/timeout.js +1 -1
  135. package/dist/options/user-agent.js +1 -1
  136. package/dist/options/version-flag.js +1 -1
  137. package/dist/options/video-bitrate.js +1 -1
  138. package/dist/options/video-cache-size.js +1 -1
  139. package/dist/options/video-codec.js +4 -3
  140. package/dist/options/video-image-format.js +6 -2
  141. package/dist/options/webhook-custom-data.js +1 -1
  142. package/dist/options/webpack-poll.js +1 -1
  143. package/dist/options/x264-preset.js +1 -1
  144. package/dist/prespawn-ffmpeg.d.ts +20 -0
  145. package/dist/prespawn-ffmpeg.js +152 -29
  146. package/dist/probe-shared-memory-capture.d.ts +8 -0
  147. package/dist/probe-shared-memory-capture.js +111 -0
  148. package/dist/puppeteer-screenshot.d.ts +3 -1
  149. package/dist/puppeteer-screenshot.js +1 -0
  150. package/dist/pure.d.ts +1 -1
  151. package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
  152. package/dist/remotion-shared-memory-ffmpeg.js +312 -0
  153. package/dist/remotion-shared-memory.d.ts +49 -0
  154. package/dist/remotion-shared-memory.js +359 -0
  155. package/dist/render-frame-and-retry-target-close.d.ts +7 -3
  156. package/dist/render-frame-and-retry-target-close.js +23 -4
  157. package/dist/render-frame-with-option-to-reject.d.ts +6 -2
  158. package/dist/render-frame-with-option-to-reject.js +207 -115
  159. package/dist/render-frame.d.ts +6 -6
  160. package/dist/render-frame.js +4 -1
  161. package/dist/render-frames.d.ts +7 -0
  162. package/dist/render-frames.js +20 -18
  163. package/dist/render-media.d.ts +1 -1
  164. package/dist/render-media.js +131 -46
  165. package/dist/render-still.js +1 -0
  166. package/dist/screenshot-background.d.ts +2 -0
  167. package/dist/screenshot-background.js +20 -0
  168. package/dist/screenshot-task.d.ts +4 -2
  169. package/dist/screenshot-task.js +40 -21
  170. package/dist/seek-to-frame.js +1 -1
  171. package/dist/stitch-frames-to-video.js +71 -10
  172. package/dist/take-frame.d.ts +11 -3
  173. package/dist/take-frame.js +10 -8
  174. package/dist/validate-output-filename.d.ts +1 -1
  175. package/dist/validate-output-filename.js +10 -2
  176. package/package.json +13 -13
@@ -1,5 +1,5 @@
1
1
  // src/client.ts
2
- import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
2
+ import { NoReactInternals as NoReactInternals7 } from "remotion/no-react";
3
3
 
4
4
  // src/browser/TimeoutSettings.ts
5
5
  var DEFAULT_TIMEOUT = 30000;
@@ -34,6 +34,19 @@ class TimeoutSettings {
34
34
  }
35
35
  }
36
36
 
37
+ // src/is-audio-codec.ts
38
+ var isAudioCodec = (codec) => {
39
+ return codec === "mp3" || codec === "aac" || codec === "wav";
40
+ };
41
+
42
+ // src/can-use-parallel-encoding.ts
43
+ var canUseParallelEncoding = (codec) => {
44
+ if (isAudioCodec(codec)) {
45
+ return false;
46
+ }
47
+ return codec === "h264" || codec === "h264-mkv" || codec === "h264-ts" || codec === "h265" || codec === "vp8" || codec === "vp9" || codec === "av1" || codec === "prores";
48
+ };
49
+
37
50
  // src/codec.ts
38
51
  var validCodecs = [
39
52
  "h264",
@@ -51,11 +64,6 @@ var validCodecs = [
51
64
  ];
52
65
  var DEFAULT_CODEC = "h264";
53
66
 
54
- // src/is-audio-codec.ts
55
- var isAudioCodec = (codec) => {
56
- return codec === "mp3" || codec === "aac" || codec === "wav";
57
- };
58
-
59
67
  // src/crf.ts
60
68
  var defaultCrfMap = {
61
69
  h264: 18,
@@ -124,6 +132,7 @@ var codecSupportsVideoBitrate = (codec) => {
124
132
  };
125
133
 
126
134
  // src/file-extensions.ts
135
+ import { NoReactInternals } from "remotion/no-react";
127
136
  var defaultFileExtensionMap = {
128
137
  "h264-mkv": {
129
138
  default: "mkv",
@@ -143,7 +152,7 @@ var defaultFileExtensionMap = {
143
152
  default: "aac",
144
153
  forAudioCodec: {
145
154
  aac: {
146
- possible: ["aac", "3gp", "m4a", "m4b", "mpg", "mpeg"],
155
+ possible: NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? ["aac", "3gp", "m4a", "m4b"] : ["aac", "3gp", "m4a", "m4b", "mpg", "mpeg"],
147
156
  default: "aac"
148
157
  },
149
158
  "pcm-16": {
@@ -439,7 +448,7 @@ var allowHtmlInCanvasOption = {
439
448
  ]
440
449
  }),
441
450
  ssrName: null,
442
- docLink: "https://www.remotion.dev/docs/client-side-rendering/html-in-canvas",
451
+ docLink: "https://www.remotion.dev/docs/options/allow-html-in-canvas",
443
452
  type: false,
444
453
  getValue: ({ commandLine }) => {
445
454
  if (commandLine[cliFlag] !== null) {
@@ -476,7 +485,7 @@ var apiKeyOption = {
476
485
  ]
477
486
  }),
478
487
  ssrName: "apiKey",
479
- docLink: "https://www.remotion.dev/docs/licensing",
488
+ docLink: "https://www.remotion.dev/docs/options/api-key",
480
489
  type: null,
481
490
  getValue: ({ commandLine }) => {
482
491
  if (commandLine[cliFlag2] !== undefined) {
@@ -508,7 +517,7 @@ var askAIOption = {
508
517
  children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this."
509
518
  }),
510
519
  ssrName: null,
511
- docLink: "https://www.remotion.dev/docs/config#setaskaienabled",
520
+ docLink: "https://www.remotion.dev/docs/options/disable-ask-ai",
512
521
  type: false,
513
522
  getValue: ({ commandLine }) => {
514
523
  if (commandLine[cliFlag3] !== undefined) {
@@ -565,7 +574,7 @@ var audioBitrateOption = {
565
574
  ]
566
575
  }),
567
576
  ssrName: "audioBitrate",
568
- docLink: "https://www.remotion.dev/docs/renderer/render-media#audiobitrate-",
577
+ docLink: "https://www.remotion.dev/docs/options/audio-bitrate",
569
578
  type: "0",
570
579
  getValue: ({ commandLine }) => {
571
580
  if (commandLine[cliFlag4]) {
@@ -591,13 +600,26 @@ var audioBitrateOption = {
591
600
  id: cliFlag4
592
601
  };
593
602
 
603
+ // src/get-mp4-brand.ts
604
+ var mp4Brands = {
605
+ m4a: "M4A ",
606
+ m4b: "M4B ",
607
+ "3gp": "3gp4"
608
+ };
609
+ var getMp4BrandForExtension = (extension) => {
610
+ if (extension === null) {
611
+ return null;
612
+ }
613
+ return mp4Brands[extension.toLowerCase()] ?? null;
614
+ };
615
+
594
616
  // src/options/separate-audio.tsx
595
617
  var DEFAULT = null;
596
618
  var cliFlag5 = "separate-audio-to";
597
619
  var separateAudioOption = {
598
620
  cliFlag: cliFlag5,
599
621
  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",
622
+ docLink: "https://www.remotion.dev/docs/options/separate-audio-to",
601
623
  getValue: ({ commandLine }) => {
602
624
  if (commandLine[cliFlag5]) {
603
625
  return {
@@ -710,15 +732,18 @@ var resolveAudioCodec = ({
710
732
  }) => {
711
733
  let derivedFromSeparateAudioToExtension = null;
712
734
  if (separateAudioTo) {
713
- const extension = separateAudioTo.split(".").pop();
735
+ const extension = separateAudioTo.split(".").pop() ?? null;
714
736
  for (const [key, value] of Object.entries(extensionMap)) {
715
737
  if (value === extension) {
716
738
  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
739
  }
721
740
  }
741
+ if (getMp4BrandForExtension(extension)) {
742
+ derivedFromSeparateAudioToExtension = "aac";
743
+ }
744
+ if (derivedFromSeparateAudioToExtension && !supportedAudioCodecs[codec].includes(derivedFromSeparateAudioToExtension)) {
745
+ 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(", ")}`);
746
+ }
722
747
  }
723
748
  if (preferLossless) {
724
749
  const selected = getDefaultAudioCodec({ codec, preferLossless });
@@ -780,7 +805,7 @@ var audioCodecOption = {
780
805
  };
781
806
  },
782
807
  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",
808
+ docLink: "https://www.remotion.dev/docs/options/audio-codec",
784
809
  name: "Audio Codec",
785
810
  ssrName,
786
811
  type: "aac",
@@ -799,7 +824,7 @@ var beepOnFinishOption = {
799
824
  children: "Whether the Remotion Studio tab should beep when the render is finished."
800
825
  }),
801
826
  ssrName: null,
802
- docLink: "https://www.remotion.dev/docs/config#setbeeponfinish",
827
+ docLink: "https://www.remotion.dev/docs/options/beep-on-finish",
803
828
  type: false,
804
829
  getValue: ({ commandLine }) => {
805
830
  if (commandLine[cliFlag7] !== undefined && commandLine[cliFlag7] !== null) {
@@ -850,7 +875,7 @@ var benchmarkConcurrenciesOption = {
850
875
  ]
851
876
  }),
852
877
  ssrName: null,
853
- docLink: "https://www.remotion.dev/docs/cli/benchmark#--concurrencies",
878
+ docLink: "https://www.remotion.dev/docs/options/concurrencies",
854
879
  type: null,
855
880
  getValue: ({ commandLine }) => {
856
881
  if (commandLine[cliFlag8] !== undefined) {
@@ -900,7 +925,7 @@ var binariesDirectoryOption = {
900
925
  ]
901
926
  }),
902
927
  ssrName: "binariesDirectory",
903
- docLink: "https://www.remotion.dev/docs/renderer",
928
+ docLink: "https://www.remotion.dev/docs/options/binaries-directory",
904
929
  type: "",
905
930
  getValue: ({ commandLine }) => {
906
931
  if (commandLine[cliFlag9] !== undefined) {
@@ -943,7 +968,7 @@ var browserOption = {
943
968
  ]
944
969
  }),
945
970
  ssrName: null,
946
- docLink: "https://www.remotion.dev/docs/cli/studio#--browser",
971
+ docLink: "https://www.remotion.dev/docs/options/browser",
947
972
  getValue: ({ commandLine }) => {
948
973
  if (commandLine[cliFlag10] !== undefined) {
949
974
  return {
@@ -974,7 +999,7 @@ var browserExecutableOption = {
974
999
  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
1000
  }),
976
1001
  ssrName: "browserExecutable",
977
- docLink: "https://www.remotion.dev/docs/config#setbrowserexecutable",
1002
+ docLink: "https://www.remotion.dev/docs/options/browser-executable",
978
1003
  type: null,
979
1004
  getValue: ({ commandLine }) => {
980
1005
  if (commandLine[cliFlag11] !== undefined) {
@@ -1018,7 +1043,7 @@ var bundleCacheOption = {
1018
1043
  ]
1019
1044
  }),
1020
1045
  ssrName: null,
1021
- docLink: "https://www.remotion.dev/docs/config#setcachingenabled",
1046
+ docLink: "https://www.remotion.dev/docs/options/bundle-cache",
1022
1047
  getValue: ({ commandLine }) => {
1023
1048
  if (commandLine[cliFlag12] !== undefined && commandLine[cliFlag12] !== null) {
1024
1049
  return {
@@ -1053,7 +1078,7 @@ var canvasTabsOption = {
1053
1078
  children: "Enable or disable the tabs above the Studio canvas."
1054
1079
  }),
1055
1080
  ssrName: null,
1056
- docLink: "https://www.remotion.dev/docs/config#setcanvastabsenabled",
1081
+ docLink: "https://www.remotion.dev/docs/options/disable-canvas-tabs",
1057
1082
  type: false,
1058
1083
  getValue: ({ commandLine }) => {
1059
1084
  if (commandLine[cliFlag13] !== undefined && commandLine[cliFlag13] !== null) {
@@ -1122,7 +1147,7 @@ var chromeModeOption = {
1122
1147
  ]
1123
1148
  });
1124
1149
  },
1125
- docLink: "https://www.remotion.dev/chrome-for-testing",
1150
+ docLink: "https://www.remotion.dev/docs/options/chrome-mode",
1126
1151
  getValue: ({ commandLine }) => {
1127
1152
  if (commandLine[cliFlag14]) {
1128
1153
  if (!validChromeModeOptions.includes(commandLine[cliFlag14])) {
@@ -1152,12 +1177,12 @@ var chromeModeOption = {
1152
1177
  };
1153
1178
 
1154
1179
  // src/options/color-space.tsx
1155
- import { NoReactInternals } from "remotion/no-react";
1180
+ import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
1156
1181
  import { jsx as jsx13, jsxs as jsxs9, Fragment as Fragment13 } from "react/jsx-runtime";
1157
1182
  var validV4ColorSpaces = ["default", "bt601", "bt709", "bt2020-ncl"];
1158
1183
  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";
1184
+ var validColorSpaces = NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
1185
+ var DEFAULT_COLOR_SPACE = NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
1161
1186
  var colorSpace = DEFAULT_COLOR_SPACE;
1162
1187
  var cliFlag15 = "color-space";
1163
1188
  var colorSpaceOption = {
@@ -1176,7 +1201,7 @@ var colorSpaceOption = {
1176
1201
  }),
1177
1202
  "(default since 5.0),",
1178
1203
  " ",
1179
- NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs9("code", {
1204
+ NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs9("code", {
1180
1205
  children: [
1181
1206
  '"',
1182
1207
  "bt601",
@@ -1251,7 +1276,7 @@ var colorSpaceOption = {
1251
1276
  "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."
1252
1277
  ]
1253
1278
  }),
1254
- docLink: "https://www.remotion.dev/docs/renderer/render-media#colorspace",
1279
+ docLink: "https://www.remotion.dev/docs/options/color-space",
1255
1280
  ssrName: "colorSpace",
1256
1281
  type: DEFAULT_COLOR_SPACE,
1257
1282
  getValue: ({ commandLine }) => {
@@ -1314,7 +1339,7 @@ var concurrencyOption = {
1314
1339
  ]
1315
1340
  }),
1316
1341
  ssrName: "concurrency",
1317
- docLink: "https://www.remotion.dev/docs/config#setconcurrency",
1342
+ docLink: "https://www.remotion.dev/docs/options/concurrency",
1318
1343
  type: null,
1319
1344
  getValue: ({ commandLine }) => {
1320
1345
  if (commandLine[cliFlag16] !== undefined) {
@@ -1353,7 +1378,7 @@ var configOption = {
1353
1378
  children: "Specify a location for the Remotion config file."
1354
1379
  }),
1355
1380
  ssrName: null,
1356
- docLink: "https://www.remotion.dev/docs/config",
1381
+ docLink: "https://www.remotion.dev/docs/options/config",
1357
1382
  getValue: ({ commandLine }) => {
1358
1383
  if (commandLine[cliFlag17] !== undefined) {
1359
1384
  return {
@@ -1389,7 +1414,7 @@ var crfOption = {
1389
1414
  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
1415
  }),
1391
1416
  ssrName: "crf",
1392
- docLink: "https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting",
1417
+ docLink: "https://www.remotion.dev/docs/options/crf",
1393
1418
  type: 0,
1394
1419
  getValue: ({ commandLine }) => {
1395
1420
  if (commandLine[cliFlag18] !== undefined) {
@@ -1436,7 +1461,7 @@ var enableCrossSiteIsolationOption = {
1436
1461
  ]
1437
1462
  }),
1438
1463
  ssrName: null,
1439
- docLink: "https://www.remotion.dev/docs/config#setenablecrosssiteisolation",
1464
+ docLink: "https://www.remotion.dev/docs/options/cross-site-isolation",
1440
1465
  type: false,
1441
1466
  getValue: ({ commandLine }) => {
1442
1467
  if (commandLine[cliFlag19] !== undefined) {
@@ -1481,7 +1506,7 @@ var darkModeOption = {
1481
1506
  ]
1482
1507
  }),
1483
1508
  ssrName: "darkMode",
1484
- docLink: "https://www.remotion.dev/docs/chromium-flags#--dark-mode",
1509
+ docLink: "https://www.remotion.dev/docs/options/dark-mode",
1485
1510
  type: false,
1486
1511
  getValue: ({ commandLine }) => {
1487
1512
  if (commandLine[cliFlag20] !== undefined && commandLine[cliFlag20] !== null) {
@@ -1540,7 +1565,7 @@ var defaultCodingAgentOption = {
1540
1565
  ]
1541
1566
  }),
1542
1567
  ssrName: null,
1543
- docLink: "https://www.remotion.dev/docs/config#setdefaultcodingagent",
1568
+ docLink: "https://www.remotion.dev/docs/options/coding-agent",
1544
1569
  type: null,
1545
1570
  getValue: ({ commandLine }) => {
1546
1571
  const cliValue = commandLine[cliFlag21];
@@ -1624,7 +1649,7 @@ var defaultEditorOption = {
1624
1649
  ]
1625
1650
  }),
1626
1651
  ssrName: null,
1627
- docLink: "https://www.remotion.dev/docs/studio/open-in-editor",
1652
+ docLink: "https://www.remotion.dev/docs/options/editor",
1628
1653
  type: null,
1629
1654
  getValue: ({ commandLine }) => {
1630
1655
  const cliValue = commandLine[cliFlag22];
@@ -1685,7 +1710,7 @@ var deleteAfterOption = {
1685
1710
  });
1686
1711
  },
1687
1712
  ssrName: "deleteAfter",
1688
- docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1713
+ docLink: "https://www.remotion.dev/docs/options/delete-after",
1689
1714
  type: "1-day",
1690
1715
  getValue: ({ commandLine }) => {
1691
1716
  if (commandLine[cliFlag23] !== undefined) {
@@ -1717,7 +1742,7 @@ var cliFlag24 = "disable-git-source";
1717
1742
  var disableGitSourceOption = {
1718
1743
  cliFlag: cliFlag24,
1719
1744
  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",
1745
+ docLink: "https://www.remotion.dev/docs/options/disable-git-source",
1721
1746
  getValue: ({ commandLine }) => {
1722
1747
  if (commandLine[cliFlag24]) {
1723
1748
  return {
@@ -1739,24 +1764,58 @@ var disableGitSourceOption = {
1739
1764
  id: cliFlag24
1740
1765
  };
1741
1766
 
1767
+ // src/options/disable-shared-memory-capture.tsx
1768
+ import { jsx as jsx22, jsxs as jsxs16, Fragment as Fragment22 } from "react/jsx-runtime";
1769
+ var disableSharedMemoryCapture = false;
1770
+ var cliFlag25 = "disable-shared-memory-capture";
1771
+ var disableSharedMemoryCaptureOption = {
1772
+ name: "Disable shared-memory capture",
1773
+ cliFlag: cliFlag25,
1774
+ description: () => /* @__PURE__ */ jsxs16(Fragment22, {
1775
+ children: [
1776
+ "Disables shared-memory capture and uses regular JPEG or PNG screenshots instead. Parallel encoding remains enabled. Default ",
1777
+ /* @__PURE__ */ jsx22("code", {
1778
+ children: "false"
1779
+ }),
1780
+ "."
1781
+ ]
1782
+ }),
1783
+ ssrName: "disableSharedMemoryCapture",
1784
+ docLink: "https://www.remotion.dev/docs/options/disable-shared-memory-capture",
1785
+ type: false,
1786
+ getValue: ({ commandLine }) => {
1787
+ if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1788
+ return { value: commandLine[cliFlag25], source: "cli" };
1789
+ }
1790
+ if (disableSharedMemoryCapture !== false) {
1791
+ return { value: disableSharedMemoryCapture, source: "config" };
1792
+ }
1793
+ return { value: false, source: "default" };
1794
+ },
1795
+ setConfig(value) {
1796
+ disableSharedMemoryCapture = value;
1797
+ },
1798
+ id: cliFlag25
1799
+ };
1800
+
1742
1801
  // src/options/disable-web-security.tsx
1743
- import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1802
+ import { jsx as jsx23, Fragment as Fragment23 } from "react/jsx-runtime";
1744
1803
  var disableWebSecurity = false;
1745
- var cliFlag25 = "disable-web-security";
1804
+ var cliFlag26 = "disable-web-security";
1746
1805
  var disableWebSecurityOption = {
1747
1806
  name: "Disable web security",
1748
- cliFlag: cliFlag25,
1749
- description: () => /* @__PURE__ */ jsx22(Fragment22, {
1807
+ cliFlag: cliFlag26,
1808
+ description: () => /* @__PURE__ */ jsx23(Fragment23, {
1750
1809
  children: "This will most notably disable CORS in Chrome among other security features."
1751
1810
  }),
1752
1811
  ssrName: "disableWebSecurity",
1753
- docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-web-security",
1812
+ docLink: "https://www.remotion.dev/docs/options/disable-web-security",
1754
1813
  type: false,
1755
1814
  getValue: ({ commandLine }) => {
1756
- if (commandLine[cliFlag25] !== undefined && commandLine[cliFlag25] !== null) {
1815
+ if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1757
1816
  return {
1758
1817
  source: "cli",
1759
- value: Boolean(commandLine[cliFlag25])
1818
+ value: Boolean(commandLine[cliFlag26])
1760
1819
  };
1761
1820
  }
1762
1821
  if (disableWebSecurity) {
@@ -1773,26 +1832,26 @@ var disableWebSecurityOption = {
1773
1832
  setConfig: (value) => {
1774
1833
  disableWebSecurity = value;
1775
1834
  },
1776
- id: cliFlag25
1835
+ id: cliFlag26
1777
1836
  };
1778
1837
 
1779
1838
  // src/options/disallow-parallel-encoding.tsx
1780
- import { jsx as jsx23, Fragment as Fragment23 } from "react/jsx-runtime";
1839
+ import { jsx as jsx24, Fragment as Fragment24 } from "react/jsx-runtime";
1781
1840
  var disallowParallelEncoding = false;
1782
- var cliFlag26 = "disallow-parallel-encoding";
1841
+ var cliFlag27 = "disallow-parallel-encoding";
1783
1842
  var disallowParallelEncodingOption = {
1784
1843
  name: "Disallow parallel encoding",
1785
- cliFlag: cliFlag26,
1786
- description: () => /* @__PURE__ */ jsx23(Fragment23, {
1844
+ cliFlag: cliFlag27,
1845
+ description: () => /* @__PURE__ */ jsx24(Fragment24, {
1787
1846
  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
1847
  }),
1789
1848
  ssrName: "disallowParallelEncoding",
1790
- docLink: "https://www.remotion.dev/docs/config#setdisallowparallelencoding",
1849
+ docLink: "https://www.remotion.dev/docs/options/disallow-parallel-encoding",
1791
1850
  type: false,
1792
1851
  getValue: ({ commandLine }) => {
1793
- if (commandLine[cliFlag26] !== undefined && commandLine[cliFlag26] !== null) {
1852
+ if (commandLine[cliFlag27] !== undefined && commandLine[cliFlag27] !== null) {
1794
1853
  return {
1795
- value: commandLine[cliFlag26],
1854
+ value: commandLine[cliFlag27],
1796
1855
  source: "cli"
1797
1856
  };
1798
1857
  }
@@ -1810,36 +1869,36 @@ var disallowParallelEncodingOption = {
1810
1869
  setConfig(value) {
1811
1870
  disallowParallelEncoding = value;
1812
1871
  },
1813
- id: cliFlag26
1872
+ id: cliFlag27
1814
1873
  };
1815
1874
 
1816
1875
  // 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";
1876
+ import { jsx as jsx25, jsxs as jsxs17, Fragment as Fragment25 } from "react/jsx-runtime";
1877
+ var cliFlag28 = "enable-cancellation";
1819
1878
  var enableCancellation = false;
1820
1879
  var enableCancellationOption = {
1821
1880
  name: "Enable cancellation",
1822
- cliFlag: cliFlag27,
1823
- description: () => /* @__PURE__ */ jsxs16(Fragment24, {
1881
+ cliFlag: cliFlag28,
1882
+ description: () => /* @__PURE__ */ jsxs17(Fragment25, {
1824
1883
  children: [
1825
1884
  "Allows a Lambda render to be cancelled by pressing Ctrl+C while running",
1826
1885
  " ",
1827
- /* @__PURE__ */ jsx24("code", {
1886
+ /* @__PURE__ */ jsx25("code", {
1828
1887
  children: "npx remotion lambda render"
1829
1888
  }),
1830
1889
  ". Enabling cancellation causes each renderer function to poll S3 once per second while it is running."
1831
1890
  ]
1832
1891
  }),
1833
1892
  ssrName: null,
1834
- docLink: "https://www.remotion.dev/docs/lambda/cli/render#--enable-cancellation",
1893
+ docLink: "https://www.remotion.dev/docs/options/enable-cancellation",
1835
1894
  type: false,
1836
1895
  setConfig: (value) => {
1837
1896
  enableCancellation = value;
1838
1897
  },
1839
1898
  getValue: ({ commandLine }) => {
1840
- if (typeof commandLine[cliFlag27] === "boolean") {
1899
+ if (typeof commandLine[cliFlag28] === "boolean") {
1841
1900
  return {
1842
- value: commandLine[cliFlag27],
1901
+ value: commandLine[cliFlag28],
1843
1902
  source: "cli"
1844
1903
  };
1845
1904
  }
@@ -1848,21 +1907,21 @@ var enableCancellationOption = {
1848
1907
  source: enableCancellation ? "config" : "default"
1849
1908
  };
1850
1909
  },
1851
- id: cliFlag27
1910
+ id: cliFlag28
1852
1911
  };
1853
1912
 
1854
1913
  // 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";
1914
+ import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1915
+ var cliFlag29 = "enable-lambda-insights";
1857
1916
  var option = false;
1858
1917
  var enableLambdaInsights = {
1859
1918
  name: "Enable Lambda Insights",
1860
- cliFlag: cliFlag28,
1861
- description: () => /* @__PURE__ */ jsxs17(Fragment25, {
1919
+ cliFlag: cliFlag29,
1920
+ description: () => /* @__PURE__ */ jsxs18(Fragment26, {
1862
1921
  children: [
1863
1922
  "Enable",
1864
1923
  " ",
1865
- /* @__PURE__ */ jsx25("a", {
1924
+ /* @__PURE__ */ jsx26("a", {
1866
1925
  href: "https://remotion.dev/docs/lambda/insights",
1867
1926
  children: "Lambda Insights in AWS CloudWatch"
1868
1927
  }),
@@ -1870,15 +1929,15 @@ var enableLambdaInsights = {
1870
1929
  ]
1871
1930
  }),
1872
1931
  ssrName: "enableLambdaInsights",
1873
- docLink: "https://www.remotion.dev/docs/lambda/insights",
1932
+ docLink: "https://www.remotion.dev/docs/options/enable-lambda-insights",
1874
1933
  type: false,
1875
1934
  setConfig: (value) => {
1876
1935
  option = value;
1877
1936
  },
1878
1937
  getValue: ({ commandLine }) => {
1879
- if (commandLine[cliFlag28] !== undefined) {
1938
+ if (commandLine[cliFlag29] !== undefined) {
1880
1939
  return {
1881
- value: commandLine[cliFlag28],
1940
+ value: commandLine[cliFlag29],
1882
1941
  source: "cli"
1883
1942
  };
1884
1943
  }
@@ -1893,52 +1952,52 @@ var enableLambdaInsights = {
1893
1952
  source: "default"
1894
1953
  };
1895
1954
  },
1896
- id: cliFlag28
1955
+ id: cliFlag29
1897
1956
  };
1898
1957
 
1899
1958
  // src/options/enable-multiprocess-on-linux.tsx
1900
- import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1959
+ import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
1901
1960
  var DEFAULT_VALUE2 = true;
1902
1961
  var multiProcessOnLinux = DEFAULT_VALUE2;
1903
- var cliFlag29 = "enable-multiprocess-on-linux";
1962
+ var cliFlag30 = "enable-multiprocess-on-linux";
1904
1963
  var enableMultiprocessOnLinuxOption = {
1905
1964
  name: "Enable Multiprocess on Linux",
1906
- cliFlag: cliFlag29,
1907
- description: () => /* @__PURE__ */ jsxs18(Fragment26, {
1965
+ cliFlag: cliFlag30,
1966
+ description: () => /* @__PURE__ */ jsxs19(Fragment27, {
1908
1967
  children: [
1909
1968
  "Removes the ",
1910
- /* @__PURE__ */ jsx26("code", {
1969
+ /* @__PURE__ */ jsx27("code", {
1911
1970
  children: "--single-process"
1912
1971
  }),
1913
1972
  " 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", {}),
1973
+ /* @__PURE__ */ jsx27("br", {}),
1915
1974
  "Default: ",
1916
- /* @__PURE__ */ jsx26("code", {
1975
+ /* @__PURE__ */ jsx27("code", {
1917
1976
  children: "false"
1918
1977
  }),
1919
1978
  " until v4.0.136, then ",
1920
- /* @__PURE__ */ jsx26("code", {
1979
+ /* @__PURE__ */ jsx27("code", {
1921
1980
  children: "true"
1922
1981
  }),
1923
1982
  " from v4.0.137 on because newer Chrome versions ",
1924
1983
  "don't",
1925
1984
  " allow rendering with the ",
1926
- /* @__PURE__ */ jsx26("code", {
1985
+ /* @__PURE__ */ jsx27("code", {
1927
1986
  children: "--single-process"
1928
1987
  }),
1929
1988
  " flag. ",
1930
- /* @__PURE__ */ jsx26("br", {}),
1989
+ /* @__PURE__ */ jsx27("br", {}),
1931
1990
  "This flag will be removed in Remotion v5.0."
1932
1991
  ]
1933
1992
  }),
1934
1993
  ssrName: "chromiumOptions.enableMultiprocessOnLinux",
1935
- docLink: "https://www.remotion.dev/docs/chromium-flags",
1994
+ docLink: "https://www.remotion.dev/docs/options/enable-multiprocess-on-linux",
1936
1995
  type: false,
1937
1996
  getValue: ({ commandLine }) => {
1938
- if (commandLine[cliFlag29] !== undefined) {
1997
+ if (commandLine[cliFlag30] !== undefined) {
1939
1998
  return {
1940
1999
  source: "cli",
1941
- value: commandLine[cliFlag29]
2000
+ value: commandLine[cliFlag30]
1942
2001
  };
1943
2002
  }
1944
2003
  if (multiProcessOnLinux !== false) {
@@ -1955,35 +2014,35 @@ var enableMultiprocessOnLinuxOption = {
1955
2014
  setConfig: (value) => {
1956
2015
  multiProcessOnLinux = value;
1957
2016
  },
1958
- id: cliFlag29
2017
+ id: cliFlag30
1959
2018
  };
1960
2019
 
1961
2020
  // src/options/encoding-buffer-size.tsx
1962
- import { jsx as jsx27, jsxs as jsxs19, Fragment as Fragment27 } from "react/jsx-runtime";
2021
+ import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
1963
2022
  var encodingBufferSize = null;
1964
2023
  var setEncodingBufferSize = (bitrate) => {
1965
2024
  encodingBufferSize = bitrate;
1966
2025
  };
1967
- var cliFlag30 = "buffer-size";
2026
+ var cliFlag31 = "buffer-size";
1968
2027
  var encodingBufferSizeOption = {
1969
2028
  name: "FFmpeg -bufsize flag",
1970
- cliFlag: cliFlag30,
1971
- description: () => /* @__PURE__ */ jsxs19(Fragment27, {
2029
+ cliFlag: cliFlag31,
2030
+ description: () => /* @__PURE__ */ jsxs20(Fragment28, {
1972
2031
  children: [
1973
2032
  "The value for the ",
1974
- /* @__PURE__ */ jsx27("code", {
2033
+ /* @__PURE__ */ jsx28("code", {
1975
2034
  children: "-bufsize"
1976
2035
  }),
1977
2036
  " 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
2037
  ]
1979
2038
  }),
1980
2039
  ssrName: "encodingBufferSize",
1981
- docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize",
2040
+ docLink: "https://www.remotion.dev/docs/options/buffer-size",
1982
2041
  type: "",
1983
2042
  getValue: ({ commandLine }) => {
1984
- if (commandLine[cliFlag30] !== undefined) {
2043
+ if (commandLine[cliFlag31] !== undefined) {
1985
2044
  return {
1986
- value: commandLine[cliFlag30],
2045
+ value: commandLine[cliFlag31],
1987
2046
  source: "cli"
1988
2047
  };
1989
2048
  }
@@ -1999,32 +2058,32 @@ var encodingBufferSizeOption = {
1999
2058
  };
2000
2059
  },
2001
2060
  setConfig: setEncodingBufferSize,
2002
- id: cliFlag30
2061
+ id: cliFlag31
2003
2062
  };
2004
2063
 
2005
2064
  // src/options/encoding-max-rate.tsx
2006
- import { jsx as jsx28, jsxs as jsxs20, Fragment as Fragment28 } from "react/jsx-runtime";
2065
+ import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
2007
2066
  var encodingMaxRate = null;
2008
- var cliFlag31 = "max-rate";
2067
+ var cliFlag32 = "max-rate";
2009
2068
  var encodingMaxRateOption = {
2010
2069
  name: "FFmpeg -maxrate flag",
2011
- cliFlag: cliFlag31,
2012
- description: () => /* @__PURE__ */ jsxs20(Fragment28, {
2070
+ cliFlag: cliFlag32,
2071
+ description: () => /* @__PURE__ */ jsxs21(Fragment29, {
2013
2072
  children: [
2014
2073
  "The value for the ",
2015
- /* @__PURE__ */ jsx28("code", {
2074
+ /* @__PURE__ */ jsx29("code", {
2016
2075
  children: "-maxrate"
2017
2076
  }),
2018
2077
  " 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
2078
  ]
2020
2079
  }),
2021
2080
  ssrName: "encodingMaxRate",
2022
- docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate",
2081
+ docLink: "https://www.remotion.dev/docs/options/max-rate",
2023
2082
  type: "",
2024
2083
  getValue: ({ commandLine }) => {
2025
- if (commandLine[cliFlag31] !== undefined) {
2084
+ if (commandLine[cliFlag32] !== undefined) {
2026
2085
  return {
2027
- value: commandLine[cliFlag31],
2086
+ value: commandLine[cliFlag32],
2028
2087
  source: "cli"
2029
2088
  };
2030
2089
  }
@@ -2042,55 +2101,55 @@ var encodingMaxRateOption = {
2042
2101
  setConfig: (newMaxRate) => {
2043
2102
  encodingMaxRate = newMaxRate;
2044
2103
  },
2045
- id: cliFlag31
2104
+ id: cliFlag32
2046
2105
  };
2047
2106
 
2048
2107
  // src/options/enforce-audio.tsx
2049
- import { jsx as jsx29, jsxs as jsxs21, Fragment as Fragment29 } from "react/jsx-runtime";
2108
+ import { jsx as jsx30, jsxs as jsxs22, Fragment as Fragment30 } from "react/jsx-runtime";
2050
2109
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
2051
2110
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
2052
- var cliFlag32 = "enforce-audio-track";
2111
+ var cliFlag33 = "enforce-audio-track";
2053
2112
  var enforceAudioOption = {
2054
2113
  name: "Enforce Audio Track",
2055
- cliFlag: cliFlag32,
2056
- description: (mode) => /* @__PURE__ */ jsxs21(Fragment29, {
2114
+ cliFlag: cliFlag33,
2115
+ description: (mode) => /* @__PURE__ */ jsxs22(Fragment30, {
2057
2116
  children: [
2058
- /* @__PURE__ */ jsxs21("p", {
2117
+ /* @__PURE__ */ jsxs22("p", {
2059
2118
  children: [
2060
2119
  "Defaults to ",
2061
- /* @__PURE__ */ jsx29("code", {
2120
+ /* @__PURE__ */ jsx30("code", {
2062
2121
  children: "false"
2063
2122
  }),
2064
2123
  ". If ",
2065
- /* @__PURE__ */ jsx29("code", {
2124
+ /* @__PURE__ */ jsx30("code", {
2066
2125
  children: "true"
2067
2126
  }),
2068
2127
  ", include a silent audio track when the render contains no audio. If ",
2069
- /* @__PURE__ */ jsx29("code", {
2128
+ /* @__PURE__ */ jsx30("code", {
2070
2129
  children: "false"
2071
2130
  }),
2072
2131
  ", omit the audio track when no audio is present. Audio-only exports and",
2073
2132
  " ",
2074
- /* @__PURE__ */ jsx29("code", {
2133
+ /* @__PURE__ */ jsx30("code", {
2075
2134
  children: mode === "cli" ? "--separate-audio-to" : "separateAudioTo"
2076
2135
  }),
2077
2136
  " ",
2078
2137
  "still produce an audio file, even when silent."
2079
2138
  ]
2080
2139
  }),
2081
- /* @__PURE__ */ jsxs21("p", {
2140
+ /* @__PURE__ */ jsxs22("p", {
2082
2141
  children: [
2083
- mode === "cli" ? /* @__PURE__ */ jsxs21(Fragment29, {
2142
+ mode === "cli" ? /* @__PURE__ */ jsxs22(Fragment30, {
2084
2143
  children: [
2085
2144
  "Pass ",
2086
- /* @__PURE__ */ jsx29("code", {
2145
+ /* @__PURE__ */ jsx30("code", {
2087
2146
  children: "--enforce-audio-track"
2088
2147
  })
2089
2148
  ]
2090
- }) : /* @__PURE__ */ jsxs21(Fragment29, {
2149
+ }) : /* @__PURE__ */ jsxs22(Fragment30, {
2091
2150
  children: [
2092
2151
  "Set this to ",
2093
- /* @__PURE__ */ jsx29("code", {
2152
+ /* @__PURE__ */ jsx30("code", {
2094
2153
  children: "true"
2095
2154
  })
2096
2155
  ]
@@ -2098,13 +2157,13 @@ var enforceAudioOption = {
2098
2157
  " ",
2099
2158
  "for",
2100
2159
  " ",
2101
- /* @__PURE__ */ jsx29("a", {
2160
+ /* @__PURE__ */ jsx30("a", {
2102
2161
  href: "/docs/distributed-rendering",
2103
2162
  children: "chunks that will later be concatenated"
2104
2163
  }),
2105
2164
  ", because other chunks may contain audio.",
2106
2165
  " ",
2107
- /* @__PURE__ */ jsx29("code", {
2166
+ /* @__PURE__ */ jsx30("code", {
2108
2167
  children: mode === "cli" ? "--muted" : "muted: true"
2109
2168
  }),
2110
2169
  " takes precedence."
@@ -2113,10 +2172,10 @@ var enforceAudioOption = {
2113
2172
  ]
2114
2173
  }),
2115
2174
  ssrName: "enforceAudioTrack",
2116
- docLink: "https://www.remotion.dev/docs/config#setenforceaudiotrack-",
2175
+ docLink: "https://www.remotion.dev/docs/options/enforce-audio-track",
2117
2176
  type: false,
2118
2177
  getValue: ({ commandLine }) => {
2119
- if (commandLine[cliFlag32]) {
2178
+ if (commandLine[cliFlag33]) {
2120
2179
  return {
2121
2180
  source: "cli",
2122
2181
  value: true
@@ -2136,32 +2195,32 @@ var enforceAudioOption = {
2136
2195
  setConfig: (value) => {
2137
2196
  enforceAudioTrackState = value;
2138
2197
  },
2139
- id: cliFlag32
2198
+ id: cliFlag33
2140
2199
  };
2141
2200
 
2142
2201
  // 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";
2202
+ import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2203
+ var cliFlag34 = "env-file";
2145
2204
  var envFileLocation = null;
2146
2205
  var envFileOption = {
2147
2206
  name: "Env File",
2148
- cliFlag: cliFlag33,
2149
- description: () => /* @__PURE__ */ jsxs22(Fragment30, {
2207
+ cliFlag: cliFlag34,
2208
+ description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2150
2209
  children: [
2151
2210
  "Specify a location for a dotenv file. Default ",
2152
- /* @__PURE__ */ jsx30("code", {
2211
+ /* @__PURE__ */ jsx31("code", {
2153
2212
  children: ".env"
2154
2213
  }),
2155
2214
  "."
2156
2215
  ]
2157
2216
  }),
2158
2217
  ssrName: null,
2159
- docLink: "https://www.remotion.dev/docs/cli/render#--env-file",
2218
+ docLink: "https://www.remotion.dev/docs/options/env-file",
2160
2219
  getValue: ({ commandLine }) => {
2161
- if (commandLine[cliFlag33] !== undefined) {
2220
+ if (commandLine[cliFlag34] !== undefined) {
2162
2221
  return {
2163
2222
  source: "cli",
2164
- value: commandLine[cliFlag33]
2223
+ value: commandLine[cliFlag34]
2165
2224
  };
2166
2225
  }
2167
2226
  if (envFileLocation !== null) {
@@ -2179,43 +2238,43 @@ var envFileOption = {
2179
2238
  envFileLocation = value;
2180
2239
  },
2181
2240
  type: "",
2182
- id: cliFlag33
2241
+ id: cliFlag34
2183
2242
  };
2184
2243
 
2185
2244
  // src/options/every-nth-frame.tsx
2186
- import { jsx as jsx31, jsxs as jsxs23, Fragment as Fragment31 } from "react/jsx-runtime";
2245
+ import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
2187
2246
  var DEFAULT_EVERY_NTH_FRAME = 1;
2188
2247
  var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
2189
- var cliFlag34 = "every-nth-frame";
2248
+ var cliFlag35 = "every-nth-frame";
2190
2249
  var everyNthFrameOption = {
2191
2250
  name: "Every nth frame",
2192
- cliFlag: cliFlag34,
2193
- description: () => /* @__PURE__ */ jsxs23(Fragment31, {
2251
+ cliFlag: cliFlag35,
2252
+ description: () => /* @__PURE__ */ jsxs24(Fragment32, {
2194
2253
  children: [
2195
2254
  "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", {
2255
+ /* @__PURE__ */ jsx32("code", {
2197
2256
  children: "fps"
2198
2257
  }),
2199
2258
  " is 30, and",
2200
2259
  " ",
2201
- /* @__PURE__ */ jsx31("code", {
2260
+ /* @__PURE__ */ jsx32("code", {
2202
2261
  children: "everyNthFrame"
2203
2262
  }),
2204
2263
  " is 2, the FPS of the GIF is ",
2205
- /* @__PURE__ */ jsx31("code", {
2264
+ /* @__PURE__ */ jsx32("code", {
2206
2265
  children: "15"
2207
2266
  }),
2208
2267
  "."
2209
2268
  ]
2210
2269
  }),
2211
2270
  ssrName: "everyNthFrame",
2212
- docLink: "https://www.remotion.dev/docs/config#seteverynthframe",
2271
+ docLink: "https://www.remotion.dev/docs/options/every-nth-frame",
2213
2272
  type: DEFAULT_EVERY_NTH_FRAME,
2214
2273
  getValue: ({ commandLine }) => {
2215
- if (commandLine[cliFlag34] !== undefined) {
2274
+ if (commandLine[cliFlag35] !== undefined) {
2216
2275
  return {
2217
2276
  source: "cli",
2218
- value: commandLine[cliFlag34]
2277
+ value: commandLine[cliFlag35]
2219
2278
  };
2220
2279
  }
2221
2280
  if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
@@ -2232,32 +2291,32 @@ var everyNthFrameOption = {
2232
2291
  setConfig: (value) => {
2233
2292
  everyNthFrame = value;
2234
2293
  },
2235
- id: cliFlag34
2294
+ id: cliFlag35
2236
2295
  };
2237
2296
 
2238
2297
  // src/options/experimental-keep-audio-context-alive.tsx
2239
- import { jsx as jsx32, jsxs as jsxs24, Fragment as Fragment32 } from "react/jsx-runtime";
2298
+ import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2240
2299
  var experimentalKeepAudioContextAlive = false;
2241
- var cliFlag35 = "experimental-keep-audio-context-alive";
2300
+ var cliFlag36 = "experimental-keep-audio-context-alive";
2242
2301
  var experimentalKeepAudioContextAliveOption = {
2243
2302
  name: "Keep AudioContext alive (experimental)",
2244
- cliFlag: cliFlag35,
2245
- description: () => /* @__PURE__ */ jsxs24(Fragment32, {
2303
+ cliFlag: cliFlag36,
2304
+ description: () => /* @__PURE__ */ jsxs25(Fragment33, {
2246
2305
  children: [
2247
2306
  "Keeps the shared ",
2248
- /* @__PURE__ */ jsx32("code", {
2307
+ /* @__PURE__ */ jsx33("code", {
2249
2308
  children: "AudioContext"
2250
2309
  }),
2251
2310
  " running while the Remotion Studio is paused."
2252
2311
  ]
2253
2312
  }),
2254
2313
  ssrName: null,
2255
- docLink: "https://www.remotion.dev/docs/config#setexperimentalkeepaudiocontextalive",
2314
+ docLink: "https://www.remotion.dev/docs/options/experimental-keep-audio-context-alive",
2256
2315
  type: false,
2257
2316
  getValue: ({ commandLine }) => {
2258
- if (commandLine[cliFlag35] !== undefined && commandLine[cliFlag35] !== null) {
2317
+ if (commandLine[cliFlag36] !== undefined && commandLine[cliFlag36] !== null) {
2259
2318
  return {
2260
- value: commandLine[cliFlag35],
2319
+ value: commandLine[cliFlag36],
2261
2320
  source: "cli"
2262
2321
  };
2263
2322
  }
@@ -2269,26 +2328,79 @@ var experimentalKeepAudioContextAliveOption = {
2269
2328
  setConfig(value) {
2270
2329
  experimentalKeepAudioContextAlive = value;
2271
2330
  },
2272
- id: cliFlag35
2331
+ id: cliFlag36
2332
+ };
2333
+
2334
+ // src/options/experimental-tracks.tsx
2335
+ import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2336
+ var experimentalTracksEnabled = false;
2337
+ var configuredExperimentalTracksEnabled = null;
2338
+ var cliFlag37 = "experimental-tracks";
2339
+ var experimentalTracksOption = {
2340
+ name: "Enable experimental timeline tracks",
2341
+ cliFlag: cliFlag37,
2342
+ description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2343
+ children: [
2344
+ "Enable experimental timeline tracks in the Remotion Studio. Group clips from ",
2345
+ /* @__PURE__ */ jsx34("code", {
2346
+ children: "<Track>"
2347
+ }),
2348
+ ", ",
2349
+ /* @__PURE__ */ jsx34("code", {
2350
+ children: "<Series>"
2351
+ }),
2352
+ " and",
2353
+ " ",
2354
+ /* @__PURE__ */ jsx34("code", {
2355
+ children: "<TransitionSeries>"
2356
+ }),
2357
+ " on shared rows, with overlays on additional rows. Disabled by default."
2358
+ ]
2359
+ }),
2360
+ ssrName: null,
2361
+ docLink: "https://www.remotion.dev/docs/options/experimental-tracks",
2362
+ type: false,
2363
+ getValue: ({ commandLine }) => {
2364
+ if (commandLine[cliFlag37] !== undefined && commandLine[cliFlag37] !== null) {
2365
+ return {
2366
+ value: commandLine[cliFlag37],
2367
+ source: "cli"
2368
+ };
2369
+ }
2370
+ return {
2371
+ value: experimentalTracksEnabled,
2372
+ source: "config"
2373
+ };
2374
+ },
2375
+ setConfig(value) {
2376
+ experimentalTracksEnabled = value;
2377
+ configuredExperimentalTracksEnabled = value;
2378
+ },
2379
+ getConfigValue: () => configuredExperimentalTracksEnabled,
2380
+ reset: () => {
2381
+ experimentalTracksEnabled = false;
2382
+ configuredExperimentalTracksEnabled = null;
2383
+ },
2384
+ id: cliFlag37
2273
2385
  };
2274
2386
 
2275
2387
  // src/options/folder-expiry.tsx
2276
- import { jsx as jsx33, jsxs as jsxs25, Fragment as Fragment33 } from "react/jsx-runtime";
2388
+ import { jsx as jsx35, jsxs as jsxs27, Fragment as Fragment35 } from "react/jsx-runtime";
2277
2389
  var enableFolderExpiry = null;
2278
- var cliFlag36 = "enable-folder-expiry";
2390
+ var cliFlag38 = "enable-folder-expiry";
2279
2391
  var folderExpiryOption = {
2280
2392
  name: "Lambda render expiration",
2281
- cliFlag: cliFlag36,
2393
+ cliFlag: cliFlag38,
2282
2394
  description: () => {
2283
- return /* @__PURE__ */ jsxs25(Fragment33, {
2395
+ return /* @__PURE__ */ jsxs27(Fragment35, {
2284
2396
  children: [
2285
2397
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
2286
2398
  " ",
2287
- /* @__PURE__ */ jsx33("code", {
2399
+ /* @__PURE__ */ jsx35("code", {
2288
2400
  children: "null"
2289
2401
  }),
2290
2402
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
2291
- /* @__PURE__ */ jsx33("a", {
2403
+ /* @__PURE__ */ jsx35("a", {
2292
2404
  href: "/docs/lambda/autodelete",
2293
2405
  children: "Lambda autodelete"
2294
2406
  }),
@@ -2297,13 +2409,13 @@ var folderExpiryOption = {
2297
2409
  });
2298
2410
  },
2299
2411
  ssrName: "enableFolderExpiry",
2300
- docLink: "https://www.remotion.dev/docs/lambda/autodelete",
2412
+ docLink: "https://www.remotion.dev/docs/options/enable-folder-expiry",
2301
2413
  type: false,
2302
2414
  getValue: ({ commandLine }) => {
2303
- if (commandLine[cliFlag36] !== undefined) {
2415
+ if (commandLine[cliFlag38] !== undefined) {
2304
2416
  return {
2305
2417
  source: "cli",
2306
- value: commandLine[cliFlag36]
2418
+ value: commandLine[cliFlag38]
2307
2419
  };
2308
2420
  }
2309
2421
  if (enableFolderExpiry !== null) {
@@ -2320,28 +2432,28 @@ var folderExpiryOption = {
2320
2432
  setConfig: (value) => {
2321
2433
  enableFolderExpiry = value;
2322
2434
  },
2323
- id: cliFlag36
2435
+ id: cliFlag38
2324
2436
  };
2325
2437
 
2326
2438
  // src/options/for-seamless-aac-concatenation.tsx
2327
- import { jsx as jsx34, jsxs as jsxs26, Fragment as Fragment34 } from "react/jsx-runtime";
2439
+ import { jsx as jsx36, jsxs as jsxs28, Fragment as Fragment36 } from "react/jsx-runtime";
2328
2440
  var DEFAULT3 = false;
2329
2441
  var forSeamlessAacConcatenation = DEFAULT3;
2330
- var cliFlag37 = "for-seamless-aac-concatenation";
2442
+ var cliFlag39 = "for-seamless-aac-concatenation";
2331
2443
  var forSeamlessAacConcatenationOption = {
2332
2444
  name: "For seamless AAC concatenation",
2333
- cliFlag: cliFlag37,
2334
- description: () => /* @__PURE__ */ jsxs26(Fragment34, {
2445
+ cliFlag: cliFlag39,
2446
+ description: () => /* @__PURE__ */ jsxs28(Fragment36, {
2335
2447
  children: [
2336
2448
  "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", {}),
2449
+ /* @__PURE__ */ jsx36("br", {}),
2450
+ /* @__PURE__ */ jsx36("br", {}),
2339
2451
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
2340
2452
  ]
2341
2453
  }),
2342
- docLink: "https://remotion.dev/docs/renderer",
2454
+ docLink: "https://www.remotion.dev/docs/options/for-seamless-aac-concatenation",
2343
2455
  getValue: ({ commandLine }) => {
2344
- if (commandLine[cliFlag37]) {
2456
+ if (commandLine[cliFlag39]) {
2345
2457
  return {
2346
2458
  source: "cli",
2347
2459
  value: true
@@ -2363,26 +2475,26 @@ var forSeamlessAacConcatenationOption = {
2363
2475
  },
2364
2476
  ssrName: "forSeamlessAacConcatenation",
2365
2477
  type: false,
2366
- id: cliFlag37
2478
+ id: cliFlag39
2367
2479
  };
2368
2480
 
2369
2481
  // src/options/force-new-studio.tsx
2370
- import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
2482
+ import { jsx as jsx37, Fragment as Fragment37 } from "react/jsx-runtime";
2371
2483
  var forceNewEnabled = false;
2372
- var cliFlag38 = "force-new";
2484
+ var cliFlag40 = "force-new";
2373
2485
  var forceNewStudioOption = {
2374
2486
  name: "Force New Studio",
2375
- cliFlag: cliFlag38,
2376
- description: () => /* @__PURE__ */ jsx35(Fragment35, {
2487
+ cliFlag: cliFlag40,
2488
+ description: () => /* @__PURE__ */ jsx37(Fragment37, {
2377
2489
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
2378
2490
  }),
2379
2491
  ssrName: null,
2380
- docLink: "https://www.remotion.dev/docs/config#setforcenewstudioenabled",
2492
+ docLink: "https://www.remotion.dev/docs/options/force-new",
2381
2493
  type: false,
2382
2494
  getValue: ({ commandLine }) => {
2383
- if (commandLine[cliFlag38] !== undefined && commandLine[cliFlag38] !== null) {
2495
+ if (commandLine[cliFlag40] !== undefined && commandLine[cliFlag40] !== null) {
2384
2496
  return {
2385
- value: commandLine[cliFlag38],
2497
+ value: commandLine[cliFlag40],
2386
2498
  source: "cli"
2387
2499
  };
2388
2500
  }
@@ -2394,7 +2506,7 @@ var forceNewStudioOption = {
2394
2506
  setConfig(value) {
2395
2507
  forceNewEnabled = value;
2396
2508
  },
2397
- id: cliFlag38
2509
+ id: cliFlag40
2398
2510
  };
2399
2511
 
2400
2512
  // src/frame-range.ts
@@ -2513,8 +2625,8 @@ var validateSelectedFrames = ({
2513
2625
  };
2514
2626
 
2515
2627
  // src/options/frames.tsx
2516
- import { jsx as jsx36, jsxs as jsxs27, Fragment as Fragment36 } from "react/jsx-runtime";
2517
- var cliFlag39 = "frames";
2628
+ import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2629
+ var cliFlag41 = "frames";
2518
2630
  var frameSelection = null;
2519
2631
  var parseFrameRangeFromCli = (newFrameRange) => {
2520
2632
  if (typeof newFrameRange === "number") {
@@ -2591,27 +2703,27 @@ var parseFrameRangeFromCli = (newFrameRange) => {
2591
2703
  };
2592
2704
  var framesOption = {
2593
2705
  name: "Frame Range",
2594
- cliFlag: cliFlag39,
2595
- description: () => /* @__PURE__ */ jsxs27(Fragment36, {
2706
+ cliFlag: cliFlag41,
2707
+ description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2596
2708
  children: [
2597
2709
  "Render a subset of a video. Pass a single number to render a still, or a range (e.g. ",
2598
- /* @__PURE__ */ jsx36("code", {
2710
+ /* @__PURE__ */ jsx38("code", {
2599
2711
  children: "0-9"
2600
2712
  }),
2601
2713
  ") to render a subset of frames. Pass",
2602
2714
  " ",
2603
- /* @__PURE__ */ jsx36("code", {
2715
+ /* @__PURE__ */ jsx38("code", {
2604
2716
  children: "100-"
2605
2717
  }),
2606
2718
  " to render from frame 100 to the end."
2607
2719
  ]
2608
2720
  }),
2609
2721
  ssrName: "frameRange",
2610
- docLink: "https://www.remotion.dev/docs/config#setframerange",
2722
+ docLink: "https://www.remotion.dev/docs/options/frames",
2611
2723
  type: null,
2612
2724
  getValue: ({ commandLine }) => {
2613
- if (commandLine[cliFlag39] !== undefined) {
2614
- const value = parseFrameRangeFromCli(commandLine[cliFlag39]);
2725
+ if (commandLine[cliFlag41] !== undefined) {
2726
+ const value = parseFrameRangeFromCli(commandLine[cliFlag41]);
2615
2727
  if (typeof value === "object" && !Array.isArray(value)) {
2616
2728
  validateSelectedFrames({
2617
2729
  frames: value.frames,
@@ -2638,12 +2750,12 @@ var framesOption = {
2638
2750
  }
2639
2751
  frameSelection = value;
2640
2752
  },
2641
- id: cliFlag39
2753
+ id: cliFlag41
2642
2754
  };
2643
2755
 
2644
2756
  // 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";
2757
+ import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
2758
+ import { jsx as jsx39, jsxs as jsxs30, Fragment as Fragment39 } from "react/jsx-runtime";
2647
2759
  var validOpenGlRenderers = [
2648
2760
  "swangle",
2649
2761
  "angle",
@@ -2655,45 +2767,45 @@ var validOpenGlRenderers = [
2655
2767
  var getDefaultOpenGlRenderer = (enableV5BreakingChanges) => {
2656
2768
  return enableV5BreakingChanges ? "angle" : null;
2657
2769
  };
2658
- var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals2.ENABLE_V5_BREAKING_CHANGES);
2770
+ var DEFAULT_OPENGL_RENDERER = getDefaultOpenGlRenderer(NoReactInternals3.ENABLE_V5_BREAKING_CHANGES);
2659
2771
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
2660
2772
  var AngleChangelog = () => {
2661
- return /* @__PURE__ */ jsxs28("details", {
2773
+ return /* @__PURE__ */ jsxs30("details", {
2662
2774
  style: { fontSize: "0.9em", marginBottom: "1em" },
2663
2775
  children: [
2664
- /* @__PURE__ */ jsx37("summary", {
2776
+ /* @__PURE__ */ jsx39("summary", {
2665
2777
  children: "Changelog"
2666
2778
  }),
2667
- /* @__PURE__ */ jsxs28("ul", {
2779
+ /* @__PURE__ */ jsxs30("ul", {
2668
2780
  children: [
2669
- /* @__PURE__ */ jsxs28("li", {
2781
+ /* @__PURE__ */ jsxs30("li", {
2670
2782
  children: [
2671
2783
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
2672
2784
  " ",
2673
- /* @__PURE__ */ jsx37("code", {
2785
+ /* @__PURE__ */ jsx39("code", {
2674
2786
  children: "swiftshader"
2675
2787
  }),
2676
2788
  ", but from v3.0.8 the default is",
2677
2789
  " ",
2678
- /* @__PURE__ */ jsx37("code", {
2790
+ /* @__PURE__ */ jsx39("code", {
2679
2791
  children: "swangle"
2680
2792
  }),
2681
2793
  " (Swiftshader on Angle) since Chrome 101 added support for it."
2682
2794
  ]
2683
2795
  }),
2684
- /* @__PURE__ */ jsxs28("li", {
2796
+ /* @__PURE__ */ jsxs30("li", {
2685
2797
  children: [
2686
2798
  "From Remotion v2.4.3 until v2.6.6, the default was ",
2687
- /* @__PURE__ */ jsx37("code", {
2799
+ /* @__PURE__ */ jsx39("code", {
2688
2800
  children: "angle"
2689
2801
  }),
2690
2802
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
2691
2803
  ]
2692
2804
  }),
2693
- NoReactInternals2.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs28("li", {
2805
+ NoReactInternals3.ENABLE_V5_BREAKING_CHANGES ? /* @__PURE__ */ jsxs30("li", {
2694
2806
  children: [
2695
2807
  "From Remotion v5.0, the default is ",
2696
- /* @__PURE__ */ jsx37("code", {
2808
+ /* @__PURE__ */ jsx39("code", {
2697
2809
  children: "angle"
2698
2810
  }),
2699
2811
  ". If no compatible GPU is available, Chromium automatically falls back to SwiftShader."
@@ -2704,65 +2816,65 @@ var AngleChangelog = () => {
2704
2816
  ]
2705
2817
  });
2706
2818
  };
2707
- var cliFlag40 = "gl";
2819
+ var cliFlag42 = "gl";
2708
2820
  var glOption = {
2709
- cliFlag: cliFlag40,
2710
- docLink: "https://www.remotion.dev/docs/chromium-flags#--gl",
2821
+ cliFlag: cliFlag42,
2822
+ docLink: "https://www.remotion.dev/docs/options/gl",
2711
2823
  name: "OpenGL renderer",
2712
2824
  type: "angle",
2713
2825
  ssrName: "gl",
2714
2826
  description: () => {
2715
- return /* @__PURE__ */ jsxs28(Fragment37, {
2827
+ return /* @__PURE__ */ jsxs30(Fragment39, {
2716
2828
  children: [
2717
- /* @__PURE__ */ jsx37(AngleChangelog, {}),
2718
- /* @__PURE__ */ jsxs28("p", {
2829
+ /* @__PURE__ */ jsx39(AngleChangelog, {}),
2830
+ /* @__PURE__ */ jsxs30("p", {
2719
2831
  children: [
2720
2832
  "Select the OpenGL renderer backend for Chromium. ",
2721
- /* @__PURE__ */ jsx37("br", {}),
2833
+ /* @__PURE__ */ jsx39("br", {}),
2722
2834
  "Accepted values:"
2723
2835
  ]
2724
2836
  }),
2725
- /* @__PURE__ */ jsxs28("ul", {
2837
+ /* @__PURE__ */ jsxs30("ul", {
2726
2838
  children: [
2727
- /* @__PURE__ */ jsx37("li", {
2728
- children: /* @__PURE__ */ jsx37("code", {
2839
+ /* @__PURE__ */ jsx39("li", {
2840
+ children: /* @__PURE__ */ jsx39("code", {
2729
2841
  children: '"angle"'
2730
2842
  })
2731
2843
  }),
2732
- /* @__PURE__ */ jsx37("li", {
2733
- children: /* @__PURE__ */ jsx37("code", {
2844
+ /* @__PURE__ */ jsx39("li", {
2845
+ children: /* @__PURE__ */ jsx39("code", {
2734
2846
  children: '"egl"'
2735
2847
  })
2736
2848
  }),
2737
- /* @__PURE__ */ jsx37("li", {
2738
- children: /* @__PURE__ */ jsx37("code", {
2849
+ /* @__PURE__ */ jsx39("li", {
2850
+ children: /* @__PURE__ */ jsx39("code", {
2739
2851
  children: '"swiftshader"'
2740
2852
  })
2741
2853
  }),
2742
- /* @__PURE__ */ jsx37("li", {
2743
- children: /* @__PURE__ */ jsx37("code", {
2854
+ /* @__PURE__ */ jsx39("li", {
2855
+ children: /* @__PURE__ */ jsx39("code", {
2744
2856
  children: '"swangle"'
2745
2857
  })
2746
2858
  }),
2747
- /* @__PURE__ */ jsxs28("li", {
2859
+ /* @__PURE__ */ jsxs30("li", {
2748
2860
  children: [
2749
- /* @__PURE__ */ jsx37("code", {
2861
+ /* @__PURE__ */ jsx39("code", {
2750
2862
  children: '"vulkan"'
2751
2863
  }),
2752
2864
  " (",
2753
- /* @__PURE__ */ jsx37("em", {
2865
+ /* @__PURE__ */ jsx39("em", {
2754
2866
  children: "from Remotion v4.0.41"
2755
2867
  }),
2756
2868
  ")"
2757
2869
  ]
2758
2870
  }),
2759
- /* @__PURE__ */ jsxs28("li", {
2871
+ /* @__PURE__ */ jsxs30("li", {
2760
2872
  children: [
2761
- /* @__PURE__ */ jsx37("code", {
2873
+ /* @__PURE__ */ jsx39("code", {
2762
2874
  children: '"angle-egl"'
2763
2875
  }),
2764
2876
  " (",
2765
- /* @__PURE__ */ jsx37("em", {
2877
+ /* @__PURE__ */ jsx39("em", {
2766
2878
  children: "from Remotion v4.0.51"
2767
2879
  }),
2768
2880
  ")"
@@ -2770,16 +2882,16 @@ var glOption = {
2770
2882
  })
2771
2883
  ]
2772
2884
  }),
2773
- /* @__PURE__ */ jsxs28("p", {
2885
+ /* @__PURE__ */ jsxs30("p", {
2774
2886
  children: [
2775
2887
  "The default is",
2776
2888
  " ",
2777
- /* @__PURE__ */ jsx37("code", {
2889
+ /* @__PURE__ */ jsx39("code", {
2778
2890
  children: DEFAULT_OPENGL_RENDERER === null ? "null" : `"${DEFAULT_OPENGL_RENDERER}"`
2779
2891
  }),
2780
2892
  DEFAULT_OPENGL_RENDERER === null ? ", letting Chrome decide" : ", with automatic fallback to SwiftShader if no compatible GPU is available",
2781
2893
  ", except on Lambda where the default is ",
2782
- /* @__PURE__ */ jsx37("code", {
2894
+ /* @__PURE__ */ jsx39("code", {
2783
2895
  children: '"swangle"'
2784
2896
  })
2785
2897
  ]
@@ -2788,10 +2900,10 @@ var glOption = {
2788
2900
  });
2789
2901
  },
2790
2902
  getValue: ({ commandLine }) => {
2791
- if (commandLine[cliFlag40]) {
2792
- validateOpenGlRenderer(commandLine[cliFlag40]);
2903
+ if (commandLine[cliFlag42]) {
2904
+ validateOpenGlRenderer(commandLine[cliFlag42]);
2793
2905
  return {
2794
- value: commandLine[cliFlag40],
2906
+ value: commandLine[cliFlag42],
2795
2907
  source: "cli"
2796
2908
  };
2797
2909
  }
@@ -2810,7 +2922,7 @@ var glOption = {
2810
2922
  validateOpenGlRenderer(value);
2811
2923
  openGlRenderer = value;
2812
2924
  },
2813
- id: cliFlag40
2925
+ id: cliFlag42
2814
2926
  };
2815
2927
  var validateOpenGlRenderer = (option2) => {
2816
2928
  if (option2 === null) {
@@ -2823,7 +2935,7 @@ var validateOpenGlRenderer = (option2) => {
2823
2935
  };
2824
2936
 
2825
2937
  // src/options/gop-size.tsx
2826
- import { jsx as jsx38, jsxs as jsxs29, Fragment as Fragment38 } from "react/jsx-runtime";
2938
+ import { jsx as jsx40, jsxs as jsxs31, Fragment as Fragment40 } from "react/jsx-runtime";
2827
2939
  var gopSize = null;
2828
2940
  var validateGopSize = (value) => {
2829
2941
  if (value === null) {
@@ -2833,24 +2945,24 @@ var validateGopSize = (value) => {
2833
2945
  throw new TypeError("The GOP size must be an integer greater than 0 or null.");
2834
2946
  }
2835
2947
  };
2836
- var cliFlag41 = "gop";
2948
+ var cliFlag43 = "gop";
2837
2949
  var gopSizeOption = {
2838
2950
  name: "GOP size",
2839
- cliFlag: cliFlag41,
2840
- description: () => /* @__PURE__ */ jsxs29(Fragment38, {
2951
+ cliFlag: cliFlag43,
2952
+ description: () => /* @__PURE__ */ jsxs31(Fragment40, {
2841
2953
  children: [
2842
2954
  "Set the maximum number of frames between two keyframes. This maps to FFmpeg's ",
2843
- /* @__PURE__ */ jsx38("code", {
2955
+ /* @__PURE__ */ jsx40("code", {
2844
2956
  children: "-g"
2845
2957
  }),
2846
2958
  " option. Default: Let the encoder decide."
2847
2959
  ]
2848
2960
  }),
2849
2961
  ssrName: "gopSize",
2850
- docLink: "https://www.remotion.dev/docs/config#setgopsize",
2962
+ docLink: "https://www.remotion.dev/docs/options/gop",
2851
2963
  type: null,
2852
2964
  getValue: ({ commandLine }) => {
2853
- const value = commandLine[cliFlag41];
2965
+ const value = commandLine[cliFlag43];
2854
2966
  if (value !== undefined) {
2855
2967
  validateGopSize(value);
2856
2968
  return { value, source: "cli" };
@@ -2861,7 +2973,7 @@ var gopSizeOption = {
2861
2973
  validateGopSize(value);
2862
2974
  gopSize = value;
2863
2975
  },
2864
- id: cliFlag41
2976
+ id: cliFlag43
2865
2977
  };
2866
2978
 
2867
2979
  // src/options/hardware-acceleration.tsx
@@ -2870,11 +2982,11 @@ var hardwareAccelerationOptions = [
2870
2982
  "if-possible",
2871
2983
  "required"
2872
2984
  ];
2873
- var cliFlag42 = "hardware-acceleration";
2985
+ var cliFlag44 = "hardware-acceleration";
2874
2986
  var currentValue = null;
2875
2987
  var hardwareAccelerationOption = {
2876
2988
  name: "Hardware Acceleration",
2877
- cliFlag: cliFlag42,
2989
+ cliFlag: cliFlag44,
2878
2990
  description: () => `
2879
2991
  One of
2880
2992
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -2883,13 +2995,13 @@ var hardwareAccelerationOption = {
2883
2995
  available, then the render will fail.
2884
2996
  `,
2885
2997
  ssrName: "hardwareAcceleration",
2886
- docLink: "https://www.remotion.dev/docs/encoding",
2998
+ docLink: "https://www.remotion.dev/docs/options/hardware-acceleration",
2887
2999
  type: "disable",
2888
3000
  getValue: ({ commandLine }) => {
2889
- if (commandLine[cliFlag42] !== undefined) {
2890
- const value = commandLine[cliFlag42];
3001
+ if (commandLine[cliFlag44] !== undefined) {
3002
+ const value = commandLine[cliFlag44];
2891
3003
  if (!hardwareAccelerationOptions.includes(value)) {
2892
- throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
3004
+ throw new Error(`Invalid value for --${cliFlag44}: ${value}`);
2893
3005
  }
2894
3006
  return {
2895
3007
  source: "cli",
@@ -2909,26 +3021,26 @@ var hardwareAccelerationOption = {
2909
3021
  },
2910
3022
  setConfig: (value) => {
2911
3023
  if (!hardwareAccelerationOptions.includes(value)) {
2912
- throw new Error(`Invalid value for --${cliFlag42}: ${value}`);
3024
+ throw new Error(`Invalid value for --${cliFlag44}: ${value}`);
2913
3025
  }
2914
3026
  currentValue = value;
2915
3027
  },
2916
- id: cliFlag42
3028
+ id: cliFlag44
2917
3029
  };
2918
3030
 
2919
3031
  // src/options/headless.tsx
2920
- import { jsx as jsx39, jsxs as jsxs30, Fragment as Fragment39 } from "react/jsx-runtime";
3032
+ import { jsx as jsx41, jsxs as jsxs32, Fragment as Fragment41 } from "react/jsx-runtime";
2921
3033
  var DEFAULT4 = true;
2922
3034
  var headlessMode = DEFAULT4;
2923
- var cliFlag43 = "disable-headless";
3035
+ var cliFlag45 = "disable-headless";
2924
3036
  var headlessOption = {
2925
3037
  name: "Disable Headless Mode",
2926
- cliFlag: cliFlag43,
2927
- description: () => /* @__PURE__ */ jsxs30(Fragment39, {
3038
+ cliFlag: cliFlag45,
3039
+ description: () => /* @__PURE__ */ jsxs32(Fragment41, {
2928
3040
  children: [
2929
3041
  "If disabled, the render will open an actual Chrome window where you can see the render happen. This requires",
2930
3042
  " ",
2931
- /* @__PURE__ */ jsx39("a", {
3043
+ /* @__PURE__ */ jsx41("a", {
2932
3044
  href: "/docs/miscellaneous/chrome-headless-shell",
2933
3045
  children: "Chrome for Testing"
2934
3046
  }),
@@ -2937,13 +3049,13 @@ var headlessOption = {
2937
3049
  ]
2938
3050
  }),
2939
3051
  ssrName: "headless",
2940
- docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-headless",
3052
+ docLink: "https://www.remotion.dev/docs/options/disable-headless",
2941
3053
  type: false,
2942
3054
  getValue: ({ commandLine }) => {
2943
- if (commandLine[cliFlag43] !== undefined && commandLine[cliFlag43] !== null) {
3055
+ if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
2944
3056
  return {
2945
3057
  source: "cli",
2946
- value: !commandLine[cliFlag43]
3058
+ value: !commandLine[cliFlag45]
2947
3059
  };
2948
3060
  }
2949
3061
  if (headlessMode !== DEFAULT4) {
@@ -2960,27 +3072,27 @@ var headlessOption = {
2960
3072
  setConfig: (value) => {
2961
3073
  headlessMode = value;
2962
3074
  },
2963
- id: cliFlag43
3075
+ id: cliFlag45
2964
3076
  };
2965
3077
 
2966
3078
  // src/options/ignore-certificate-errors.tsx
2967
- import { jsx as jsx40, Fragment as Fragment40 } from "react/jsx-runtime";
3079
+ import { jsx as jsx42, Fragment as Fragment42 } from "react/jsx-runtime";
2968
3080
  var ignoreCertificateErrors = false;
2969
- var cliFlag44 = "ignore-certificate-errors";
3081
+ var cliFlag46 = "ignore-certificate-errors";
2970
3082
  var ignoreCertificateErrorsOption = {
2971
3083
  name: "Ignore certificate errors",
2972
- cliFlag: cliFlag44,
2973
- description: () => /* @__PURE__ */ jsx40(Fragment40, {
3084
+ cliFlag: cliFlag46,
3085
+ description: () => /* @__PURE__ */ jsx42(Fragment42, {
2974
3086
  children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
2975
3087
  }),
2976
3088
  ssrName: "ignoreCertificateErrors",
2977
- docLink: "https://www.remotion.dev/docs/chromium-flags#--ignore-certificate-errors",
3089
+ docLink: "https://www.remotion.dev/docs/options/ignore-certificate-errors",
2978
3090
  type: false,
2979
3091
  getValue: ({ commandLine }) => {
2980
- if (commandLine[cliFlag44] !== undefined && commandLine[cliFlag44] !== null) {
3092
+ if (commandLine[cliFlag46] !== undefined && commandLine[cliFlag46] !== null) {
2981
3093
  return {
2982
3094
  source: "cli",
2983
- value: Boolean(commandLine[cliFlag44])
3095
+ value: Boolean(commandLine[cliFlag46])
2984
3096
  };
2985
3097
  }
2986
3098
  if (ignoreCertificateErrors) {
@@ -2997,23 +3109,23 @@ var ignoreCertificateErrorsOption = {
2997
3109
  setConfig: (value) => {
2998
3110
  ignoreCertificateErrors = value;
2999
3111
  },
3000
- id: cliFlag44
3112
+ id: cliFlag46
3001
3113
  };
3002
3114
 
3003
3115
  // src/options/image-sequence.tsx
3004
- import { jsx as jsx41, jsxs as jsxs31, Fragment as Fragment41 } from "react/jsx-runtime";
3005
- var cliFlag45 = "sequence";
3116
+ import { jsx as jsx43, jsxs as jsxs33, Fragment as Fragment43 } from "react/jsx-runtime";
3117
+ var cliFlag47 = "sequence";
3006
3118
  var imageSequence = false;
3007
3119
  var imageSequenceOption = {
3008
3120
  name: "Image Sequence",
3009
- cliFlag: cliFlag45,
3010
- description: () => /* @__PURE__ */ jsxs31(Fragment41, {
3121
+ cliFlag: cliFlag47,
3122
+ description: () => /* @__PURE__ */ jsxs33(Fragment43, {
3011
3123
  children: [
3012
3124
  "Pass this flag to output an image sequence instead of a video. The default image format is JPEG. See",
3013
3125
  " ",
3014
- /* @__PURE__ */ jsx41("a", {
3126
+ /* @__PURE__ */ jsx43("a", {
3015
3127
  href: "/docs/config#setimagesequence",
3016
- children: /* @__PURE__ */ jsx41("code", {
3128
+ children: /* @__PURE__ */ jsx43("code", {
3017
3129
  children: "setImageSequence()"
3018
3130
  })
3019
3131
  }),
@@ -3022,12 +3134,12 @@ var imageSequenceOption = {
3022
3134
  ]
3023
3135
  }),
3024
3136
  ssrName: null,
3025
- docLink: "https://www.remotion.dev/docs/config#setimagesequence",
3137
+ docLink: "https://www.remotion.dev/docs/options/sequence",
3026
3138
  getValue: ({ commandLine }) => {
3027
- if (commandLine[cliFlag45] !== undefined && commandLine[cliFlag45] !== null) {
3139
+ if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3028
3140
  return {
3029
3141
  source: "cli",
3030
- value: Boolean(commandLine[cliFlag45])
3142
+ value: Boolean(commandLine[cliFlag47])
3031
3143
  };
3032
3144
  }
3033
3145
  return {
@@ -3039,33 +3151,39 @@ var imageSequenceOption = {
3039
3151
  imageSequence = value;
3040
3152
  },
3041
3153
  type: false,
3042
- id: cliFlag45
3154
+ id: cliFlag47
3043
3155
  };
3044
3156
 
3045
3157
  // 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";
3158
+ import { jsx as jsx44, jsxs as jsxs34, Fragment as Fragment44 } from "react/jsx-runtime";
3159
+ var cliFlag48 = "image-sequence-pattern";
3048
3160
  var currentImageSequencePattern = null;
3049
3161
  var imageSequencePatternOption = {
3050
3162
  name: "Image Sequence Pattern",
3051
- cliFlag: cliFlag46,
3163
+ cliFlag: cliFlag48,
3052
3164
  ssrName: "imageSequencePattern",
3053
- description: () => /* @__PURE__ */ jsxs32(Fragment42, {
3165
+ description: () => /* @__PURE__ */ jsxs34(Fragment44, {
3054
3166
  children: [
3055
3167
  "Pattern for naming image sequence files. Supports ",
3056
- /* @__PURE__ */ jsx42("code", {
3168
+ /* @__PURE__ */ jsx44("code", {
3057
3169
  children: "[frame]"
3058
3170
  }),
3059
3171
  " for the zero-padded frame number and ",
3060
- /* @__PURE__ */ jsx42("code", {
3172
+ /* @__PURE__ */ jsx44("code", {
3061
3173
  children: "[ext]"
3062
3174
  }),
3063
3175
  " for the file extension."
3064
3176
  ]
3065
3177
  }),
3066
- docLink: null,
3178
+ docLink: "https://www.remotion.dev/docs/options/image-sequence-pattern",
3067
3179
  type: "string",
3068
3180
  getValue: ({ commandLine }) => {
3181
+ if (commandLine[cliFlag48] !== undefined) {
3182
+ return {
3183
+ value: commandLine[cliFlag48],
3184
+ source: "cli"
3185
+ };
3186
+ }
3069
3187
  if (currentImageSequencePattern !== null) {
3070
3188
  return {
3071
3189
  value: currentImageSequencePattern,
@@ -3073,8 +3191,8 @@ var imageSequencePatternOption = {
3073
3191
  };
3074
3192
  }
3075
3193
  return {
3076
- value: commandLine[cliFlag46],
3077
- source: "cli"
3194
+ value: null,
3195
+ source: "default"
3078
3196
  };
3079
3197
  },
3080
3198
  setConfig: (pattern) => {
@@ -3083,26 +3201,26 @@ var imageSequencePatternOption = {
3083
3201
  reset: () => {
3084
3202
  currentImageSequencePattern = null;
3085
3203
  },
3086
- id: cliFlag46
3204
+ id: cliFlag48
3087
3205
  };
3088
3206
 
3089
3207
  // src/options/interactivity.tsx
3090
- import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
3208
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
3091
3209
  var interactivityEnabled = true;
3092
3210
  var configuredInteractivityEnabled = null;
3093
- var cliFlag47 = "disable-interactivity";
3211
+ var cliFlag49 = "disable-interactivity";
3094
3212
  var interactivityOption = {
3095
3213
  name: "Disable or enable Studio interactivity",
3096
- cliFlag: cliFlag47,
3097
- description: () => /* @__PURE__ */ jsx43(Fragment43, {
3214
+ cliFlag: cliFlag49,
3215
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
3098
3216
  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."
3099
3217
  }),
3100
3218
  ssrName: null,
3101
- docLink: "https://www.remotion.dev/docs/config#setinteractivityenabled",
3219
+ docLink: "https://www.remotion.dev/docs/options/disable-interactivity",
3102
3220
  type: false,
3103
3221
  getValue: ({ commandLine }) => {
3104
- if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3105
- interactivityEnabled = commandLine[cliFlag47] === false;
3222
+ if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3223
+ interactivityEnabled = commandLine[cliFlag49] === false;
3106
3224
  return {
3107
3225
  value: interactivityEnabled,
3108
3226
  source: "cli"
@@ -3122,26 +3240,26 @@ var interactivityOption = {
3122
3240
  interactivityEnabled = true;
3123
3241
  configuredInteractivityEnabled = null;
3124
3242
  },
3125
- id: cliFlag47
3243
+ id: cliFlag49
3126
3244
  };
3127
3245
 
3128
3246
  // src/options/ipv4.tsx
3129
- import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
3247
+ import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3130
3248
  var forceIPv4 = false;
3131
- var cliFlag48 = "ipv4";
3249
+ var cliFlag50 = "ipv4";
3132
3250
  var ipv4Option = {
3133
3251
  name: "IPv4",
3134
- cliFlag: cliFlag48,
3135
- description: () => /* @__PURE__ */ jsx44(Fragment44, {
3252
+ cliFlag: cliFlag50,
3253
+ description: () => /* @__PURE__ */ jsx46(Fragment46, {
3136
3254
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
3137
3255
  }),
3138
3256
  ssrName: null,
3139
- docLink: "https://www.remotion.dev/docs/cli/studio",
3257
+ docLink: "https://www.remotion.dev/docs/options/ipv4",
3140
3258
  type: false,
3141
3259
  getValue: ({ commandLine }) => {
3142
- if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
3260
+ if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3143
3261
  return {
3144
- value: commandLine[cliFlag48],
3262
+ value: commandLine[cliFlag50],
3145
3263
  source: "cli"
3146
3264
  };
3147
3265
  }
@@ -3153,37 +3271,37 @@ var ipv4Option = {
3153
3271
  setConfig(value) {
3154
3272
  forceIPv4 = value;
3155
3273
  },
3156
- id: cliFlag48
3274
+ id: cliFlag50
3157
3275
  };
3158
3276
 
3159
3277
  // src/options/is-production.tsx
3160
- import { jsx as jsx45, jsxs as jsxs33, Fragment as Fragment45 } from "react/jsx-runtime";
3161
- var cliFlag49 = "is-production";
3278
+ import { jsx as jsx47, jsxs as jsxs35, Fragment as Fragment47 } from "react/jsx-runtime";
3279
+ var cliFlag51 = "is-production";
3162
3280
  var currentIsProductionKey = null;
3163
3281
  var isProductionOption = {
3164
3282
  name: "Is Production",
3165
- cliFlag: cliFlag49,
3166
- description: () => /* @__PURE__ */ jsxs33(Fragment45, {
3283
+ cliFlag: cliFlag51,
3284
+ description: () => /* @__PURE__ */ jsxs35(Fragment47, {
3167
3285
  children: [
3168
3286
  "Pass ",
3169
- /* @__PURE__ */ jsx45("code", {
3287
+ /* @__PURE__ */ jsx47("code", {
3170
3288
  children: "false"
3171
3289
  }),
3172
3290
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
3173
3291
  " ",
3174
- /* @__PURE__ */ jsx45("code", {
3292
+ /* @__PURE__ */ jsx47("code", {
3175
3293
  children: "licenseKey"
3176
3294
  }),
3177
3295
  "."
3178
3296
  ]
3179
3297
  }),
3180
3298
  ssrName: "isProduction",
3181
- docLink: "https://www.remotion.dev/docs/licensing",
3299
+ docLink: "https://www.remotion.dev/docs/options/is-production",
3182
3300
  getValue: ({ commandLine }) => {
3183
- if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3301
+ if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3184
3302
  return {
3185
3303
  source: "cli",
3186
- value: commandLine[cliFlag49]
3304
+ value: commandLine[cliFlag51]
3187
3305
  };
3188
3306
  }
3189
3307
  if (currentIsProductionKey !== null) {
@@ -3201,11 +3319,11 @@ var isProductionOption = {
3201
3319
  currentIsProductionKey = value;
3202
3320
  },
3203
3321
  type: false,
3204
- id: cliFlag49
3322
+ id: cliFlag51
3205
3323
  };
3206
3324
 
3207
3325
  // src/options/jpeg-quality.tsx
3208
- import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3326
+ import { jsx as jsx48, jsxs as jsxs36, Fragment as Fragment48 } from "react/jsx-runtime";
3209
3327
  var defaultValue = DEFAULT_JPEG_QUALITY;
3210
3328
  var quality = defaultValue;
3211
3329
  var setJpegQuality = (q) => {
@@ -3216,23 +3334,33 @@ var setJpegQuality = (q) => {
3216
3334
  }
3217
3335
  quality = q;
3218
3336
  };
3219
- var cliFlag50 = "jpeg-quality";
3337
+ var cliFlag52 = "jpeg-quality";
3220
3338
  var jpegQualityOption = {
3221
3339
  name: "JPEG Quality",
3222
- cliFlag: cliFlag50,
3223
- description: () => /* @__PURE__ */ jsx46(Fragment46, {
3224
- children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
3340
+ cliFlag: cliFlag52,
3341
+ description: () => /* @__PURE__ */ jsxs36(Fragment48, {
3342
+ children: [
3343
+ "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80.",
3344
+ /* @__PURE__ */ jsx48("br", {}),
3345
+ "This option has no effect when",
3346
+ " ",
3347
+ /* @__PURE__ */ jsx48("a", {
3348
+ href: "/docs/shared-memory-capture",
3349
+ children: "shared-memory capture"
3350
+ }),
3351
+ " is active."
3352
+ ]
3225
3353
  }),
3226
3354
  ssrName: "jpegQuality",
3227
- docLink: "https://www.remotion.dev/docs/renderer/render-media#jpeg-quality",
3355
+ docLink: "https://www.remotion.dev/docs/options/jpeg-quality",
3228
3356
  type: 0,
3229
3357
  setConfig: setJpegQuality,
3230
3358
  getValue: ({ commandLine }) => {
3231
- if (commandLine[cliFlag50] !== undefined) {
3232
- validateJpegQuality(commandLine[cliFlag50]);
3359
+ if (commandLine[cliFlag52] !== undefined) {
3360
+ validateJpegQuality(commandLine[cliFlag52]);
3233
3361
  return {
3234
3362
  source: "cli",
3235
- value: commandLine[cliFlag50]
3363
+ value: commandLine[cliFlag52]
3236
3364
  };
3237
3365
  }
3238
3366
  if (quality !== defaultValue) {
@@ -3246,26 +3374,26 @@ var jpegQualityOption = {
3246
3374
  value: defaultValue
3247
3375
  };
3248
3376
  },
3249
- id: cliFlag50
3377
+ id: cliFlag52
3250
3378
  };
3251
3379
 
3252
3380
  // src/options/keyboard-shortcuts.tsx
3253
- import { jsx as jsx47, Fragment as Fragment47 } from "react/jsx-runtime";
3381
+ import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3254
3382
  var keyboardShortcutsEnabled = true;
3255
3383
  var configuredKeyboardShortcutsEnabled = null;
3256
- var cliFlag51 = "disable-keyboard-shortcuts";
3384
+ var cliFlag53 = "disable-keyboard-shortcuts";
3257
3385
  var keyboardShortcutsOption = {
3258
3386
  name: "Disable or Enable keyboard shortcuts",
3259
- cliFlag: cliFlag51,
3260
- description: () => /* @__PURE__ */ jsx47(Fragment47, {
3387
+ cliFlag: cliFlag53,
3388
+ description: () => /* @__PURE__ */ jsx49(Fragment49, {
3261
3389
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
3262
3390
  }),
3263
3391
  ssrName: null,
3264
- docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
3392
+ docLink: "https://www.remotion.dev/docs/options/disable-keyboard-shortcuts",
3265
3393
  type: false,
3266
3394
  getValue: ({ commandLine }) => {
3267
- if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3268
- keyboardShortcutsEnabled = commandLine[cliFlag51] === false;
3395
+ if (commandLine[cliFlag53] !== undefined && commandLine[cliFlag53] !== null) {
3396
+ keyboardShortcutsEnabled = commandLine[cliFlag53] === false;
3269
3397
  return {
3270
3398
  value: keyboardShortcutsEnabled,
3271
3399
  source: "cli"
@@ -3285,51 +3413,51 @@ var keyboardShortcutsOption = {
3285
3413
  keyboardShortcutsEnabled = true;
3286
3414
  configuredKeyboardShortcutsEnabled = null;
3287
3415
  },
3288
- id: cliFlag51
3416
+ id: cliFlag53
3289
3417
  };
3290
3418
 
3291
3419
  // src/options/latency-hint.tsx
3292
- import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3293
- var cliFlag52 = "audio-latency-hint";
3420
+ import { jsx as jsx50, jsxs as jsxs37, Fragment as Fragment50 } from "react/jsx-runtime";
3421
+ var cliFlag54 = "audio-latency-hint";
3294
3422
  var value = null;
3295
3423
  var audioLatencyHintOption = {
3296
3424
  name: "Audio Latency Hint",
3297
- cliFlag: cliFlag52,
3298
- description: () => /* @__PURE__ */ jsxs34(Fragment48, {
3425
+ cliFlag: cliFlag54,
3426
+ description: () => /* @__PURE__ */ jsxs37(Fragment50, {
3299
3427
  children: [
3300
3428
  "Sets the",
3301
3429
  " ",
3302
- /* @__PURE__ */ jsx48("a", {
3430
+ /* @__PURE__ */ jsx50("a", {
3303
3431
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
3304
3432
  children: "audio latency"
3305
3433
  }),
3306
3434
  " ",
3307
3435
  "hint for the global ",
3308
- /* @__PURE__ */ jsx48("code", {
3436
+ /* @__PURE__ */ jsx50("code", {
3309
3437
  children: "AudioContext"
3310
3438
  }),
3311
3439
  " context that Remotion uses to play audio.",
3312
- /* @__PURE__ */ jsx48("br", {}),
3440
+ /* @__PURE__ */ jsx50("br", {}),
3313
3441
  "Possible values: ",
3314
- /* @__PURE__ */ jsx48("code", {
3442
+ /* @__PURE__ */ jsx50("code", {
3315
3443
  children: "interactive"
3316
3444
  }),
3317
3445
  ", ",
3318
- /* @__PURE__ */ jsx48("code", {
3446
+ /* @__PURE__ */ jsx50("code", {
3319
3447
  children: "balanced"
3320
3448
  }),
3321
3449
  ",",
3322
3450
  " ",
3323
- /* @__PURE__ */ jsx48("code", {
3451
+ /* @__PURE__ */ jsx50("code", {
3324
3452
  children: "playback"
3325
3453
  })
3326
3454
  ]
3327
3455
  }),
3328
3456
  ssrName: "audioLatencyHint",
3329
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
3457
+ docLink: "https://www.remotion.dev/docs/options/audio-latency-hint",
3330
3458
  type: "playback",
3331
3459
  getValue: ({ commandLine }) => {
3332
- const val = commandLine[cliFlag52];
3460
+ const val = commandLine[cliFlag54];
3333
3461
  if (typeof val !== "undefined") {
3334
3462
  return { value: val, source: "cli" };
3335
3463
  }
@@ -3345,34 +3473,34 @@ var audioLatencyHintOption = {
3345
3473
  reset: () => {
3346
3474
  value = null;
3347
3475
  },
3348
- id: cliFlag52
3476
+ id: cliFlag54
3349
3477
  };
3350
3478
 
3351
3479
  // src/options/license-key.tsx
3352
- import { jsx as jsx49, jsxs as jsxs35, Fragment as Fragment49 } from "react/jsx-runtime";
3480
+ import { jsx as jsx51, jsxs as jsxs38, Fragment as Fragment51 } from "react/jsx-runtime";
3353
3481
  var currentLicenseKey = null;
3354
- var cliFlag53 = "license-key";
3482
+ var cliFlag55 = "license-key";
3355
3483
  var licenseKeyOption = {
3356
3484
  name: "License key",
3357
- cliFlag: cliFlag53,
3358
- description: () => /* @__PURE__ */ jsxs35(Fragment49, {
3485
+ cliFlag: cliFlag55,
3486
+ description: () => /* @__PURE__ */ jsxs38(Fragment51, {
3359
3487
  children: [
3360
3488
  "License key for sending a usage event using",
3361
3489
  " ",
3362
- /* @__PURE__ */ jsx49("code", {
3490
+ /* @__PURE__ */ jsx51("code", {
3363
3491
  children: "@remotion/licensing"
3364
3492
  }),
3365
3493
  "."
3366
3494
  ]
3367
3495
  }),
3368
3496
  ssrName: "licenseKey",
3369
- docLink: "https://www.remotion.dev/docs/licensing",
3497
+ docLink: "https://www.remotion.dev/docs/options/license-key",
3370
3498
  type: null,
3371
3499
  getValue: ({ commandLine }) => {
3372
- if (commandLine[cliFlag53] !== undefined) {
3500
+ if (commandLine[cliFlag55] !== undefined) {
3373
3501
  return {
3374
3502
  source: "cli",
3375
- value: commandLine[cliFlag53]
3503
+ value: commandLine[cliFlag55]
3376
3504
  };
3377
3505
  }
3378
3506
  return {
@@ -3383,60 +3511,60 @@ var licenseKeyOption = {
3383
3511
  setConfig: (value2) => {
3384
3512
  currentLicenseKey = value2;
3385
3513
  },
3386
- id: cliFlag53
3514
+ id: cliFlag55
3387
3515
  };
3388
3516
 
3389
3517
  // src/options/log-level.tsx
3390
- import { jsx as jsx50, jsxs as jsxs36, Fragment as Fragment50 } from "react/jsx-runtime";
3518
+ import { jsx as jsx52, jsxs as jsxs39, Fragment as Fragment52 } from "react/jsx-runtime";
3391
3519
  var logLevel = "info";
3392
3520
  var configuredLogLevel = null;
3393
- var cliFlag54 = "log";
3521
+ var cliFlag56 = "log";
3394
3522
  var logLevelOption = {
3395
- cliFlag: cliFlag54,
3523
+ cliFlag: cliFlag56,
3396
3524
  name: "Log Level",
3397
3525
  ssrName: "logLevel",
3398
- description: () => /* @__PURE__ */ jsxs36(Fragment50, {
3526
+ description: () => /* @__PURE__ */ jsxs39(Fragment52, {
3399
3527
  children: [
3400
3528
  "One of ",
3401
- /* @__PURE__ */ jsx50("code", {
3529
+ /* @__PURE__ */ jsx52("code", {
3402
3530
  children: "trace"
3403
3531
  }),
3404
3532
  ", ",
3405
- /* @__PURE__ */ jsx50("code", {
3533
+ /* @__PURE__ */ jsx52("code", {
3406
3534
  children: "verbose"
3407
3535
  }),
3408
3536
  ", ",
3409
- /* @__PURE__ */ jsx50("code", {
3537
+ /* @__PURE__ */ jsx52("code", {
3410
3538
  children: "info"
3411
3539
  }),
3412
3540
  ",",
3413
3541
  " ",
3414
- /* @__PURE__ */ jsx50("code", {
3542
+ /* @__PURE__ */ jsx52("code", {
3415
3543
  children: "warn"
3416
3544
  }),
3417
3545
  ", ",
3418
- /* @__PURE__ */ jsx50("code", {
3546
+ /* @__PURE__ */ jsx52("code", {
3419
3547
  children: "error"
3420
3548
  }),
3421
3549
  ".",
3422
- /* @__PURE__ */ jsx50("br", {}),
3550
+ /* @__PURE__ */ jsx52("br", {}),
3423
3551
  " Determines how much info is being logged to the console.",
3424
- /* @__PURE__ */ jsx50("br", {}),
3425
- /* @__PURE__ */ jsx50("br", {}),
3552
+ /* @__PURE__ */ jsx52("br", {}),
3553
+ /* @__PURE__ */ jsx52("br", {}),
3426
3554
  " Default ",
3427
- /* @__PURE__ */ jsx50("code", {
3555
+ /* @__PURE__ */ jsx52("code", {
3428
3556
  children: "info"
3429
3557
  }),
3430
3558
  "."
3431
3559
  ]
3432
3560
  }),
3433
- docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
3561
+ docLink: "https://www.remotion.dev/docs/options/log",
3434
3562
  getValue: ({ commandLine }) => {
3435
- if (commandLine[cliFlag54]) {
3436
- if (!isValidLogLevel(commandLine[cliFlag54])) {
3563
+ if (commandLine[cliFlag56]) {
3564
+ if (!isValidLogLevel(commandLine[cliFlag56])) {
3437
3565
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3438
3566
  }
3439
- return { value: commandLine[cliFlag54], source: "cli" };
3567
+ return { value: commandLine[cliFlag56], source: "cli" };
3440
3568
  }
3441
3569
  if (logLevel !== "info") {
3442
3570
  return { value: logLevel, source: "config" };
@@ -3453,23 +3581,23 @@ var logLevelOption = {
3453
3581
  configuredLogLevel = null;
3454
3582
  },
3455
3583
  type: "error",
3456
- id: cliFlag54
3584
+ id: cliFlag56
3457
3585
  };
3458
3586
 
3459
3587
  // src/options/metadata.tsx
3460
- import { jsx as jsx51, jsxs as jsxs37, Fragment as Fragment51 } from "react/jsx-runtime";
3588
+ import { jsx as jsx53, jsxs as jsxs40, Fragment as Fragment53 } from "react/jsx-runtime";
3461
3589
  var metadata = {};
3462
- var cliFlag55 = "metadata";
3590
+ var cliFlag57 = "metadata";
3463
3591
  var metadataOption = {
3464
3592
  name: "Metadata",
3465
- cliFlag: cliFlag55,
3593
+ cliFlag: cliFlag57,
3466
3594
  description: (mode) => {
3467
3595
  if (mode === "ssr") {
3468
- return /* @__PURE__ */ jsxs37(Fragment51, {
3596
+ return /* @__PURE__ */ jsxs40(Fragment53, {
3469
3597
  children: [
3470
3598
  "An object containing metadata to be embedded in the video. See",
3471
3599
  " ",
3472
- /* @__PURE__ */ jsx51("a", {
3600
+ /* @__PURE__ */ jsx53("a", {
3473
3601
  href: "/docs/metadata",
3474
3602
  children: "here"
3475
3603
  }),
@@ -3477,18 +3605,18 @@ var metadataOption = {
3477
3605
  ]
3478
3606
  });
3479
3607
  }
3480
- return /* @__PURE__ */ jsxs37(Fragment51, {
3608
+ return /* @__PURE__ */ jsxs40(Fragment53, {
3481
3609
  children: [
3482
3610
  "Metadata to be embedded in the video. See",
3483
3611
  " ",
3484
- /* @__PURE__ */ jsx51("a", {
3612
+ /* @__PURE__ */ jsx53("a", {
3485
3613
  href: "/docs/metadata",
3486
3614
  children: "here"
3487
3615
  }),
3488
3616
  " for which metadata is accepted.",
3489
- /* @__PURE__ */ jsx51("br", {}),
3617
+ /* @__PURE__ */ jsx53("br", {}),
3490
3618
  "The parameter must be in the format of ",
3491
- /* @__PURE__ */ jsx51("code", {
3619
+ /* @__PURE__ */ jsx53("code", {
3492
3620
  children: "--metadata key=value"
3493
3621
  }),
3494
3622
  " ",
@@ -3496,11 +3624,11 @@ var metadataOption = {
3496
3624
  ]
3497
3625
  });
3498
3626
  },
3499
- docLink: "https://www.remotion.dev/docs/metadata",
3627
+ docLink: "https://www.remotion.dev/docs/options/metadata",
3500
3628
  type: {},
3501
3629
  getValue: ({ commandLine }) => {
3502
- if (commandLine[cliFlag55] !== undefined) {
3503
- const val = commandLine[cliFlag55];
3630
+ if (commandLine[cliFlag57] !== undefined) {
3631
+ const val = commandLine[cliFlag57];
3504
3632
  const array = typeof val === "string" ? [val] : val;
3505
3633
  const keyValues = array.map((a) => {
3506
3634
  if (!a.includes("=")) {
@@ -3527,28 +3655,28 @@ var metadataOption = {
3527
3655
  metadata = newMetadata;
3528
3656
  },
3529
3657
  ssrName: "metadata",
3530
- id: cliFlag55
3658
+ id: cliFlag57
3531
3659
  };
3532
3660
 
3533
3661
  // src/options/mute.tsx
3534
- import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3662
+ import { jsx as jsx54, Fragment as Fragment54 } from "react/jsx-runtime";
3535
3663
  var DEFAULT_MUTED_STATE = false;
3536
3664
  var mutedState = DEFAULT_MUTED_STATE;
3537
- var cliFlag56 = "muted";
3665
+ var cliFlag58 = "muted";
3538
3666
  var mutedOption = {
3539
3667
  name: "Muted",
3540
- cliFlag: cliFlag56,
3541
- description: () => /* @__PURE__ */ jsx52(Fragment52, {
3668
+ cliFlag: cliFlag58,
3669
+ description: () => /* @__PURE__ */ jsx54(Fragment54, {
3542
3670
  children: "The Audio of the video will be omitted."
3543
3671
  }),
3544
3672
  ssrName: "muted",
3545
- docLink: "https://www.remotion.dev/docs/audio/muting",
3673
+ docLink: "https://www.remotion.dev/docs/options/muted",
3546
3674
  type: false,
3547
3675
  getValue: ({ commandLine }) => {
3548
- if (commandLine[cliFlag56] !== null) {
3676
+ if (commandLine[cliFlag58] !== null) {
3549
3677
  return {
3550
3678
  source: "cli",
3551
- value: commandLine[cliFlag56]
3679
+ value: commandLine[cliFlag58]
3552
3680
  };
3553
3681
  }
3554
3682
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3568,21 +3696,21 @@ var mutedOption = {
3568
3696
  reset: () => {
3569
3697
  mutedState = DEFAULT_MUTED_STATE;
3570
3698
  },
3571
- id: cliFlag56
3699
+ id: cliFlag58
3572
3700
  };
3573
3701
 
3574
3702
  // src/options/no-open.tsx
3575
- import { jsx as jsx53, Fragment as Fragment53 } from "react/jsx-runtime";
3703
+ import { jsx as jsx55, Fragment as Fragment55 } from "react/jsx-runtime";
3576
3704
  var shouldOpenBrowser = true;
3577
- var cliFlag57 = "no-open";
3705
+ var cliFlag59 = "no-open";
3578
3706
  var noOpenOption = {
3579
3707
  name: "Disable browser auto-open",
3580
- cliFlag: cliFlag57,
3581
- description: () => /* @__PURE__ */ jsx53(Fragment53, {
3708
+ cliFlag: cliFlag59,
3709
+ description: () => /* @__PURE__ */ jsx55(Fragment55, {
3582
3710
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3583
3711
  }),
3584
3712
  ssrName: null,
3585
- docLink: "https://www.remotion.dev/docs/cli/studio#--no-open",
3713
+ docLink: "https://www.remotion.dev/docs/options/no-open",
3586
3714
  type: false,
3587
3715
  getValue: ({ commandLine }) => {
3588
3716
  const cliValue = commandLine.open;
@@ -3600,54 +3728,54 @@ var noOpenOption = {
3600
3728
  reset: () => {
3601
3729
  shouldOpenBrowser = true;
3602
3730
  },
3603
- id: cliFlag57
3731
+ id: cliFlag59
3604
3732
  };
3605
3733
 
3606
3734
  // src/options/number-of-gif-loops.tsx
3607
- import { jsx as jsx54, jsxs as jsxs38, Fragment as Fragment54 } from "react/jsx-runtime";
3735
+ import { jsx as jsx56, jsxs as jsxs41, Fragment as Fragment56 } from "react/jsx-runtime";
3608
3736
  var currentLoop = null;
3609
3737
  var validate = (newLoop) => {
3610
3738
  if (newLoop !== null && typeof newLoop !== "number") {
3611
3739
  throw new Error("--number-of-gif-loops flag must be a number.");
3612
3740
  }
3613
3741
  };
3614
- var cliFlag58 = "number-of-gif-loops";
3742
+ var cliFlag60 = "number-of-gif-loops";
3615
3743
  var numberOfGifLoopsOption = {
3616
3744
  name: "Number of GIF loops",
3617
- cliFlag: cliFlag58,
3745
+ cliFlag: cliFlag60,
3618
3746
  description: () => {
3619
- return /* @__PURE__ */ jsxs38(Fragment54, {
3747
+ return /* @__PURE__ */ jsxs41(Fragment56, {
3620
3748
  children: [
3621
3749
  "Allows you to set the number of loops as follows:",
3622
- /* @__PURE__ */ jsxs38("ul", {
3750
+ /* @__PURE__ */ jsxs41("ul", {
3623
3751
  children: [
3624
- /* @__PURE__ */ jsxs38("li", {
3752
+ /* @__PURE__ */ jsxs41("li", {
3625
3753
  children: [
3626
- /* @__PURE__ */ jsx54("code", {
3754
+ /* @__PURE__ */ jsx56("code", {
3627
3755
  children: "null"
3628
3756
  }),
3629
3757
  " (or omitting in the CLI) plays the GIF indefinitely."
3630
3758
  ]
3631
3759
  }),
3632
- /* @__PURE__ */ jsxs38("li", {
3760
+ /* @__PURE__ */ jsxs41("li", {
3633
3761
  children: [
3634
- /* @__PURE__ */ jsx54("code", {
3762
+ /* @__PURE__ */ jsx56("code", {
3635
3763
  children: "0"
3636
3764
  }),
3637
3765
  " disables looping"
3638
3766
  ]
3639
3767
  }),
3640
- /* @__PURE__ */ jsxs38("li", {
3768
+ /* @__PURE__ */ jsxs41("li", {
3641
3769
  children: [
3642
- /* @__PURE__ */ jsx54("code", {
3770
+ /* @__PURE__ */ jsx56("code", {
3643
3771
  children: "1"
3644
3772
  }),
3645
3773
  " loops the GIF once (plays twice in total)"
3646
3774
  ]
3647
3775
  }),
3648
- /* @__PURE__ */ jsxs38("li", {
3776
+ /* @__PURE__ */ jsxs41("li", {
3649
3777
  children: [
3650
- /* @__PURE__ */ jsx54("code", {
3778
+ /* @__PURE__ */ jsx56("code", {
3651
3779
  children: "2"
3652
3780
  }),
3653
3781
  " loops the GIF twice (plays three times in total) and so on."
@@ -3659,13 +3787,13 @@ var numberOfGifLoopsOption = {
3659
3787
  });
3660
3788
  },
3661
3789
  ssrName: "numberOfGifLoops",
3662
- docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
3790
+ docLink: "https://www.remotion.dev/docs/options/number-of-gif-loops",
3663
3791
  type: 0,
3664
3792
  getValue: ({ commandLine }) => {
3665
- if (commandLine[cliFlag58] !== undefined) {
3666
- validate(commandLine[cliFlag58]);
3793
+ if (commandLine[cliFlag60] !== undefined) {
3794
+ validate(commandLine[cliFlag60]);
3667
3795
  return {
3668
- value: commandLine[cliFlag58],
3796
+ value: commandLine[cliFlag60],
3669
3797
  source: "cli"
3670
3798
  };
3671
3799
  }
@@ -3684,22 +3812,22 @@ var numberOfGifLoopsOption = {
3684
3812
  validate(newLoop);
3685
3813
  currentLoop = newLoop;
3686
3814
  },
3687
- id: cliFlag58
3815
+ id: cliFlag60
3688
3816
  };
3689
3817
 
3690
3818
  // src/options/number-of-shared-audio-tags.tsx
3691
- import { jsx as jsx55, jsxs as jsxs39, Fragment as Fragment55 } from "react/jsx-runtime";
3819
+ import { jsx as jsx57, jsxs as jsxs42, Fragment as Fragment57 } from "react/jsx-runtime";
3692
3820
  var numberOfSharedAudioTags = 0;
3693
3821
  var configuredNumberOfSharedAudioTags = null;
3694
- var cliFlag59 = "number-of-shared-audio-tags";
3822
+ var cliFlag61 = "number-of-shared-audio-tags";
3695
3823
  var numberOfSharedAudioTagsOption = {
3696
3824
  name: "Number of shared audio tags",
3697
- cliFlag: cliFlag59,
3698
- description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3825
+ cliFlag: cliFlag61,
3826
+ description: () => /* @__PURE__ */ jsxs42(Fragment57, {
3699
3827
  children: [
3700
3828
  "Set number of shared audio tags. See",
3701
3829
  " ",
3702
- /* @__PURE__ */ jsx55("a", {
3830
+ /* @__PURE__ */ jsx57("a", {
3703
3831
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3704
3832
  children: "Using the numberOfSharedAudioTags prop"
3705
3833
  }),
@@ -3708,12 +3836,12 @@ var numberOfSharedAudioTagsOption = {
3708
3836
  ]
3709
3837
  }),
3710
3838
  ssrName: null,
3711
- docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
3839
+ docLink: "https://www.remotion.dev/docs/options/number-of-shared-audio-tags",
3712
3840
  type: 0,
3713
3841
  getValue: ({ commandLine }) => {
3714
- if (commandLine[cliFlag59] !== undefined) {
3842
+ if (commandLine[cliFlag61] !== undefined) {
3715
3843
  return {
3716
- value: commandLine[cliFlag59],
3844
+ value: commandLine[cliFlag61],
3717
3845
  source: "cli"
3718
3846
  };
3719
3847
  }
@@ -3731,51 +3859,51 @@ var numberOfSharedAudioTagsOption = {
3731
3859
  numberOfSharedAudioTags = 0;
3732
3860
  configuredNumberOfSharedAudioTags = null;
3733
3861
  },
3734
- id: cliFlag59
3862
+ id: cliFlag61
3735
3863
  };
3736
3864
 
3737
3865
  // src/options/offthreadvideo-cache-size.tsx
3738
- import { jsx as jsx56, jsxs as jsxs40, Fragment as Fragment56 } from "react/jsx-runtime";
3866
+ import { jsx as jsx58, jsxs as jsxs43, Fragment as Fragment58 } from "react/jsx-runtime";
3739
3867
  var offthreadVideoCacheSizeInBytes = null;
3740
- var cliFlag60 = "offthreadvideo-cache-size-in-bytes";
3868
+ var cliFlag62 = "offthreadvideo-cache-size-in-bytes";
3741
3869
  var offthreadVideoCacheSizeInBytesOption = {
3742
3870
  name: "OffthreadVideo cache size",
3743
- cliFlag: cliFlag60,
3744
- description: () => /* @__PURE__ */ jsxs40(Fragment56, {
3871
+ cliFlag: cliFlag62,
3872
+ description: () => /* @__PURE__ */ jsxs43(Fragment58, {
3745
3873
  children: [
3746
3874
  "From v4.0, Remotion has a cache for",
3747
3875
  " ",
3748
- /* @__PURE__ */ jsx56("a", {
3876
+ /* @__PURE__ */ jsx58("a", {
3749
3877
  href: "https://remotion.dev/docs/offthreadvideo",
3750
- children: /* @__PURE__ */ jsx56("code", {
3878
+ children: /* @__PURE__ */ jsx58("code", {
3751
3879
  children: "<OffthreadVideo>"
3752
3880
  })
3753
3881
  }),
3754
3882
  " ",
3755
3883
  "frames. The default is ",
3756
- /* @__PURE__ */ jsx56("code", {
3884
+ /* @__PURE__ */ jsx58("code", {
3757
3885
  children: "null"
3758
3886
  }),
3759
3887
  ", corresponding to half of the system memory available when the render starts.",
3760
- /* @__PURE__ */ jsx56("br", {}),
3888
+ /* @__PURE__ */ jsx58("br", {}),
3761
3889
  " 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.",
3762
- /* @__PURE__ */ jsx56("br", {}),
3890
+ /* @__PURE__ */ jsx58("br", {}),
3763
3891
  "The used value will be printed when running in verbose mode.",
3764
- /* @__PURE__ */ jsx56("br", {}),
3892
+ /* @__PURE__ */ jsx58("br", {}),
3765
3893
  "Default: ",
3766
- /* @__PURE__ */ jsx56("code", {
3894
+ /* @__PURE__ */ jsx58("code", {
3767
3895
  children: "null"
3768
3896
  })
3769
3897
  ]
3770
3898
  }),
3771
3899
  ssrName: "offthreadVideoCacheSizeInBytes",
3772
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
3900
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-cache-size-in-bytes",
3773
3901
  type: 0,
3774
3902
  getValue: ({ commandLine }) => {
3775
- if (commandLine[cliFlag60] !== undefined) {
3903
+ if (commandLine[cliFlag62] !== undefined) {
3776
3904
  return {
3777
3905
  source: "cli",
3778
- value: commandLine[cliFlag60]
3906
+ value: commandLine[cliFlag62]
3779
3907
  };
3780
3908
  }
3781
3909
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3792,22 +3920,22 @@ var offthreadVideoCacheSizeInBytesOption = {
3792
3920
  setConfig: (size) => {
3793
3921
  offthreadVideoCacheSizeInBytes = size ?? null;
3794
3922
  },
3795
- id: cliFlag60
3923
+ id: cliFlag62
3796
3924
  };
3797
3925
 
3798
3926
  // src/options/offthreadvideo-threads.tsx
3799
- import { jsx as jsx57, jsxs as jsxs41, Fragment as Fragment57 } from "react/jsx-runtime";
3927
+ import { jsx as jsx59, jsxs as jsxs44, Fragment as Fragment59 } from "react/jsx-runtime";
3800
3928
  var value2 = null;
3801
- var cliFlag61 = "offthreadvideo-video-threads";
3929
+ var cliFlag63 = "offthreadvideo-video-threads";
3802
3930
  var offthreadVideoThreadsOption = {
3803
3931
  name: "OffthreadVideo threads",
3804
- cliFlag: cliFlag61,
3805
- description: () => /* @__PURE__ */ jsxs41(Fragment57, {
3932
+ cliFlag: cliFlag63,
3933
+ description: () => /* @__PURE__ */ jsxs44(Fragment59, {
3806
3934
  children: [
3807
3935
  "The number of threads that",
3808
- /* @__PURE__ */ jsx57("a", {
3936
+ /* @__PURE__ */ jsx59("a", {
3809
3937
  href: "https://remotion.dev/docs/offthreadvideo",
3810
- children: /* @__PURE__ */ jsx57("code", {
3938
+ children: /* @__PURE__ */ jsx59("code", {
3811
3939
  children: "<OffthreadVideo>"
3812
3940
  })
3813
3941
  }),
@@ -3819,13 +3947,13 @@ var offthreadVideoThreadsOption = {
3819
3947
  ]
3820
3948
  }),
3821
3949
  ssrName: "offthreadVideoThreads",
3822
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
3950
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-video-threads",
3823
3951
  type: 0,
3824
3952
  getValue: ({ commandLine }) => {
3825
- if (commandLine[cliFlag61] !== undefined) {
3953
+ if (commandLine[cliFlag63] !== undefined) {
3826
3954
  return {
3827
3955
  source: "cli",
3828
- value: commandLine[cliFlag61]
3956
+ value: commandLine[cliFlag63]
3829
3957
  };
3830
3958
  }
3831
3959
  if (value2 !== null) {
@@ -3842,28 +3970,28 @@ var offthreadVideoThreadsOption = {
3842
3970
  setConfig: (size) => {
3843
3971
  value2 = size ?? null;
3844
3972
  },
3845
- id: cliFlag61
3973
+ id: cliFlag63
3846
3974
  };
3847
3975
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3848
3976
 
3849
3977
  // src/options/on-browser-download.tsx
3850
- import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3851
- var cliFlag62 = "on-browser-download";
3978
+ import { jsx as jsx60, jsxs as jsxs45, Fragment as Fragment60 } from "react/jsx-runtime";
3979
+ var cliFlag64 = "on-browser-download";
3852
3980
  var onBrowserDownloadOption = {
3853
3981
  name: "Browser download callback function",
3854
- cliFlag: cliFlag62,
3855
- description: () => /* @__PURE__ */ jsxs42(Fragment58, {
3982
+ cliFlag: cliFlag64,
3983
+ description: () => /* @__PURE__ */ jsxs45(Fragment60, {
3856
3984
  children: [
3857
3985
  "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.",
3858
3986
  " ",
3859
- /* @__PURE__ */ jsx58("a", {
3987
+ /* @__PURE__ */ jsx60("a", {
3860
3988
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3861
3989
  children: "See here for how to use this option."
3862
3990
  })
3863
3991
  ]
3864
3992
  }),
3865
3993
  ssrName: "onBrowserDownload",
3866
- docLink: "https://www.remotion.dev/docs/renderer/ensure-browser",
3994
+ docLink: "https://www.remotion.dev/docs/options/on-browser-download",
3867
3995
  type: undefined,
3868
3996
  getValue: () => {
3869
3997
  throw new Error("does not support config file");
@@ -3871,26 +3999,26 @@ var onBrowserDownloadOption = {
3871
3999
  setConfig: () => {
3872
4000
  throw new Error("does not support config file");
3873
4001
  },
3874
- id: cliFlag62
4002
+ id: cliFlag64
3875
4003
  };
3876
4004
 
3877
4005
  // src/options/out-dir.tsx
3878
- import { jsx as jsx59, jsxs as jsxs43, Fragment as Fragment59 } from "react/jsx-runtime";
3879
- var cliFlag63 = "out-dir";
4006
+ import { jsx as jsx61, jsxs as jsxs46, Fragment as Fragment61 } from "react/jsx-runtime";
4007
+ var cliFlag65 = "out-dir";
3880
4008
  var currentOutDir = null;
3881
4009
  var outDirOption = {
3882
4010
  name: "Output Directory",
3883
- cliFlag: cliFlag63,
4011
+ cliFlag: cliFlag65,
3884
4012
  description: () => {
3885
- return /* @__PURE__ */ jsxs43(Fragment59, {
4013
+ return /* @__PURE__ */ jsxs46(Fragment61, {
3886
4014
  children: [
3887
4015
  "Define the location of the resulting bundle. By default it is a folder called ",
3888
- /* @__PURE__ */ jsx59("code", {
4016
+ /* @__PURE__ */ jsx61("code", {
3889
4017
  children: "build"
3890
4018
  }),
3891
4019
  ", adjacent to the",
3892
4020
  " ",
3893
- /* @__PURE__ */ jsx59("a", {
4021
+ /* @__PURE__ */ jsx61("a", {
3894
4022
  href: "/docs/terminology/remotion-root",
3895
4023
  children: "Remotion Root"
3896
4024
  }),
@@ -3899,12 +4027,12 @@ var outDirOption = {
3899
4027
  });
3900
4028
  },
3901
4029
  ssrName: "outDir",
3902
- docLink: "https://www.remotion.dev/docs/cli/bundle#--out-dir",
4030
+ docLink: "https://www.remotion.dev/docs/options/out-dir",
3903
4031
  getValue: ({ commandLine }) => {
3904
- if (commandLine[cliFlag63] !== undefined) {
4032
+ if (commandLine[cliFlag65] !== undefined) {
3905
4033
  return {
3906
4034
  source: "cli",
3907
- value: commandLine[cliFlag63]
4035
+ value: commandLine[cliFlag65]
3908
4036
  };
3909
4037
  }
3910
4038
  if (currentOutDir !== null) {
@@ -3922,31 +4050,31 @@ var outDirOption = {
3922
4050
  currentOutDir = value3;
3923
4051
  },
3924
4052
  type: "",
3925
- id: cliFlag63
4053
+ id: cliFlag65
3926
4054
  };
3927
4055
 
3928
4056
  // src/validate.ts
3929
- import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
3930
- var validateFps = NoReactInternals3.validateFps;
3931
- var validateDimension = NoReactInternals3.validateDimension;
3932
- var validateDurationInFrames = NoReactInternals3.validateDurationInFrames;
4057
+ import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4058
+ var validateFps = NoReactInternals4.validateFps;
4059
+ var validateDimension = NoReactInternals4.validateDimension;
4060
+ var validateDurationInFrames = NoReactInternals4.validateDurationInFrames;
3933
4061
 
3934
4062
  // src/options/override-duration.tsx
3935
- import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
4063
+ import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
3936
4064
  var currentDuration = null;
3937
- var cliFlag64 = "duration";
4065
+ var cliFlag66 = "duration";
3938
4066
  var overrideDurationOption = {
3939
4067
  name: "Override Duration",
3940
- cliFlag: cliFlag64,
3941
- description: () => /* @__PURE__ */ jsx60(Fragment60, {
4068
+ cliFlag: cliFlag66,
4069
+ description: () => /* @__PURE__ */ jsx62(Fragment62, {
3942
4070
  children: "Overrides the duration in frames of the composition."
3943
4071
  }),
3944
4072
  ssrName: null,
3945
- docLink: "https://www.remotion.dev/docs/config#overrideduration",
4073
+ docLink: "https://www.remotion.dev/docs/options/duration",
3946
4074
  type: null,
3947
4075
  getValue: ({ commandLine }) => {
3948
- if (commandLine[cliFlag64] !== undefined) {
3949
- const value3 = commandLine[cliFlag64];
4076
+ if (commandLine[cliFlag66] !== undefined) {
4077
+ const value3 = commandLine[cliFlag66];
3950
4078
  validateDurationInFrames(value3, {
3951
4079
  component: "in --duration flag",
3952
4080
  allowFloats: false
@@ -3977,25 +4105,25 @@ var overrideDurationOption = {
3977
4105
  reset: () => {
3978
4106
  currentDuration = null;
3979
4107
  },
3980
- id: cliFlag64
4108
+ id: cliFlag66
3981
4109
  };
3982
4110
 
3983
4111
  // src/options/override-fps.tsx
3984
- import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
4112
+ import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
3985
4113
  var currentFps = null;
3986
- var cliFlag65 = "fps";
4114
+ var cliFlag67 = "fps";
3987
4115
  var overrideFpsOption = {
3988
4116
  name: "Override FPS",
3989
- cliFlag: cliFlag65,
3990
- description: () => /* @__PURE__ */ jsx61(Fragment61, {
4117
+ cliFlag: cliFlag67,
4118
+ description: () => /* @__PURE__ */ jsx63(Fragment63, {
3991
4119
  children: "Overrides the frames per second of the composition."
3992
4120
  }),
3993
4121
  ssrName: null,
3994
- docLink: "https://www.remotion.dev/docs/config#overridefps",
4122
+ docLink: "https://www.remotion.dev/docs/options/fps",
3995
4123
  type: null,
3996
4124
  getValue: ({ commandLine }) => {
3997
- if (commandLine[cliFlag65] !== undefined) {
3998
- const value3 = commandLine[cliFlag65];
4125
+ if (commandLine[cliFlag67] !== undefined) {
4126
+ const value3 = commandLine[cliFlag67];
3999
4127
  validateFps(value3, "in --fps flag", false);
4000
4128
  return {
4001
4129
  source: "cli",
@@ -4020,25 +4148,25 @@ var overrideFpsOption = {
4020
4148
  reset: () => {
4021
4149
  currentFps = null;
4022
4150
  },
4023
- id: cliFlag65
4151
+ id: cliFlag67
4024
4152
  };
4025
4153
 
4026
4154
  // src/options/override-height.tsx
4027
- import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
4155
+ import { jsx as jsx64, Fragment as Fragment64 } from "react/jsx-runtime";
4028
4156
  var currentHeight = null;
4029
- var cliFlag66 = "height";
4157
+ var cliFlag68 = "height";
4030
4158
  var overrideHeightOption = {
4031
4159
  name: "Override Height",
4032
- cliFlag: cliFlag66,
4033
- description: () => /* @__PURE__ */ jsx62(Fragment62, {
4160
+ cliFlag: cliFlag68,
4161
+ description: () => /* @__PURE__ */ jsx64(Fragment64, {
4034
4162
  children: "Overrides the height of the composition."
4035
4163
  }),
4036
4164
  ssrName: null,
4037
- docLink: "https://www.remotion.dev/docs/config#overrideheight",
4165
+ docLink: "https://www.remotion.dev/docs/options/height",
4038
4166
  type: null,
4039
4167
  getValue: ({ commandLine }) => {
4040
- if (commandLine[cliFlag66] !== undefined) {
4041
- const value3 = commandLine[cliFlag66];
4168
+ if (commandLine[cliFlag68] !== undefined) {
4169
+ const value3 = commandLine[cliFlag68];
4042
4170
  validateDimension(value3, "height", "in --height flag");
4043
4171
  return {
4044
4172
  source: "cli",
@@ -4063,25 +4191,25 @@ var overrideHeightOption = {
4063
4191
  reset: () => {
4064
4192
  currentHeight = null;
4065
4193
  },
4066
- id: cliFlag66
4194
+ id: cliFlag68
4067
4195
  };
4068
4196
 
4069
4197
  // src/options/override-width.tsx
4070
- import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
4198
+ import { jsx as jsx65, Fragment as Fragment65 } from "react/jsx-runtime";
4071
4199
  var currentWidth = null;
4072
- var cliFlag67 = "width";
4200
+ var cliFlag69 = "width";
4073
4201
  var overrideWidthOption = {
4074
4202
  name: "Override Width",
4075
- cliFlag: cliFlag67,
4076
- description: () => /* @__PURE__ */ jsx63(Fragment63, {
4203
+ cliFlag: cliFlag69,
4204
+ description: () => /* @__PURE__ */ jsx65(Fragment65, {
4077
4205
  children: "Overrides the width of the composition."
4078
4206
  }),
4079
4207
  ssrName: null,
4080
- docLink: "https://www.remotion.dev/docs/config#overridewidth",
4208
+ docLink: "https://www.remotion.dev/docs/options/width",
4081
4209
  type: null,
4082
4210
  getValue: ({ commandLine }) => {
4083
- if (commandLine[cliFlag67] !== undefined) {
4084
- const value3 = commandLine[cliFlag67];
4211
+ if (commandLine[cliFlag69] !== undefined) {
4212
+ const value3 = commandLine[cliFlag69];
4085
4213
  validateDimension(value3, "width", "in --width flag");
4086
4214
  return {
4087
4215
  source: "cli",
@@ -4106,13 +4234,13 @@ var overrideWidthOption = {
4106
4234
  reset: () => {
4107
4235
  currentWidth = null;
4108
4236
  },
4109
- id: cliFlag67
4237
+ id: cliFlag69
4110
4238
  };
4111
4239
 
4112
4240
  // src/options/overwrite.tsx
4113
- import { jsx as jsx64, jsxs as jsxs44, Fragment as Fragment64 } from "react/jsx-runtime";
4241
+ import { jsx as jsx66, jsxs as jsxs47, Fragment as Fragment66 } from "react/jsx-runtime";
4114
4242
  var shouldOverwrite = null;
4115
- var cliFlag68 = "overwrite";
4243
+ var cliFlag70 = "overwrite";
4116
4244
  var validate2 = (value3) => {
4117
4245
  if (typeof value3 !== "boolean") {
4118
4246
  throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
@@ -4120,29 +4248,29 @@ var validate2 = (value3) => {
4120
4248
  };
4121
4249
  var overwriteOption = {
4122
4250
  name: "Overwrite output",
4123
- cliFlag: cliFlag68,
4124
- description: () => /* @__PURE__ */ jsxs44(Fragment64, {
4251
+ cliFlag: cliFlag70,
4252
+ description: () => /* @__PURE__ */ jsxs47(Fragment66, {
4125
4253
  children: [
4126
4254
  "If set to ",
4127
- /* @__PURE__ */ jsx64("code", {
4255
+ /* @__PURE__ */ jsx66("code", {
4128
4256
  children: "false"
4129
4257
  }),
4130
4258
  ", will prevent rendering to a path that already exists. Default is ",
4131
- /* @__PURE__ */ jsx64("code", {
4259
+ /* @__PURE__ */ jsx66("code", {
4132
4260
  children: "true"
4133
4261
  }),
4134
4262
  "."
4135
4263
  ]
4136
4264
  }),
4137
4265
  ssrName: "overwrite",
4138
- docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
4266
+ docLink: "https://www.remotion.dev/docs/options/overwrite",
4139
4267
  type: false,
4140
4268
  getValue: ({ commandLine }, defaultValue2) => {
4141
- if (commandLine[cliFlag68] !== undefined && commandLine[cliFlag68] !== null) {
4142
- validate2(commandLine[cliFlag68]);
4269
+ if (commandLine[cliFlag70] !== undefined && commandLine[cliFlag70] !== null) {
4270
+ validate2(commandLine[cliFlag70]);
4143
4271
  return {
4144
4272
  source: "cli",
4145
- value: commandLine[cliFlag68]
4273
+ value: commandLine[cliFlag70]
4146
4274
  };
4147
4275
  }
4148
4276
  if (shouldOverwrite !== null) {
@@ -4163,40 +4291,40 @@ var overwriteOption = {
4163
4291
  reset: () => {
4164
4292
  shouldOverwrite = null;
4165
4293
  },
4166
- id: cliFlag68
4294
+ id: cliFlag70
4167
4295
  };
4168
4296
 
4169
4297
  // src/options/package-manager.tsx
4170
- import { jsx as jsx65, jsxs as jsxs45, Fragment as Fragment65 } from "react/jsx-runtime";
4171
- var cliFlag69 = "package-manager";
4298
+ import { jsx as jsx67, jsxs as jsxs48, Fragment as Fragment67 } from "react/jsx-runtime";
4299
+ var cliFlag71 = "package-manager";
4172
4300
  var currentPackageManager = null;
4173
4301
  var packageManagerOption = {
4174
4302
  name: "Package Manager",
4175
- cliFlag: cliFlag69,
4303
+ cliFlag: cliFlag71,
4176
4304
  description: () => {
4177
- return /* @__PURE__ */ jsxs45(Fragment65, {
4305
+ return /* @__PURE__ */ jsxs48(Fragment67, {
4178
4306
  children: [
4179
4307
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4180
- /* @__PURE__ */ jsx65("br", {}),
4308
+ /* @__PURE__ */ jsx67("br", {}),
4181
4309
  "Acceptable values are ",
4182
- /* @__PURE__ */ jsx65("code", {
4310
+ /* @__PURE__ */ jsx67("code", {
4183
4311
  children: "npm"
4184
4312
  }),
4185
4313
  ", ",
4186
- /* @__PURE__ */ jsx65("code", {
4314
+ /* @__PURE__ */ jsx67("code", {
4187
4315
  children: "yarn"
4188
4316
  }),
4189
4317
  ",",
4190
4318
  " ",
4191
- /* @__PURE__ */ jsx65("code", {
4319
+ /* @__PURE__ */ jsx67("code", {
4192
4320
  children: "pnpm"
4193
4321
  }),
4194
4322
  ", ",
4195
- /* @__PURE__ */ jsx65("code", {
4323
+ /* @__PURE__ */ jsx67("code", {
4196
4324
  children: "bun"
4197
4325
  }),
4198
4326
  " and ",
4199
- /* @__PURE__ */ jsx65("code", {
4327
+ /* @__PURE__ */ jsx67("code", {
4200
4328
  children: "nub"
4201
4329
  }),
4202
4330
  "."
@@ -4204,12 +4332,12 @@ var packageManagerOption = {
4204
4332
  });
4205
4333
  },
4206
4334
  ssrName: "packageManager",
4207
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--package-manager",
4335
+ docLink: "https://www.remotion.dev/docs/options/package-manager",
4208
4336
  getValue: ({ commandLine }) => {
4209
- if (commandLine[cliFlag69] !== undefined) {
4337
+ if (commandLine[cliFlag71] !== undefined) {
4210
4338
  return {
4211
4339
  source: "cli",
4212
- value: commandLine[cliFlag69]
4340
+ value: commandLine[cliFlag71]
4213
4341
  };
4214
4342
  }
4215
4343
  if (currentPackageManager !== null) {
@@ -4227,7 +4355,7 @@ var packageManagerOption = {
4227
4355
  currentPackageManager = value3;
4228
4356
  },
4229
4357
  type: "",
4230
- id: cliFlag69
4358
+ id: cliFlag71
4231
4359
  };
4232
4360
 
4233
4361
  // src/pixel-format.ts
@@ -4250,17 +4378,17 @@ var validPixelFormatsForCodec = (codec) => {
4250
4378
  };
4251
4379
 
4252
4380
  // src/options/pixel-format.tsx
4253
- import { jsx as jsx66, jsxs as jsxs46, Fragment as Fragment66 } from "react/jsx-runtime";
4381
+ import { jsx as jsx68, jsxs as jsxs49, Fragment as Fragment68 } from "react/jsx-runtime";
4254
4382
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4255
- var cliFlag70 = "pixel-format";
4383
+ var cliFlag72 = "pixel-format";
4256
4384
  var pixelFormatOption = {
4257
4385
  name: "Pixel format",
4258
- cliFlag: cliFlag70,
4259
- description: () => /* @__PURE__ */ jsxs46(Fragment66, {
4386
+ cliFlag: cliFlag72,
4387
+ description: () => /* @__PURE__ */ jsxs49(Fragment68, {
4260
4388
  children: [
4261
4389
  "Sets the pixel format in FFmpeg. See",
4262
4390
  " ",
4263
- /* @__PURE__ */ jsx66("a", {
4391
+ /* @__PURE__ */ jsx68("a", {
4264
4392
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
4265
4393
  children: "the FFmpeg docs for an explanation"
4266
4394
  }),
@@ -4270,7 +4398,7 @@ var pixelFormatOption = {
4270
4398
  ]
4271
4399
  }),
4272
4400
  ssrName: "pixelFormat",
4273
- docLink: "https://www.remotion.dev/docs/config#setpixelformat",
4401
+ docLink: "https://www.remotion.dev/docs/options/pixel-format",
4274
4402
  type: DEFAULT_PIXEL_FORMAT,
4275
4403
  getValue: ({ commandLine }, options) => {
4276
4404
  if (options?.uiPixelFormat) {
@@ -4279,10 +4407,10 @@ var pixelFormatOption = {
4279
4407
  value: options.uiPixelFormat
4280
4408
  };
4281
4409
  }
4282
- if (commandLine[cliFlag70] !== undefined) {
4410
+ if (commandLine[cliFlag72] !== undefined) {
4283
4411
  return {
4284
4412
  source: "from --pixel-format flag",
4285
- value: commandLine[cliFlag70]
4413
+ value: commandLine[cliFlag72]
4286
4414
  };
4287
4415
  }
4288
4416
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -4308,26 +4436,26 @@ var pixelFormatOption = {
4308
4436
  }
4309
4437
  currentPixelFormat = value3;
4310
4438
  },
4311
- id: cliFlag70
4439
+ id: cliFlag72
4312
4440
  };
4313
4441
 
4314
4442
  // src/options/port.tsx
4315
- import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4316
- var cliFlag71 = "port";
4443
+ import { jsx as jsx69, Fragment as Fragment69 } from "react/jsx-runtime";
4444
+ var cliFlag73 = "port";
4317
4445
  var currentPort = null;
4318
4446
  var portOption = {
4319
4447
  name: "Port",
4320
- cliFlag: cliFlag71,
4321
- description: () => /* @__PURE__ */ jsx67(Fragment67, {
4448
+ cliFlag: cliFlag73,
4449
+ description: () => /* @__PURE__ */ jsx69(Fragment69, {
4322
4450
  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."
4323
4451
  }),
4324
4452
  ssrName: null,
4325
- docLink: "https://www.remotion.dev/docs/config#setstudioport",
4453
+ docLink: "https://www.remotion.dev/docs/options/port",
4326
4454
  getValue: ({ commandLine }) => {
4327
- if (commandLine[cliFlag71] !== undefined) {
4455
+ if (commandLine[cliFlag73] !== undefined) {
4328
4456
  return {
4329
4457
  source: "cli",
4330
- value: commandLine[cliFlag71]
4458
+ value: commandLine[cliFlag73]
4331
4459
  };
4332
4460
  }
4333
4461
  if (currentPort !== null) {
@@ -4345,35 +4473,35 @@ var portOption = {
4345
4473
  currentPort = value3;
4346
4474
  },
4347
4475
  type: 0,
4348
- id: cliFlag71
4476
+ id: cliFlag73
4349
4477
  };
4350
4478
 
4351
4479
  // src/options/prefer-lossless.tsx
4352
- import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4353
- var cliFlag72 = "prefer-lossless";
4480
+ import { jsx as jsx70, jsxs as jsxs50, Fragment as Fragment70 } from "react/jsx-runtime";
4481
+ var cliFlag74 = "prefer-lossless";
4354
4482
  var input = false;
4355
4483
  var preferLosslessAudioOption = {
4356
4484
  name: "Prefer lossless",
4357
- cliFlag: cliFlag72,
4358
- description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4485
+ cliFlag: cliFlag74,
4486
+ description: () => /* @__PURE__ */ jsxs50(Fragment70, {
4359
4487
  children: [
4360
4488
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4361
- /* @__PURE__ */ jsx68("code", {
4489
+ /* @__PURE__ */ jsx70("code", {
4362
4490
  children: "audioCodec"
4363
4491
  }),
4364
4492
  ", it takes priority over",
4365
4493
  " ",
4366
- /* @__PURE__ */ jsx68("code", {
4494
+ /* @__PURE__ */ jsx70("code", {
4367
4495
  children: "preferLossless"
4368
4496
  }),
4369
4497
  "."
4370
4498
  ]
4371
4499
  }),
4372
- docLink: "https://www.remotion.dev/docs/encoding",
4500
+ docLink: "https://www.remotion.dev/docs/options/prefer-lossless",
4373
4501
  type: false,
4374
4502
  ssrName: "preferLossless",
4375
4503
  getValue: ({ commandLine }) => {
4376
- if (commandLine[cliFlag72]) {
4504
+ if (commandLine[cliFlag74]) {
4377
4505
  return { value: true, source: "cli" };
4378
4506
  }
4379
4507
  if (input === true) {
@@ -4384,31 +4512,31 @@ var preferLosslessAudioOption = {
4384
4512
  setConfig: (val) => {
4385
4513
  input = val;
4386
4514
  },
4387
- id: cliFlag72
4515
+ id: cliFlag74
4388
4516
  };
4389
4517
 
4390
4518
  // src/options/preview-sample-rate.tsx
4391
- import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4392
- var cliFlag73 = "preview-sample-rate";
4519
+ import { jsx as jsx71, jsxs as jsxs51, Fragment as Fragment71 } from "react/jsx-runtime";
4520
+ var cliFlag75 = "preview-sample-rate";
4393
4521
  var currentPreviewSampleRate = null;
4394
4522
  var previewSampleRateOption = {
4395
4523
  name: "Preview Sample Rate",
4396
- cliFlag: cliFlag73,
4397
- description: () => /* @__PURE__ */ jsxs48(Fragment69, {
4524
+ cliFlag: cliFlag75,
4525
+ description: () => /* @__PURE__ */ jsxs51(Fragment71, {
4398
4526
  children: [
4399
4527
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4400
- /* @__PURE__ */ jsx69("code", {
4528
+ /* @__PURE__ */ jsx71("code", {
4401
4529
  children: "48000"
4402
4530
  }),
4403
4531
  " Hz."
4404
4532
  ]
4405
4533
  }),
4406
4534
  ssrName: null,
4407
- docLink: "https://www.remotion.dev/docs/config#setpreviewsamplerate",
4535
+ docLink: "https://www.remotion.dev/docs/options/preview-sample-rate",
4408
4536
  type: null,
4409
4537
  getValue: ({ commandLine }) => {
4410
- if (commandLine[cliFlag73] !== undefined) {
4411
- return { value: commandLine[cliFlag73], source: "cli" };
4538
+ if (commandLine[cliFlag75] !== undefined) {
4539
+ return { value: commandLine[cliFlag75], source: "cli" };
4412
4540
  }
4413
4541
  if (currentPreviewSampleRate !== null) {
4414
4542
  return { value: currentPreviewSampleRate, source: "config file" };
@@ -4418,19 +4546,19 @@ var previewSampleRateOption = {
4418
4546
  setConfig: (value3) => {
4419
4547
  currentPreviewSampleRate = value3;
4420
4548
  },
4421
- id: cliFlag73
4549
+ id: cliFlag75
4422
4550
  };
4423
4551
 
4424
4552
  // src/options/props.tsx
4425
- import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4426
- var cliFlag74 = "props";
4553
+ import { jsx as jsx72, jsxs as jsxs52, Fragment as Fragment72 } from "react/jsx-runtime";
4554
+ var cliFlag76 = "props";
4427
4555
  var propsOption = {
4428
4556
  name: "Input Props",
4429
- cliFlag: cliFlag74,
4430
- description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4557
+ cliFlag: cliFlag76,
4558
+ description: () => /* @__PURE__ */ jsxs52(Fragment72, {
4431
4559
  children: [
4432
4560
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4433
- /* @__PURE__ */ jsxs49("code", {
4561
+ /* @__PURE__ */ jsxs52("code", {
4434
4562
  children: [
4435
4563
  "--props='",
4436
4564
  "{",
@@ -4440,19 +4568,19 @@ var propsOption = {
4440
4568
  ]
4441
4569
  }),
4442
4570
  ") or a path to a JSON file (",
4443
- /* @__PURE__ */ jsx70("code", {
4571
+ /* @__PURE__ */ jsx72("code", {
4444
4572
  children: "./path/to/props.json"
4445
4573
  }),
4446
4574
  ")."
4447
4575
  ]
4448
4576
  }),
4449
4577
  ssrName: null,
4450
- docLink: "https://www.remotion.dev/docs/passing-props#passing-input-props-in-the-cli",
4578
+ docLink: "https://www.remotion.dev/docs/options/props",
4451
4579
  getValue: ({ commandLine }) => {
4452
- if (commandLine[cliFlag74] !== undefined) {
4580
+ if (commandLine[cliFlag76] !== undefined) {
4453
4581
  return {
4454
4582
  source: "cli",
4455
- value: commandLine[cliFlag74]
4583
+ value: commandLine[cliFlag76]
4456
4584
  };
4457
4585
  }
4458
4586
  return {
@@ -4464,11 +4592,11 @@ var propsOption = {
4464
4592
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4465
4593
  },
4466
4594
  type: "",
4467
- id: cliFlag74
4595
+ id: cliFlag76
4468
4596
  };
4469
4597
 
4470
4598
  // src/options/prores-profile.tsx
4471
- import { jsx as jsx71, jsxs as jsxs50, Fragment as Fragment71 } from "react/jsx-runtime";
4599
+ import { jsx as jsx73, jsxs as jsxs53, Fragment as Fragment73 } from "react/jsx-runtime";
4472
4600
  var validProResProfiles = [
4473
4601
  "4444-xq",
4474
4602
  "4444",
@@ -4478,14 +4606,14 @@ var validProResProfiles = [
4478
4606
  "proxy"
4479
4607
  ];
4480
4608
  var proResProfile;
4481
- var cliFlag75 = "prores-profile";
4609
+ var cliFlag77 = "prores-profile";
4482
4610
  var proResProfileOption = {
4483
4611
  name: "ProRes profile",
4484
- cliFlag: cliFlag75,
4485
- description: () => /* @__PURE__ */ jsxs50(Fragment71, {
4612
+ cliFlag: cliFlag77,
4613
+ description: () => /* @__PURE__ */ jsxs53(Fragment73, {
4486
4614
  children: [
4487
4615
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4488
- /* @__PURE__ */ jsx71("code", {
4616
+ /* @__PURE__ */ jsx73("code", {
4489
4617
  children: "prores"
4490
4618
  }),
4491
4619
  ". Possible values:",
@@ -4493,12 +4621,12 @@ var proResProfileOption = {
4493
4621
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4494
4622
  ". Default:",
4495
4623
  " ",
4496
- /* @__PURE__ */ jsx71("code", {
4624
+ /* @__PURE__ */ jsx73("code", {
4497
4625
  children: '"hq"'
4498
4626
  }),
4499
4627
  ". See",
4500
4628
  " ",
4501
- /* @__PURE__ */ jsx71("a", {
4629
+ /* @__PURE__ */ jsx73("a", {
4502
4630
  href: "https://video.stackexchange.com/a/14715",
4503
4631
  children: "here"
4504
4632
  }),
@@ -4506,7 +4634,7 @@ var proResProfileOption = {
4506
4634
  ]
4507
4635
  }),
4508
4636
  ssrName: "proResProfile",
4509
- docLink: "https://www.remotion.dev/docs/config#setproresprofile",
4637
+ docLink: "https://www.remotion.dev/docs/options/prores-profile",
4510
4638
  type: undefined,
4511
4639
  getValue: ({ commandLine }, options) => {
4512
4640
  if (options?.uiProResProfile) {
@@ -4515,10 +4643,10 @@ var proResProfileOption = {
4515
4643
  value: options.uiProResProfile
4516
4644
  };
4517
4645
  }
4518
- if (commandLine[cliFlag75] !== undefined) {
4646
+ if (commandLine[cliFlag77] !== undefined) {
4519
4647
  return {
4520
4648
  source: "from --prores-profile flag",
4521
- value: String(commandLine[cliFlag75])
4649
+ value: String(commandLine[cliFlag77])
4522
4650
  };
4523
4651
  }
4524
4652
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4541,24 +4669,24 @@ var proResProfileOption = {
4541
4669
  setConfig: (value3) => {
4542
4670
  proResProfile = value3;
4543
4671
  },
4544
- id: cliFlag75
4672
+ id: cliFlag77
4545
4673
  };
4546
4674
 
4547
4675
  // src/options/public-dir.tsx
4548
- import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4549
- var cliFlag76 = "public-dir";
4676
+ import { jsx as jsx74, jsxs as jsxs54, Fragment as Fragment74 } from "react/jsx-runtime";
4677
+ var cliFlag78 = "public-dir";
4550
4678
  var currentPublicDir = null;
4551
4679
  var publicDirOption = {
4552
4680
  name: "Public Directory",
4553
- cliFlag: cliFlag76,
4681
+ cliFlag: cliFlag78,
4554
4682
  description: () => {
4555
- return /* @__PURE__ */ jsxs51(Fragment72, {
4683
+ return /* @__PURE__ */ jsxs54(Fragment74, {
4556
4684
  children: [
4557
4685
  "Define the location of the",
4558
4686
  " ",
4559
- /* @__PURE__ */ jsx72("a", {
4687
+ /* @__PURE__ */ jsx74("a", {
4560
4688
  href: "/docs/terminology/public-dir",
4561
- children: /* @__PURE__ */ jsx72("code", {
4689
+ children: /* @__PURE__ */ jsx74("code", {
4562
4690
  children: "public/ directory"
4563
4691
  })
4564
4692
  }),
@@ -4567,12 +4695,12 @@ var publicDirOption = {
4567
4695
  });
4568
4696
  },
4569
4697
  ssrName: "publicDir",
4570
- docLink: "https://www.remotion.dev/docs/terminology/public-dir",
4698
+ docLink: "https://www.remotion.dev/docs/options/public-dir",
4571
4699
  getValue: ({ commandLine }) => {
4572
- if (commandLine[cliFlag76] !== undefined) {
4700
+ if (commandLine[cliFlag78] !== undefined) {
4573
4701
  return {
4574
4702
  source: "cli",
4575
- value: commandLine[cliFlag76]
4703
+ value: commandLine[cliFlag78]
4576
4704
  };
4577
4705
  }
4578
4706
  if (currentPublicDir !== null) {
@@ -4590,20 +4718,20 @@ var publicDirOption = {
4590
4718
  currentPublicDir = value3;
4591
4719
  },
4592
4720
  type: "",
4593
- id: cliFlag76
4721
+ id: cliFlag78
4594
4722
  };
4595
4723
 
4596
4724
  // src/options/public-license-key.tsx
4597
- import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4598
- var cliFlag77 = "public-license-key";
4725
+ import { jsx as jsx75, jsxs as jsxs55, Fragment as Fragment75 } from "react/jsx-runtime";
4726
+ var cliFlag79 = "public-license-key";
4599
4727
  var currentPublicLicenseKey = null;
4600
4728
  var publicLicenseKeyOption = {
4601
4729
  name: "Public License Key",
4602
- cliFlag: cliFlag77,
4603
- description: () => /* @__PURE__ */ jsxs52(Fragment73, {
4730
+ cliFlag: cliFlag79,
4731
+ description: () => /* @__PURE__ */ jsxs55(Fragment75, {
4604
4732
  children: [
4605
4733
  "The public license key for your company license, obtained from the License keys page on ",
4606
- /* @__PURE__ */ jsx73("a", {
4734
+ /* @__PURE__ */ jsx75("a", {
4607
4735
  href: "https://remotion.pro/dashboard",
4608
4736
  children: "remotion.pro"
4609
4737
  }),
@@ -4611,12 +4739,12 @@ var publicLicenseKeyOption = {
4611
4739
  ]
4612
4740
  }),
4613
4741
  ssrName: "publicLicenseKey",
4614
- docLink: "https://www.remotion.dev/docs/licensing",
4742
+ docLink: "https://www.remotion.dev/docs/options/public-license-key",
4615
4743
  getValue: ({ commandLine }) => {
4616
- if (commandLine[cliFlag77] !== undefined) {
4744
+ if (commandLine[cliFlag79] !== undefined) {
4617
4745
  return {
4618
4746
  source: "cli",
4619
- value: commandLine[cliFlag77]
4747
+ value: commandLine[cliFlag79]
4620
4748
  };
4621
4749
  }
4622
4750
  if (currentPublicLicenseKey !== null) {
@@ -4637,25 +4765,25 @@ var publicLicenseKeyOption = {
4637
4765
  currentPublicLicenseKey = value3;
4638
4766
  },
4639
4767
  type: null,
4640
- id: cliFlag77
4768
+ id: cliFlag79
4641
4769
  };
4642
4770
 
4643
4771
  // src/options/public-path.tsx
4644
- import { jsx as jsx74, jsxs as jsxs53, Fragment as Fragment74 } from "react/jsx-runtime";
4645
- var cliFlag78 = "public-path";
4772
+ import { jsx as jsx76, jsxs as jsxs56, Fragment as Fragment76 } from "react/jsx-runtime";
4773
+ var cliFlag80 = "public-path";
4646
4774
  var currentPublicPath = null;
4647
4775
  var publicPathOption = {
4648
4776
  name: "Public Path",
4649
- cliFlag: cliFlag78,
4777
+ cliFlag: cliFlag80,
4650
4778
  description: () => {
4651
- return /* @__PURE__ */ jsxs53(Fragment74, {
4779
+ return /* @__PURE__ */ jsxs56(Fragment76, {
4652
4780
  children: [
4653
4781
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4654
- /* @__PURE__ */ jsx74("code", {
4782
+ /* @__PURE__ */ jsx76("code", {
4655
4783
  children: "./"
4656
4784
  }),
4657
4785
  ", making the bundle relocatable. Set an absolute path such as ",
4658
- /* @__PURE__ */ jsx74("code", {
4786
+ /* @__PURE__ */ jsx76("code", {
4659
4787
  children: "/sites/my-site/"
4660
4788
  }),
4661
4789
  " to host the bundle at a fixed location."
@@ -4663,12 +4791,12 @@ var publicPathOption = {
4663
4791
  });
4664
4792
  },
4665
4793
  ssrName: "publicPath",
4666
- docLink: "https://www.remotion.dev/docs/renderer",
4794
+ docLink: "https://www.remotion.dev/docs/options/public-path",
4667
4795
  getValue: ({ commandLine }) => {
4668
- if (commandLine[cliFlag78] !== undefined) {
4796
+ if (commandLine[cliFlag80] !== undefined) {
4669
4797
  return {
4670
4798
  source: "cli",
4671
- value: commandLine[cliFlag78]
4799
+ value: commandLine[cliFlag80]
4672
4800
  };
4673
4801
  }
4674
4802
  if (currentPublicPath !== null) {
@@ -4686,29 +4814,29 @@ var publicPathOption = {
4686
4814
  currentPublicPath = value3;
4687
4815
  },
4688
4816
  type: "",
4689
- id: cliFlag78
4817
+ id: cliFlag80
4690
4818
  };
4691
4819
 
4692
4820
  // src/options/repro.tsx
4693
- import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4821
+ import { jsx as jsx77, Fragment as Fragment77 } from "react/jsx-runtime";
4694
4822
  var enableRepro = false;
4695
4823
  var setRepro = (should) => {
4696
4824
  enableRepro = should;
4697
4825
  };
4698
- var cliFlag79 = "repro";
4826
+ var cliFlag81 = "repro";
4699
4827
  var reproOption = {
4700
4828
  name: "Create reproduction",
4701
- cliFlag: cliFlag79,
4702
- description: () => /* @__PURE__ */ jsx75(Fragment75, {
4829
+ cliFlag: cliFlag81,
4830
+ description: () => /* @__PURE__ */ jsx77(Fragment77, {
4703
4831
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4704
4832
  }),
4705
4833
  ssrName: "repro",
4706
- docLink: "https://www.remotion.dev/docs/render-media#repro",
4834
+ docLink: "https://www.remotion.dev/docs/options/repro",
4707
4835
  type: false,
4708
4836
  getValue: ({ commandLine }) => {
4709
- if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
4837
+ if (commandLine[cliFlag81] !== undefined && commandLine[cliFlag81] !== null) {
4710
4838
  return {
4711
- value: commandLine[cliFlag79],
4839
+ value: commandLine[cliFlag81],
4712
4840
  source: "cli"
4713
4841
  };
4714
4842
  }
@@ -4724,27 +4852,27 @@ var reproOption = {
4724
4852
  };
4725
4853
  },
4726
4854
  setConfig: setRepro,
4727
- id: cliFlag79
4855
+ id: cliFlag81
4728
4856
  };
4729
4857
 
4730
4858
  // src/options/rspack.tsx
4731
- import { jsx as jsx76, Fragment as Fragment76 } from "react/jsx-runtime";
4859
+ import { jsx as jsx78, Fragment as Fragment78 } from "react/jsx-runtime";
4732
4860
  var rspackEnabled = false;
4733
4861
  var configuredRspackEnabled = null;
4734
- var cliFlag80 = "rspack";
4862
+ var cliFlag82 = "rspack";
4735
4863
  var rspackOption = {
4736
4864
  name: "Rspack",
4737
- cliFlag: cliFlag80,
4738
- description: () => /* @__PURE__ */ jsx76(Fragment76, {
4865
+ cliFlag: cliFlag82,
4866
+ description: () => /* @__PURE__ */ jsx78(Fragment78, {
4739
4867
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4740
4868
  }),
4741
4869
  ssrName: null,
4742
- docLink: null,
4870
+ docLink: "https://www.remotion.dev/docs/options/rspack",
4743
4871
  type: false,
4744
4872
  getValue: ({ commandLine }) => {
4745
- if (commandLine[cliFlag80] !== undefined && commandLine[cliFlag80] !== null) {
4873
+ if (commandLine[cliFlag82] !== undefined && commandLine[cliFlag82] !== null) {
4746
4874
  return {
4747
- value: commandLine[cliFlag80],
4875
+ value: commandLine[cliFlag82],
4748
4876
  source: "cli"
4749
4877
  };
4750
4878
  }
@@ -4762,34 +4890,34 @@ var rspackOption = {
4762
4890
  rspackEnabled = false;
4763
4891
  configuredRspackEnabled = null;
4764
4892
  },
4765
- id: cliFlag80
4893
+ id: cliFlag82
4766
4894
  };
4767
4895
 
4768
4896
  // src/options/runs.tsx
4769
- import { jsx as jsx77, jsxs as jsxs54, Fragment as Fragment77 } from "react/jsx-runtime";
4897
+ import { jsx as jsx79, jsxs as jsxs57, Fragment as Fragment79 } from "react/jsx-runtime";
4770
4898
  var DEFAULT_RUNS = 3;
4771
4899
  var currentRuns = DEFAULT_RUNS;
4772
- var cliFlag81 = "runs";
4900
+ var cliFlag83 = "runs";
4773
4901
  var runsOption = {
4774
4902
  name: "Benchmark runs",
4775
- cliFlag: cliFlag81,
4776
- description: () => /* @__PURE__ */ jsxs54(Fragment77, {
4903
+ cliFlag: cliFlag83,
4904
+ description: () => /* @__PURE__ */ jsxs57(Fragment79, {
4777
4905
  children: [
4778
4906
  "Specify how many times the video should be rendered during a benchmark. Default ",
4779
- /* @__PURE__ */ jsx77("code", {
4907
+ /* @__PURE__ */ jsx79("code", {
4780
4908
  children: DEFAULT_RUNS
4781
4909
  }),
4782
4910
  "."
4783
4911
  ]
4784
4912
  }),
4785
4913
  ssrName: null,
4786
- docLink: "https://www.remotion.dev/docs/cli/benchmark#--runs",
4914
+ docLink: "https://www.remotion.dev/docs/options/runs",
4787
4915
  type: DEFAULT_RUNS,
4788
4916
  getValue: ({ commandLine }) => {
4789
- if (commandLine[cliFlag81] !== undefined) {
4790
- const value3 = Number(commandLine[cliFlag81]);
4917
+ if (commandLine[cliFlag83] !== undefined) {
4918
+ const value3 = Number(commandLine[cliFlag83]);
4791
4919
  if (isNaN(value3) || value3 < 1) {
4792
- throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag81]}`);
4920
+ throw new Error(`--runs must be a positive number, but got ${commandLine[cliFlag83]}`);
4793
4921
  }
4794
4922
  return { value: value3, source: "cli" };
4795
4923
  }
@@ -4804,32 +4932,32 @@ var runsOption = {
4804
4932
  }
4805
4933
  currentRuns = value3;
4806
4934
  },
4807
- id: cliFlag81
4935
+ id: cliFlag83
4808
4936
  };
4809
4937
 
4810
4938
  // src/options/sample-rate.tsx
4811
- import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4812
- var cliFlag82 = "sample-rate";
4939
+ import { jsx as jsx80, jsxs as jsxs58, Fragment as Fragment80 } from "react/jsx-runtime";
4940
+ var cliFlag84 = "sample-rate";
4813
4941
  var currentSampleRate = 48000;
4814
4942
  var sampleRateOption = {
4815
4943
  name: "Sample Rate",
4816
- cliFlag: cliFlag82,
4817
- description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4944
+ cliFlag: cliFlag84,
4945
+ description: () => /* @__PURE__ */ jsxs58(Fragment80, {
4818
4946
  children: [
4819
4947
  "Controls the sample rate of the output audio. The default is",
4820
4948
  " ",
4821
- /* @__PURE__ */ jsx78("code", {
4949
+ /* @__PURE__ */ jsx80("code", {
4822
4950
  children: "48000"
4823
4951
  }),
4824
4952
  " Hz. Match this to your source audio to avoid resampling artifacts."
4825
4953
  ]
4826
4954
  }),
4827
4955
  ssrName: "sampleRate",
4828
- docLink: "https://www.remotion.dev/docs/sample-rate",
4956
+ docLink: "https://www.remotion.dev/docs/options/sample-rate",
4829
4957
  type: 48000,
4830
4958
  getValue: ({ commandLine }, compositionSampleRate) => {
4831
- if (commandLine[cliFlag82] !== undefined) {
4832
- return { value: commandLine[cliFlag82], source: "cli" };
4959
+ if (commandLine[cliFlag84] !== undefined) {
4960
+ return { value: commandLine[cliFlag84], source: "cli" };
4833
4961
  }
4834
4962
  if (currentSampleRate !== 48000) {
4835
4963
  return { value: currentSampleRate, source: "config file" };
@@ -4845,13 +4973,13 @@ var sampleRateOption = {
4845
4973
  setConfig: (value3) => {
4846
4974
  currentSampleRate = value3;
4847
4975
  },
4848
- id: cliFlag82
4976
+ id: cliFlag84
4849
4977
  };
4850
4978
 
4851
4979
  // src/options/scale.tsx
4852
- import { jsx as jsx79, jsxs as jsxs56, Fragment as Fragment79 } from "react/jsx-runtime";
4980
+ import { jsx as jsx81, jsxs as jsxs59, Fragment as Fragment81 } from "react/jsx-runtime";
4853
4981
  var currentScale = 1;
4854
- var cliFlag83 = "scale";
4982
+ var cliFlag85 = "scale";
4855
4983
  var validateScale = (value3) => {
4856
4984
  if (typeof value3 !== "number") {
4857
4985
  throw new Error("scale must be a number.");
@@ -4859,15 +4987,15 @@ var validateScale = (value3) => {
4859
4987
  };
4860
4988
  var scaleOption = {
4861
4989
  name: "Scale",
4862
- cliFlag: cliFlag83,
4863
- description: () => /* @__PURE__ */ jsxs56(Fragment79, {
4990
+ cliFlag: cliFlag85,
4991
+ description: () => /* @__PURE__ */ jsxs59(Fragment81, {
4864
4992
  children: [
4865
4993
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4866
- /* @__PURE__ */ jsx79("code", {
4994
+ /* @__PURE__ */ jsx81("code", {
4867
4995
  children: "1.5"
4868
4996
  }),
4869
4997
  ". See ",
4870
- /* @__PURE__ */ jsx79("a", {
4998
+ /* @__PURE__ */ jsx81("a", {
4871
4999
  href: "https://www.remotion.dev/docs/scaling",
4872
5000
  children: "Scaling"
4873
5001
  }),
@@ -4875,14 +5003,14 @@ var scaleOption = {
4875
5003
  ]
4876
5004
  }),
4877
5005
  ssrName: "scale",
4878
- docLink: "https://www.remotion.dev/docs/scaling",
5006
+ docLink: "https://www.remotion.dev/docs/options/scale",
4879
5007
  type: 0,
4880
5008
  getValue: ({ commandLine }) => {
4881
- if (commandLine[cliFlag83] !== undefined) {
4882
- validateScale(commandLine[cliFlag83]);
5009
+ if (commandLine[cliFlag85] !== undefined) {
5010
+ validateScale(commandLine[cliFlag85]);
4883
5011
  return {
4884
5012
  source: "cli",
4885
- value: commandLine[cliFlag83]
5013
+ value: commandLine[cliFlag85]
4886
5014
  };
4887
5015
  }
4888
5016
  if (currentScale !== null) {
@@ -4899,22 +5027,22 @@ var scaleOption = {
4899
5027
  setConfig: (scale) => {
4900
5028
  currentScale = scale;
4901
5029
  },
4902
- id: cliFlag83
5030
+ id: cliFlag85
4903
5031
  };
4904
5032
 
4905
5033
  // src/options/skip-skills.tsx
4906
- import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4907
- var cliFlag84 = "skip-skills";
5034
+ import { jsx as jsx82, Fragment as Fragment82 } from "react/jsx-runtime";
5035
+ var cliFlag86 = "skip-skills";
4908
5036
  var skipSkillsOption = {
4909
5037
  name: "Skip Skills",
4910
- cliFlag: cliFlag84,
4911
- description: () => /* @__PURE__ */ jsx80(Fragment80, {
5038
+ cliFlag: cliFlag86,
5039
+ description: () => /* @__PURE__ */ jsx82(Fragment82, {
4912
5040
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
4913
5041
  }),
4914
5042
  ssrName: null,
4915
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--skip-skills",
5043
+ docLink: "https://www.remotion.dev/docs/options/skip-skills",
4916
5044
  getValue: ({ commandLine }) => {
4917
- if (commandLine[cliFlag84]) {
5045
+ if (commandLine[cliFlag86]) {
4918
5046
  return {
4919
5047
  source: "cli",
4920
5048
  value: true
@@ -4929,16 +5057,16 @@ var skipSkillsOption = {
4929
5057
  throw new Error("Cannot skip updating skills via config file");
4930
5058
  },
4931
5059
  type: false,
4932
- id: cliFlag84
5060
+ id: cliFlag86
4933
5061
  };
4934
5062
 
4935
5063
  // src/options/still-frame.tsx
4936
- import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4937
- import { jsx as jsx81, jsxs as jsxs57, Fragment as Fragment81 } from "react/jsx-runtime";
4938
- var cliFlag85 = "frame";
5064
+ import { NoReactInternals as NoReactInternals5 } from "remotion/no-react";
5065
+ import { jsx as jsx83, jsxs as jsxs60, Fragment as Fragment83 } from "react/jsx-runtime";
5066
+ var cliFlag87 = "frame";
4939
5067
  var currentFrame = null;
4940
5068
  var validate3 = (frame) => {
4941
- NoReactInternals4.validateFrame({
5069
+ NoReactInternals5.validateFrame({
4942
5070
  frame,
4943
5071
  durationInFrames: Infinity,
4944
5072
  allowFloats: false
@@ -4946,27 +5074,27 @@ var validate3 = (frame) => {
4946
5074
  };
4947
5075
  var stillFrameOption = {
4948
5076
  name: "Frame",
4949
- cliFlag: cliFlag85,
4950
- description: () => /* @__PURE__ */ jsxs57(Fragment81, {
5077
+ cliFlag: cliFlag87,
5078
+ description: () => /* @__PURE__ */ jsxs60(Fragment83, {
4951
5079
  children: [
4952
5080
  "Which frame should be rendered when rendering a still. Default",
4953
5081
  " ",
4954
- /* @__PURE__ */ jsx81("code", {
5082
+ /* @__PURE__ */ jsx83("code", {
4955
5083
  children: "0"
4956
5084
  }),
4957
5085
  ". From v3.2.27, negative values are allowed, with",
4958
5086
  " ",
4959
- /* @__PURE__ */ jsx81("code", {
5087
+ /* @__PURE__ */ jsx83("code", {
4960
5088
  children: "-1"
4961
5089
  }),
4962
5090
  " being the last frame."
4963
5091
  ]
4964
5092
  }),
4965
5093
  ssrName: "frame",
4966
- docLink: "https://www.remotion.dev/docs/cli/still#--frame",
5094
+ docLink: "https://www.remotion.dev/docs/options/frame",
4967
5095
  getValue: ({ commandLine }) => {
4968
- if (commandLine[cliFlag85] !== undefined) {
4969
- const frame = Number(commandLine[cliFlag85]);
5096
+ if (commandLine[cliFlag87] !== undefined) {
5097
+ const frame = Number(commandLine[cliFlag87]);
4970
5098
  validate3(frame);
4971
5099
  return {
4972
5100
  source: "cli",
@@ -4991,35 +5119,35 @@ var stillFrameOption = {
4991
5119
  currentFrame = value3;
4992
5120
  },
4993
5121
  type: 0,
4994
- id: cliFlag85
5122
+ id: cliFlag87
4995
5123
  };
4996
5124
 
4997
5125
  // src/options/still-image-format.tsx
4998
- import { jsx as jsx82, jsxs as jsxs58, Fragment as Fragment82 } from "react/jsx-runtime";
5126
+ import { jsx as jsx84, jsxs as jsxs61, Fragment as Fragment84 } from "react/jsx-runtime";
4999
5127
  var currentStillImageFormat = null;
5000
- var cliFlag86 = "image-format";
5128
+ var cliFlag88 = "image-format";
5001
5129
  var stillImageFormatOption = {
5002
5130
  name: "Still Image Format",
5003
- cliFlag: cliFlag86,
5004
- description: () => /* @__PURE__ */ jsxs58(Fragment82, {
5131
+ cliFlag: cliFlag88,
5132
+ description: () => /* @__PURE__ */ jsxs61(Fragment84, {
5005
5133
  children: [
5006
5134
  "The image format to use when rendering a still. Must be one of",
5007
5135
  " ",
5008
5136
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
5009
5137
  ". Default:",
5010
5138
  " ",
5011
- /* @__PURE__ */ jsx82("code", {
5139
+ /* @__PURE__ */ jsx84("code", {
5012
5140
  children: '"png"'
5013
5141
  }),
5014
5142
  "."
5015
5143
  ]
5016
5144
  }),
5017
5145
  ssrName: "imageFormat",
5018
- docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
5146
+ docLink: "https://www.remotion.dev/docs/options/still-image-format",
5019
5147
  type: null,
5020
5148
  getValue: ({ commandLine }) => {
5021
- if (commandLine[cliFlag86] !== undefined) {
5022
- const value3 = commandLine[cliFlag86];
5149
+ if (commandLine[cliFlag88] !== undefined) {
5150
+ const value3 = commandLine[cliFlag88];
5023
5151
  if (!validStillImageFormats.includes(value3)) {
5024
5152
  throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
5025
5153
  }
@@ -5057,16 +5185,16 @@ var stillImageFormatOption = {
5057
5185
 
5058
5186
  // src/options/throw-if-site-exists.tsx
5059
5187
  var DEFAULT5 = false;
5060
- var cliFlag87 = "throw-if-site-exists";
5188
+ var cliFlag89 = "throw-if-site-exists";
5061
5189
  var throwIfSiteExistsOption = {
5062
- cliFlag: cliFlag87,
5190
+ cliFlag: cliFlag89,
5063
5191
  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.`,
5064
- docLink: "https://remotion.dev/docs/lambda/deploy-site",
5192
+ docLink: "https://www.remotion.dev/docs/options/throw-if-site-exists",
5065
5193
  getValue: ({ commandLine }) => {
5066
- if (commandLine[cliFlag87]) {
5194
+ if (commandLine[cliFlag89]) {
5067
5195
  return {
5068
5196
  source: "cli",
5069
- value: commandLine[cliFlag87]
5197
+ value: commandLine[cliFlag89]
5070
5198
  };
5071
5199
  }
5072
5200
  return {
@@ -5080,53 +5208,53 @@ var throwIfSiteExistsOption = {
5080
5208
  },
5081
5209
  ssrName: "throwIfSiteExists",
5082
5210
  type: false,
5083
- id: cliFlag87
5211
+ id: cliFlag89
5084
5212
  };
5085
5213
 
5086
5214
  // src/options/timeout.tsx
5087
- import { jsx as jsx83, jsxs as jsxs59, Fragment as Fragment83 } from "react/jsx-runtime";
5215
+ import { jsx as jsx85, jsxs as jsxs62, Fragment as Fragment85 } from "react/jsx-runtime";
5088
5216
  var currentTimeout = DEFAULT_TIMEOUT;
5089
5217
  var validate4 = (value3) => {
5090
5218
  if (typeof value3 !== "number") {
5091
5219
  throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
5092
5220
  }
5093
5221
  };
5094
- var cliFlag88 = "timeout";
5222
+ var cliFlag90 = "timeout";
5095
5223
  var delayRenderTimeoutInMillisecondsOption = {
5096
5224
  name: "delayRender() timeout",
5097
- cliFlag: cliFlag88,
5098
- description: () => /* @__PURE__ */ jsxs59(Fragment83, {
5225
+ cliFlag: cliFlag90,
5226
+ description: () => /* @__PURE__ */ jsxs62(Fragment85, {
5099
5227
  children: [
5100
5228
  "A number describing how long the render may take to resolve all",
5101
5229
  " ",
5102
- /* @__PURE__ */ jsx83("a", {
5230
+ /* @__PURE__ */ jsx85("a", {
5103
5231
  href: "https://remotion.dev/docs/delay-render",
5104
- children: /* @__PURE__ */ jsx83("code", {
5232
+ children: /* @__PURE__ */ jsx85("code", {
5105
5233
  children: "delayRender()"
5106
5234
  })
5107
5235
  }),
5108
5236
  " ",
5109
5237
  "calls",
5110
5238
  " ",
5111
- /* @__PURE__ */ jsx83("a", {
5239
+ /* @__PURE__ */ jsx85("a", {
5112
5240
  style: { fontSize: "inherit" },
5113
5241
  href: "https://remotion.dev/docs/timeout",
5114
5242
  children: "before it times out"
5115
5243
  }),
5116
5244
  ". Default: ",
5117
- /* @__PURE__ */ jsx83("code", {
5245
+ /* @__PURE__ */ jsx85("code", {
5118
5246
  children: "30000"
5119
5247
  })
5120
5248
  ]
5121
5249
  }),
5122
5250
  ssrName: "timeoutInMilliseconds",
5123
- docLink: "https://www.remotion.dev/docs/timeout",
5251
+ docLink: "https://www.remotion.dev/docs/options/timeout",
5124
5252
  type: 0,
5125
5253
  getValue: ({ commandLine }) => {
5126
- if (commandLine[cliFlag88] !== undefined) {
5254
+ if (commandLine[cliFlag90] !== undefined) {
5127
5255
  return {
5128
5256
  source: "cli",
5129
- value: commandLine[cliFlag88]
5257
+ value: commandLine[cliFlag90]
5130
5258
  };
5131
5259
  }
5132
5260
  if (currentTimeout !== null) {
@@ -5145,27 +5273,27 @@ var delayRenderTimeoutInMillisecondsOption = {
5145
5273
  validate4(value3);
5146
5274
  currentTimeout = value3;
5147
5275
  },
5148
- id: cliFlag88
5276
+ id: cliFlag90
5149
5277
  };
5150
5278
 
5151
5279
  // src/options/user-agent.tsx
5152
- import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
5280
+ import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5153
5281
  var userAgent = null;
5154
- var cliFlag89 = "user-agent";
5282
+ var cliFlag91 = "user-agent";
5155
5283
  var userAgentOption = {
5156
5284
  name: "User agent",
5157
- cliFlag: cliFlag89,
5158
- description: () => /* @__PURE__ */ jsx84(Fragment84, {
5285
+ cliFlag: cliFlag91,
5286
+ description: () => /* @__PURE__ */ jsx86(Fragment86, {
5159
5287
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5160
5288
  }),
5161
5289
  ssrName: "userAgent",
5162
- docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
5290
+ docLink: "https://www.remotion.dev/docs/options/user-agent",
5163
5291
  type: null,
5164
5292
  getValue: ({ commandLine }) => {
5165
- if (commandLine[cliFlag89] !== undefined) {
5293
+ if (commandLine[cliFlag91] !== undefined) {
5166
5294
  return {
5167
5295
  source: "cli",
5168
- value: commandLine[cliFlag89]
5296
+ value: commandLine[cliFlag91]
5169
5297
  };
5170
5298
  }
5171
5299
  if (userAgent !== null) {
@@ -5182,25 +5310,25 @@ var userAgentOption = {
5182
5310
  setConfig: (value3) => {
5183
5311
  userAgent = value3;
5184
5312
  },
5185
- id: cliFlag89
5313
+ id: cliFlag91
5186
5314
  };
5187
5315
 
5188
5316
  // src/options/version-flag.tsx
5189
- import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5190
- var cliFlag90 = "version";
5317
+ import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5318
+ var cliFlag92 = "version";
5191
5319
  var versionFlagOption = {
5192
5320
  name: "Version",
5193
- cliFlag: cliFlag90,
5194
- description: () => /* @__PURE__ */ jsx85(Fragment85, {
5321
+ cliFlag: cliFlag92,
5322
+ description: () => /* @__PURE__ */ jsx87(Fragment87, {
5195
5323
  children: "Install a specific version. Also enables downgrading to an older version."
5196
5324
  }),
5197
5325
  ssrName: null,
5198
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--version",
5326
+ docLink: "https://www.remotion.dev/docs/options/version",
5199
5327
  getValue: ({ commandLine }) => {
5200
- if (commandLine[cliFlag90] !== undefined) {
5328
+ if (commandLine[cliFlag92] !== undefined) {
5201
5329
  return {
5202
5330
  source: "cli",
5203
- value: String(commandLine[cliFlag90])
5331
+ value: String(commandLine[cliFlag92])
5204
5332
  };
5205
5333
  }
5206
5334
  return {
@@ -5212,43 +5340,43 @@ var versionFlagOption = {
5212
5340
  throw new Error("Cannot set version via config file");
5213
5341
  },
5214
5342
  type: "",
5215
- id: cliFlag90
5343
+ id: cliFlag92
5216
5344
  };
5217
5345
 
5218
5346
  // src/options/video-bitrate.tsx
5219
- import { jsx as jsx86, jsxs as jsxs60, Fragment as Fragment86 } from "react/jsx-runtime";
5347
+ import { jsx as jsx88, jsxs as jsxs63, Fragment as Fragment88 } from "react/jsx-runtime";
5220
5348
  var videoBitrate = null;
5221
- var cliFlag91 = "video-bitrate";
5349
+ var cliFlag93 = "video-bitrate";
5222
5350
  var videoBitrateOption = {
5223
5351
  name: "Video Bitrate",
5224
- cliFlag: cliFlag91,
5225
- description: () => /* @__PURE__ */ jsxs60(Fragment86, {
5352
+ cliFlag: cliFlag93,
5353
+ description: () => /* @__PURE__ */ jsxs63(Fragment88, {
5226
5354
  children: [
5227
5355
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5228
5356
  "'",
5229
5357
  "s",
5230
- /* @__PURE__ */ jsx86("code", {
5358
+ /* @__PURE__ */ jsx88("code", {
5231
5359
  children: "-b:v"
5232
5360
  }),
5233
5361
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
5234
- /* @__PURE__ */ jsx86("code", {
5362
+ /* @__PURE__ */ jsx88("code", {
5235
5363
  children: "512K"
5236
5364
  }),
5237
5365
  " for 512 kbps, ",
5238
- /* @__PURE__ */ jsx86("code", {
5366
+ /* @__PURE__ */ jsx88("code", {
5239
5367
  children: "1M"
5240
5368
  }),
5241
5369
  " for 1 Mbps."
5242
5370
  ]
5243
5371
  }),
5244
5372
  ssrName: "videoBitrate",
5245
- docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
5373
+ docLink: "https://www.remotion.dev/docs/options/video-bitrate",
5246
5374
  type: "",
5247
5375
  getValue: ({ commandLine }) => {
5248
- if (commandLine[cliFlag91] !== undefined) {
5376
+ if (commandLine[cliFlag93] !== undefined) {
5249
5377
  return {
5250
5378
  source: "cli",
5251
- value: commandLine[cliFlag91]
5379
+ value: commandLine[cliFlag93]
5252
5380
  };
5253
5381
  }
5254
5382
  if (videoBitrate !== null) {
@@ -5265,45 +5393,45 @@ var videoBitrateOption = {
5265
5393
  setConfig: (bitrate) => {
5266
5394
  videoBitrate = bitrate;
5267
5395
  },
5268
- id: cliFlag91
5396
+ id: cliFlag93
5269
5397
  };
5270
5398
 
5271
5399
  // src/options/video-cache-size.tsx
5272
- import { jsx as jsx87, jsxs as jsxs61, Fragment as Fragment87 } from "react/jsx-runtime";
5400
+ import { jsx as jsx89, jsxs as jsxs64, Fragment as Fragment89 } from "react/jsx-runtime";
5273
5401
  var mediaCacheSizeInBytes = null;
5274
- var cliFlag92 = "media-cache-size-in-bytes";
5402
+ var cliFlag94 = "media-cache-size-in-bytes";
5275
5403
  var mediaCacheSizeInBytesOption = {
5276
5404
  name: "@remotion/media cache size",
5277
- cliFlag: cliFlag92,
5278
- description: () => /* @__PURE__ */ jsxs61(Fragment87, {
5405
+ cliFlag: cliFlag94,
5406
+ description: () => /* @__PURE__ */ jsxs64(Fragment89, {
5279
5407
  children: [
5280
5408
  "Specify the memory budget for decoded media cached by",
5281
5409
  " ",
5282
- /* @__PURE__ */ jsx87("code", {
5410
+ /* @__PURE__ */ jsx89("code", {
5283
5411
  children: "<Video>"
5284
5412
  }),
5285
5413
  " and ",
5286
- /* @__PURE__ */ jsx87("code", {
5414
+ /* @__PURE__ */ jsx89("code", {
5287
5415
  children: "<Audio>"
5288
5416
  }),
5289
5417
  " from",
5290
5418
  " ",
5291
- /* @__PURE__ */ jsx87("code", {
5419
+ /* @__PURE__ */ jsx89("code", {
5292
5420
  children: "@remotion/media"
5293
5421
  }),
5294
5422
  ", 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. ",
5295
- /* @__PURE__ */ jsx87("br", {}),
5423
+ /* @__PURE__ */ jsx89("br", {}),
5296
5424
  "The default is half of the available system memory when the render starts."
5297
5425
  ]
5298
5426
  }),
5299
5427
  ssrName: "mediaCacheSizeInBytes",
5300
- docLink: "https://www.remotion.dev/docs/media/cache",
5428
+ docLink: "https://www.remotion.dev/docs/options/media-cache-size-in-bytes",
5301
5429
  type: 0,
5302
5430
  getValue: ({ commandLine }) => {
5303
- if (commandLine[cliFlag92] !== undefined) {
5431
+ if (commandLine[cliFlag94] !== undefined) {
5304
5432
  return {
5305
5433
  source: "cli",
5306
- value: commandLine[cliFlag92]
5434
+ value: commandLine[cliFlag94]
5307
5435
  };
5308
5436
  }
5309
5437
  if (mediaCacheSizeInBytes !== null) {
@@ -5320,11 +5448,11 @@ var mediaCacheSizeInBytesOption = {
5320
5448
  setConfig: (size) => {
5321
5449
  mediaCacheSizeInBytes = size ?? null;
5322
5450
  },
5323
- id: cliFlag92
5451
+ id: cliFlag94
5324
5452
  };
5325
5453
 
5326
5454
  // src/options/video-codec.tsx
5327
- import { jsx as jsx88, Fragment as Fragment88 } from "react/jsx-runtime";
5455
+ import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5328
5456
  var codec;
5329
5457
  var setCodec = (newCodec) => {
5330
5458
  if (newCodec === undefined) {
@@ -5343,20 +5471,21 @@ var deriveCodecsFromFilename = (extension) => {
5343
5471
  if (extension === null) {
5344
5472
  return { possible: [], default: null };
5345
5473
  }
5474
+ const normalizedExtension = extension.toLowerCase();
5346
5475
  return {
5347
- default: defaultCodecsForFileExtension[extension] ?? null,
5348
- possible: makeFileExtensionMap()[extension] ?? []
5476
+ default: defaultCodecsForFileExtension[normalizedExtension] ?? null,
5477
+ possible: makeFileExtensionMap()[normalizedExtension] ?? []
5349
5478
  };
5350
5479
  };
5351
- var cliFlag93 = "codec";
5480
+ var cliFlag95 = "codec";
5352
5481
  var videoCodecOption = {
5353
5482
  name: "Codec",
5354
- cliFlag: cliFlag93,
5355
- description: () => /* @__PURE__ */ jsx88(Fragment88, {
5483
+ cliFlag: cliFlag95,
5484
+ description: () => /* @__PURE__ */ jsx90(Fragment90, {
5356
5485
  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."
5357
5486
  }),
5358
5487
  ssrName: "codec",
5359
- docLink: "https://www.remotion.dev/docs/encoding/#choosing-a-codec",
5488
+ docLink: "https://www.remotion.dev/docs/options/codec",
5360
5489
  type: "",
5361
5490
  getValue: ({ commandLine }, {
5362
5491
  compositionCodec,
@@ -5375,7 +5504,7 @@ var videoCodecOption = {
5375
5504
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5376
5505
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5377
5506
  }
5378
- const cliArgument = commandLine[cliFlag93];
5507
+ const cliArgument = commandLine[cliFlag95];
5379
5508
  if (cliArgument) {
5380
5509
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5381
5510
  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.`);
@@ -5424,31 +5553,38 @@ var videoCodecOption = {
5424
5553
  reset: () => {
5425
5554
  codec = undefined;
5426
5555
  },
5427
- id: cliFlag93
5556
+ id: cliFlag95
5428
5557
  };
5429
5558
 
5430
5559
  // src/options/video-image-format.tsx
5431
- import { jsx as jsx89, jsxs as jsxs62, Fragment as Fragment89 } from "react/jsx-runtime";
5560
+ import { jsx as jsx91, jsxs as jsxs65, Fragment as Fragment91 } from "react/jsx-runtime";
5432
5561
  var currentVideoImageFormat = null;
5433
- var cliFlag94 = "image-format";
5562
+ var cliFlag96 = "image-format";
5434
5563
  var videoImageFormatOption = {
5435
5564
  name: "Video Image Format",
5436
- cliFlag: cliFlag94,
5437
- description: () => /* @__PURE__ */ jsxs62(Fragment89, {
5565
+ cliFlag: cliFlag96,
5566
+ description: () => /* @__PURE__ */ jsxs65(Fragment91, {
5438
5567
  children: [
5439
5568
  "The image format to use when rendering frames for a video. Must be one of",
5440
5569
  " ",
5441
5570
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5442
5571
  ". Default:",
5443
5572
  " ",
5444
- /* @__PURE__ */ jsx89("code", {
5573
+ /* @__PURE__ */ jsx91("code", {
5445
5574
  children: '"jpeg"'
5446
5575
  }),
5447
- ". JPEG is faster, but does not support transparency."
5576
+ ". JPEG is faster, but does not support transparency.",
5577
+ /* @__PURE__ */ jsx91("br", {}),
5578
+ "When ",
5579
+ /* @__PURE__ */ jsx91("a", {
5580
+ href: "/docs/shared-memory-capture",
5581
+ children: "shared-memory capture"
5582
+ }),
5583
+ " is active, this option has no effect. The output pixel format determines transparency."
5448
5584
  ]
5449
5585
  }),
5450
5586
  ssrName: "imageFormat",
5451
- docLink: "https://www.remotion.dev/docs/renderer/render-media#imageformat",
5587
+ docLink: "https://www.remotion.dev/docs/options/video-image-format",
5452
5588
  type: null,
5453
5589
  getValue: ({ commandLine }, options) => {
5454
5590
  if (options?.uiVideoImageFormat) {
@@ -5457,8 +5593,8 @@ var videoImageFormatOption = {
5457
5593
  value: options.uiVideoImageFormat
5458
5594
  };
5459
5595
  }
5460
- if (commandLine[cliFlag94] !== undefined) {
5461
- const value3 = commandLine[cliFlag94];
5596
+ if (commandLine[cliFlag96] !== undefined) {
5597
+ const value3 = commandLine[cliFlag96];
5462
5598
  if (!validVideoImageFormats.includes(value3)) {
5463
5599
  throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5464
5600
  }
@@ -5522,12 +5658,12 @@ var videoImageFormatOption = {
5522
5658
  };
5523
5659
 
5524
5660
  // src/options/webhook-custom-data.tsx
5525
- import { jsxs as jsxs63, Fragment as Fragment90 } from "react/jsx-runtime";
5526
- var cliFlag95 = "webhook-custom-data";
5661
+ import { jsxs as jsxs66, Fragment as Fragment92 } from "react/jsx-runtime";
5662
+ var cliFlag97 = "webhook-custom-data";
5527
5663
  var webhookCustomDataOption = {
5528
5664
  name: "Webhook custom data",
5529
- cliFlag: cliFlag95,
5530
- description: (type) => /* @__PURE__ */ jsxs63(Fragment90, {
5665
+ cliFlag: cliFlag97,
5666
+ description: (type) => /* @__PURE__ */ jsxs66(Fragment92, {
5531
5667
  children: [
5532
5668
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5533
5669
  " ",
@@ -5535,7 +5671,7 @@ var webhookCustomDataOption = {
5535
5671
  ]
5536
5672
  }),
5537
5673
  ssrName: "customData",
5538
- docLink: "https://www.remotion.dev/docs/lambda/webhooks",
5674
+ docLink: "https://www.remotion.dev/docs/options/webhook-custom-data",
5539
5675
  type: {},
5540
5676
  getValue: () => {
5541
5677
  throw new Error("Option resolution not implemented");
@@ -5543,24 +5679,24 @@ var webhookCustomDataOption = {
5543
5679
  setConfig: () => {
5544
5680
  throw new Error("Not implemented");
5545
5681
  },
5546
- id: cliFlag95
5682
+ id: cliFlag97
5547
5683
  };
5548
5684
 
5549
5685
  // src/options/webpack-poll.tsx
5550
- import { jsx as jsx90, Fragment as Fragment91 } from "react/jsx-runtime";
5551
- var cliFlag96 = "webpack-poll";
5686
+ import { jsx as jsx92, Fragment as Fragment93 } from "react/jsx-runtime";
5687
+ var cliFlag98 = "webpack-poll";
5552
5688
  var webpackPolling = null;
5553
5689
  var webpackPollOption = {
5554
5690
  name: "Webpack Polling",
5555
- cliFlag: cliFlag96,
5556
- description: () => /* @__PURE__ */ jsx90(Fragment91, {
5691
+ cliFlag: cliFlag98,
5692
+ description: () => /* @__PURE__ */ jsx92(Fragment93, {
5557
5693
  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."
5558
5694
  }),
5559
5695
  ssrName: null,
5560
- docLink: "https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds",
5696
+ docLink: "https://www.remotion.dev/docs/options/webpack-poll",
5561
5697
  getValue: ({ commandLine }) => {
5562
- if (commandLine[cliFlag96] !== undefined) {
5563
- const val = commandLine[cliFlag96];
5698
+ if (commandLine[cliFlag98] !== undefined) {
5699
+ const val = commandLine[cliFlag98];
5564
5700
  if (typeof val !== "number") {
5565
5701
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5566
5702
  }
@@ -5587,11 +5723,11 @@ var webpackPollOption = {
5587
5723
  webpackPolling = value3;
5588
5724
  },
5589
5725
  type: 0,
5590
- id: cliFlag96
5726
+ id: cliFlag98
5591
5727
  };
5592
5728
 
5593
5729
  // src/options/x264-preset.tsx
5594
- import { jsx as jsx91, jsxs as jsxs64, Fragment as Fragment92 } from "react/jsx-runtime";
5730
+ import { jsx as jsx93, jsxs as jsxs67, Fragment as Fragment94 } from "react/jsx-runtime";
5595
5731
  var x264PresetOptions = [
5596
5732
  "ultrafast",
5597
5733
  "superfast",
@@ -5605,72 +5741,72 @@ var x264PresetOptions = [
5605
5741
  "placebo"
5606
5742
  ];
5607
5743
  var preset = null;
5608
- var cliFlag97 = "x264-preset";
5744
+ var cliFlag99 = "x264-preset";
5609
5745
  var DEFAULT_PRESET = "medium";
5610
5746
  var x264Option = {
5611
5747
  name: "x264 Preset",
5612
- cliFlag: cliFlag97,
5613
- description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5748
+ cliFlag: cliFlag99,
5749
+ description: () => /* @__PURE__ */ jsxs67(Fragment94, {
5614
5750
  children: [
5615
5751
  "Sets a x264 preset profile. Only applies to videos rendered with",
5616
5752
  " ",
5617
- /* @__PURE__ */ jsx91("code", {
5753
+ /* @__PURE__ */ jsx93("code", {
5618
5754
  children: "h264"
5619
5755
  }),
5620
5756
  " codec.",
5621
- /* @__PURE__ */ jsx91("br", {}),
5757
+ /* @__PURE__ */ jsx93("br", {}),
5622
5758
  "Possible values: ",
5623
- /* @__PURE__ */ jsx91("code", {
5759
+ /* @__PURE__ */ jsx93("code", {
5624
5760
  children: "superfast"
5625
5761
  }),
5626
5762
  ", ",
5627
- /* @__PURE__ */ jsx91("code", {
5763
+ /* @__PURE__ */ jsx93("code", {
5628
5764
  children: "veryfast"
5629
5765
  }),
5630
5766
  ",",
5631
5767
  " ",
5632
- /* @__PURE__ */ jsx91("code", {
5768
+ /* @__PURE__ */ jsx93("code", {
5633
5769
  children: "faster"
5634
5770
  }),
5635
5771
  ", ",
5636
- /* @__PURE__ */ jsx91("code", {
5772
+ /* @__PURE__ */ jsx93("code", {
5637
5773
  children: "fast"
5638
5774
  }),
5639
5775
  ", ",
5640
- /* @__PURE__ */ jsx91("code", {
5776
+ /* @__PURE__ */ jsx93("code", {
5641
5777
  children: "medium"
5642
5778
  }),
5643
5779
  ",",
5644
5780
  " ",
5645
- /* @__PURE__ */ jsx91("code", {
5781
+ /* @__PURE__ */ jsx93("code", {
5646
5782
  children: "slow"
5647
5783
  }),
5648
5784
  ", ",
5649
- /* @__PURE__ */ jsx91("code", {
5785
+ /* @__PURE__ */ jsx93("code", {
5650
5786
  children: "slower"
5651
5787
  }),
5652
5788
  ", ",
5653
- /* @__PURE__ */ jsx91("code", {
5789
+ /* @__PURE__ */ jsx93("code", {
5654
5790
  children: "veryslow"
5655
5791
  }),
5656
5792
  ",",
5657
5793
  " ",
5658
- /* @__PURE__ */ jsx91("code", {
5794
+ /* @__PURE__ */ jsx93("code", {
5659
5795
  children: "placebo"
5660
5796
  }),
5661
5797
  ".",
5662
- /* @__PURE__ */ jsx91("br", {}),
5798
+ /* @__PURE__ */ jsx93("br", {}),
5663
5799
  "Default: ",
5664
- /* @__PURE__ */ jsx91("code", {
5800
+ /* @__PURE__ */ jsx93("code", {
5665
5801
  children: DEFAULT_PRESET
5666
5802
  })
5667
5803
  ]
5668
5804
  }),
5669
5805
  ssrName: "x264Preset",
5670
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
5806
+ docLink: "https://www.remotion.dev/docs/options/x264-preset",
5671
5807
  type: "fast",
5672
5808
  getValue: ({ commandLine }) => {
5673
- const value3 = commandLine[cliFlag97];
5809
+ const value3 = commandLine[cliFlag99];
5674
5810
  if (typeof value3 !== "undefined") {
5675
5811
  return { value: value3, source: "cli" };
5676
5812
  }
@@ -5682,7 +5818,7 @@ var x264Option = {
5682
5818
  setConfig: (profile) => {
5683
5819
  preset = profile;
5684
5820
  },
5685
- id: cliFlag97
5821
+ id: cliFlag99
5686
5822
  };
5687
5823
 
5688
5824
  // src/options/index.tsx
@@ -5708,6 +5844,7 @@ var allOptions = {
5708
5844
  deleteAfterOption,
5709
5845
  disableWebSecurityOption,
5710
5846
  disallowParallelEncodingOption,
5847
+ disableSharedMemoryCaptureOption,
5711
5848
  folderExpiryOption,
5712
5849
  enableCancellationOption,
5713
5850
  enableMultiprocessOnLinuxOption,
@@ -5760,6 +5897,7 @@ var allOptions = {
5760
5897
  framesOption,
5761
5898
  forceNewStudioOption,
5762
5899
  experimentalKeepAudioContextAliveOption,
5900
+ experimentalTracksOption,
5763
5901
  numberOfSharedAudioTagsOption,
5764
5902
  ipv4Option,
5765
5903
  stillImageFormatOption,
@@ -5801,6 +5939,7 @@ var optionsMap = {
5801
5939
  colorSpace: colorSpaceOption,
5802
5940
  codec: videoCodecOption,
5803
5941
  disallowParallelEncoding: disallowParallelEncodingOption,
5942
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5804
5943
  jpegQuality: jpegQualityOption,
5805
5944
  encodingMaxRate: encodingMaxRateOption,
5806
5945
  encodingBufferSize: encodingBufferSizeOption,
@@ -5869,6 +6008,7 @@ var optionsMap = {
5869
6008
  sampleRate: sampleRateOption
5870
6009
  },
5871
6010
  renderMediaOnLambda: {
6011
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5872
6012
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5873
6013
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5874
6014
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5908,6 +6048,7 @@ var optionsMap = {
5908
6048
  timeoutInMilliseconds: delayRenderTimeoutInMillisecondsOption
5909
6049
  },
5910
6050
  renderMediaOnCloudRun: {
6051
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5911
6052
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5912
6053
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5913
6054
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5958,6 +6099,7 @@ var optionsMap = {
5958
6099
  };
5959
6100
 
5960
6101
  // src/validate-output-filename.ts
6102
+ import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
5961
6103
  var validateOutputFilename = ({
5962
6104
  codec: codec2,
5963
6105
  audioCodecSetting,
@@ -5968,6 +6110,10 @@ var validateOutputFilename = ({
5968
6110
  if (!defaultFileExtensionMap[codec2]) {
5969
6111
  throw new TypeError(`The codec "${codec2}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
5970
6112
  }
6113
+ const normalizedExtension = extension === null ? null : extension.toLowerCase();
6114
+ if (NoReactInternals6.ENABLE_V5_BREAKING_CHANGES && codec2 === "aac" && (normalizedExtension === "mpg" || normalizedExtension === "mpeg")) {
6115
+ 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.");
6116
+ }
5971
6117
  const map = defaultFileExtensionMap[codec2];
5972
6118
  const resolvedAudioCodec = resolveAudioCodec({
5973
6119
  codec: codec2,
@@ -5976,7 +6122,7 @@ var validateOutputFilename = ({
5976
6122
  separateAudioTo
5977
6123
  });
5978
6124
  if (resolvedAudioCodec === null) {
5979
- if (extension !== map.default) {
6125
+ if (normalizedExtension !== map.default) {
5980
6126
  throw new TypeError(`When using the ${codec2} codec, the output filename must end in .${map.default}.`);
5981
6127
  }
5982
6128
  return;
@@ -5985,20 +6131,21 @@ var validateOutputFilename = ({
5985
6131
  throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec2}`);
5986
6132
  }
5987
6133
  const acceptableExtensions = map.forAudioCodec[resolvedAudioCodec].possible;
5988
- if (!acceptableExtensions.includes(extension) && !separateAudioTo) {
6134
+ if (!acceptableExtensions.includes(normalizedExtension) && !separateAudioTo) {
5989
6135
  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(", ")}.`);
5990
6136
  }
5991
6137
  };
5992
6138
 
5993
6139
  // src/client.ts
5994
6140
  var BrowserSafeApis = {
6141
+ canUseParallelEncoding,
5995
6142
  getExtensionOfFilename,
5996
6143
  getFileExtensionFromCodec,
5997
6144
  validCodecs,
5998
6145
  validAudioCodecs,
5999
6146
  getDefaultCrfForCodec,
6000
6147
  getValidCrfRanges,
6001
- proResProfileOptions: NoReactInternals5.proResProfileOptions,
6148
+ proResProfileOptions: NoReactInternals7.proResProfileOptions,
6002
6149
  x264PresetOptions,
6003
6150
  hardwareAccelerationOptions,
6004
6151
  validPixelFormats,