@remotion/renderer 4.0.533 → 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 (174) 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 +87 -4
  13. package/dist/client.js +2 -0
  14. package/dist/cycle-browser-tabs.js +9 -1
  15. package/dist/ensure-browser.js +30 -6
  16. package/dist/esm/client.mjs +937 -796
  17. package/dist/esm/index.mjs +4125 -3027
  18. package/dist/esm/pure.mjs +33 -9
  19. package/dist/file-extensions.js +4 -1
  20. package/dist/get-mp4-brand.d.ts +1 -0
  21. package/dist/get-mp4-brand.js +21 -0
  22. package/dist/image-format.d.ts +1 -0
  23. package/dist/image-format.js +8 -4
  24. package/dist/index.d.ts +11 -1
  25. package/dist/index.js +4 -0
  26. package/dist/memory/from-macos-sysctl.d.ts +1 -0
  27. package/dist/memory/from-macos-sysctl.js +50 -0
  28. package/dist/memory/from-proc-meminfo.d.ts +1 -1
  29. package/dist/memory/from-proc-meminfo.js +7 -4
  30. package/dist/memory/get-available-memory.js +29 -21
  31. package/dist/mux-video-and-audio.js +8 -2
  32. package/dist/next-frame-to-render.d.ts +3 -7
  33. package/dist/next-frame-to-render.js +3 -22
  34. package/dist/open-browser.js +1 -0
  35. package/dist/options/allow-html-in-canvas.js +1 -1
  36. package/dist/options/api-key.js +1 -1
  37. package/dist/options/ask-ai.js +1 -1
  38. package/dist/options/audio-bitrate.js +1 -1
  39. package/dist/options/audio-codec.js +12 -6
  40. package/dist/options/beep-on-finish.js +1 -1
  41. package/dist/options/benchmark-concurrencies.js +1 -1
  42. package/dist/options/binaries-directory.js +1 -1
  43. package/dist/options/browser-executable.js +1 -1
  44. package/dist/options/browser.js +1 -1
  45. package/dist/options/bundle-cache.js +1 -1
  46. package/dist/options/canvas-tabs.js +1 -1
  47. package/dist/options/chrome-mode.js +1 -1
  48. package/dist/options/color-space.js +1 -1
  49. package/dist/options/concurrency.js +1 -1
  50. package/dist/options/config.js +1 -1
  51. package/dist/options/crf.js +1 -1
  52. package/dist/options/cross-site-isolation.js +1 -1
  53. package/dist/options/dark-mode.js +1 -1
  54. package/dist/options/default-coding-agent.js +1 -1
  55. package/dist/options/default-editor.js +1 -1
  56. package/dist/options/delete-after.js +1 -1
  57. package/dist/options/disable-git-source.js +1 -1
  58. package/dist/options/disable-shared-memory-capture.d.ts +16 -0
  59. package/dist/options/disable-shared-memory-capture.js +29 -0
  60. package/dist/options/disable-web-security.js +1 -1
  61. package/dist/options/disallow-parallel-encoding.js +1 -1
  62. package/dist/options/enable-cancellation.js +1 -1
  63. package/dist/options/enable-lambda-insights.js +1 -1
  64. package/dist/options/enable-multiprocess-on-linux.js +1 -1
  65. package/dist/options/encoding-buffer-size.js +1 -1
  66. package/dist/options/encoding-max-rate.js +1 -1
  67. package/dist/options/enforce-audio.js +1 -1
  68. package/dist/options/env-file.js +1 -1
  69. package/dist/options/every-nth-frame.js +1 -1
  70. package/dist/options/experimental-keep-audio-context-alive.js +1 -1
  71. package/dist/options/experimental-tracks.d.ts +18 -0
  72. package/dist/options/experimental-tracks.js +42 -0
  73. package/dist/options/folder-expiry.js +1 -1
  74. package/dist/options/for-seamless-aac-concatenation.js +1 -1
  75. package/dist/options/force-new-studio.js +1 -1
  76. package/dist/options/frames.js +1 -1
  77. package/dist/options/gl.js +1 -1
  78. package/dist/options/gop-size.js +1 -1
  79. package/dist/options/hardware-acceleration.js +1 -1
  80. package/dist/options/headless.js +1 -1
  81. package/dist/options/ignore-certificate-errors.js +1 -1
  82. package/dist/options/image-sequence-pattern.d.ts +1 -1
  83. package/dist/options/image-sequence-pattern.js +1 -1
  84. package/dist/options/image-sequence.js +1 -1
  85. package/dist/options/index.d.ts +36 -2
  86. package/dist/options/index.js +4 -0
  87. package/dist/options/interactivity.js +1 -1
  88. package/dist/options/ipv4.js +1 -1
  89. package/dist/options/is-production.js +1 -1
  90. package/dist/options/jpeg-quality.js +5 -2
  91. package/dist/options/keyboard-shortcuts.js +1 -1
  92. package/dist/options/latency-hint.js +1 -1
  93. package/dist/options/license-key.js +1 -1
  94. package/dist/options/log-level.js +1 -1
  95. package/dist/options/metadata.js +1 -1
  96. package/dist/options/mute.js +1 -1
  97. package/dist/options/no-open.js +1 -1
  98. package/dist/options/number-of-gif-loops.js +1 -1
  99. package/dist/options/number-of-shared-audio-tags.js +1 -1
  100. package/dist/options/offthreadvideo-cache-size.js +1 -1
  101. package/dist/options/offthreadvideo-threads.js +1 -1
  102. package/dist/options/on-browser-download.js +1 -1
  103. package/dist/options/options-map.d.ts +49 -1
  104. package/dist/options/options-map.js +4 -0
  105. package/dist/options/out-dir.js +1 -1
  106. package/dist/options/override-duration.js +1 -1
  107. package/dist/options/override-fps.js +1 -1
  108. package/dist/options/override-height.js +1 -1
  109. package/dist/options/override-width.js +1 -1
  110. package/dist/options/overwrite.js +1 -1
  111. package/dist/options/package-manager.js +1 -1
  112. package/dist/options/pixel-format.js +1 -1
  113. package/dist/options/port.js +1 -1
  114. package/dist/options/prefer-lossless.js +1 -1
  115. package/dist/options/preview-sample-rate.js +1 -1
  116. package/dist/options/props.js +1 -1
  117. package/dist/options/prores-profile.js +1 -1
  118. package/dist/options/public-dir.js +1 -1
  119. package/dist/options/public-license-key.js +1 -1
  120. package/dist/options/public-path.js +1 -1
  121. package/dist/options/repro.js +1 -1
  122. package/dist/options/rspack.d.ts +1 -1
  123. package/dist/options/rspack.js +1 -1
  124. package/dist/options/runs.js +1 -1
  125. package/dist/options/sample-rate.js +1 -1
  126. package/dist/options/scale.js +1 -1
  127. package/dist/options/separate-audio.js +1 -1
  128. package/dist/options/skip-skills.js +1 -1
  129. package/dist/options/still-frame.js +1 -1
  130. package/dist/options/still-image-format.js +1 -1
  131. package/dist/options/throw-if-site-exists.js +1 -1
  132. package/dist/options/timeout.js +1 -1
  133. package/dist/options/user-agent.js +1 -1
  134. package/dist/options/version-flag.js +1 -1
  135. package/dist/options/video-bitrate.js +1 -1
  136. package/dist/options/video-cache-size.js +1 -1
  137. package/dist/options/video-codec.js +4 -3
  138. package/dist/options/video-image-format.js +6 -2
  139. package/dist/options/webhook-custom-data.js +1 -1
  140. package/dist/options/webpack-poll.js +1 -1
  141. package/dist/options/x264-preset.js +1 -1
  142. package/dist/prespawn-ffmpeg.d.ts +20 -0
  143. package/dist/prespawn-ffmpeg.js +152 -29
  144. package/dist/probe-shared-memory-capture.d.ts +8 -0
  145. package/dist/probe-shared-memory-capture.js +111 -0
  146. package/dist/puppeteer-screenshot.d.ts +3 -1
  147. package/dist/puppeteer-screenshot.js +1 -0
  148. package/dist/pure.d.ts +1 -1
  149. package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
  150. package/dist/remotion-shared-memory-ffmpeg.js +312 -0
  151. package/dist/remotion-shared-memory.d.ts +49 -0
  152. package/dist/remotion-shared-memory.js +359 -0
  153. package/dist/render-frame-and-retry-target-close.d.ts +5 -2
  154. package/dist/render-frame-and-retry-target-close.js +20 -4
  155. package/dist/render-frame-with-option-to-reject.d.ts +4 -1
  156. package/dist/render-frame-with-option-to-reject.js +206 -115
  157. package/dist/render-frame.d.ts +4 -5
  158. package/dist/render-frame.js +3 -1
  159. package/dist/render-frames.d.ts +3 -0
  160. package/dist/render-frames.js +15 -18
  161. package/dist/render-media.d.ts +1 -1
  162. package/dist/render-media.js +131 -46
  163. package/dist/render-still.js +1 -0
  164. package/dist/screenshot-background.d.ts +2 -0
  165. package/dist/screenshot-background.js +20 -0
  166. package/dist/screenshot-task.d.ts +4 -2
  167. package/dist/screenshot-task.js +40 -21
  168. package/dist/seek-to-frame.js +1 -1
  169. package/dist/stitch-frames-to-video.js +71 -10
  170. package/dist/take-frame.d.ts +11 -3
  171. package/dist/take-frame.js +10 -8
  172. package/dist/validate-output-filename.d.ts +1 -1
  173. package/dist/validate-output-filename.js +10 -2
  174. 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,36 +3151,36 @@ 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 }) => {
3069
- if (commandLine[cliFlag46] !== undefined) {
3181
+ if (commandLine[cliFlag48] !== undefined) {
3070
3182
  return {
3071
- value: commandLine[cliFlag46],
3183
+ value: commandLine[cliFlag48],
3072
3184
  source: "cli"
3073
3185
  };
3074
3186
  }
@@ -3089,26 +3201,26 @@ var imageSequencePatternOption = {
3089
3201
  reset: () => {
3090
3202
  currentImageSequencePattern = null;
3091
3203
  },
3092
- id: cliFlag46
3204
+ id: cliFlag48
3093
3205
  };
3094
3206
 
3095
3207
  // src/options/interactivity.tsx
3096
- import { jsx as jsx43, Fragment as Fragment43 } from "react/jsx-runtime";
3208
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
3097
3209
  var interactivityEnabled = true;
3098
3210
  var configuredInteractivityEnabled = null;
3099
- var cliFlag47 = "disable-interactivity";
3211
+ var cliFlag49 = "disable-interactivity";
3100
3212
  var interactivityOption = {
3101
3213
  name: "Disable or enable Studio interactivity",
3102
- cliFlag: cliFlag47,
3103
- description: () => /* @__PURE__ */ jsx43(Fragment43, {
3214
+ cliFlag: cliFlag49,
3215
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
3104
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."
3105
3217
  }),
3106
3218
  ssrName: null,
3107
- docLink: "https://www.remotion.dev/docs/config#setinteractivityenabled",
3219
+ docLink: "https://www.remotion.dev/docs/options/disable-interactivity",
3108
3220
  type: false,
3109
3221
  getValue: ({ commandLine }) => {
3110
- if (commandLine[cliFlag47] !== undefined && commandLine[cliFlag47] !== null) {
3111
- interactivityEnabled = commandLine[cliFlag47] === false;
3222
+ if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3223
+ interactivityEnabled = commandLine[cliFlag49] === false;
3112
3224
  return {
3113
3225
  value: interactivityEnabled,
3114
3226
  source: "cli"
@@ -3128,26 +3240,26 @@ var interactivityOption = {
3128
3240
  interactivityEnabled = true;
3129
3241
  configuredInteractivityEnabled = null;
3130
3242
  },
3131
- id: cliFlag47
3243
+ id: cliFlag49
3132
3244
  };
3133
3245
 
3134
3246
  // src/options/ipv4.tsx
3135
- import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
3247
+ import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
3136
3248
  var forceIPv4 = false;
3137
- var cliFlag48 = "ipv4";
3249
+ var cliFlag50 = "ipv4";
3138
3250
  var ipv4Option = {
3139
3251
  name: "IPv4",
3140
- cliFlag: cliFlag48,
3141
- description: () => /* @__PURE__ */ jsx44(Fragment44, {
3252
+ cliFlag: cliFlag50,
3253
+ description: () => /* @__PURE__ */ jsx46(Fragment46, {
3142
3254
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
3143
3255
  }),
3144
3256
  ssrName: null,
3145
- docLink: "https://www.remotion.dev/docs/cli/studio",
3257
+ docLink: "https://www.remotion.dev/docs/options/ipv4",
3146
3258
  type: false,
3147
3259
  getValue: ({ commandLine }) => {
3148
- if (commandLine[cliFlag48] !== undefined && commandLine[cliFlag48] !== null) {
3260
+ if (commandLine[cliFlag50] !== undefined && commandLine[cliFlag50] !== null) {
3149
3261
  return {
3150
- value: commandLine[cliFlag48],
3262
+ value: commandLine[cliFlag50],
3151
3263
  source: "cli"
3152
3264
  };
3153
3265
  }
@@ -3159,37 +3271,37 @@ var ipv4Option = {
3159
3271
  setConfig(value) {
3160
3272
  forceIPv4 = value;
3161
3273
  },
3162
- id: cliFlag48
3274
+ id: cliFlag50
3163
3275
  };
3164
3276
 
3165
3277
  // src/options/is-production.tsx
3166
- import { jsx as jsx45, jsxs as jsxs33, Fragment as Fragment45 } from "react/jsx-runtime";
3167
- var cliFlag49 = "is-production";
3278
+ import { jsx as jsx47, jsxs as jsxs35, Fragment as Fragment47 } from "react/jsx-runtime";
3279
+ var cliFlag51 = "is-production";
3168
3280
  var currentIsProductionKey = null;
3169
3281
  var isProductionOption = {
3170
3282
  name: "Is Production",
3171
- cliFlag: cliFlag49,
3172
- description: () => /* @__PURE__ */ jsxs33(Fragment45, {
3283
+ cliFlag: cliFlag51,
3284
+ description: () => /* @__PURE__ */ jsxs35(Fragment47, {
3173
3285
  children: [
3174
3286
  "Pass ",
3175
- /* @__PURE__ */ jsx45("code", {
3287
+ /* @__PURE__ */ jsx47("code", {
3176
3288
  children: "false"
3177
3289
  }),
3178
3290
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
3179
3291
  " ",
3180
- /* @__PURE__ */ jsx45("code", {
3292
+ /* @__PURE__ */ jsx47("code", {
3181
3293
  children: "licenseKey"
3182
3294
  }),
3183
3295
  "."
3184
3296
  ]
3185
3297
  }),
3186
3298
  ssrName: "isProduction",
3187
- docLink: "https://www.remotion.dev/docs/licensing",
3299
+ docLink: "https://www.remotion.dev/docs/options/is-production",
3188
3300
  getValue: ({ commandLine }) => {
3189
- if (commandLine[cliFlag49] !== undefined && commandLine[cliFlag49] !== null) {
3301
+ if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3190
3302
  return {
3191
3303
  source: "cli",
3192
- value: commandLine[cliFlag49]
3304
+ value: commandLine[cliFlag51]
3193
3305
  };
3194
3306
  }
3195
3307
  if (currentIsProductionKey !== null) {
@@ -3207,11 +3319,11 @@ var isProductionOption = {
3207
3319
  currentIsProductionKey = value;
3208
3320
  },
3209
3321
  type: false,
3210
- id: cliFlag49
3322
+ id: cliFlag51
3211
3323
  };
3212
3324
 
3213
3325
  // src/options/jpeg-quality.tsx
3214
- 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";
3215
3327
  var defaultValue = DEFAULT_JPEG_QUALITY;
3216
3328
  var quality = defaultValue;
3217
3329
  var setJpegQuality = (q) => {
@@ -3222,23 +3334,33 @@ var setJpegQuality = (q) => {
3222
3334
  }
3223
3335
  quality = q;
3224
3336
  };
3225
- var cliFlag50 = "jpeg-quality";
3337
+ var cliFlag52 = "jpeg-quality";
3226
3338
  var jpegQualityOption = {
3227
3339
  name: "JPEG Quality",
3228
- cliFlag: cliFlag50,
3229
- description: () => /* @__PURE__ */ jsx46(Fragment46, {
3230
- children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
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
+ ]
3231
3353
  }),
3232
3354
  ssrName: "jpegQuality",
3233
- docLink: "https://www.remotion.dev/docs/renderer/render-media#jpeg-quality",
3355
+ docLink: "https://www.remotion.dev/docs/options/jpeg-quality",
3234
3356
  type: 0,
3235
3357
  setConfig: setJpegQuality,
3236
3358
  getValue: ({ commandLine }) => {
3237
- if (commandLine[cliFlag50] !== undefined) {
3238
- validateJpegQuality(commandLine[cliFlag50]);
3359
+ if (commandLine[cliFlag52] !== undefined) {
3360
+ validateJpegQuality(commandLine[cliFlag52]);
3239
3361
  return {
3240
3362
  source: "cli",
3241
- value: commandLine[cliFlag50]
3363
+ value: commandLine[cliFlag52]
3242
3364
  };
3243
3365
  }
3244
3366
  if (quality !== defaultValue) {
@@ -3252,26 +3374,26 @@ var jpegQualityOption = {
3252
3374
  value: defaultValue
3253
3375
  };
3254
3376
  },
3255
- id: cliFlag50
3377
+ id: cliFlag52
3256
3378
  };
3257
3379
 
3258
3380
  // src/options/keyboard-shortcuts.tsx
3259
- import { jsx as jsx47, Fragment as Fragment47 } from "react/jsx-runtime";
3381
+ import { jsx as jsx49, Fragment as Fragment49 } from "react/jsx-runtime";
3260
3382
  var keyboardShortcutsEnabled = true;
3261
3383
  var configuredKeyboardShortcutsEnabled = null;
3262
- var cliFlag51 = "disable-keyboard-shortcuts";
3384
+ var cliFlag53 = "disable-keyboard-shortcuts";
3263
3385
  var keyboardShortcutsOption = {
3264
3386
  name: "Disable or Enable keyboard shortcuts",
3265
- cliFlag: cliFlag51,
3266
- description: () => /* @__PURE__ */ jsx47(Fragment47, {
3387
+ cliFlag: cliFlag53,
3388
+ description: () => /* @__PURE__ */ jsx49(Fragment49, {
3267
3389
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
3268
3390
  }),
3269
3391
  ssrName: null,
3270
- docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
3392
+ docLink: "https://www.remotion.dev/docs/options/disable-keyboard-shortcuts",
3271
3393
  type: false,
3272
3394
  getValue: ({ commandLine }) => {
3273
- if (commandLine[cliFlag51] !== undefined && commandLine[cliFlag51] !== null) {
3274
- keyboardShortcutsEnabled = commandLine[cliFlag51] === false;
3395
+ if (commandLine[cliFlag53] !== undefined && commandLine[cliFlag53] !== null) {
3396
+ keyboardShortcutsEnabled = commandLine[cliFlag53] === false;
3275
3397
  return {
3276
3398
  value: keyboardShortcutsEnabled,
3277
3399
  source: "cli"
@@ -3291,51 +3413,51 @@ var keyboardShortcutsOption = {
3291
3413
  keyboardShortcutsEnabled = true;
3292
3414
  configuredKeyboardShortcutsEnabled = null;
3293
3415
  },
3294
- id: cliFlag51
3416
+ id: cliFlag53
3295
3417
  };
3296
3418
 
3297
3419
  // src/options/latency-hint.tsx
3298
- import { jsx as jsx48, jsxs as jsxs34, Fragment as Fragment48 } from "react/jsx-runtime";
3299
- var cliFlag52 = "audio-latency-hint";
3420
+ import { jsx as jsx50, jsxs as jsxs37, Fragment as Fragment50 } from "react/jsx-runtime";
3421
+ var cliFlag54 = "audio-latency-hint";
3300
3422
  var value = null;
3301
3423
  var audioLatencyHintOption = {
3302
3424
  name: "Audio Latency Hint",
3303
- cliFlag: cliFlag52,
3304
- description: () => /* @__PURE__ */ jsxs34(Fragment48, {
3425
+ cliFlag: cliFlag54,
3426
+ description: () => /* @__PURE__ */ jsxs37(Fragment50, {
3305
3427
  children: [
3306
3428
  "Sets the",
3307
3429
  " ",
3308
- /* @__PURE__ */ jsx48("a", {
3430
+ /* @__PURE__ */ jsx50("a", {
3309
3431
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
3310
3432
  children: "audio latency"
3311
3433
  }),
3312
3434
  " ",
3313
3435
  "hint for the global ",
3314
- /* @__PURE__ */ jsx48("code", {
3436
+ /* @__PURE__ */ jsx50("code", {
3315
3437
  children: "AudioContext"
3316
3438
  }),
3317
3439
  " context that Remotion uses to play audio.",
3318
- /* @__PURE__ */ jsx48("br", {}),
3440
+ /* @__PURE__ */ jsx50("br", {}),
3319
3441
  "Possible values: ",
3320
- /* @__PURE__ */ jsx48("code", {
3442
+ /* @__PURE__ */ jsx50("code", {
3321
3443
  children: "interactive"
3322
3444
  }),
3323
3445
  ", ",
3324
- /* @__PURE__ */ jsx48("code", {
3446
+ /* @__PURE__ */ jsx50("code", {
3325
3447
  children: "balanced"
3326
3448
  }),
3327
3449
  ",",
3328
3450
  " ",
3329
- /* @__PURE__ */ jsx48("code", {
3451
+ /* @__PURE__ */ jsx50("code", {
3330
3452
  children: "playback"
3331
3453
  })
3332
3454
  ]
3333
3455
  }),
3334
3456
  ssrName: "audioLatencyHint",
3335
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
3457
+ docLink: "https://www.remotion.dev/docs/options/audio-latency-hint",
3336
3458
  type: "playback",
3337
3459
  getValue: ({ commandLine }) => {
3338
- const val = commandLine[cliFlag52];
3460
+ const val = commandLine[cliFlag54];
3339
3461
  if (typeof val !== "undefined") {
3340
3462
  return { value: val, source: "cli" };
3341
3463
  }
@@ -3351,34 +3473,34 @@ var audioLatencyHintOption = {
3351
3473
  reset: () => {
3352
3474
  value = null;
3353
3475
  },
3354
- id: cliFlag52
3476
+ id: cliFlag54
3355
3477
  };
3356
3478
 
3357
3479
  // src/options/license-key.tsx
3358
- 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";
3359
3481
  var currentLicenseKey = null;
3360
- var cliFlag53 = "license-key";
3482
+ var cliFlag55 = "license-key";
3361
3483
  var licenseKeyOption = {
3362
3484
  name: "License key",
3363
- cliFlag: cliFlag53,
3364
- description: () => /* @__PURE__ */ jsxs35(Fragment49, {
3485
+ cliFlag: cliFlag55,
3486
+ description: () => /* @__PURE__ */ jsxs38(Fragment51, {
3365
3487
  children: [
3366
3488
  "License key for sending a usage event using",
3367
3489
  " ",
3368
- /* @__PURE__ */ jsx49("code", {
3490
+ /* @__PURE__ */ jsx51("code", {
3369
3491
  children: "@remotion/licensing"
3370
3492
  }),
3371
3493
  "."
3372
3494
  ]
3373
3495
  }),
3374
3496
  ssrName: "licenseKey",
3375
- docLink: "https://www.remotion.dev/docs/licensing",
3497
+ docLink: "https://www.remotion.dev/docs/options/license-key",
3376
3498
  type: null,
3377
3499
  getValue: ({ commandLine }) => {
3378
- if (commandLine[cliFlag53] !== undefined) {
3500
+ if (commandLine[cliFlag55] !== undefined) {
3379
3501
  return {
3380
3502
  source: "cli",
3381
- value: commandLine[cliFlag53]
3503
+ value: commandLine[cliFlag55]
3382
3504
  };
3383
3505
  }
3384
3506
  return {
@@ -3389,60 +3511,60 @@ var licenseKeyOption = {
3389
3511
  setConfig: (value2) => {
3390
3512
  currentLicenseKey = value2;
3391
3513
  },
3392
- id: cliFlag53
3514
+ id: cliFlag55
3393
3515
  };
3394
3516
 
3395
3517
  // src/options/log-level.tsx
3396
- 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";
3397
3519
  var logLevel = "info";
3398
3520
  var configuredLogLevel = null;
3399
- var cliFlag54 = "log";
3521
+ var cliFlag56 = "log";
3400
3522
  var logLevelOption = {
3401
- cliFlag: cliFlag54,
3523
+ cliFlag: cliFlag56,
3402
3524
  name: "Log Level",
3403
3525
  ssrName: "logLevel",
3404
- description: () => /* @__PURE__ */ jsxs36(Fragment50, {
3526
+ description: () => /* @__PURE__ */ jsxs39(Fragment52, {
3405
3527
  children: [
3406
3528
  "One of ",
3407
- /* @__PURE__ */ jsx50("code", {
3529
+ /* @__PURE__ */ jsx52("code", {
3408
3530
  children: "trace"
3409
3531
  }),
3410
3532
  ", ",
3411
- /* @__PURE__ */ jsx50("code", {
3533
+ /* @__PURE__ */ jsx52("code", {
3412
3534
  children: "verbose"
3413
3535
  }),
3414
3536
  ", ",
3415
- /* @__PURE__ */ jsx50("code", {
3537
+ /* @__PURE__ */ jsx52("code", {
3416
3538
  children: "info"
3417
3539
  }),
3418
3540
  ",",
3419
3541
  " ",
3420
- /* @__PURE__ */ jsx50("code", {
3542
+ /* @__PURE__ */ jsx52("code", {
3421
3543
  children: "warn"
3422
3544
  }),
3423
3545
  ", ",
3424
- /* @__PURE__ */ jsx50("code", {
3546
+ /* @__PURE__ */ jsx52("code", {
3425
3547
  children: "error"
3426
3548
  }),
3427
3549
  ".",
3428
- /* @__PURE__ */ jsx50("br", {}),
3550
+ /* @__PURE__ */ jsx52("br", {}),
3429
3551
  " Determines how much info is being logged to the console.",
3430
- /* @__PURE__ */ jsx50("br", {}),
3431
- /* @__PURE__ */ jsx50("br", {}),
3552
+ /* @__PURE__ */ jsx52("br", {}),
3553
+ /* @__PURE__ */ jsx52("br", {}),
3432
3554
  " Default ",
3433
- /* @__PURE__ */ jsx50("code", {
3555
+ /* @__PURE__ */ jsx52("code", {
3434
3556
  children: "info"
3435
3557
  }),
3436
3558
  "."
3437
3559
  ]
3438
3560
  }),
3439
- docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
3561
+ docLink: "https://www.remotion.dev/docs/options/log",
3440
3562
  getValue: ({ commandLine }) => {
3441
- if (commandLine[cliFlag54]) {
3442
- if (!isValidLogLevel(commandLine[cliFlag54])) {
3563
+ if (commandLine[cliFlag56]) {
3564
+ if (!isValidLogLevel(commandLine[cliFlag56])) {
3443
3565
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
3444
3566
  }
3445
- return { value: commandLine[cliFlag54], source: "cli" };
3567
+ return { value: commandLine[cliFlag56], source: "cli" };
3446
3568
  }
3447
3569
  if (logLevel !== "info") {
3448
3570
  return { value: logLevel, source: "config" };
@@ -3459,23 +3581,23 @@ var logLevelOption = {
3459
3581
  configuredLogLevel = null;
3460
3582
  },
3461
3583
  type: "error",
3462
- id: cliFlag54
3584
+ id: cliFlag56
3463
3585
  };
3464
3586
 
3465
3587
  // src/options/metadata.tsx
3466
- 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";
3467
3589
  var metadata = {};
3468
- var cliFlag55 = "metadata";
3590
+ var cliFlag57 = "metadata";
3469
3591
  var metadataOption = {
3470
3592
  name: "Metadata",
3471
- cliFlag: cliFlag55,
3593
+ cliFlag: cliFlag57,
3472
3594
  description: (mode) => {
3473
3595
  if (mode === "ssr") {
3474
- return /* @__PURE__ */ jsxs37(Fragment51, {
3596
+ return /* @__PURE__ */ jsxs40(Fragment53, {
3475
3597
  children: [
3476
3598
  "An object containing metadata to be embedded in the video. See",
3477
3599
  " ",
3478
- /* @__PURE__ */ jsx51("a", {
3600
+ /* @__PURE__ */ jsx53("a", {
3479
3601
  href: "/docs/metadata",
3480
3602
  children: "here"
3481
3603
  }),
@@ -3483,18 +3605,18 @@ var metadataOption = {
3483
3605
  ]
3484
3606
  });
3485
3607
  }
3486
- return /* @__PURE__ */ jsxs37(Fragment51, {
3608
+ return /* @__PURE__ */ jsxs40(Fragment53, {
3487
3609
  children: [
3488
3610
  "Metadata to be embedded in the video. See",
3489
3611
  " ",
3490
- /* @__PURE__ */ jsx51("a", {
3612
+ /* @__PURE__ */ jsx53("a", {
3491
3613
  href: "/docs/metadata",
3492
3614
  children: "here"
3493
3615
  }),
3494
3616
  " for which metadata is accepted.",
3495
- /* @__PURE__ */ jsx51("br", {}),
3617
+ /* @__PURE__ */ jsx53("br", {}),
3496
3618
  "The parameter must be in the format of ",
3497
- /* @__PURE__ */ jsx51("code", {
3619
+ /* @__PURE__ */ jsx53("code", {
3498
3620
  children: "--metadata key=value"
3499
3621
  }),
3500
3622
  " ",
@@ -3502,11 +3624,11 @@ var metadataOption = {
3502
3624
  ]
3503
3625
  });
3504
3626
  },
3505
- docLink: "https://www.remotion.dev/docs/metadata",
3627
+ docLink: "https://www.remotion.dev/docs/options/metadata",
3506
3628
  type: {},
3507
3629
  getValue: ({ commandLine }) => {
3508
- if (commandLine[cliFlag55] !== undefined) {
3509
- const val = commandLine[cliFlag55];
3630
+ if (commandLine[cliFlag57] !== undefined) {
3631
+ const val = commandLine[cliFlag57];
3510
3632
  const array = typeof val === "string" ? [val] : val;
3511
3633
  const keyValues = array.map((a) => {
3512
3634
  if (!a.includes("=")) {
@@ -3533,28 +3655,28 @@ var metadataOption = {
3533
3655
  metadata = newMetadata;
3534
3656
  },
3535
3657
  ssrName: "metadata",
3536
- id: cliFlag55
3658
+ id: cliFlag57
3537
3659
  };
3538
3660
 
3539
3661
  // src/options/mute.tsx
3540
- import { jsx as jsx52, Fragment as Fragment52 } from "react/jsx-runtime";
3662
+ import { jsx as jsx54, Fragment as Fragment54 } from "react/jsx-runtime";
3541
3663
  var DEFAULT_MUTED_STATE = false;
3542
3664
  var mutedState = DEFAULT_MUTED_STATE;
3543
- var cliFlag56 = "muted";
3665
+ var cliFlag58 = "muted";
3544
3666
  var mutedOption = {
3545
3667
  name: "Muted",
3546
- cliFlag: cliFlag56,
3547
- description: () => /* @__PURE__ */ jsx52(Fragment52, {
3668
+ cliFlag: cliFlag58,
3669
+ description: () => /* @__PURE__ */ jsx54(Fragment54, {
3548
3670
  children: "The Audio of the video will be omitted."
3549
3671
  }),
3550
3672
  ssrName: "muted",
3551
- docLink: "https://www.remotion.dev/docs/audio/muting",
3673
+ docLink: "https://www.remotion.dev/docs/options/muted",
3552
3674
  type: false,
3553
3675
  getValue: ({ commandLine }) => {
3554
- if (commandLine[cliFlag56] !== null) {
3676
+ if (commandLine[cliFlag58] !== null) {
3555
3677
  return {
3556
3678
  source: "cli",
3557
- value: commandLine[cliFlag56]
3679
+ value: commandLine[cliFlag58]
3558
3680
  };
3559
3681
  }
3560
3682
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -3574,21 +3696,21 @@ var mutedOption = {
3574
3696
  reset: () => {
3575
3697
  mutedState = DEFAULT_MUTED_STATE;
3576
3698
  },
3577
- id: cliFlag56
3699
+ id: cliFlag58
3578
3700
  };
3579
3701
 
3580
3702
  // src/options/no-open.tsx
3581
- import { jsx as jsx53, Fragment as Fragment53 } from "react/jsx-runtime";
3703
+ import { jsx as jsx55, Fragment as Fragment55 } from "react/jsx-runtime";
3582
3704
  var shouldOpenBrowser = true;
3583
- var cliFlag57 = "no-open";
3705
+ var cliFlag59 = "no-open";
3584
3706
  var noOpenOption = {
3585
3707
  name: "Disable browser auto-open",
3586
- cliFlag: cliFlag57,
3587
- description: () => /* @__PURE__ */ jsx53(Fragment53, {
3708
+ cliFlag: cliFlag59,
3709
+ description: () => /* @__PURE__ */ jsx55(Fragment55, {
3588
3710
  children: "If specified, Remotion will not open a browser window when starting the Studio."
3589
3711
  }),
3590
3712
  ssrName: null,
3591
- docLink: "https://www.remotion.dev/docs/cli/studio#--no-open",
3713
+ docLink: "https://www.remotion.dev/docs/options/no-open",
3592
3714
  type: false,
3593
3715
  getValue: ({ commandLine }) => {
3594
3716
  const cliValue = commandLine.open;
@@ -3606,54 +3728,54 @@ var noOpenOption = {
3606
3728
  reset: () => {
3607
3729
  shouldOpenBrowser = true;
3608
3730
  },
3609
- id: cliFlag57
3731
+ id: cliFlag59
3610
3732
  };
3611
3733
 
3612
3734
  // src/options/number-of-gif-loops.tsx
3613
- 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";
3614
3736
  var currentLoop = null;
3615
3737
  var validate = (newLoop) => {
3616
3738
  if (newLoop !== null && typeof newLoop !== "number") {
3617
3739
  throw new Error("--number-of-gif-loops flag must be a number.");
3618
3740
  }
3619
3741
  };
3620
- var cliFlag58 = "number-of-gif-loops";
3742
+ var cliFlag60 = "number-of-gif-loops";
3621
3743
  var numberOfGifLoopsOption = {
3622
3744
  name: "Number of GIF loops",
3623
- cliFlag: cliFlag58,
3745
+ cliFlag: cliFlag60,
3624
3746
  description: () => {
3625
- return /* @__PURE__ */ jsxs38(Fragment54, {
3747
+ return /* @__PURE__ */ jsxs41(Fragment56, {
3626
3748
  children: [
3627
3749
  "Allows you to set the number of loops as follows:",
3628
- /* @__PURE__ */ jsxs38("ul", {
3750
+ /* @__PURE__ */ jsxs41("ul", {
3629
3751
  children: [
3630
- /* @__PURE__ */ jsxs38("li", {
3752
+ /* @__PURE__ */ jsxs41("li", {
3631
3753
  children: [
3632
- /* @__PURE__ */ jsx54("code", {
3754
+ /* @__PURE__ */ jsx56("code", {
3633
3755
  children: "null"
3634
3756
  }),
3635
3757
  " (or omitting in the CLI) plays the GIF indefinitely."
3636
3758
  ]
3637
3759
  }),
3638
- /* @__PURE__ */ jsxs38("li", {
3760
+ /* @__PURE__ */ jsxs41("li", {
3639
3761
  children: [
3640
- /* @__PURE__ */ jsx54("code", {
3762
+ /* @__PURE__ */ jsx56("code", {
3641
3763
  children: "0"
3642
3764
  }),
3643
3765
  " disables looping"
3644
3766
  ]
3645
3767
  }),
3646
- /* @__PURE__ */ jsxs38("li", {
3768
+ /* @__PURE__ */ jsxs41("li", {
3647
3769
  children: [
3648
- /* @__PURE__ */ jsx54("code", {
3770
+ /* @__PURE__ */ jsx56("code", {
3649
3771
  children: "1"
3650
3772
  }),
3651
3773
  " loops the GIF once (plays twice in total)"
3652
3774
  ]
3653
3775
  }),
3654
- /* @__PURE__ */ jsxs38("li", {
3776
+ /* @__PURE__ */ jsxs41("li", {
3655
3777
  children: [
3656
- /* @__PURE__ */ jsx54("code", {
3778
+ /* @__PURE__ */ jsx56("code", {
3657
3779
  children: "2"
3658
3780
  }),
3659
3781
  " loops the GIF twice (plays three times in total) and so on."
@@ -3665,13 +3787,13 @@ var numberOfGifLoopsOption = {
3665
3787
  });
3666
3788
  },
3667
3789
  ssrName: "numberOfGifLoops",
3668
- 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",
3669
3791
  type: 0,
3670
3792
  getValue: ({ commandLine }) => {
3671
- if (commandLine[cliFlag58] !== undefined) {
3672
- validate(commandLine[cliFlag58]);
3793
+ if (commandLine[cliFlag60] !== undefined) {
3794
+ validate(commandLine[cliFlag60]);
3673
3795
  return {
3674
- value: commandLine[cliFlag58],
3796
+ value: commandLine[cliFlag60],
3675
3797
  source: "cli"
3676
3798
  };
3677
3799
  }
@@ -3690,22 +3812,22 @@ var numberOfGifLoopsOption = {
3690
3812
  validate(newLoop);
3691
3813
  currentLoop = newLoop;
3692
3814
  },
3693
- id: cliFlag58
3815
+ id: cliFlag60
3694
3816
  };
3695
3817
 
3696
3818
  // src/options/number-of-shared-audio-tags.tsx
3697
- 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";
3698
3820
  var numberOfSharedAudioTags = 0;
3699
3821
  var configuredNumberOfSharedAudioTags = null;
3700
- var cliFlag59 = "number-of-shared-audio-tags";
3822
+ var cliFlag61 = "number-of-shared-audio-tags";
3701
3823
  var numberOfSharedAudioTagsOption = {
3702
3824
  name: "Number of shared audio tags",
3703
- cliFlag: cliFlag59,
3704
- description: () => /* @__PURE__ */ jsxs39(Fragment55, {
3825
+ cliFlag: cliFlag61,
3826
+ description: () => /* @__PURE__ */ jsxs42(Fragment57, {
3705
3827
  children: [
3706
3828
  "Set number of shared audio tags. See",
3707
3829
  " ",
3708
- /* @__PURE__ */ jsx55("a", {
3830
+ /* @__PURE__ */ jsx57("a", {
3709
3831
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
3710
3832
  children: "Using the numberOfSharedAudioTags prop"
3711
3833
  }),
@@ -3714,12 +3836,12 @@ var numberOfSharedAudioTagsOption = {
3714
3836
  ]
3715
3837
  }),
3716
3838
  ssrName: null,
3717
- docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
3839
+ docLink: "https://www.remotion.dev/docs/options/number-of-shared-audio-tags",
3718
3840
  type: 0,
3719
3841
  getValue: ({ commandLine }) => {
3720
- if (commandLine[cliFlag59] !== undefined) {
3842
+ if (commandLine[cliFlag61] !== undefined) {
3721
3843
  return {
3722
- value: commandLine[cliFlag59],
3844
+ value: commandLine[cliFlag61],
3723
3845
  source: "cli"
3724
3846
  };
3725
3847
  }
@@ -3737,51 +3859,51 @@ var numberOfSharedAudioTagsOption = {
3737
3859
  numberOfSharedAudioTags = 0;
3738
3860
  configuredNumberOfSharedAudioTags = null;
3739
3861
  },
3740
- id: cliFlag59
3862
+ id: cliFlag61
3741
3863
  };
3742
3864
 
3743
3865
  // src/options/offthreadvideo-cache-size.tsx
3744
- 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";
3745
3867
  var offthreadVideoCacheSizeInBytes = null;
3746
- var cliFlag60 = "offthreadvideo-cache-size-in-bytes";
3868
+ var cliFlag62 = "offthreadvideo-cache-size-in-bytes";
3747
3869
  var offthreadVideoCacheSizeInBytesOption = {
3748
3870
  name: "OffthreadVideo cache size",
3749
- cliFlag: cliFlag60,
3750
- description: () => /* @__PURE__ */ jsxs40(Fragment56, {
3871
+ cliFlag: cliFlag62,
3872
+ description: () => /* @__PURE__ */ jsxs43(Fragment58, {
3751
3873
  children: [
3752
3874
  "From v4.0, Remotion has a cache for",
3753
3875
  " ",
3754
- /* @__PURE__ */ jsx56("a", {
3876
+ /* @__PURE__ */ jsx58("a", {
3755
3877
  href: "https://remotion.dev/docs/offthreadvideo",
3756
- children: /* @__PURE__ */ jsx56("code", {
3878
+ children: /* @__PURE__ */ jsx58("code", {
3757
3879
  children: "<OffthreadVideo>"
3758
3880
  })
3759
3881
  }),
3760
3882
  " ",
3761
3883
  "frames. The default is ",
3762
- /* @__PURE__ */ jsx56("code", {
3884
+ /* @__PURE__ */ jsx58("code", {
3763
3885
  children: "null"
3764
3886
  }),
3765
3887
  ", corresponding to half of the system memory available when the render starts.",
3766
- /* @__PURE__ */ jsx56("br", {}),
3888
+ /* @__PURE__ */ jsx58("br", {}),
3767
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.",
3768
- /* @__PURE__ */ jsx56("br", {}),
3890
+ /* @__PURE__ */ jsx58("br", {}),
3769
3891
  "The used value will be printed when running in verbose mode.",
3770
- /* @__PURE__ */ jsx56("br", {}),
3892
+ /* @__PURE__ */ jsx58("br", {}),
3771
3893
  "Default: ",
3772
- /* @__PURE__ */ jsx56("code", {
3894
+ /* @__PURE__ */ jsx58("code", {
3773
3895
  children: "null"
3774
3896
  })
3775
3897
  ]
3776
3898
  }),
3777
3899
  ssrName: "offthreadVideoCacheSizeInBytes",
3778
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
3900
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-cache-size-in-bytes",
3779
3901
  type: 0,
3780
3902
  getValue: ({ commandLine }) => {
3781
- if (commandLine[cliFlag60] !== undefined) {
3903
+ if (commandLine[cliFlag62] !== undefined) {
3782
3904
  return {
3783
3905
  source: "cli",
3784
- value: commandLine[cliFlag60]
3906
+ value: commandLine[cliFlag62]
3785
3907
  };
3786
3908
  }
3787
3909
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -3798,22 +3920,22 @@ var offthreadVideoCacheSizeInBytesOption = {
3798
3920
  setConfig: (size) => {
3799
3921
  offthreadVideoCacheSizeInBytes = size ?? null;
3800
3922
  },
3801
- id: cliFlag60
3923
+ id: cliFlag62
3802
3924
  };
3803
3925
 
3804
3926
  // src/options/offthreadvideo-threads.tsx
3805
- 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";
3806
3928
  var value2 = null;
3807
- var cliFlag61 = "offthreadvideo-video-threads";
3929
+ var cliFlag63 = "offthreadvideo-video-threads";
3808
3930
  var offthreadVideoThreadsOption = {
3809
3931
  name: "OffthreadVideo threads",
3810
- cliFlag: cliFlag61,
3811
- description: () => /* @__PURE__ */ jsxs41(Fragment57, {
3932
+ cliFlag: cliFlag63,
3933
+ description: () => /* @__PURE__ */ jsxs44(Fragment59, {
3812
3934
  children: [
3813
3935
  "The number of threads that",
3814
- /* @__PURE__ */ jsx57("a", {
3936
+ /* @__PURE__ */ jsx59("a", {
3815
3937
  href: "https://remotion.dev/docs/offthreadvideo",
3816
- children: /* @__PURE__ */ jsx57("code", {
3938
+ children: /* @__PURE__ */ jsx59("code", {
3817
3939
  children: "<OffthreadVideo>"
3818
3940
  })
3819
3941
  }),
@@ -3825,13 +3947,13 @@ var offthreadVideoThreadsOption = {
3825
3947
  ]
3826
3948
  }),
3827
3949
  ssrName: "offthreadVideoThreads",
3828
- docLink: "https://www.remotion.dev/docs/offthreadvideo",
3950
+ docLink: "https://www.remotion.dev/docs/options/offthreadvideo-video-threads",
3829
3951
  type: 0,
3830
3952
  getValue: ({ commandLine }) => {
3831
- if (commandLine[cliFlag61] !== undefined) {
3953
+ if (commandLine[cliFlag63] !== undefined) {
3832
3954
  return {
3833
3955
  source: "cli",
3834
- value: commandLine[cliFlag61]
3956
+ value: commandLine[cliFlag63]
3835
3957
  };
3836
3958
  }
3837
3959
  if (value2 !== null) {
@@ -3848,28 +3970,28 @@ var offthreadVideoThreadsOption = {
3848
3970
  setConfig: (size) => {
3849
3971
  value2 = size ?? null;
3850
3972
  },
3851
- id: cliFlag61
3973
+ id: cliFlag63
3852
3974
  };
3853
3975
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
3854
3976
 
3855
3977
  // src/options/on-browser-download.tsx
3856
- import { jsx as jsx58, jsxs as jsxs42, Fragment as Fragment58 } from "react/jsx-runtime";
3857
- var cliFlag62 = "on-browser-download";
3978
+ import { jsx as jsx60, jsxs as jsxs45, Fragment as Fragment60 } from "react/jsx-runtime";
3979
+ var cliFlag64 = "on-browser-download";
3858
3980
  var onBrowserDownloadOption = {
3859
3981
  name: "Browser download callback function",
3860
- cliFlag: cliFlag62,
3861
- description: () => /* @__PURE__ */ jsxs42(Fragment58, {
3982
+ cliFlag: cliFlag64,
3983
+ description: () => /* @__PURE__ */ jsxs45(Fragment60, {
3862
3984
  children: [
3863
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.",
3864
3986
  " ",
3865
- /* @__PURE__ */ jsx58("a", {
3987
+ /* @__PURE__ */ jsx60("a", {
3866
3988
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
3867
3989
  children: "See here for how to use this option."
3868
3990
  })
3869
3991
  ]
3870
3992
  }),
3871
3993
  ssrName: "onBrowserDownload",
3872
- docLink: "https://www.remotion.dev/docs/renderer/ensure-browser",
3994
+ docLink: "https://www.remotion.dev/docs/options/on-browser-download",
3873
3995
  type: undefined,
3874
3996
  getValue: () => {
3875
3997
  throw new Error("does not support config file");
@@ -3877,26 +3999,26 @@ var onBrowserDownloadOption = {
3877
3999
  setConfig: () => {
3878
4000
  throw new Error("does not support config file");
3879
4001
  },
3880
- id: cliFlag62
4002
+ id: cliFlag64
3881
4003
  };
3882
4004
 
3883
4005
  // src/options/out-dir.tsx
3884
- import { jsx as jsx59, jsxs as jsxs43, Fragment as Fragment59 } from "react/jsx-runtime";
3885
- var cliFlag63 = "out-dir";
4006
+ import { jsx as jsx61, jsxs as jsxs46, Fragment as Fragment61 } from "react/jsx-runtime";
4007
+ var cliFlag65 = "out-dir";
3886
4008
  var currentOutDir = null;
3887
4009
  var outDirOption = {
3888
4010
  name: "Output Directory",
3889
- cliFlag: cliFlag63,
4011
+ cliFlag: cliFlag65,
3890
4012
  description: () => {
3891
- return /* @__PURE__ */ jsxs43(Fragment59, {
4013
+ return /* @__PURE__ */ jsxs46(Fragment61, {
3892
4014
  children: [
3893
4015
  "Define the location of the resulting bundle. By default it is a folder called ",
3894
- /* @__PURE__ */ jsx59("code", {
4016
+ /* @__PURE__ */ jsx61("code", {
3895
4017
  children: "build"
3896
4018
  }),
3897
4019
  ", adjacent to the",
3898
4020
  " ",
3899
- /* @__PURE__ */ jsx59("a", {
4021
+ /* @__PURE__ */ jsx61("a", {
3900
4022
  href: "/docs/terminology/remotion-root",
3901
4023
  children: "Remotion Root"
3902
4024
  }),
@@ -3905,12 +4027,12 @@ var outDirOption = {
3905
4027
  });
3906
4028
  },
3907
4029
  ssrName: "outDir",
3908
- docLink: "https://www.remotion.dev/docs/cli/bundle#--out-dir",
4030
+ docLink: "https://www.remotion.dev/docs/options/out-dir",
3909
4031
  getValue: ({ commandLine }) => {
3910
- if (commandLine[cliFlag63] !== undefined) {
4032
+ if (commandLine[cliFlag65] !== undefined) {
3911
4033
  return {
3912
4034
  source: "cli",
3913
- value: commandLine[cliFlag63]
4035
+ value: commandLine[cliFlag65]
3914
4036
  };
3915
4037
  }
3916
4038
  if (currentOutDir !== null) {
@@ -3928,31 +4050,31 @@ var outDirOption = {
3928
4050
  currentOutDir = value3;
3929
4051
  },
3930
4052
  type: "",
3931
- id: cliFlag63
4053
+ id: cliFlag65
3932
4054
  };
3933
4055
 
3934
4056
  // src/validate.ts
3935
- import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
3936
- var validateFps = NoReactInternals3.validateFps;
3937
- var validateDimension = NoReactInternals3.validateDimension;
3938
- var validateDurationInFrames = NoReactInternals3.validateDurationInFrames;
4057
+ import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4058
+ var validateFps = NoReactInternals4.validateFps;
4059
+ var validateDimension = NoReactInternals4.validateDimension;
4060
+ var validateDurationInFrames = NoReactInternals4.validateDurationInFrames;
3939
4061
 
3940
4062
  // src/options/override-duration.tsx
3941
- import { jsx as jsx60, Fragment as Fragment60 } from "react/jsx-runtime";
4063
+ import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
3942
4064
  var currentDuration = null;
3943
- var cliFlag64 = "duration";
4065
+ var cliFlag66 = "duration";
3944
4066
  var overrideDurationOption = {
3945
4067
  name: "Override Duration",
3946
- cliFlag: cliFlag64,
3947
- description: () => /* @__PURE__ */ jsx60(Fragment60, {
4068
+ cliFlag: cliFlag66,
4069
+ description: () => /* @__PURE__ */ jsx62(Fragment62, {
3948
4070
  children: "Overrides the duration in frames of the composition."
3949
4071
  }),
3950
4072
  ssrName: null,
3951
- docLink: "https://www.remotion.dev/docs/config#overrideduration",
4073
+ docLink: "https://www.remotion.dev/docs/options/duration",
3952
4074
  type: null,
3953
4075
  getValue: ({ commandLine }) => {
3954
- if (commandLine[cliFlag64] !== undefined) {
3955
- const value3 = commandLine[cliFlag64];
4076
+ if (commandLine[cliFlag66] !== undefined) {
4077
+ const value3 = commandLine[cliFlag66];
3956
4078
  validateDurationInFrames(value3, {
3957
4079
  component: "in --duration flag",
3958
4080
  allowFloats: false
@@ -3983,25 +4105,25 @@ var overrideDurationOption = {
3983
4105
  reset: () => {
3984
4106
  currentDuration = null;
3985
4107
  },
3986
- id: cliFlag64
4108
+ id: cliFlag66
3987
4109
  };
3988
4110
 
3989
4111
  // src/options/override-fps.tsx
3990
- import { jsx as jsx61, Fragment as Fragment61 } from "react/jsx-runtime";
4112
+ import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
3991
4113
  var currentFps = null;
3992
- var cliFlag65 = "fps";
4114
+ var cliFlag67 = "fps";
3993
4115
  var overrideFpsOption = {
3994
4116
  name: "Override FPS",
3995
- cliFlag: cliFlag65,
3996
- description: () => /* @__PURE__ */ jsx61(Fragment61, {
4117
+ cliFlag: cliFlag67,
4118
+ description: () => /* @__PURE__ */ jsx63(Fragment63, {
3997
4119
  children: "Overrides the frames per second of the composition."
3998
4120
  }),
3999
4121
  ssrName: null,
4000
- docLink: "https://www.remotion.dev/docs/config#overridefps",
4122
+ docLink: "https://www.remotion.dev/docs/options/fps",
4001
4123
  type: null,
4002
4124
  getValue: ({ commandLine }) => {
4003
- if (commandLine[cliFlag65] !== undefined) {
4004
- const value3 = commandLine[cliFlag65];
4125
+ if (commandLine[cliFlag67] !== undefined) {
4126
+ const value3 = commandLine[cliFlag67];
4005
4127
  validateFps(value3, "in --fps flag", false);
4006
4128
  return {
4007
4129
  source: "cli",
@@ -4026,25 +4148,25 @@ var overrideFpsOption = {
4026
4148
  reset: () => {
4027
4149
  currentFps = null;
4028
4150
  },
4029
- id: cliFlag65
4151
+ id: cliFlag67
4030
4152
  };
4031
4153
 
4032
4154
  // src/options/override-height.tsx
4033
- import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
4155
+ import { jsx as jsx64, Fragment as Fragment64 } from "react/jsx-runtime";
4034
4156
  var currentHeight = null;
4035
- var cliFlag66 = "height";
4157
+ var cliFlag68 = "height";
4036
4158
  var overrideHeightOption = {
4037
4159
  name: "Override Height",
4038
- cliFlag: cliFlag66,
4039
- description: () => /* @__PURE__ */ jsx62(Fragment62, {
4160
+ cliFlag: cliFlag68,
4161
+ description: () => /* @__PURE__ */ jsx64(Fragment64, {
4040
4162
  children: "Overrides the height of the composition."
4041
4163
  }),
4042
4164
  ssrName: null,
4043
- docLink: "https://www.remotion.dev/docs/config#overrideheight",
4165
+ docLink: "https://www.remotion.dev/docs/options/height",
4044
4166
  type: null,
4045
4167
  getValue: ({ commandLine }) => {
4046
- if (commandLine[cliFlag66] !== undefined) {
4047
- const value3 = commandLine[cliFlag66];
4168
+ if (commandLine[cliFlag68] !== undefined) {
4169
+ const value3 = commandLine[cliFlag68];
4048
4170
  validateDimension(value3, "height", "in --height flag");
4049
4171
  return {
4050
4172
  source: "cli",
@@ -4069,25 +4191,25 @@ var overrideHeightOption = {
4069
4191
  reset: () => {
4070
4192
  currentHeight = null;
4071
4193
  },
4072
- id: cliFlag66
4194
+ id: cliFlag68
4073
4195
  };
4074
4196
 
4075
4197
  // src/options/override-width.tsx
4076
- import { jsx as jsx63, Fragment as Fragment63 } from "react/jsx-runtime";
4198
+ import { jsx as jsx65, Fragment as Fragment65 } from "react/jsx-runtime";
4077
4199
  var currentWidth = null;
4078
- var cliFlag67 = "width";
4200
+ var cliFlag69 = "width";
4079
4201
  var overrideWidthOption = {
4080
4202
  name: "Override Width",
4081
- cliFlag: cliFlag67,
4082
- description: () => /* @__PURE__ */ jsx63(Fragment63, {
4203
+ cliFlag: cliFlag69,
4204
+ description: () => /* @__PURE__ */ jsx65(Fragment65, {
4083
4205
  children: "Overrides the width of the composition."
4084
4206
  }),
4085
4207
  ssrName: null,
4086
- docLink: "https://www.remotion.dev/docs/config#overridewidth",
4208
+ docLink: "https://www.remotion.dev/docs/options/width",
4087
4209
  type: null,
4088
4210
  getValue: ({ commandLine }) => {
4089
- if (commandLine[cliFlag67] !== undefined) {
4090
- const value3 = commandLine[cliFlag67];
4211
+ if (commandLine[cliFlag69] !== undefined) {
4212
+ const value3 = commandLine[cliFlag69];
4091
4213
  validateDimension(value3, "width", "in --width flag");
4092
4214
  return {
4093
4215
  source: "cli",
@@ -4112,13 +4234,13 @@ var overrideWidthOption = {
4112
4234
  reset: () => {
4113
4235
  currentWidth = null;
4114
4236
  },
4115
- id: cliFlag67
4237
+ id: cliFlag69
4116
4238
  };
4117
4239
 
4118
4240
  // src/options/overwrite.tsx
4119
- 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";
4120
4242
  var shouldOverwrite = null;
4121
- var cliFlag68 = "overwrite";
4243
+ var cliFlag70 = "overwrite";
4122
4244
  var validate2 = (value3) => {
4123
4245
  if (typeof value3 !== "boolean") {
4124
4246
  throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
@@ -4126,29 +4248,29 @@ var validate2 = (value3) => {
4126
4248
  };
4127
4249
  var overwriteOption = {
4128
4250
  name: "Overwrite output",
4129
- cliFlag: cliFlag68,
4130
- description: () => /* @__PURE__ */ jsxs44(Fragment64, {
4251
+ cliFlag: cliFlag70,
4252
+ description: () => /* @__PURE__ */ jsxs47(Fragment66, {
4131
4253
  children: [
4132
4254
  "If set to ",
4133
- /* @__PURE__ */ jsx64("code", {
4255
+ /* @__PURE__ */ jsx66("code", {
4134
4256
  children: "false"
4135
4257
  }),
4136
4258
  ", will prevent rendering to a path that already exists. Default is ",
4137
- /* @__PURE__ */ jsx64("code", {
4259
+ /* @__PURE__ */ jsx66("code", {
4138
4260
  children: "true"
4139
4261
  }),
4140
4262
  "."
4141
4263
  ]
4142
4264
  }),
4143
4265
  ssrName: "overwrite",
4144
- docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
4266
+ docLink: "https://www.remotion.dev/docs/options/overwrite",
4145
4267
  type: false,
4146
4268
  getValue: ({ commandLine }, defaultValue2) => {
4147
- if (commandLine[cliFlag68] !== undefined && commandLine[cliFlag68] !== null) {
4148
- validate2(commandLine[cliFlag68]);
4269
+ if (commandLine[cliFlag70] !== undefined && commandLine[cliFlag70] !== null) {
4270
+ validate2(commandLine[cliFlag70]);
4149
4271
  return {
4150
4272
  source: "cli",
4151
- value: commandLine[cliFlag68]
4273
+ value: commandLine[cliFlag70]
4152
4274
  };
4153
4275
  }
4154
4276
  if (shouldOverwrite !== null) {
@@ -4169,40 +4291,40 @@ var overwriteOption = {
4169
4291
  reset: () => {
4170
4292
  shouldOverwrite = null;
4171
4293
  },
4172
- id: cliFlag68
4294
+ id: cliFlag70
4173
4295
  };
4174
4296
 
4175
4297
  // src/options/package-manager.tsx
4176
- import { jsx as jsx65, jsxs as jsxs45, Fragment as Fragment65 } from "react/jsx-runtime";
4177
- var cliFlag69 = "package-manager";
4298
+ import { jsx as jsx67, jsxs as jsxs48, Fragment as Fragment67 } from "react/jsx-runtime";
4299
+ var cliFlag71 = "package-manager";
4178
4300
  var currentPackageManager = null;
4179
4301
  var packageManagerOption = {
4180
4302
  name: "Package Manager",
4181
- cliFlag: cliFlag69,
4303
+ cliFlag: cliFlag71,
4182
4304
  description: () => {
4183
- return /* @__PURE__ */ jsxs45(Fragment65, {
4305
+ return /* @__PURE__ */ jsxs48(Fragment67, {
4184
4306
  children: [
4185
4307
  "Forces a specific package manager to be used. By default, Remotion will auto-detect the package manager based on your lockfile.",
4186
- /* @__PURE__ */ jsx65("br", {}),
4308
+ /* @__PURE__ */ jsx67("br", {}),
4187
4309
  "Acceptable values are ",
4188
- /* @__PURE__ */ jsx65("code", {
4310
+ /* @__PURE__ */ jsx67("code", {
4189
4311
  children: "npm"
4190
4312
  }),
4191
4313
  ", ",
4192
- /* @__PURE__ */ jsx65("code", {
4314
+ /* @__PURE__ */ jsx67("code", {
4193
4315
  children: "yarn"
4194
4316
  }),
4195
4317
  ",",
4196
4318
  " ",
4197
- /* @__PURE__ */ jsx65("code", {
4319
+ /* @__PURE__ */ jsx67("code", {
4198
4320
  children: "pnpm"
4199
4321
  }),
4200
4322
  ", ",
4201
- /* @__PURE__ */ jsx65("code", {
4323
+ /* @__PURE__ */ jsx67("code", {
4202
4324
  children: "bun"
4203
4325
  }),
4204
4326
  " and ",
4205
- /* @__PURE__ */ jsx65("code", {
4327
+ /* @__PURE__ */ jsx67("code", {
4206
4328
  children: "nub"
4207
4329
  }),
4208
4330
  "."
@@ -4210,12 +4332,12 @@ var packageManagerOption = {
4210
4332
  });
4211
4333
  },
4212
4334
  ssrName: "packageManager",
4213
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--package-manager",
4335
+ docLink: "https://www.remotion.dev/docs/options/package-manager",
4214
4336
  getValue: ({ commandLine }) => {
4215
- if (commandLine[cliFlag69] !== undefined) {
4337
+ if (commandLine[cliFlag71] !== undefined) {
4216
4338
  return {
4217
4339
  source: "cli",
4218
- value: commandLine[cliFlag69]
4340
+ value: commandLine[cliFlag71]
4219
4341
  };
4220
4342
  }
4221
4343
  if (currentPackageManager !== null) {
@@ -4233,7 +4355,7 @@ var packageManagerOption = {
4233
4355
  currentPackageManager = value3;
4234
4356
  },
4235
4357
  type: "",
4236
- id: cliFlag69
4358
+ id: cliFlag71
4237
4359
  };
4238
4360
 
4239
4361
  // src/pixel-format.ts
@@ -4256,17 +4378,17 @@ var validPixelFormatsForCodec = (codec) => {
4256
4378
  };
4257
4379
 
4258
4380
  // src/options/pixel-format.tsx
4259
- 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";
4260
4382
  var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
4261
- var cliFlag70 = "pixel-format";
4383
+ var cliFlag72 = "pixel-format";
4262
4384
  var pixelFormatOption = {
4263
4385
  name: "Pixel format",
4264
- cliFlag: cliFlag70,
4265
- description: () => /* @__PURE__ */ jsxs46(Fragment66, {
4386
+ cliFlag: cliFlag72,
4387
+ description: () => /* @__PURE__ */ jsxs49(Fragment68, {
4266
4388
  children: [
4267
4389
  "Sets the pixel format in FFmpeg. See",
4268
4390
  " ",
4269
- /* @__PURE__ */ jsx66("a", {
4391
+ /* @__PURE__ */ jsx68("a", {
4270
4392
  href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
4271
4393
  children: "the FFmpeg docs for an explanation"
4272
4394
  }),
@@ -4276,7 +4398,7 @@ var pixelFormatOption = {
4276
4398
  ]
4277
4399
  }),
4278
4400
  ssrName: "pixelFormat",
4279
- docLink: "https://www.remotion.dev/docs/config#setpixelformat",
4401
+ docLink: "https://www.remotion.dev/docs/options/pixel-format",
4280
4402
  type: DEFAULT_PIXEL_FORMAT,
4281
4403
  getValue: ({ commandLine }, options) => {
4282
4404
  if (options?.uiPixelFormat) {
@@ -4285,10 +4407,10 @@ var pixelFormatOption = {
4285
4407
  value: options.uiPixelFormat
4286
4408
  };
4287
4409
  }
4288
- if (commandLine[cliFlag70] !== undefined) {
4410
+ if (commandLine[cliFlag72] !== undefined) {
4289
4411
  return {
4290
4412
  source: "from --pixel-format flag",
4291
- value: commandLine[cliFlag70]
4413
+ value: commandLine[cliFlag72]
4292
4414
  };
4293
4415
  }
4294
4416
  if (options && options.compositionDefaultPixelFormat !== null) {
@@ -4314,26 +4436,26 @@ var pixelFormatOption = {
4314
4436
  }
4315
4437
  currentPixelFormat = value3;
4316
4438
  },
4317
- id: cliFlag70
4439
+ id: cliFlag72
4318
4440
  };
4319
4441
 
4320
4442
  // src/options/port.tsx
4321
- import { jsx as jsx67, Fragment as Fragment67 } from "react/jsx-runtime";
4322
- var cliFlag71 = "port";
4443
+ import { jsx as jsx69, Fragment as Fragment69 } from "react/jsx-runtime";
4444
+ var cliFlag73 = "port";
4323
4445
  var currentPort = null;
4324
4446
  var portOption = {
4325
4447
  name: "Port",
4326
- cliFlag: cliFlag71,
4327
- description: () => /* @__PURE__ */ jsx67(Fragment67, {
4448
+ cliFlag: cliFlag73,
4449
+ description: () => /* @__PURE__ */ jsx69(Fragment69, {
4328
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."
4329
4451
  }),
4330
4452
  ssrName: null,
4331
- docLink: "https://www.remotion.dev/docs/config#setstudioport",
4453
+ docLink: "https://www.remotion.dev/docs/options/port",
4332
4454
  getValue: ({ commandLine }) => {
4333
- if (commandLine[cliFlag71] !== undefined) {
4455
+ if (commandLine[cliFlag73] !== undefined) {
4334
4456
  return {
4335
4457
  source: "cli",
4336
- value: commandLine[cliFlag71]
4458
+ value: commandLine[cliFlag73]
4337
4459
  };
4338
4460
  }
4339
4461
  if (currentPort !== null) {
@@ -4351,35 +4473,35 @@ var portOption = {
4351
4473
  currentPort = value3;
4352
4474
  },
4353
4475
  type: 0,
4354
- id: cliFlag71
4476
+ id: cliFlag73
4355
4477
  };
4356
4478
 
4357
4479
  // src/options/prefer-lossless.tsx
4358
- import { jsx as jsx68, jsxs as jsxs47, Fragment as Fragment68 } from "react/jsx-runtime";
4359
- var cliFlag72 = "prefer-lossless";
4480
+ import { jsx as jsx70, jsxs as jsxs50, Fragment as Fragment70 } from "react/jsx-runtime";
4481
+ var cliFlag74 = "prefer-lossless";
4360
4482
  var input = false;
4361
4483
  var preferLosslessAudioOption = {
4362
4484
  name: "Prefer lossless",
4363
- cliFlag: cliFlag72,
4364
- description: () => /* @__PURE__ */ jsxs47(Fragment68, {
4485
+ cliFlag: cliFlag74,
4486
+ description: () => /* @__PURE__ */ jsxs50(Fragment70, {
4365
4487
  children: [
4366
4488
  "Uses a lossless audio codec, if one is available for the codec. If you set",
4367
- /* @__PURE__ */ jsx68("code", {
4489
+ /* @__PURE__ */ jsx70("code", {
4368
4490
  children: "audioCodec"
4369
4491
  }),
4370
4492
  ", it takes priority over",
4371
4493
  " ",
4372
- /* @__PURE__ */ jsx68("code", {
4494
+ /* @__PURE__ */ jsx70("code", {
4373
4495
  children: "preferLossless"
4374
4496
  }),
4375
4497
  "."
4376
4498
  ]
4377
4499
  }),
4378
- docLink: "https://www.remotion.dev/docs/encoding",
4500
+ docLink: "https://www.remotion.dev/docs/options/prefer-lossless",
4379
4501
  type: false,
4380
4502
  ssrName: "preferLossless",
4381
4503
  getValue: ({ commandLine }) => {
4382
- if (commandLine[cliFlag72]) {
4504
+ if (commandLine[cliFlag74]) {
4383
4505
  return { value: true, source: "cli" };
4384
4506
  }
4385
4507
  if (input === true) {
@@ -4390,31 +4512,31 @@ var preferLosslessAudioOption = {
4390
4512
  setConfig: (val) => {
4391
4513
  input = val;
4392
4514
  },
4393
- id: cliFlag72
4515
+ id: cliFlag74
4394
4516
  };
4395
4517
 
4396
4518
  // src/options/preview-sample-rate.tsx
4397
- import { jsx as jsx69, jsxs as jsxs48, Fragment as Fragment69 } from "react/jsx-runtime";
4398
- var cliFlag73 = "preview-sample-rate";
4519
+ import { jsx as jsx71, jsxs as jsxs51, Fragment as Fragment71 } from "react/jsx-runtime";
4520
+ var cliFlag75 = "preview-sample-rate";
4399
4521
  var currentPreviewSampleRate = null;
4400
4522
  var previewSampleRateOption = {
4401
4523
  name: "Preview Sample Rate",
4402
- cliFlag: cliFlag73,
4403
- description: () => /* @__PURE__ */ jsxs48(Fragment69, {
4524
+ cliFlag: cliFlag75,
4525
+ description: () => /* @__PURE__ */ jsxs51(Fragment71, {
4404
4526
  children: [
4405
4527
  "Controls the sample rate used for audio playback during preview. When unset, Remotion uses ",
4406
- /* @__PURE__ */ jsx69("code", {
4528
+ /* @__PURE__ */ jsx71("code", {
4407
4529
  children: "48000"
4408
4530
  }),
4409
4531
  " Hz."
4410
4532
  ]
4411
4533
  }),
4412
4534
  ssrName: null,
4413
- docLink: "https://www.remotion.dev/docs/config#setpreviewsamplerate",
4535
+ docLink: "https://www.remotion.dev/docs/options/preview-sample-rate",
4414
4536
  type: null,
4415
4537
  getValue: ({ commandLine }) => {
4416
- if (commandLine[cliFlag73] !== undefined) {
4417
- return { value: commandLine[cliFlag73], source: "cli" };
4538
+ if (commandLine[cliFlag75] !== undefined) {
4539
+ return { value: commandLine[cliFlag75], source: "cli" };
4418
4540
  }
4419
4541
  if (currentPreviewSampleRate !== null) {
4420
4542
  return { value: currentPreviewSampleRate, source: "config file" };
@@ -4424,19 +4546,19 @@ var previewSampleRateOption = {
4424
4546
  setConfig: (value3) => {
4425
4547
  currentPreviewSampleRate = value3;
4426
4548
  },
4427
- id: cliFlag73
4549
+ id: cliFlag75
4428
4550
  };
4429
4551
 
4430
4552
  // src/options/props.tsx
4431
- import { jsx as jsx70, jsxs as jsxs49, Fragment as Fragment70 } from "react/jsx-runtime";
4432
- var cliFlag74 = "props";
4553
+ import { jsx as jsx72, jsxs as jsxs52, Fragment as Fragment72 } from "react/jsx-runtime";
4554
+ var cliFlag76 = "props";
4433
4555
  var propsOption = {
4434
4556
  name: "Input Props",
4435
- cliFlag: cliFlag74,
4436
- description: () => /* @__PURE__ */ jsxs49(Fragment70, {
4557
+ cliFlag: cliFlag76,
4558
+ description: () => /* @__PURE__ */ jsxs52(Fragment72, {
4437
4559
  children: [
4438
4560
  "Input Props to pass to the selected composition of your video. Must be a serialized JSON string (",
4439
- /* @__PURE__ */ jsxs49("code", {
4561
+ /* @__PURE__ */ jsxs52("code", {
4440
4562
  children: [
4441
4563
  "--props='",
4442
4564
  "{",
@@ -4446,19 +4568,19 @@ var propsOption = {
4446
4568
  ]
4447
4569
  }),
4448
4570
  ") or a path to a JSON file (",
4449
- /* @__PURE__ */ jsx70("code", {
4571
+ /* @__PURE__ */ jsx72("code", {
4450
4572
  children: "./path/to/props.json"
4451
4573
  }),
4452
4574
  ")."
4453
4575
  ]
4454
4576
  }),
4455
4577
  ssrName: null,
4456
- docLink: "https://www.remotion.dev/docs/passing-props#passing-input-props-in-the-cli",
4578
+ docLink: "https://www.remotion.dev/docs/options/props",
4457
4579
  getValue: ({ commandLine }) => {
4458
- if (commandLine[cliFlag74] !== undefined) {
4580
+ if (commandLine[cliFlag76] !== undefined) {
4459
4581
  return {
4460
4582
  source: "cli",
4461
- value: commandLine[cliFlag74]
4583
+ value: commandLine[cliFlag76]
4462
4584
  };
4463
4585
  }
4464
4586
  return {
@@ -4470,11 +4592,11 @@ var propsOption = {
4470
4592
  throw new Error("setProps is not supported. Pass --props via the CLI instead.");
4471
4593
  },
4472
4594
  type: "",
4473
- id: cliFlag74
4595
+ id: cliFlag76
4474
4596
  };
4475
4597
 
4476
4598
  // src/options/prores-profile.tsx
4477
- 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";
4478
4600
  var validProResProfiles = [
4479
4601
  "4444-xq",
4480
4602
  "4444",
@@ -4484,14 +4606,14 @@ var validProResProfiles = [
4484
4606
  "proxy"
4485
4607
  ];
4486
4608
  var proResProfile;
4487
- var cliFlag75 = "prores-profile";
4609
+ var cliFlag77 = "prores-profile";
4488
4610
  var proResProfileOption = {
4489
4611
  name: "ProRes profile",
4490
- cliFlag: cliFlag75,
4491
- description: () => /* @__PURE__ */ jsxs50(Fragment71, {
4612
+ cliFlag: cliFlag77,
4613
+ description: () => /* @__PURE__ */ jsxs53(Fragment73, {
4492
4614
  children: [
4493
4615
  "Set the ProRes profile. This option is only valid if the codec has been set to ",
4494
- /* @__PURE__ */ jsx71("code", {
4616
+ /* @__PURE__ */ jsx73("code", {
4495
4617
  children: "prores"
4496
4618
  }),
4497
4619
  ". Possible values:",
@@ -4499,12 +4621,12 @@ var proResProfileOption = {
4499
4621
  validProResProfiles.map((p) => `"${p}"`).join(", "),
4500
4622
  ". Default:",
4501
4623
  " ",
4502
- /* @__PURE__ */ jsx71("code", {
4624
+ /* @__PURE__ */ jsx73("code", {
4503
4625
  children: '"hq"'
4504
4626
  }),
4505
4627
  ". See",
4506
4628
  " ",
4507
- /* @__PURE__ */ jsx71("a", {
4629
+ /* @__PURE__ */ jsx73("a", {
4508
4630
  href: "https://video.stackexchange.com/a/14715",
4509
4631
  children: "here"
4510
4632
  }),
@@ -4512,7 +4634,7 @@ var proResProfileOption = {
4512
4634
  ]
4513
4635
  }),
4514
4636
  ssrName: "proResProfile",
4515
- docLink: "https://www.remotion.dev/docs/config#setproresprofile",
4637
+ docLink: "https://www.remotion.dev/docs/options/prores-profile",
4516
4638
  type: undefined,
4517
4639
  getValue: ({ commandLine }, options) => {
4518
4640
  if (options?.uiProResProfile) {
@@ -4521,10 +4643,10 @@ var proResProfileOption = {
4521
4643
  value: options.uiProResProfile
4522
4644
  };
4523
4645
  }
4524
- if (commandLine[cliFlag75] !== undefined) {
4646
+ if (commandLine[cliFlag77] !== undefined) {
4525
4647
  return {
4526
4648
  source: "from --prores-profile flag",
4527
- value: String(commandLine[cliFlag75])
4649
+ value: String(commandLine[cliFlag77])
4528
4650
  };
4529
4651
  }
4530
4652
  if (options && options.compositionDefaultProResProfile !== null) {
@@ -4547,24 +4669,24 @@ var proResProfileOption = {
4547
4669
  setConfig: (value3) => {
4548
4670
  proResProfile = value3;
4549
4671
  },
4550
- id: cliFlag75
4672
+ id: cliFlag77
4551
4673
  };
4552
4674
 
4553
4675
  // src/options/public-dir.tsx
4554
- import { jsx as jsx72, jsxs as jsxs51, Fragment as Fragment72 } from "react/jsx-runtime";
4555
- var cliFlag76 = "public-dir";
4676
+ import { jsx as jsx74, jsxs as jsxs54, Fragment as Fragment74 } from "react/jsx-runtime";
4677
+ var cliFlag78 = "public-dir";
4556
4678
  var currentPublicDir = null;
4557
4679
  var publicDirOption = {
4558
4680
  name: "Public Directory",
4559
- cliFlag: cliFlag76,
4681
+ cliFlag: cliFlag78,
4560
4682
  description: () => {
4561
- return /* @__PURE__ */ jsxs51(Fragment72, {
4683
+ return /* @__PURE__ */ jsxs54(Fragment74, {
4562
4684
  children: [
4563
4685
  "Define the location of the",
4564
4686
  " ",
4565
- /* @__PURE__ */ jsx72("a", {
4687
+ /* @__PURE__ */ jsx74("a", {
4566
4688
  href: "/docs/terminology/public-dir",
4567
- children: /* @__PURE__ */ jsx72("code", {
4689
+ children: /* @__PURE__ */ jsx74("code", {
4568
4690
  children: "public/ directory"
4569
4691
  })
4570
4692
  }),
@@ -4573,12 +4695,12 @@ var publicDirOption = {
4573
4695
  });
4574
4696
  },
4575
4697
  ssrName: "publicDir",
4576
- docLink: "https://www.remotion.dev/docs/terminology/public-dir",
4698
+ docLink: "https://www.remotion.dev/docs/options/public-dir",
4577
4699
  getValue: ({ commandLine }) => {
4578
- if (commandLine[cliFlag76] !== undefined) {
4700
+ if (commandLine[cliFlag78] !== undefined) {
4579
4701
  return {
4580
4702
  source: "cli",
4581
- value: commandLine[cliFlag76]
4703
+ value: commandLine[cliFlag78]
4582
4704
  };
4583
4705
  }
4584
4706
  if (currentPublicDir !== null) {
@@ -4596,20 +4718,20 @@ var publicDirOption = {
4596
4718
  currentPublicDir = value3;
4597
4719
  },
4598
4720
  type: "",
4599
- id: cliFlag76
4721
+ id: cliFlag78
4600
4722
  };
4601
4723
 
4602
4724
  // src/options/public-license-key.tsx
4603
- import { jsx as jsx73, jsxs as jsxs52, Fragment as Fragment73 } from "react/jsx-runtime";
4604
- var cliFlag77 = "public-license-key";
4725
+ import { jsx as jsx75, jsxs as jsxs55, Fragment as Fragment75 } from "react/jsx-runtime";
4726
+ var cliFlag79 = "public-license-key";
4605
4727
  var currentPublicLicenseKey = null;
4606
4728
  var publicLicenseKeyOption = {
4607
4729
  name: "Public License Key",
4608
- cliFlag: cliFlag77,
4609
- description: () => /* @__PURE__ */ jsxs52(Fragment73, {
4730
+ cliFlag: cliFlag79,
4731
+ description: () => /* @__PURE__ */ jsxs55(Fragment75, {
4610
4732
  children: [
4611
4733
  "The public license key for your company license, obtained from the License keys page on ",
4612
- /* @__PURE__ */ jsx73("a", {
4734
+ /* @__PURE__ */ jsx75("a", {
4613
4735
  href: "https://remotion.pro/dashboard",
4614
4736
  children: "remotion.pro"
4615
4737
  }),
@@ -4617,12 +4739,12 @@ var publicLicenseKeyOption = {
4617
4739
  ]
4618
4740
  }),
4619
4741
  ssrName: "publicLicenseKey",
4620
- docLink: "https://www.remotion.dev/docs/licensing",
4742
+ docLink: "https://www.remotion.dev/docs/options/public-license-key",
4621
4743
  getValue: ({ commandLine }) => {
4622
- if (commandLine[cliFlag77] !== undefined) {
4744
+ if (commandLine[cliFlag79] !== undefined) {
4623
4745
  return {
4624
4746
  source: "cli",
4625
- value: commandLine[cliFlag77]
4747
+ value: commandLine[cliFlag79]
4626
4748
  };
4627
4749
  }
4628
4750
  if (currentPublicLicenseKey !== null) {
@@ -4643,25 +4765,25 @@ var publicLicenseKeyOption = {
4643
4765
  currentPublicLicenseKey = value3;
4644
4766
  },
4645
4767
  type: null,
4646
- id: cliFlag77
4768
+ id: cliFlag79
4647
4769
  };
4648
4770
 
4649
4771
  // src/options/public-path.tsx
4650
- import { jsx as jsx74, jsxs as jsxs53, Fragment as Fragment74 } from "react/jsx-runtime";
4651
- var cliFlag78 = "public-path";
4772
+ import { jsx as jsx76, jsxs as jsxs56, Fragment as Fragment76 } from "react/jsx-runtime";
4773
+ var cliFlag80 = "public-path";
4652
4774
  var currentPublicPath = null;
4653
4775
  var publicPathOption = {
4654
4776
  name: "Public Path",
4655
- cliFlag: cliFlag78,
4777
+ cliFlag: cliFlag80,
4656
4778
  description: () => {
4657
- return /* @__PURE__ */ jsxs53(Fragment74, {
4779
+ return /* @__PURE__ */ jsxs56(Fragment76, {
4658
4780
  children: [
4659
4781
  "The path of the URL where the bundle is going to be hosted. By default it is ",
4660
- /* @__PURE__ */ jsx74("code", {
4782
+ /* @__PURE__ */ jsx76("code", {
4661
4783
  children: "./"
4662
4784
  }),
4663
4785
  ", making the bundle relocatable. Set an absolute path such as ",
4664
- /* @__PURE__ */ jsx74("code", {
4786
+ /* @__PURE__ */ jsx76("code", {
4665
4787
  children: "/sites/my-site/"
4666
4788
  }),
4667
4789
  " to host the bundle at a fixed location."
@@ -4669,12 +4791,12 @@ var publicPathOption = {
4669
4791
  });
4670
4792
  },
4671
4793
  ssrName: "publicPath",
4672
- docLink: "https://www.remotion.dev/docs/renderer",
4794
+ docLink: "https://www.remotion.dev/docs/options/public-path",
4673
4795
  getValue: ({ commandLine }) => {
4674
- if (commandLine[cliFlag78] !== undefined) {
4796
+ if (commandLine[cliFlag80] !== undefined) {
4675
4797
  return {
4676
4798
  source: "cli",
4677
- value: commandLine[cliFlag78]
4799
+ value: commandLine[cliFlag80]
4678
4800
  };
4679
4801
  }
4680
4802
  if (currentPublicPath !== null) {
@@ -4692,29 +4814,29 @@ var publicPathOption = {
4692
4814
  currentPublicPath = value3;
4693
4815
  },
4694
4816
  type: "",
4695
- id: cliFlag78
4817
+ id: cliFlag80
4696
4818
  };
4697
4819
 
4698
4820
  // src/options/repro.tsx
4699
- import { jsx as jsx75, Fragment as Fragment75 } from "react/jsx-runtime";
4821
+ import { jsx as jsx77, Fragment as Fragment77 } from "react/jsx-runtime";
4700
4822
  var enableRepro = false;
4701
4823
  var setRepro = (should) => {
4702
4824
  enableRepro = should;
4703
4825
  };
4704
- var cliFlag79 = "repro";
4826
+ var cliFlag81 = "repro";
4705
4827
  var reproOption = {
4706
4828
  name: "Create reproduction",
4707
- cliFlag: cliFlag79,
4708
- description: () => /* @__PURE__ */ jsx75(Fragment75, {
4829
+ cliFlag: cliFlag81,
4830
+ description: () => /* @__PURE__ */ jsx77(Fragment77, {
4709
4831
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
4710
4832
  }),
4711
4833
  ssrName: "repro",
4712
- docLink: "https://www.remotion.dev/docs/render-media#repro",
4834
+ docLink: "https://www.remotion.dev/docs/options/repro",
4713
4835
  type: false,
4714
4836
  getValue: ({ commandLine }) => {
4715
- if (commandLine[cliFlag79] !== undefined && commandLine[cliFlag79] !== null) {
4837
+ if (commandLine[cliFlag81] !== undefined && commandLine[cliFlag81] !== null) {
4716
4838
  return {
4717
- value: commandLine[cliFlag79],
4839
+ value: commandLine[cliFlag81],
4718
4840
  source: "cli"
4719
4841
  };
4720
4842
  }
@@ -4730,27 +4852,27 @@ var reproOption = {
4730
4852
  };
4731
4853
  },
4732
4854
  setConfig: setRepro,
4733
- id: cliFlag79
4855
+ id: cliFlag81
4734
4856
  };
4735
4857
 
4736
4858
  // src/options/rspack.tsx
4737
- import { jsx as jsx76, Fragment as Fragment76 } from "react/jsx-runtime";
4859
+ import { jsx as jsx78, Fragment as Fragment78 } from "react/jsx-runtime";
4738
4860
  var rspackEnabled = false;
4739
4861
  var configuredRspackEnabled = null;
4740
- var cliFlag80 = "rspack";
4862
+ var cliFlag82 = "rspack";
4741
4863
  var rspackOption = {
4742
4864
  name: "Rspack",
4743
- cliFlag: cliFlag80,
4744
- description: () => /* @__PURE__ */ jsx76(Fragment76, {
4865
+ cliFlag: cliFlag82,
4866
+ description: () => /* @__PURE__ */ jsx78(Fragment78, {
4745
4867
  children: "Uses Rspack instead of Webpack as the bundler for the Studio or bundle."
4746
4868
  }),
4747
4869
  ssrName: null,
4748
- docLink: null,
4870
+ docLink: "https://www.remotion.dev/docs/options/rspack",
4749
4871
  type: false,
4750
4872
  getValue: ({ commandLine }) => {
4751
- if (commandLine[cliFlag80] !== undefined && commandLine[cliFlag80] !== null) {
4873
+ if (commandLine[cliFlag82] !== undefined && commandLine[cliFlag82] !== null) {
4752
4874
  return {
4753
- value: commandLine[cliFlag80],
4875
+ value: commandLine[cliFlag82],
4754
4876
  source: "cli"
4755
4877
  };
4756
4878
  }
@@ -4768,34 +4890,34 @@ var rspackOption = {
4768
4890
  rspackEnabled = false;
4769
4891
  configuredRspackEnabled = null;
4770
4892
  },
4771
- id: cliFlag80
4893
+ id: cliFlag82
4772
4894
  };
4773
4895
 
4774
4896
  // src/options/runs.tsx
4775
- 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";
4776
4898
  var DEFAULT_RUNS = 3;
4777
4899
  var currentRuns = DEFAULT_RUNS;
4778
- var cliFlag81 = "runs";
4900
+ var cliFlag83 = "runs";
4779
4901
  var runsOption = {
4780
4902
  name: "Benchmark runs",
4781
- cliFlag: cliFlag81,
4782
- description: () => /* @__PURE__ */ jsxs54(Fragment77, {
4903
+ cliFlag: cliFlag83,
4904
+ description: () => /* @__PURE__ */ jsxs57(Fragment79, {
4783
4905
  children: [
4784
4906
  "Specify how many times the video should be rendered during a benchmark. Default ",
4785
- /* @__PURE__ */ jsx77("code", {
4907
+ /* @__PURE__ */ jsx79("code", {
4786
4908
  children: DEFAULT_RUNS
4787
4909
  }),
4788
4910
  "."
4789
4911
  ]
4790
4912
  }),
4791
4913
  ssrName: null,
4792
- docLink: "https://www.remotion.dev/docs/cli/benchmark#--runs",
4914
+ docLink: "https://www.remotion.dev/docs/options/runs",
4793
4915
  type: DEFAULT_RUNS,
4794
4916
  getValue: ({ commandLine }) => {
4795
- if (commandLine[cliFlag81] !== undefined) {
4796
- const value3 = Number(commandLine[cliFlag81]);
4917
+ if (commandLine[cliFlag83] !== undefined) {
4918
+ const value3 = Number(commandLine[cliFlag83]);
4797
4919
  if (isNaN(value3) || value3 < 1) {
4798
- 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]}`);
4799
4921
  }
4800
4922
  return { value: value3, source: "cli" };
4801
4923
  }
@@ -4810,32 +4932,32 @@ var runsOption = {
4810
4932
  }
4811
4933
  currentRuns = value3;
4812
4934
  },
4813
- id: cliFlag81
4935
+ id: cliFlag83
4814
4936
  };
4815
4937
 
4816
4938
  // src/options/sample-rate.tsx
4817
- import { jsx as jsx78, jsxs as jsxs55, Fragment as Fragment78 } from "react/jsx-runtime";
4818
- var cliFlag82 = "sample-rate";
4939
+ import { jsx as jsx80, jsxs as jsxs58, Fragment as Fragment80 } from "react/jsx-runtime";
4940
+ var cliFlag84 = "sample-rate";
4819
4941
  var currentSampleRate = 48000;
4820
4942
  var sampleRateOption = {
4821
4943
  name: "Sample Rate",
4822
- cliFlag: cliFlag82,
4823
- description: () => /* @__PURE__ */ jsxs55(Fragment78, {
4944
+ cliFlag: cliFlag84,
4945
+ description: () => /* @__PURE__ */ jsxs58(Fragment80, {
4824
4946
  children: [
4825
4947
  "Controls the sample rate of the output audio. The default is",
4826
4948
  " ",
4827
- /* @__PURE__ */ jsx78("code", {
4949
+ /* @__PURE__ */ jsx80("code", {
4828
4950
  children: "48000"
4829
4951
  }),
4830
4952
  " Hz. Match this to your source audio to avoid resampling artifacts."
4831
4953
  ]
4832
4954
  }),
4833
4955
  ssrName: "sampleRate",
4834
- docLink: "https://www.remotion.dev/docs/sample-rate",
4956
+ docLink: "https://www.remotion.dev/docs/options/sample-rate",
4835
4957
  type: 48000,
4836
4958
  getValue: ({ commandLine }, compositionSampleRate) => {
4837
- if (commandLine[cliFlag82] !== undefined) {
4838
- return { value: commandLine[cliFlag82], source: "cli" };
4959
+ if (commandLine[cliFlag84] !== undefined) {
4960
+ return { value: commandLine[cliFlag84], source: "cli" };
4839
4961
  }
4840
4962
  if (currentSampleRate !== 48000) {
4841
4963
  return { value: currentSampleRate, source: "config file" };
@@ -4851,13 +4973,13 @@ var sampleRateOption = {
4851
4973
  setConfig: (value3) => {
4852
4974
  currentSampleRate = value3;
4853
4975
  },
4854
- id: cliFlag82
4976
+ id: cliFlag84
4855
4977
  };
4856
4978
 
4857
4979
  // src/options/scale.tsx
4858
- 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";
4859
4981
  var currentScale = 1;
4860
- var cliFlag83 = "scale";
4982
+ var cliFlag85 = "scale";
4861
4983
  var validateScale = (value3) => {
4862
4984
  if (typeof value3 !== "number") {
4863
4985
  throw new Error("scale must be a number.");
@@ -4865,15 +4987,15 @@ var validateScale = (value3) => {
4865
4987
  };
4866
4988
  var scaleOption = {
4867
4989
  name: "Scale",
4868
- cliFlag: cliFlag83,
4869
- description: () => /* @__PURE__ */ jsxs56(Fragment79, {
4990
+ cliFlag: cliFlag85,
4991
+ description: () => /* @__PURE__ */ jsxs59(Fragment81, {
4870
4992
  children: [
4871
4993
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
4872
- /* @__PURE__ */ jsx79("code", {
4994
+ /* @__PURE__ */ jsx81("code", {
4873
4995
  children: "1.5"
4874
4996
  }),
4875
4997
  ". See ",
4876
- /* @__PURE__ */ jsx79("a", {
4998
+ /* @__PURE__ */ jsx81("a", {
4877
4999
  href: "https://www.remotion.dev/docs/scaling",
4878
5000
  children: "Scaling"
4879
5001
  }),
@@ -4881,14 +5003,14 @@ var scaleOption = {
4881
5003
  ]
4882
5004
  }),
4883
5005
  ssrName: "scale",
4884
- docLink: "https://www.remotion.dev/docs/scaling",
5006
+ docLink: "https://www.remotion.dev/docs/options/scale",
4885
5007
  type: 0,
4886
5008
  getValue: ({ commandLine }) => {
4887
- if (commandLine[cliFlag83] !== undefined) {
4888
- validateScale(commandLine[cliFlag83]);
5009
+ if (commandLine[cliFlag85] !== undefined) {
5010
+ validateScale(commandLine[cliFlag85]);
4889
5011
  return {
4890
5012
  source: "cli",
4891
- value: commandLine[cliFlag83]
5013
+ value: commandLine[cliFlag85]
4892
5014
  };
4893
5015
  }
4894
5016
  if (currentScale !== null) {
@@ -4905,22 +5027,22 @@ var scaleOption = {
4905
5027
  setConfig: (scale) => {
4906
5028
  currentScale = scale;
4907
5029
  },
4908
- id: cliFlag83
5030
+ id: cliFlag85
4909
5031
  };
4910
5032
 
4911
5033
  // src/options/skip-skills.tsx
4912
- import { jsx as jsx80, Fragment as Fragment80 } from "react/jsx-runtime";
4913
- var cliFlag84 = "skip-skills";
5034
+ import { jsx as jsx82, Fragment as Fragment82 } from "react/jsx-runtime";
5035
+ var cliFlag86 = "skip-skills";
4914
5036
  var skipSkillsOption = {
4915
5037
  name: "Skip Skills",
4916
- cliFlag: cliFlag84,
4917
- description: () => /* @__PURE__ */ jsx80(Fragment80, {
5038
+ cliFlag: cliFlag86,
5039
+ description: () => /* @__PURE__ */ jsx82(Fragment82, {
4918
5040
  children: "Do not update installed Remotion Agent Skills while upgrading Remotion."
4919
5041
  }),
4920
5042
  ssrName: null,
4921
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--skip-skills",
5043
+ docLink: "https://www.remotion.dev/docs/options/skip-skills",
4922
5044
  getValue: ({ commandLine }) => {
4923
- if (commandLine[cliFlag84]) {
5045
+ if (commandLine[cliFlag86]) {
4924
5046
  return {
4925
5047
  source: "cli",
4926
5048
  value: true
@@ -4935,16 +5057,16 @@ var skipSkillsOption = {
4935
5057
  throw new Error("Cannot skip updating skills via config file");
4936
5058
  },
4937
5059
  type: false,
4938
- id: cliFlag84
5060
+ id: cliFlag86
4939
5061
  };
4940
5062
 
4941
5063
  // src/options/still-frame.tsx
4942
- import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
4943
- import { jsx as jsx81, jsxs as jsxs57, Fragment as Fragment81 } from "react/jsx-runtime";
4944
- var cliFlag85 = "frame";
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";
4945
5067
  var currentFrame = null;
4946
5068
  var validate3 = (frame) => {
4947
- NoReactInternals4.validateFrame({
5069
+ NoReactInternals5.validateFrame({
4948
5070
  frame,
4949
5071
  durationInFrames: Infinity,
4950
5072
  allowFloats: false
@@ -4952,27 +5074,27 @@ var validate3 = (frame) => {
4952
5074
  };
4953
5075
  var stillFrameOption = {
4954
5076
  name: "Frame",
4955
- cliFlag: cliFlag85,
4956
- description: () => /* @__PURE__ */ jsxs57(Fragment81, {
5077
+ cliFlag: cliFlag87,
5078
+ description: () => /* @__PURE__ */ jsxs60(Fragment83, {
4957
5079
  children: [
4958
5080
  "Which frame should be rendered when rendering a still. Default",
4959
5081
  " ",
4960
- /* @__PURE__ */ jsx81("code", {
5082
+ /* @__PURE__ */ jsx83("code", {
4961
5083
  children: "0"
4962
5084
  }),
4963
5085
  ". From v3.2.27, negative values are allowed, with",
4964
5086
  " ",
4965
- /* @__PURE__ */ jsx81("code", {
5087
+ /* @__PURE__ */ jsx83("code", {
4966
5088
  children: "-1"
4967
5089
  }),
4968
5090
  " being the last frame."
4969
5091
  ]
4970
5092
  }),
4971
5093
  ssrName: "frame",
4972
- docLink: "https://www.remotion.dev/docs/cli/still#--frame",
5094
+ docLink: "https://www.remotion.dev/docs/options/frame",
4973
5095
  getValue: ({ commandLine }) => {
4974
- if (commandLine[cliFlag85] !== undefined) {
4975
- const frame = Number(commandLine[cliFlag85]);
5096
+ if (commandLine[cliFlag87] !== undefined) {
5097
+ const frame = Number(commandLine[cliFlag87]);
4976
5098
  validate3(frame);
4977
5099
  return {
4978
5100
  source: "cli",
@@ -4997,35 +5119,35 @@ var stillFrameOption = {
4997
5119
  currentFrame = value3;
4998
5120
  },
4999
5121
  type: 0,
5000
- id: cliFlag85
5122
+ id: cliFlag87
5001
5123
  };
5002
5124
 
5003
5125
  // src/options/still-image-format.tsx
5004
- 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";
5005
5127
  var currentStillImageFormat = null;
5006
- var cliFlag86 = "image-format";
5128
+ var cliFlag88 = "image-format";
5007
5129
  var stillImageFormatOption = {
5008
5130
  name: "Still Image Format",
5009
- cliFlag: cliFlag86,
5010
- description: () => /* @__PURE__ */ jsxs58(Fragment82, {
5131
+ cliFlag: cliFlag88,
5132
+ description: () => /* @__PURE__ */ jsxs61(Fragment84, {
5011
5133
  children: [
5012
5134
  "The image format to use when rendering a still. Must be one of",
5013
5135
  " ",
5014
5136
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
5015
5137
  ". Default:",
5016
5138
  " ",
5017
- /* @__PURE__ */ jsx82("code", {
5139
+ /* @__PURE__ */ jsx84("code", {
5018
5140
  children: '"png"'
5019
5141
  }),
5020
5142
  "."
5021
5143
  ]
5022
5144
  }),
5023
5145
  ssrName: "imageFormat",
5024
- docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
5146
+ docLink: "https://www.remotion.dev/docs/options/still-image-format",
5025
5147
  type: null,
5026
5148
  getValue: ({ commandLine }) => {
5027
- if (commandLine[cliFlag86] !== undefined) {
5028
- const value3 = commandLine[cliFlag86];
5149
+ if (commandLine[cliFlag88] !== undefined) {
5150
+ const value3 = commandLine[cliFlag88];
5029
5151
  if (!validStillImageFormats.includes(value3)) {
5030
5152
  throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
5031
5153
  }
@@ -5063,16 +5185,16 @@ var stillImageFormatOption = {
5063
5185
 
5064
5186
  // src/options/throw-if-site-exists.tsx
5065
5187
  var DEFAULT5 = false;
5066
- var cliFlag87 = "throw-if-site-exists";
5188
+ var cliFlag89 = "throw-if-site-exists";
5067
5189
  var throwIfSiteExistsOption = {
5068
- cliFlag: cliFlag87,
5190
+ cliFlag: cliFlag89,
5069
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.`,
5070
- docLink: "https://remotion.dev/docs/lambda/deploy-site",
5192
+ docLink: "https://www.remotion.dev/docs/options/throw-if-site-exists",
5071
5193
  getValue: ({ commandLine }) => {
5072
- if (commandLine[cliFlag87]) {
5194
+ if (commandLine[cliFlag89]) {
5073
5195
  return {
5074
5196
  source: "cli",
5075
- value: commandLine[cliFlag87]
5197
+ value: commandLine[cliFlag89]
5076
5198
  };
5077
5199
  }
5078
5200
  return {
@@ -5086,53 +5208,53 @@ var throwIfSiteExistsOption = {
5086
5208
  },
5087
5209
  ssrName: "throwIfSiteExists",
5088
5210
  type: false,
5089
- id: cliFlag87
5211
+ id: cliFlag89
5090
5212
  };
5091
5213
 
5092
5214
  // src/options/timeout.tsx
5093
- 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";
5094
5216
  var currentTimeout = DEFAULT_TIMEOUT;
5095
5217
  var validate4 = (value3) => {
5096
5218
  if (typeof value3 !== "number") {
5097
5219
  throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
5098
5220
  }
5099
5221
  };
5100
- var cliFlag88 = "timeout";
5222
+ var cliFlag90 = "timeout";
5101
5223
  var delayRenderTimeoutInMillisecondsOption = {
5102
5224
  name: "delayRender() timeout",
5103
- cliFlag: cliFlag88,
5104
- description: () => /* @__PURE__ */ jsxs59(Fragment83, {
5225
+ cliFlag: cliFlag90,
5226
+ description: () => /* @__PURE__ */ jsxs62(Fragment85, {
5105
5227
  children: [
5106
5228
  "A number describing how long the render may take to resolve all",
5107
5229
  " ",
5108
- /* @__PURE__ */ jsx83("a", {
5230
+ /* @__PURE__ */ jsx85("a", {
5109
5231
  href: "https://remotion.dev/docs/delay-render",
5110
- children: /* @__PURE__ */ jsx83("code", {
5232
+ children: /* @__PURE__ */ jsx85("code", {
5111
5233
  children: "delayRender()"
5112
5234
  })
5113
5235
  }),
5114
5236
  " ",
5115
5237
  "calls",
5116
5238
  " ",
5117
- /* @__PURE__ */ jsx83("a", {
5239
+ /* @__PURE__ */ jsx85("a", {
5118
5240
  style: { fontSize: "inherit" },
5119
5241
  href: "https://remotion.dev/docs/timeout",
5120
5242
  children: "before it times out"
5121
5243
  }),
5122
5244
  ". Default: ",
5123
- /* @__PURE__ */ jsx83("code", {
5245
+ /* @__PURE__ */ jsx85("code", {
5124
5246
  children: "30000"
5125
5247
  })
5126
5248
  ]
5127
5249
  }),
5128
5250
  ssrName: "timeoutInMilliseconds",
5129
- docLink: "https://www.remotion.dev/docs/timeout",
5251
+ docLink: "https://www.remotion.dev/docs/options/timeout",
5130
5252
  type: 0,
5131
5253
  getValue: ({ commandLine }) => {
5132
- if (commandLine[cliFlag88] !== undefined) {
5254
+ if (commandLine[cliFlag90] !== undefined) {
5133
5255
  return {
5134
5256
  source: "cli",
5135
- value: commandLine[cliFlag88]
5257
+ value: commandLine[cliFlag90]
5136
5258
  };
5137
5259
  }
5138
5260
  if (currentTimeout !== null) {
@@ -5151,27 +5273,27 @@ var delayRenderTimeoutInMillisecondsOption = {
5151
5273
  validate4(value3);
5152
5274
  currentTimeout = value3;
5153
5275
  },
5154
- id: cliFlag88
5276
+ id: cliFlag90
5155
5277
  };
5156
5278
 
5157
5279
  // src/options/user-agent.tsx
5158
- import { jsx as jsx84, Fragment as Fragment84 } from "react/jsx-runtime";
5280
+ import { jsx as jsx86, Fragment as Fragment86 } from "react/jsx-runtime";
5159
5281
  var userAgent = null;
5160
- var cliFlag89 = "user-agent";
5282
+ var cliFlag91 = "user-agent";
5161
5283
  var userAgentOption = {
5162
5284
  name: "User agent",
5163
- cliFlag: cliFlag89,
5164
- description: () => /* @__PURE__ */ jsx84(Fragment84, {
5285
+ cliFlag: cliFlag91,
5286
+ description: () => /* @__PURE__ */ jsx86(Fragment86, {
5165
5287
  children: "Lets you set a custom user agent that the headless Chrome browser assumes."
5166
5288
  }),
5167
5289
  ssrName: "userAgent",
5168
- docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
5290
+ docLink: "https://www.remotion.dev/docs/options/user-agent",
5169
5291
  type: null,
5170
5292
  getValue: ({ commandLine }) => {
5171
- if (commandLine[cliFlag89] !== undefined) {
5293
+ if (commandLine[cliFlag91] !== undefined) {
5172
5294
  return {
5173
5295
  source: "cli",
5174
- value: commandLine[cliFlag89]
5296
+ value: commandLine[cliFlag91]
5175
5297
  };
5176
5298
  }
5177
5299
  if (userAgent !== null) {
@@ -5188,25 +5310,25 @@ var userAgentOption = {
5188
5310
  setConfig: (value3) => {
5189
5311
  userAgent = value3;
5190
5312
  },
5191
- id: cliFlag89
5313
+ id: cliFlag91
5192
5314
  };
5193
5315
 
5194
5316
  // src/options/version-flag.tsx
5195
- import { jsx as jsx85, Fragment as Fragment85 } from "react/jsx-runtime";
5196
- var cliFlag90 = "version";
5317
+ import { jsx as jsx87, Fragment as Fragment87 } from "react/jsx-runtime";
5318
+ var cliFlag92 = "version";
5197
5319
  var versionFlagOption = {
5198
5320
  name: "Version",
5199
- cliFlag: cliFlag90,
5200
- description: () => /* @__PURE__ */ jsx85(Fragment85, {
5321
+ cliFlag: cliFlag92,
5322
+ description: () => /* @__PURE__ */ jsx87(Fragment87, {
5201
5323
  children: "Install a specific version. Also enables downgrading to an older version."
5202
5324
  }),
5203
5325
  ssrName: null,
5204
- docLink: "https://www.remotion.dev/docs/cli/upgrade#--version",
5326
+ docLink: "https://www.remotion.dev/docs/options/version",
5205
5327
  getValue: ({ commandLine }) => {
5206
- if (commandLine[cliFlag90] !== undefined) {
5328
+ if (commandLine[cliFlag92] !== undefined) {
5207
5329
  return {
5208
5330
  source: "cli",
5209
- value: String(commandLine[cliFlag90])
5331
+ value: String(commandLine[cliFlag92])
5210
5332
  };
5211
5333
  }
5212
5334
  return {
@@ -5218,43 +5340,43 @@ var versionFlagOption = {
5218
5340
  throw new Error("Cannot set version via config file");
5219
5341
  },
5220
5342
  type: "",
5221
- id: cliFlag90
5343
+ id: cliFlag92
5222
5344
  };
5223
5345
 
5224
5346
  // src/options/video-bitrate.tsx
5225
- 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";
5226
5348
  var videoBitrate = null;
5227
- var cliFlag91 = "video-bitrate";
5349
+ var cliFlag93 = "video-bitrate";
5228
5350
  var videoBitrateOption = {
5229
5351
  name: "Video Bitrate",
5230
- cliFlag: cliFlag91,
5231
- description: () => /* @__PURE__ */ jsxs60(Fragment86, {
5352
+ cliFlag: cliFlag93,
5353
+ description: () => /* @__PURE__ */ jsxs63(Fragment88, {
5232
5354
  children: [
5233
5355
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
5234
5356
  "'",
5235
5357
  "s",
5236
- /* @__PURE__ */ jsx86("code", {
5358
+ /* @__PURE__ */ jsx88("code", {
5237
5359
  children: "-b:v"
5238
5360
  }),
5239
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: ",
5240
- /* @__PURE__ */ jsx86("code", {
5362
+ /* @__PURE__ */ jsx88("code", {
5241
5363
  children: "512K"
5242
5364
  }),
5243
5365
  " for 512 kbps, ",
5244
- /* @__PURE__ */ jsx86("code", {
5366
+ /* @__PURE__ */ jsx88("code", {
5245
5367
  children: "1M"
5246
5368
  }),
5247
5369
  " for 1 Mbps."
5248
5370
  ]
5249
5371
  }),
5250
5372
  ssrName: "videoBitrate",
5251
- docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
5373
+ docLink: "https://www.remotion.dev/docs/options/video-bitrate",
5252
5374
  type: "",
5253
5375
  getValue: ({ commandLine }) => {
5254
- if (commandLine[cliFlag91] !== undefined) {
5376
+ if (commandLine[cliFlag93] !== undefined) {
5255
5377
  return {
5256
5378
  source: "cli",
5257
- value: commandLine[cliFlag91]
5379
+ value: commandLine[cliFlag93]
5258
5380
  };
5259
5381
  }
5260
5382
  if (videoBitrate !== null) {
@@ -5271,45 +5393,45 @@ var videoBitrateOption = {
5271
5393
  setConfig: (bitrate) => {
5272
5394
  videoBitrate = bitrate;
5273
5395
  },
5274
- id: cliFlag91
5396
+ id: cliFlag93
5275
5397
  };
5276
5398
 
5277
5399
  // src/options/video-cache-size.tsx
5278
- 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";
5279
5401
  var mediaCacheSizeInBytes = null;
5280
- var cliFlag92 = "media-cache-size-in-bytes";
5402
+ var cliFlag94 = "media-cache-size-in-bytes";
5281
5403
  var mediaCacheSizeInBytesOption = {
5282
5404
  name: "@remotion/media cache size",
5283
- cliFlag: cliFlag92,
5284
- description: () => /* @__PURE__ */ jsxs61(Fragment87, {
5405
+ cliFlag: cliFlag94,
5406
+ description: () => /* @__PURE__ */ jsxs64(Fragment89, {
5285
5407
  children: [
5286
5408
  "Specify the memory budget for decoded media cached by",
5287
5409
  " ",
5288
- /* @__PURE__ */ jsx87("code", {
5410
+ /* @__PURE__ */ jsx89("code", {
5289
5411
  children: "<Video>"
5290
5412
  }),
5291
5413
  " and ",
5292
- /* @__PURE__ */ jsx87("code", {
5414
+ /* @__PURE__ */ jsx89("code", {
5293
5415
  children: "<Audio>"
5294
5416
  }),
5295
5417
  " from",
5296
5418
  " ",
5297
- /* @__PURE__ */ jsx87("code", {
5419
+ /* @__PURE__ */ jsx89("code", {
5298
5420
  children: "@remotion/media"
5299
5421
  }),
5300
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. ",
5301
- /* @__PURE__ */ jsx87("br", {}),
5423
+ /* @__PURE__ */ jsx89("br", {}),
5302
5424
  "The default is half of the available system memory when the render starts."
5303
5425
  ]
5304
5426
  }),
5305
5427
  ssrName: "mediaCacheSizeInBytes",
5306
- docLink: "https://www.remotion.dev/docs/media/cache",
5428
+ docLink: "https://www.remotion.dev/docs/options/media-cache-size-in-bytes",
5307
5429
  type: 0,
5308
5430
  getValue: ({ commandLine }) => {
5309
- if (commandLine[cliFlag92] !== undefined) {
5431
+ if (commandLine[cliFlag94] !== undefined) {
5310
5432
  return {
5311
5433
  source: "cli",
5312
- value: commandLine[cliFlag92]
5434
+ value: commandLine[cliFlag94]
5313
5435
  };
5314
5436
  }
5315
5437
  if (mediaCacheSizeInBytes !== null) {
@@ -5326,11 +5448,11 @@ var mediaCacheSizeInBytesOption = {
5326
5448
  setConfig: (size) => {
5327
5449
  mediaCacheSizeInBytes = size ?? null;
5328
5450
  },
5329
- id: cliFlag92
5451
+ id: cliFlag94
5330
5452
  };
5331
5453
 
5332
5454
  // src/options/video-codec.tsx
5333
- import { jsx as jsx88, Fragment as Fragment88 } from "react/jsx-runtime";
5455
+ import { jsx as jsx90, Fragment as Fragment90 } from "react/jsx-runtime";
5334
5456
  var codec;
5335
5457
  var setCodec = (newCodec) => {
5336
5458
  if (newCodec === undefined) {
@@ -5349,20 +5471,21 @@ var deriveCodecsFromFilename = (extension) => {
5349
5471
  if (extension === null) {
5350
5472
  return { possible: [], default: null };
5351
5473
  }
5474
+ const normalizedExtension = extension.toLowerCase();
5352
5475
  return {
5353
- default: defaultCodecsForFileExtension[extension] ?? null,
5354
- possible: makeFileExtensionMap()[extension] ?? []
5476
+ default: defaultCodecsForFileExtension[normalizedExtension] ?? null,
5477
+ possible: makeFileExtensionMap()[normalizedExtension] ?? []
5355
5478
  };
5356
5479
  };
5357
- var cliFlag93 = "codec";
5480
+ var cliFlag95 = "codec";
5358
5481
  var videoCodecOption = {
5359
5482
  name: "Codec",
5360
- cliFlag: cliFlag93,
5361
- description: () => /* @__PURE__ */ jsx88(Fragment88, {
5483
+ cliFlag: cliFlag95,
5484
+ description: () => /* @__PURE__ */ jsx90(Fragment90, {
5362
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."
5363
5486
  }),
5364
5487
  ssrName: "codec",
5365
- docLink: "https://www.remotion.dev/docs/encoding/#choosing-a-codec",
5488
+ docLink: "https://www.remotion.dev/docs/options/codec",
5366
5489
  type: "",
5367
5490
  getValue: ({ commandLine }, {
5368
5491
  compositionCodec,
@@ -5381,7 +5504,7 @@ var videoCodecOption = {
5381
5504
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
5382
5505
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
5383
5506
  }
5384
- const cliArgument = commandLine[cliFlag93];
5507
+ const cliArgument = commandLine[cliFlag95];
5385
5508
  if (cliArgument) {
5386
5509
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
5387
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.`);
@@ -5430,31 +5553,38 @@ var videoCodecOption = {
5430
5553
  reset: () => {
5431
5554
  codec = undefined;
5432
5555
  },
5433
- id: cliFlag93
5556
+ id: cliFlag95
5434
5557
  };
5435
5558
 
5436
5559
  // src/options/video-image-format.tsx
5437
- 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";
5438
5561
  var currentVideoImageFormat = null;
5439
- var cliFlag94 = "image-format";
5562
+ var cliFlag96 = "image-format";
5440
5563
  var videoImageFormatOption = {
5441
5564
  name: "Video Image Format",
5442
- cliFlag: cliFlag94,
5443
- description: () => /* @__PURE__ */ jsxs62(Fragment89, {
5565
+ cliFlag: cliFlag96,
5566
+ description: () => /* @__PURE__ */ jsxs65(Fragment91, {
5444
5567
  children: [
5445
5568
  "The image format to use when rendering frames for a video. Must be one of",
5446
5569
  " ",
5447
5570
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
5448
5571
  ". Default:",
5449
5572
  " ",
5450
- /* @__PURE__ */ jsx89("code", {
5573
+ /* @__PURE__ */ jsx91("code", {
5451
5574
  children: '"jpeg"'
5452
5575
  }),
5453
- ". 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."
5454
5584
  ]
5455
5585
  }),
5456
5586
  ssrName: "imageFormat",
5457
- docLink: "https://www.remotion.dev/docs/renderer/render-media#imageformat",
5587
+ docLink: "https://www.remotion.dev/docs/options/video-image-format",
5458
5588
  type: null,
5459
5589
  getValue: ({ commandLine }, options) => {
5460
5590
  if (options?.uiVideoImageFormat) {
@@ -5463,8 +5593,8 @@ var videoImageFormatOption = {
5463
5593
  value: options.uiVideoImageFormat
5464
5594
  };
5465
5595
  }
5466
- if (commandLine[cliFlag94] !== undefined) {
5467
- const value3 = commandLine[cliFlag94];
5596
+ if (commandLine[cliFlag96] !== undefined) {
5597
+ const value3 = commandLine[cliFlag96];
5468
5598
  if (!validVideoImageFormats.includes(value3)) {
5469
5599
  throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
5470
5600
  }
@@ -5528,12 +5658,12 @@ var videoImageFormatOption = {
5528
5658
  };
5529
5659
 
5530
5660
  // src/options/webhook-custom-data.tsx
5531
- import { jsxs as jsxs63, Fragment as Fragment90 } from "react/jsx-runtime";
5532
- var cliFlag95 = "webhook-custom-data";
5661
+ import { jsxs as jsxs66, Fragment as Fragment92 } from "react/jsx-runtime";
5662
+ var cliFlag97 = "webhook-custom-data";
5533
5663
  var webhookCustomDataOption = {
5534
5664
  name: "Webhook custom data",
5535
- cliFlag: cliFlag95,
5536
- description: (type) => /* @__PURE__ */ jsxs63(Fragment90, {
5665
+ cliFlag: cliFlag97,
5666
+ description: (type) => /* @__PURE__ */ jsxs66(Fragment92, {
5537
5667
  children: [
5538
5668
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
5539
5669
  " ",
@@ -5541,7 +5671,7 @@ var webhookCustomDataOption = {
5541
5671
  ]
5542
5672
  }),
5543
5673
  ssrName: "customData",
5544
- docLink: "https://www.remotion.dev/docs/lambda/webhooks",
5674
+ docLink: "https://www.remotion.dev/docs/options/webhook-custom-data",
5545
5675
  type: {},
5546
5676
  getValue: () => {
5547
5677
  throw new Error("Option resolution not implemented");
@@ -5549,24 +5679,24 @@ var webhookCustomDataOption = {
5549
5679
  setConfig: () => {
5550
5680
  throw new Error("Not implemented");
5551
5681
  },
5552
- id: cliFlag95
5682
+ id: cliFlag97
5553
5683
  };
5554
5684
 
5555
5685
  // src/options/webpack-poll.tsx
5556
- import { jsx as jsx90, Fragment as Fragment91 } from "react/jsx-runtime";
5557
- var cliFlag96 = "webpack-poll";
5686
+ import { jsx as jsx92, Fragment as Fragment93 } from "react/jsx-runtime";
5687
+ var cliFlag98 = "webpack-poll";
5558
5688
  var webpackPolling = null;
5559
5689
  var webpackPollOption = {
5560
5690
  name: "Webpack Polling",
5561
- cliFlag: cliFlag96,
5562
- description: () => /* @__PURE__ */ jsx90(Fragment91, {
5691
+ cliFlag: cliFlag98,
5692
+ description: () => /* @__PURE__ */ jsx92(Fragment93, {
5563
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."
5564
5694
  }),
5565
5695
  ssrName: null,
5566
- docLink: "https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds",
5696
+ docLink: "https://www.remotion.dev/docs/options/webpack-poll",
5567
5697
  getValue: ({ commandLine }) => {
5568
- if (commandLine[cliFlag96] !== undefined) {
5569
- const val = commandLine[cliFlag96];
5698
+ if (commandLine[cliFlag98] !== undefined) {
5699
+ const val = commandLine[cliFlag98];
5570
5700
  if (typeof val !== "number") {
5571
5701
  throw new TypeError(`Webpack polling must be a number, got ${JSON.stringify(val)}`);
5572
5702
  }
@@ -5593,11 +5723,11 @@ var webpackPollOption = {
5593
5723
  webpackPolling = value3;
5594
5724
  },
5595
5725
  type: 0,
5596
- id: cliFlag96
5726
+ id: cliFlag98
5597
5727
  };
5598
5728
 
5599
5729
  // src/options/x264-preset.tsx
5600
- 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";
5601
5731
  var x264PresetOptions = [
5602
5732
  "ultrafast",
5603
5733
  "superfast",
@@ -5611,72 +5741,72 @@ var x264PresetOptions = [
5611
5741
  "placebo"
5612
5742
  ];
5613
5743
  var preset = null;
5614
- var cliFlag97 = "x264-preset";
5744
+ var cliFlag99 = "x264-preset";
5615
5745
  var DEFAULT_PRESET = "medium";
5616
5746
  var x264Option = {
5617
5747
  name: "x264 Preset",
5618
- cliFlag: cliFlag97,
5619
- description: () => /* @__PURE__ */ jsxs64(Fragment92, {
5748
+ cliFlag: cliFlag99,
5749
+ description: () => /* @__PURE__ */ jsxs67(Fragment94, {
5620
5750
  children: [
5621
5751
  "Sets a x264 preset profile. Only applies to videos rendered with",
5622
5752
  " ",
5623
- /* @__PURE__ */ jsx91("code", {
5753
+ /* @__PURE__ */ jsx93("code", {
5624
5754
  children: "h264"
5625
5755
  }),
5626
5756
  " codec.",
5627
- /* @__PURE__ */ jsx91("br", {}),
5757
+ /* @__PURE__ */ jsx93("br", {}),
5628
5758
  "Possible values: ",
5629
- /* @__PURE__ */ jsx91("code", {
5759
+ /* @__PURE__ */ jsx93("code", {
5630
5760
  children: "superfast"
5631
5761
  }),
5632
5762
  ", ",
5633
- /* @__PURE__ */ jsx91("code", {
5763
+ /* @__PURE__ */ jsx93("code", {
5634
5764
  children: "veryfast"
5635
5765
  }),
5636
5766
  ",",
5637
5767
  " ",
5638
- /* @__PURE__ */ jsx91("code", {
5768
+ /* @__PURE__ */ jsx93("code", {
5639
5769
  children: "faster"
5640
5770
  }),
5641
5771
  ", ",
5642
- /* @__PURE__ */ jsx91("code", {
5772
+ /* @__PURE__ */ jsx93("code", {
5643
5773
  children: "fast"
5644
5774
  }),
5645
5775
  ", ",
5646
- /* @__PURE__ */ jsx91("code", {
5776
+ /* @__PURE__ */ jsx93("code", {
5647
5777
  children: "medium"
5648
5778
  }),
5649
5779
  ",",
5650
5780
  " ",
5651
- /* @__PURE__ */ jsx91("code", {
5781
+ /* @__PURE__ */ jsx93("code", {
5652
5782
  children: "slow"
5653
5783
  }),
5654
5784
  ", ",
5655
- /* @__PURE__ */ jsx91("code", {
5785
+ /* @__PURE__ */ jsx93("code", {
5656
5786
  children: "slower"
5657
5787
  }),
5658
5788
  ", ",
5659
- /* @__PURE__ */ jsx91("code", {
5789
+ /* @__PURE__ */ jsx93("code", {
5660
5790
  children: "veryslow"
5661
5791
  }),
5662
5792
  ",",
5663
5793
  " ",
5664
- /* @__PURE__ */ jsx91("code", {
5794
+ /* @__PURE__ */ jsx93("code", {
5665
5795
  children: "placebo"
5666
5796
  }),
5667
5797
  ".",
5668
- /* @__PURE__ */ jsx91("br", {}),
5798
+ /* @__PURE__ */ jsx93("br", {}),
5669
5799
  "Default: ",
5670
- /* @__PURE__ */ jsx91("code", {
5800
+ /* @__PURE__ */ jsx93("code", {
5671
5801
  children: DEFAULT_PRESET
5672
5802
  })
5673
5803
  ]
5674
5804
  }),
5675
5805
  ssrName: "x264Preset",
5676
- docLink: "https://www.remotion.dev/docs/renderer/render-media",
5806
+ docLink: "https://www.remotion.dev/docs/options/x264-preset",
5677
5807
  type: "fast",
5678
5808
  getValue: ({ commandLine }) => {
5679
- const value3 = commandLine[cliFlag97];
5809
+ const value3 = commandLine[cliFlag99];
5680
5810
  if (typeof value3 !== "undefined") {
5681
5811
  return { value: value3, source: "cli" };
5682
5812
  }
@@ -5688,7 +5818,7 @@ var x264Option = {
5688
5818
  setConfig: (profile) => {
5689
5819
  preset = profile;
5690
5820
  },
5691
- id: cliFlag97
5821
+ id: cliFlag99
5692
5822
  };
5693
5823
 
5694
5824
  // src/options/index.tsx
@@ -5714,6 +5844,7 @@ var allOptions = {
5714
5844
  deleteAfterOption,
5715
5845
  disableWebSecurityOption,
5716
5846
  disallowParallelEncodingOption,
5847
+ disableSharedMemoryCaptureOption,
5717
5848
  folderExpiryOption,
5718
5849
  enableCancellationOption,
5719
5850
  enableMultiprocessOnLinuxOption,
@@ -5766,6 +5897,7 @@ var allOptions = {
5766
5897
  framesOption,
5767
5898
  forceNewStudioOption,
5768
5899
  experimentalKeepAudioContextAliveOption,
5900
+ experimentalTracksOption,
5769
5901
  numberOfSharedAudioTagsOption,
5770
5902
  ipv4Option,
5771
5903
  stillImageFormatOption,
@@ -5807,6 +5939,7 @@ var optionsMap = {
5807
5939
  colorSpace: colorSpaceOption,
5808
5940
  codec: videoCodecOption,
5809
5941
  disallowParallelEncoding: disallowParallelEncodingOption,
5942
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5810
5943
  jpegQuality: jpegQualityOption,
5811
5944
  encodingMaxRate: encodingMaxRateOption,
5812
5945
  encodingBufferSize: encodingBufferSizeOption,
@@ -5875,6 +6008,7 @@ var optionsMap = {
5875
6008
  sampleRate: sampleRateOption
5876
6009
  },
5877
6010
  renderMediaOnLambda: {
6011
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5878
6012
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5879
6013
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5880
6014
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5914,6 +6048,7 @@ var optionsMap = {
5914
6048
  timeoutInMilliseconds: delayRenderTimeoutInMillisecondsOption
5915
6049
  },
5916
6050
  renderMediaOnCloudRun: {
6051
+ disableSharedMemoryCapture: disableSharedMemoryCaptureOption,
5917
6052
  mediaCacheSizeInBytes: mediaCacheSizeInBytesOption,
5918
6053
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption,
5919
6054
  offthreadVideoThreads: offthreadVideoThreadsOption,
@@ -5964,6 +6099,7 @@ var optionsMap = {
5964
6099
  };
5965
6100
 
5966
6101
  // src/validate-output-filename.ts
6102
+ import { NoReactInternals as NoReactInternals6 } from "remotion/no-react";
5967
6103
  var validateOutputFilename = ({
5968
6104
  codec: codec2,
5969
6105
  audioCodecSetting,
@@ -5974,6 +6110,10 @@ var validateOutputFilename = ({
5974
6110
  if (!defaultFileExtensionMap[codec2]) {
5975
6111
  throw new TypeError(`The codec "${codec2}" is not supported. Supported codecs are: ${Object.keys(defaultFileExtensionMap).join(", ")}`);
5976
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
+ }
5977
6117
  const map = defaultFileExtensionMap[codec2];
5978
6118
  const resolvedAudioCodec = resolveAudioCodec({
5979
6119
  codec: codec2,
@@ -5982,7 +6122,7 @@ var validateOutputFilename = ({
5982
6122
  separateAudioTo
5983
6123
  });
5984
6124
  if (resolvedAudioCodec === null) {
5985
- if (extension !== map.default) {
6125
+ if (normalizedExtension !== map.default) {
5986
6126
  throw new TypeError(`When using the ${codec2} codec, the output filename must end in .${map.default}.`);
5987
6127
  }
5988
6128
  return;
@@ -5991,20 +6131,21 @@ var validateOutputFilename = ({
5991
6131
  throw new Error(`Audio codec ${resolvedAudioCodec} is not supported for codec ${codec2}`);
5992
6132
  }
5993
6133
  const acceptableExtensions = map.forAudioCodec[resolvedAudioCodec].possible;
5994
- if (!acceptableExtensions.includes(extension) && !separateAudioTo) {
6134
+ if (!acceptableExtensions.includes(normalizedExtension) && !separateAudioTo) {
5995
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(", ")}.`);
5996
6136
  }
5997
6137
  };
5998
6138
 
5999
6139
  // src/client.ts
6000
6140
  var BrowserSafeApis = {
6141
+ canUseParallelEncoding,
6001
6142
  getExtensionOfFilename,
6002
6143
  getFileExtensionFromCodec,
6003
6144
  validCodecs,
6004
6145
  validAudioCodecs,
6005
6146
  getDefaultCrfForCodec,
6006
6147
  getValidCrfRanges,
6007
- proResProfileOptions: NoReactInternals5.proResProfileOptions,
6148
+ proResProfileOptions: NoReactInternals7.proResProfileOptions,
6008
6149
  x264PresetOptions,
6009
6150
  hardwareAccelerationOptions,
6010
6151
  validPixelFormats,