@remotion/renderer 4.0.424 → 4.0.425

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 (34) hide show
  1. package/dist/client.d.ts +211 -0
  2. package/dist/esm/client.mjs +1057 -510
  3. package/dist/index.d.ts +1 -0
  4. package/dist/options/browser-executable.d.ts +17 -0
  5. package/dist/options/browser-executable.js +36 -0
  6. package/dist/options/concurrency.d.ts +17 -0
  7. package/dist/options/concurrency.js +40 -0
  8. package/dist/options/disable-web-security.d.ts +16 -0
  9. package/dist/options/disable-web-security.js +36 -0
  10. package/dist/options/every-nth-frame.d.ts +16 -0
  11. package/dist/options/every-nth-frame.js +42 -0
  12. package/dist/options/ignore-certificate-errors.d.ts +16 -0
  13. package/dist/options/ignore-certificate-errors.js +36 -0
  14. package/dist/options/image-format-option.d.ts +18 -0
  15. package/dist/options/image-format-option.js +33 -0
  16. package/dist/options/index.d.ts +210 -0
  17. package/dist/options/index.js +24 -0
  18. package/dist/options/override-duration.d.ts +19 -0
  19. package/dist/options/override-duration.js +46 -0
  20. package/dist/options/override-fps.d.ts +19 -0
  21. package/dist/options/override-fps.js +40 -0
  22. package/dist/options/override-height.d.ts +19 -0
  23. package/dist/options/override-height.js +40 -0
  24. package/dist/options/override-width.d.ts +19 -0
  25. package/dist/options/override-width.js +40 -0
  26. package/dist/options/pixel-format.d.ts +16 -0
  27. package/dist/options/pixel-format.js +41 -0
  28. package/dist/options/private-license-key.d.ts +15 -0
  29. package/dist/options/private-license-key.js +35 -0
  30. package/dist/options/prores-profile.d.ts +20 -0
  31. package/dist/options/prores-profile.js +48 -0
  32. package/dist/options/user-agent.d.ts +19 -0
  33. package/dist/options/user-agent.js +36 -0
  34. package/package.json +14 -14
@@ -1,5 +1,5 @@
1
1
  // src/client.ts
2
- import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
2
+ import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
3
3
 
4
4
  // src/browser/TimeoutSettings.ts
5
5
  var DEFAULT_TIMEOUT = 30000;
@@ -699,20 +699,57 @@ var binariesDirectoryOption = {
699
699
  id: cliFlag7
700
700
  };
701
701
 
702
+ // src/options/browser-executable.tsx
703
+ import { jsx as jsx6, Fragment as Fragment6 } from "react/jsx-runtime";
704
+ var currentBrowserExecutablePath = null;
705
+ var cliFlag8 = "browser-executable";
706
+ var browserExecutableOption = {
707
+ name: "Browser executable",
708
+ cliFlag: cliFlag8,
709
+ description: () => /* @__PURE__ */ jsx6(Fragment6, {
710
+ 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."
711
+ }),
712
+ ssrName: "browserExecutable",
713
+ docLink: "https://www.remotion.dev/docs/config#setbrowserexecutable",
714
+ type: null,
715
+ getValue: ({ commandLine }) => {
716
+ if (commandLine[cliFlag8] !== undefined) {
717
+ return {
718
+ source: "cli",
719
+ value: commandLine[cliFlag8]
720
+ };
721
+ }
722
+ if (currentBrowserExecutablePath !== null) {
723
+ return {
724
+ source: "config",
725
+ value: currentBrowserExecutablePath
726
+ };
727
+ }
728
+ return {
729
+ source: "default",
730
+ value: null
731
+ };
732
+ },
733
+ setConfig: (value) => {
734
+ currentBrowserExecutablePath = value;
735
+ },
736
+ id: cliFlag8
737
+ };
738
+
702
739
  // src/options/chrome-mode.tsx
703
- import { jsx as jsx6, jsxs as jsxs4, Fragment as Fragment6 } from "react/jsx-runtime";
740
+ import { jsx as jsx7, jsxs as jsxs4, Fragment as Fragment7 } from "react/jsx-runtime";
704
741
  var validChromeModeOptions = [
705
742
  "headless-shell",
706
743
  "chrome-for-testing"
707
744
  ];
708
- var cliFlag8 = "chrome-mode";
745
+ var cliFlag9 = "chrome-mode";
709
746
  var configSelection = null;
710
747
  var chromeModeOption = {
711
- cliFlag: cliFlag8,
748
+ cliFlag: cliFlag9,
712
749
  name: "Chrome Mode",
713
750
  ssrName: "chromeMode",
714
751
  description: () => {
715
- return /* @__PURE__ */ jsxs4(Fragment6, {
752
+ return /* @__PURE__ */ jsxs4(Fragment7, {
716
753
  children: [
717
754
  "One of",
718
755
  " ",
@@ -723,7 +760,7 @@ var chromeModeOption = {
723
760
  ]
724
761
  }, option)),
725
762
  ". Default ",
726
- /* @__PURE__ */ jsx6("code", {
763
+ /* @__PURE__ */ jsx7("code", {
727
764
  children: "headless-shell"
728
765
  }),
729
766
  ".",
@@ -732,7 +769,7 @@ var chromeModeOption = {
732
769
  href: "https://remotion.dev/docs/miscellaneous/chrome-headless-shell",
733
770
  children: [
734
771
  "Use ",
735
- /* @__PURE__ */ jsx6("code", {
772
+ /* @__PURE__ */ jsx7("code", {
736
773
  children: "chrome-for-testing"
737
774
  }),
738
775
  " to take advantage of GPU drivers on Linux."
@@ -743,12 +780,12 @@ var chromeModeOption = {
743
780
  },
744
781
  docLink: "https://www.remotion.dev/chrome-for-testing",
745
782
  getValue: ({ commandLine }) => {
746
- if (commandLine[cliFlag8]) {
747
- if (!validChromeModeOptions.includes(commandLine[cliFlag8])) {
748
- throw new Error(`Invalid \`--${cliFlag8}\` value passed. Accepted values: ${validChromeModeOptions.map((l) => `'${l}'`).join(", ")}.`);
783
+ if (commandLine[cliFlag9]) {
784
+ if (!validChromeModeOptions.includes(commandLine[cliFlag9])) {
785
+ throw new Error(`Invalid \`--${cliFlag9}\` value passed. Accepted values: ${validChromeModeOptions.map((l) => `'${l}'`).join(", ")}.`);
749
786
  }
750
787
  return {
751
- value: commandLine[cliFlag8],
788
+ value: commandLine[cliFlag9],
752
789
  source: "cli"
753
790
  };
754
791
  }
@@ -767,22 +804,22 @@ var chromeModeOption = {
767
804
  configSelection = newChromeMode;
768
805
  },
769
806
  type: "headless-shell",
770
- id: cliFlag8
807
+ id: cliFlag9
771
808
  };
772
809
 
773
810
  // src/options/color-space.tsx
774
811
  import { NoReactInternals } from "remotion/no-react";
775
- import { jsx as jsx7, jsxs as jsxs5, Fragment as Fragment7 } from "react/jsx-runtime";
812
+ import { jsx as jsx8, jsxs as jsxs5, Fragment as Fragment8 } from "react/jsx-runtime";
776
813
  var validV4ColorSpaces = ["default", "bt601", "bt709", "bt2020-ncl"];
777
814
  var validV5ColorSpaces = ["bt601", "bt709", "bt2020-ncl"];
778
815
  var validColorSpaces = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? validV5ColorSpaces : validV4ColorSpaces;
779
816
  var DEFAULT_COLOR_SPACE = NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? "bt709" : "default";
780
817
  var colorSpace = DEFAULT_COLOR_SPACE;
781
- var cliFlag9 = "color-space";
818
+ var cliFlag10 = "color-space";
782
819
  var colorSpaceOption = {
783
820
  name: "Color space",
784
821
  cliFlag: "color-space",
785
- description: () => /* @__PURE__ */ jsxs5(Fragment7, {
822
+ description: () => /* @__PURE__ */ jsxs5(Fragment8, {
786
823
  children: [
787
824
  "Color space to use for the video. Acceptable values:",
788
825
  " ",
@@ -802,7 +839,7 @@ var colorSpaceOption = {
802
839
  '"',
803
840
  ", "
804
841
  ]
805
- }) : /* @__PURE__ */ jsxs5(Fragment7, {
842
+ }) : /* @__PURE__ */ jsxs5(Fragment8, {
806
843
  children: [
807
844
  /* @__PURE__ */ jsxs5("code", {
808
845
  children: [
@@ -854,7 +891,7 @@ var colorSpaceOption = {
854
891
  }),
855
892
  " ",
856
893
  "(since v4.0.88), .",
857
- /* @__PURE__ */ jsx7("br", {}),
894
+ /* @__PURE__ */ jsx8("br", {}),
858
895
  "For best color accuracy, it is recommended to also use",
859
896
  " ",
860
897
  /* @__PURE__ */ jsxs5("code", {
@@ -866,7 +903,7 @@ var colorSpaceOption = {
866
903
  }),
867
904
  " ",
868
905
  "as the image format to have accurate color transformations throughout.",
869
- /* @__PURE__ */ jsx7("br", {}),
906
+ /* @__PURE__ */ jsx8("br", {}),
870
907
  "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."
871
908
  ]
872
909
  }),
@@ -874,10 +911,10 @@ var colorSpaceOption = {
874
911
  ssrName: "colorSpace",
875
912
  type: DEFAULT_COLOR_SPACE,
876
913
  getValue: ({ commandLine }) => {
877
- if (commandLine[cliFlag9] !== undefined) {
914
+ if (commandLine[cliFlag10] !== undefined) {
878
915
  return {
879
916
  source: "cli",
880
- value: commandLine[cliFlag9]
917
+ value: commandLine[cliFlag10]
881
918
  };
882
919
  }
883
920
  if (colorSpace !== DEFAULT_COLOR_SPACE) {
@@ -894,33 +931,80 @@ var colorSpaceOption = {
894
931
  setConfig: (value) => {
895
932
  colorSpace = value ?? DEFAULT_COLOR_SPACE;
896
933
  },
897
- id: cliFlag9
934
+ id: cliFlag10
935
+ };
936
+
937
+ // src/options/concurrency.tsx
938
+ import { jsx as jsx9, jsxs as jsxs6, Fragment as Fragment9 } from "react/jsx-runtime";
939
+ var currentConcurrency = null;
940
+ var cliFlag11 = "concurrency";
941
+ var concurrencyOption = {
942
+ name: "Concurrency",
943
+ cliFlag: cliFlag11,
944
+ description: () => /* @__PURE__ */ jsxs6(Fragment9, {
945
+ children: [
946
+ "How many CPU threads to use. Minimum 1. The maximum is the amount of threads you have (In Node.JS ",
947
+ /* @__PURE__ */ jsx9("code", {
948
+ children: "os.cpus().length"
949
+ }),
950
+ "). You can also provide a percentage value (e.g. ",
951
+ /* @__PURE__ */ jsx9("code", {
952
+ children: "50%"
953
+ }),
954
+ ")."
955
+ ]
956
+ }),
957
+ ssrName: "concurrency",
958
+ docLink: "https://www.remotion.dev/docs/config#setconcurrency",
959
+ type: null,
960
+ getValue: ({ commandLine }) => {
961
+ if (commandLine[cliFlag11] !== undefined) {
962
+ return {
963
+ source: "cli",
964
+ value: commandLine[cliFlag11]
965
+ };
966
+ }
967
+ if (currentConcurrency !== null) {
968
+ return {
969
+ source: "config",
970
+ value: currentConcurrency
971
+ };
972
+ }
973
+ return {
974
+ source: "default",
975
+ value: null
976
+ };
977
+ },
978
+ setConfig: (value) => {
979
+ currentConcurrency = value;
980
+ },
981
+ id: cliFlag11
898
982
  };
899
983
 
900
984
  // src/options/crf.tsx
901
- import { jsx as jsx8, Fragment as Fragment8 } from "react/jsx-runtime";
985
+ import { jsx as jsx10, Fragment as Fragment10 } from "react/jsx-runtime";
902
986
  var currentCrf;
903
987
  var validateCrf = (newCrf) => {
904
988
  if (typeof newCrf !== "number" && newCrf !== undefined) {
905
989
  throw new TypeError("The CRF must be a number or undefined.");
906
990
  }
907
991
  };
908
- var cliFlag10 = "crf";
992
+ var cliFlag12 = "crf";
909
993
  var crfOption = {
910
994
  name: "CRF",
911
- cliFlag: cliFlag10,
912
- description: () => /* @__PURE__ */ jsx8(Fragment8, {
995
+ cliFlag: cliFlag12,
996
+ description: () => /* @__PURE__ */ jsx10(Fragment10, {
913
997
  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."
914
998
  }),
915
999
  ssrName: "crf",
916
1000
  docLink: "https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting",
917
1001
  type: 0,
918
1002
  getValue: ({ commandLine }) => {
919
- if (commandLine[cliFlag10] !== undefined) {
920
- validateCrf(commandLine[cliFlag10]);
1003
+ if (commandLine[cliFlag12] !== undefined) {
1004
+ validateCrf(commandLine[cliFlag12]);
921
1005
  return {
922
1006
  source: "cli",
923
- value: commandLine[cliFlag10]
1007
+ value: commandLine[cliFlag12]
924
1008
  };
925
1009
  }
926
1010
  if (currentCrf !== null) {
@@ -938,21 +1022,21 @@ var crfOption = {
938
1022
  validateCrf(crf);
939
1023
  currentCrf = crf;
940
1024
  },
941
- id: cliFlag10
1025
+ id: cliFlag12
942
1026
  };
943
1027
 
944
1028
  // src/options/cross-site-isolation.tsx
945
- import { jsx as jsx9, jsxs as jsxs6, Fragment as Fragment9 } from "react/jsx-runtime";
1029
+ import { jsx as jsx11, jsxs as jsxs7, Fragment as Fragment11 } from "react/jsx-runtime";
946
1030
  var enableCrossSiteIsolation = false;
947
- var cliFlag11 = "cross-site-isolation";
1031
+ var cliFlag13 = "cross-site-isolation";
948
1032
  var enableCrossSiteIsolationOption = {
949
1033
  name: "Enable Cross-Site Isolation",
950
- cliFlag: cliFlag11,
951
- description: () => /* @__PURE__ */ jsxs6(Fragment9, {
1034
+ cliFlag: cliFlag13,
1035
+ description: () => /* @__PURE__ */ jsxs7(Fragment11, {
952
1036
  children: [
953
1037
  "Enable Cross-Site Isolation in the Studio (sets Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy HTTP headers, required for",
954
1038
  " ",
955
- /* @__PURE__ */ jsx9("code", {
1039
+ /* @__PURE__ */ jsx11("code", {
956
1040
  children: "@remotion/whisper-web"
957
1041
  }),
958
1042
  ")."
@@ -962,9 +1046,9 @@ var enableCrossSiteIsolationOption = {
962
1046
  docLink: "https://www.remotion.dev/docs/config#setenablecrosssiteisolation",
963
1047
  type: false,
964
1048
  getValue: ({ commandLine }) => {
965
- if (commandLine[cliFlag11] !== undefined) {
1049
+ if (commandLine[cliFlag13] !== undefined) {
966
1050
  return {
967
- value: commandLine[cliFlag11],
1051
+ value: commandLine[cliFlag13],
968
1052
  source: "cli"
969
1053
  };
970
1054
  }
@@ -976,22 +1060,22 @@ var enableCrossSiteIsolationOption = {
976
1060
  setConfig(value) {
977
1061
  enableCrossSiteIsolation = value;
978
1062
  },
979
- id: cliFlag11
1063
+ id: cliFlag13
980
1064
  };
981
1065
 
982
1066
  // src/options/dark-mode.tsx
983
- import { jsx as jsx10, jsxs as jsxs7, Fragment as Fragment10 } from "react/jsx-runtime";
1067
+ import { jsx as jsx12, jsxs as jsxs8, Fragment as Fragment12 } from "react/jsx-runtime";
984
1068
  var DEFAULT_VALUE = false;
985
1069
  var darkMode = DEFAULT_VALUE;
986
- var cliFlag12 = "dark-mode";
1070
+ var cliFlag14 = "dark-mode";
987
1071
  var darkModeOption = {
988
1072
  name: "Dark Mode",
989
- cliFlag: cliFlag12,
990
- description: () => /* @__PURE__ */ jsxs7(Fragment10, {
1073
+ cliFlag: cliFlag14,
1074
+ description: () => /* @__PURE__ */ jsxs8(Fragment12, {
991
1075
  children: [
992
1076
  "Whether Chromium should pretend to be in dark mode by emulating the media feature 'prefers-color-scheme: dark'. Default is",
993
1077
  " ",
994
- /* @__PURE__ */ jsx10("code", {
1078
+ /* @__PURE__ */ jsx12("code", {
995
1079
  children: String(DEFAULT_VALUE)
996
1080
  }),
997
1081
  "."
@@ -1001,10 +1085,10 @@ var darkModeOption = {
1001
1085
  docLink: "https://www.remotion.dev/docs/chromium-flags#--dark-mode",
1002
1086
  type: false,
1003
1087
  getValue: ({ commandLine }) => {
1004
- if (commandLine[cliFlag12] !== undefined) {
1088
+ if (commandLine[cliFlag14] !== undefined) {
1005
1089
  return {
1006
1090
  source: "cli",
1007
- value: commandLine[cliFlag12]
1091
+ value: commandLine[cliFlag14]
1008
1092
  };
1009
1093
  }
1010
1094
  if (darkMode !== DEFAULT_VALUE) {
@@ -1021,41 +1105,41 @@ var darkModeOption = {
1021
1105
  setConfig: (value) => {
1022
1106
  darkMode = value;
1023
1107
  },
1024
- id: cliFlag12
1108
+ id: cliFlag14
1025
1109
  };
1026
1110
 
1027
1111
  // src/options/delete-after.tsx
1028
- import { jsx as jsx11, jsxs as jsxs8, Fragment as Fragment11 } from "react/jsx-runtime";
1029
- var cliFlag13 = "delete-after";
1112
+ import { jsx as jsx13, jsxs as jsxs9, Fragment as Fragment13 } from "react/jsx-runtime";
1113
+ var cliFlag15 = "delete-after";
1030
1114
  var deleteAfter = null;
1031
1115
  var deleteAfterOption = {
1032
1116
  name: "Lambda render expiration",
1033
- cliFlag: cliFlag13,
1117
+ cliFlag: cliFlag15,
1034
1118
  description: () => {
1035
- return /* @__PURE__ */ jsxs8(Fragment11, {
1119
+ return /* @__PURE__ */ jsxs9(Fragment13, {
1036
1120
  children: [
1037
1121
  "Automatically delete the render after a certain period. Accepted values are ",
1038
- /* @__PURE__ */ jsx11("code", {
1122
+ /* @__PURE__ */ jsx13("code", {
1039
1123
  children: "1-day"
1040
1124
  }),
1041
1125
  ", ",
1042
- /* @__PURE__ */ jsx11("code", {
1126
+ /* @__PURE__ */ jsx13("code", {
1043
1127
  children: "3-days"
1044
1128
  }),
1045
1129
  ", ",
1046
- /* @__PURE__ */ jsx11("code", {
1130
+ /* @__PURE__ */ jsx13("code", {
1047
1131
  children: "7-days"
1048
1132
  }),
1049
1133
  " and",
1050
1134
  " ",
1051
- /* @__PURE__ */ jsx11("code", {
1135
+ /* @__PURE__ */ jsx13("code", {
1052
1136
  children: "30-days"
1053
1137
  }),
1054
1138
  ".",
1055
- /* @__PURE__ */ jsx11("br", {}),
1139
+ /* @__PURE__ */ jsx13("br", {}),
1056
1140
  " For this to work, your bucket needs to have",
1057
1141
  " ",
1058
- /* @__PURE__ */ jsx11("a", {
1142
+ /* @__PURE__ */ jsx13("a", {
1059
1143
  href: "/docs/lambda/autodelete",
1060
1144
  children: "lifecycles enabled"
1061
1145
  }),
@@ -1067,10 +1151,10 @@ var deleteAfterOption = {
1067
1151
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1068
1152
  type: "1-day",
1069
1153
  getValue: ({ commandLine }) => {
1070
- if (commandLine[cliFlag13] !== undefined) {
1154
+ if (commandLine[cliFlag15] !== undefined) {
1071
1155
  return {
1072
1156
  source: "cli",
1073
- value: commandLine[cliFlag13]
1157
+ value: commandLine[cliFlag15]
1074
1158
  };
1075
1159
  }
1076
1160
  if (deleteAfter !== null) {
@@ -1087,21 +1171,21 @@ var deleteAfterOption = {
1087
1171
  setConfig: (value) => {
1088
1172
  deleteAfter = value;
1089
1173
  },
1090
- id: cliFlag13
1174
+ id: cliFlag15
1091
1175
  };
1092
1176
 
1093
1177
  // src/options/disable-git-source.tsx
1094
1178
  var DEFAULT2 = false;
1095
- var cliFlag14 = "disable-git-source";
1179
+ var cliFlag16 = "disable-git-source";
1096
1180
  var disableGitSourceOption = {
1097
- cliFlag: cliFlag14,
1181
+ cliFlag: cliFlag16,
1098
1182
  description: () => `Disables the Git Source being connected to the Remotion Studio. Clicking on stack traces and certain menu items will be disabled.`,
1099
1183
  docLink: "https://remotion.dev/docs/bundle",
1100
1184
  getValue: ({ commandLine }) => {
1101
- if (commandLine[cliFlag14]) {
1185
+ if (commandLine[cliFlag16]) {
1102
1186
  return {
1103
1187
  source: "cli",
1104
- value: commandLine[cliFlag14]
1188
+ value: commandLine[cliFlag16]
1105
1189
  };
1106
1190
  }
1107
1191
  return {
@@ -1115,26 +1199,63 @@ var disableGitSourceOption = {
1115
1199
  },
1116
1200
  ssrName: "disableGitSource",
1117
1201
  type: false,
1118
- id: cliFlag14
1202
+ id: cliFlag16
1203
+ };
1204
+
1205
+ // src/options/disable-web-security.tsx
1206
+ import { jsx as jsx14, Fragment as Fragment14 } from "react/jsx-runtime";
1207
+ var disableWebSecurity = false;
1208
+ var cliFlag17 = "disable-web-security";
1209
+ var disableWebSecurityOption = {
1210
+ name: "Disable web security",
1211
+ cliFlag: cliFlag17,
1212
+ description: () => /* @__PURE__ */ jsx14(Fragment14, {
1213
+ children: "This will most notably disable CORS in Chrome among other security features."
1214
+ }),
1215
+ ssrName: "disableWebSecurity",
1216
+ docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-web-security",
1217
+ type: false,
1218
+ getValue: ({ commandLine }) => {
1219
+ if (commandLine[cliFlag17] !== undefined) {
1220
+ return {
1221
+ source: "cli",
1222
+ value: Boolean(commandLine[cliFlag17])
1223
+ };
1224
+ }
1225
+ if (disableWebSecurity) {
1226
+ return {
1227
+ source: "config",
1228
+ value: disableWebSecurity
1229
+ };
1230
+ }
1231
+ return {
1232
+ source: "default",
1233
+ value: false
1234
+ };
1235
+ },
1236
+ setConfig: (value) => {
1237
+ disableWebSecurity = value;
1238
+ },
1239
+ id: cliFlag17
1119
1240
  };
1120
1241
 
1121
1242
  // src/options/disallow-parallel-encoding.tsx
1122
- import { jsx as jsx12, Fragment as Fragment12 } from "react/jsx-runtime";
1243
+ import { jsx as jsx15, Fragment as Fragment15 } from "react/jsx-runtime";
1123
1244
  var disallowParallelEncoding = false;
1124
- var cliFlag15 = "disallow-parallel-encoding";
1245
+ var cliFlag18 = "disallow-parallel-encoding";
1125
1246
  var disallowParallelEncodingOption = {
1126
1247
  name: "Disallow parallel encoding",
1127
- cliFlag: cliFlag15,
1128
- description: () => /* @__PURE__ */ jsx12(Fragment12, {
1248
+ cliFlag: cliFlag18,
1249
+ description: () => /* @__PURE__ */ jsx15(Fragment15, {
1129
1250
  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."
1130
1251
  }),
1131
1252
  ssrName: "disallowParallelEncoding",
1132
1253
  docLink: "https://www.remotion.dev/docs/config#setdisallowparallelencoding",
1133
1254
  type: false,
1134
1255
  getValue: ({ commandLine }) => {
1135
- if (commandLine[cliFlag15] !== undefined) {
1256
+ if (commandLine[cliFlag18] !== undefined) {
1136
1257
  return {
1137
- value: commandLine[cliFlag15],
1258
+ value: commandLine[cliFlag18],
1138
1259
  source: "cli"
1139
1260
  };
1140
1261
  }
@@ -1152,21 +1273,21 @@ var disallowParallelEncodingOption = {
1152
1273
  setConfig(value) {
1153
1274
  disallowParallelEncoding = value;
1154
1275
  },
1155
- id: cliFlag15
1276
+ id: cliFlag18
1156
1277
  };
1157
1278
 
1158
1279
  // src/options/enable-lambda-insights.tsx
1159
- import { jsx as jsx13, jsxs as jsxs9, Fragment as Fragment13 } from "react/jsx-runtime";
1160
- var cliFlag16 = "enable-lambda-insights";
1280
+ import { jsx as jsx16, jsxs as jsxs10, Fragment as Fragment16 } from "react/jsx-runtime";
1281
+ var cliFlag19 = "enable-lambda-insights";
1161
1282
  var option = false;
1162
1283
  var enableLambdaInsights = {
1163
1284
  name: "Enable Lambda Insights",
1164
- cliFlag: cliFlag16,
1165
- description: () => /* @__PURE__ */ jsxs9(Fragment13, {
1285
+ cliFlag: cliFlag19,
1286
+ description: () => /* @__PURE__ */ jsxs10(Fragment16, {
1166
1287
  children: [
1167
1288
  "Enable",
1168
1289
  " ",
1169
- /* @__PURE__ */ jsx13("a", {
1290
+ /* @__PURE__ */ jsx16("a", {
1170
1291
  href: "https://remotion.dev/docs/lambda/insights",
1171
1292
  children: "Lambda Insights in AWS CloudWatch"
1172
1293
  }),
@@ -1180,9 +1301,9 @@ var enableLambdaInsights = {
1180
1301
  option = value;
1181
1302
  },
1182
1303
  getValue: ({ commandLine }) => {
1183
- if (commandLine[cliFlag16] !== undefined) {
1304
+ if (commandLine[cliFlag19] !== undefined) {
1184
1305
  return {
1185
- value: commandLine[cliFlag16],
1306
+ value: commandLine[cliFlag19],
1186
1307
  source: "cli"
1187
1308
  };
1188
1309
  }
@@ -1197,41 +1318,41 @@ var enableLambdaInsights = {
1197
1318
  source: "default"
1198
1319
  };
1199
1320
  },
1200
- id: cliFlag16
1321
+ id: cliFlag19
1201
1322
  };
1202
1323
 
1203
1324
  // src/options/enable-multiprocess-on-linux.tsx
1204
- import { jsx as jsx14, jsxs as jsxs10, Fragment as Fragment14 } from "react/jsx-runtime";
1325
+ import { jsx as jsx17, jsxs as jsxs11, Fragment as Fragment17 } from "react/jsx-runtime";
1205
1326
  var DEFAULT_VALUE2 = true;
1206
1327
  var multiProcessOnLinux = DEFAULT_VALUE2;
1207
- var cliFlag17 = "enable-multiprocess-on-linux";
1328
+ var cliFlag20 = "enable-multiprocess-on-linux";
1208
1329
  var enableMultiprocessOnLinuxOption = {
1209
1330
  name: "Enable Multiprocess on Linux",
1210
- cliFlag: cliFlag17,
1211
- description: () => /* @__PURE__ */ jsxs10(Fragment14, {
1331
+ cliFlag: cliFlag20,
1332
+ description: () => /* @__PURE__ */ jsxs11(Fragment17, {
1212
1333
  children: [
1213
1334
  "Removes the ",
1214
- /* @__PURE__ */ jsx14("code", {
1335
+ /* @__PURE__ */ jsx17("code", {
1215
1336
  children: "--single-process"
1216
1337
  }),
1217
1338
  " 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.",
1218
- /* @__PURE__ */ jsx14("br", {}),
1339
+ /* @__PURE__ */ jsx17("br", {}),
1219
1340
  "Default: ",
1220
- /* @__PURE__ */ jsx14("code", {
1341
+ /* @__PURE__ */ jsx17("code", {
1221
1342
  children: "false"
1222
1343
  }),
1223
1344
  " until v4.0.136, then ",
1224
- /* @__PURE__ */ jsx14("code", {
1345
+ /* @__PURE__ */ jsx17("code", {
1225
1346
  children: "true"
1226
1347
  }),
1227
1348
  " from v4.0.137 on because newer Chrome versions ",
1228
1349
  "don't",
1229
1350
  " allow rendering with the ",
1230
- /* @__PURE__ */ jsx14("code", {
1351
+ /* @__PURE__ */ jsx17("code", {
1231
1352
  children: "--single-process"
1232
1353
  }),
1233
1354
  " flag. ",
1234
- /* @__PURE__ */ jsx14("br", {}),
1355
+ /* @__PURE__ */ jsx17("br", {}),
1235
1356
  "This flag will be removed in Remotion v5.0."
1236
1357
  ]
1237
1358
  }),
@@ -1239,10 +1360,10 @@ var enableMultiprocessOnLinuxOption = {
1239
1360
  docLink: "https://www.remotion.dev/docs/chromium-flags",
1240
1361
  type: false,
1241
1362
  getValue: ({ commandLine }) => {
1242
- if (commandLine[cliFlag17] !== undefined) {
1363
+ if (commandLine[cliFlag20] !== undefined) {
1243
1364
  return {
1244
1365
  source: "cli",
1245
- value: commandLine[cliFlag17]
1366
+ value: commandLine[cliFlag20]
1246
1367
  };
1247
1368
  }
1248
1369
  if (multiProcessOnLinux !== false) {
@@ -1259,23 +1380,23 @@ var enableMultiprocessOnLinuxOption = {
1259
1380
  setConfig: (value) => {
1260
1381
  multiProcessOnLinux = value;
1261
1382
  },
1262
- id: cliFlag17
1383
+ id: cliFlag20
1263
1384
  };
1264
1385
 
1265
1386
  // src/options/encoding-buffer-size.tsx
1266
- import { jsx as jsx15, jsxs as jsxs11, Fragment as Fragment15 } from "react/jsx-runtime";
1387
+ import { jsx as jsx18, jsxs as jsxs12, Fragment as Fragment18 } from "react/jsx-runtime";
1267
1388
  var encodingBufferSize = null;
1268
1389
  var setEncodingBufferSize = (bitrate) => {
1269
1390
  encodingBufferSize = bitrate;
1270
1391
  };
1271
- var cliFlag18 = "buffer-size";
1392
+ var cliFlag21 = "buffer-size";
1272
1393
  var encodingBufferSizeOption = {
1273
1394
  name: "FFmpeg -bufsize flag",
1274
- cliFlag: cliFlag18,
1275
- description: () => /* @__PURE__ */ jsxs11(Fragment15, {
1395
+ cliFlag: cliFlag21,
1396
+ description: () => /* @__PURE__ */ jsxs12(Fragment18, {
1276
1397
  children: [
1277
1398
  "The value for the ",
1278
- /* @__PURE__ */ jsx15("code", {
1399
+ /* @__PURE__ */ jsx18("code", {
1279
1400
  children: "-bufsize"
1280
1401
  }),
1281
1402
  " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag."
@@ -1285,9 +1406,9 @@ var encodingBufferSizeOption = {
1285
1406
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize",
1286
1407
  type: "",
1287
1408
  getValue: ({ commandLine }) => {
1288
- if (commandLine[cliFlag18] !== undefined) {
1409
+ if (commandLine[cliFlag21] !== undefined) {
1289
1410
  return {
1290
- value: commandLine[cliFlag18],
1411
+ value: commandLine[cliFlag21],
1291
1412
  source: "cli"
1292
1413
  };
1293
1414
  }
@@ -1303,20 +1424,20 @@ var encodingBufferSizeOption = {
1303
1424
  };
1304
1425
  },
1305
1426
  setConfig: setEncodingBufferSize,
1306
- id: cliFlag18
1427
+ id: cliFlag21
1307
1428
  };
1308
1429
 
1309
1430
  // src/options/encoding-max-rate.tsx
1310
- import { jsx as jsx16, jsxs as jsxs12, Fragment as Fragment16 } from "react/jsx-runtime";
1431
+ import { jsx as jsx19, jsxs as jsxs13, Fragment as Fragment19 } from "react/jsx-runtime";
1311
1432
  var encodingMaxRate = null;
1312
- var cliFlag19 = "max-rate";
1433
+ var cliFlag22 = "max-rate";
1313
1434
  var encodingMaxRateOption = {
1314
1435
  name: "FFmpeg -maxrate flag",
1315
- cliFlag: cliFlag19,
1316
- description: () => /* @__PURE__ */ jsxs12(Fragment16, {
1436
+ cliFlag: cliFlag22,
1437
+ description: () => /* @__PURE__ */ jsxs13(Fragment19, {
1317
1438
  children: [
1318
1439
  "The value for the ",
1319
- /* @__PURE__ */ jsx16("code", {
1440
+ /* @__PURE__ */ jsx19("code", {
1320
1441
  children: "-maxrate"
1321
1442
  }),
1322
1443
  " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag."
@@ -1326,9 +1447,9 @@ var encodingMaxRateOption = {
1326
1447
  docLink: "https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate",
1327
1448
  type: "",
1328
1449
  getValue: ({ commandLine }) => {
1329
- if (commandLine[cliFlag19] !== undefined) {
1450
+ if (commandLine[cliFlag22] !== undefined) {
1330
1451
  return {
1331
- value: commandLine[cliFlag19],
1452
+ value: commandLine[cliFlag22],
1332
1453
  source: "cli"
1333
1454
  };
1334
1455
  }
@@ -1346,25 +1467,25 @@ var encodingMaxRateOption = {
1346
1467
  setConfig: (newMaxRate) => {
1347
1468
  encodingMaxRate = newMaxRate;
1348
1469
  },
1349
- id: cliFlag19
1470
+ id: cliFlag22
1350
1471
  };
1351
1472
 
1352
1473
  // src/options/enforce-audio.tsx
1353
- import { jsx as jsx17, Fragment as Fragment17 } from "react/jsx-runtime";
1474
+ import { jsx as jsx20, Fragment as Fragment20 } from "react/jsx-runtime";
1354
1475
  var DEFAULT_ENFORCE_AUDIO_TRACK = false;
1355
1476
  var enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
1356
- var cliFlag20 = "enforce-audio-track";
1477
+ var cliFlag23 = "enforce-audio-track";
1357
1478
  var enforceAudioOption = {
1358
1479
  name: "Enforce Audio Track",
1359
- cliFlag: cliFlag20,
1360
- description: () => /* @__PURE__ */ jsx17(Fragment17, {
1480
+ cliFlag: cliFlag23,
1481
+ description: () => /* @__PURE__ */ jsx20(Fragment20, {
1361
1482
  children: "Render a silent audio track if there would be none otherwise."
1362
1483
  }),
1363
1484
  ssrName: "enforceAudioTrack",
1364
1485
  docLink: "https://www.remotion.dev/docs/config#setenforceaudiotrack-",
1365
1486
  type: false,
1366
1487
  getValue: ({ commandLine }) => {
1367
- if (commandLine[cliFlag20]) {
1488
+ if (commandLine[cliFlag23]) {
1368
1489
  return {
1369
1490
  source: "cli",
1370
1491
  value: true
@@ -1384,24 +1505,77 @@ var enforceAudioOption = {
1384
1505
  setConfig: (value) => {
1385
1506
  enforceAudioTrackState = value;
1386
1507
  },
1387
- id: cliFlag20
1508
+ id: cliFlag23
1509
+ };
1510
+
1511
+ // src/options/every-nth-frame.tsx
1512
+ import { jsx as jsx21, jsxs as jsxs14, Fragment as Fragment21 } from "react/jsx-runtime";
1513
+ var DEFAULT_EVERY_NTH_FRAME = 1;
1514
+ var everyNthFrame = DEFAULT_EVERY_NTH_FRAME;
1515
+ var cliFlag24 = "every-nth-frame";
1516
+ var everyNthFrameOption = {
1517
+ name: "Every nth frame",
1518
+ cliFlag: cliFlag24,
1519
+ description: () => /* @__PURE__ */ jsxs14(Fragment21, {
1520
+ children: [
1521
+ "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 ",
1522
+ /* @__PURE__ */ jsx21("code", {
1523
+ children: "fps"
1524
+ }),
1525
+ " is 30, and",
1526
+ " ",
1527
+ /* @__PURE__ */ jsx21("code", {
1528
+ children: "everyNthFrame"
1529
+ }),
1530
+ " is 2, the FPS of the GIF is ",
1531
+ /* @__PURE__ */ jsx21("code", {
1532
+ children: "15"
1533
+ }),
1534
+ "."
1535
+ ]
1536
+ }),
1537
+ ssrName: "everyNthFrame",
1538
+ docLink: "https://www.remotion.dev/docs/config#seteverynthframe",
1539
+ type: DEFAULT_EVERY_NTH_FRAME,
1540
+ getValue: ({ commandLine }) => {
1541
+ if (commandLine[cliFlag24] !== undefined) {
1542
+ return {
1543
+ source: "cli",
1544
+ value: commandLine[cliFlag24]
1545
+ };
1546
+ }
1547
+ if (everyNthFrame !== DEFAULT_EVERY_NTH_FRAME) {
1548
+ return {
1549
+ source: "config",
1550
+ value: everyNthFrame
1551
+ };
1552
+ }
1553
+ return {
1554
+ source: "default",
1555
+ value: DEFAULT_EVERY_NTH_FRAME
1556
+ };
1557
+ },
1558
+ setConfig: (value) => {
1559
+ everyNthFrame = value;
1560
+ },
1561
+ id: cliFlag24
1388
1562
  };
1389
1563
 
1390
1564
  // src/options/experimental-client-side-rendering.tsx
1391
- import { jsx as jsx18, Fragment as Fragment18 } from "react/jsx-runtime";
1565
+ import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
1392
1566
  var experimentalClientSideRenderingEnabled = false;
1393
- var cliFlag21 = "enable-experimental-client-side-rendering";
1567
+ var cliFlag25 = "enable-experimental-client-side-rendering";
1394
1568
  var experimentalClientSideRenderingOption = {
1395
1569
  name: "Enable Experimental Client-Side Rendering",
1396
- cliFlag: cliFlag21,
1397
- description: () => /* @__PURE__ */ jsx18(Fragment18, {
1570
+ cliFlag: cliFlag25,
1571
+ description: () => /* @__PURE__ */ jsx22(Fragment22, {
1398
1572
  children: "Enable WIP client-side rendering in the Remotion Studio. See https://www.remotion.dev/docs/client-side-rendering/ for notes."
1399
1573
  }),
1400
1574
  ssrName: null,
1401
1575
  docLink: "https://www.remotion.dev/docs/client-side-rendering",
1402
1576
  type: false,
1403
1577
  getValue: ({ commandLine }) => {
1404
- if (commandLine[cliFlag21] !== undefined) {
1578
+ if (commandLine[cliFlag25] !== undefined) {
1405
1579
  experimentalClientSideRenderingEnabled = true;
1406
1580
  return {
1407
1581
  value: experimentalClientSideRenderingEnabled,
@@ -1416,26 +1590,26 @@ var experimentalClientSideRenderingOption = {
1416
1590
  setConfig(value) {
1417
1591
  experimentalClientSideRenderingEnabled = value;
1418
1592
  },
1419
- id: cliFlag21
1593
+ id: cliFlag25
1420
1594
  };
1421
1595
 
1422
1596
  // src/options/folder-expiry.tsx
1423
- import { jsx as jsx19, jsxs as jsxs13, Fragment as Fragment19 } from "react/jsx-runtime";
1597
+ import { jsx as jsx23, jsxs as jsxs15, Fragment as Fragment23 } from "react/jsx-runtime";
1424
1598
  var enableFolderExpiry = null;
1425
- var cliFlag22 = "enable-folder-expiry";
1599
+ var cliFlag26 = "enable-folder-expiry";
1426
1600
  var folderExpiryOption = {
1427
1601
  name: "Lambda render expiration",
1428
- cliFlag: cliFlag22,
1602
+ cliFlag: cliFlag26,
1429
1603
  description: () => {
1430
- return /* @__PURE__ */ jsxs13(Fragment19, {
1604
+ return /* @__PURE__ */ jsxs15(Fragment23, {
1431
1605
  children: [
1432
1606
  "When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is",
1433
1607
  " ",
1434
- /* @__PURE__ */ jsx19("code", {
1608
+ /* @__PURE__ */ jsx23("code", {
1435
1609
  children: "null"
1436
1610
  }),
1437
1611
  ", which does not change any lifecycle policies of the S3 bucket. See: ",
1438
- /* @__PURE__ */ jsx19("a", {
1612
+ /* @__PURE__ */ jsx23("a", {
1439
1613
  href: "/docs/lambda/autodelete",
1440
1614
  children: "Lambda autodelete"
1441
1615
  }),
@@ -1447,10 +1621,10 @@ var folderExpiryOption = {
1447
1621
  docLink: "https://www.remotion.dev/docs/lambda/autodelete",
1448
1622
  type: false,
1449
1623
  getValue: ({ commandLine }) => {
1450
- if (commandLine[cliFlag22] !== undefined) {
1624
+ if (commandLine[cliFlag26] !== undefined) {
1451
1625
  return {
1452
1626
  source: "cli",
1453
- value: commandLine[cliFlag22]
1627
+ value: commandLine[cliFlag26]
1454
1628
  };
1455
1629
  }
1456
1630
  if (enableFolderExpiry !== null) {
@@ -1467,28 +1641,28 @@ var folderExpiryOption = {
1467
1641
  setConfig: (value) => {
1468
1642
  enableFolderExpiry = value;
1469
1643
  },
1470
- id: cliFlag22
1644
+ id: cliFlag26
1471
1645
  };
1472
1646
 
1473
1647
  // src/options/for-seamless-aac-concatenation.tsx
1474
- import { jsx as jsx20, jsxs as jsxs14, Fragment as Fragment20 } from "react/jsx-runtime";
1648
+ import { jsx as jsx24, jsxs as jsxs16, Fragment as Fragment24 } from "react/jsx-runtime";
1475
1649
  var DEFAULT3 = false;
1476
1650
  var forSeamlessAacConcatenation = DEFAULT3;
1477
- var cliFlag23 = "for-seamless-aac-concatenation";
1651
+ var cliFlag27 = "for-seamless-aac-concatenation";
1478
1652
  var forSeamlessAacConcatenationOption = {
1479
1653
  name: "For seamless AAC concatenation",
1480
- cliFlag: cliFlag23,
1481
- description: () => /* @__PURE__ */ jsxs14(Fragment20, {
1654
+ cliFlag: cliFlag27,
1655
+ description: () => /* @__PURE__ */ jsxs16(Fragment24, {
1482
1656
  children: [
1483
1657
  "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.",
1484
- /* @__PURE__ */ jsx20("br", {}),
1485
- /* @__PURE__ */ jsx20("br", {}),
1658
+ /* @__PURE__ */ jsx24("br", {}),
1659
+ /* @__PURE__ */ jsx24("br", {}),
1486
1660
  " This option is used internally. There is currently no documentation yet for to concatenate the audio chunks."
1487
1661
  ]
1488
1662
  }),
1489
1663
  docLink: "https://remotion.dev/docs/renderer",
1490
1664
  getValue: ({ commandLine }) => {
1491
- if (commandLine[cliFlag23]) {
1665
+ if (commandLine[cliFlag27]) {
1492
1666
  return {
1493
1667
  source: "cli",
1494
1668
  value: true
@@ -1510,26 +1684,26 @@ var forSeamlessAacConcatenationOption = {
1510
1684
  },
1511
1685
  ssrName: "forSeamlessAacConcatenation",
1512
1686
  type: false,
1513
- id: cliFlag23
1687
+ id: cliFlag27
1514
1688
  };
1515
1689
 
1516
1690
  // src/options/force-new-studio.tsx
1517
- import { jsx as jsx21, Fragment as Fragment21 } from "react/jsx-runtime";
1691
+ import { jsx as jsx25, Fragment as Fragment25 } from "react/jsx-runtime";
1518
1692
  var forceNewEnabled = false;
1519
- var cliFlag24 = "force-new";
1693
+ var cliFlag28 = "force-new";
1520
1694
  var forceNewStudioOption = {
1521
1695
  name: "Force New Studio",
1522
- cliFlag: cliFlag24,
1523
- description: () => /* @__PURE__ */ jsx21(Fragment21, {
1696
+ cliFlag: cliFlag28,
1697
+ description: () => /* @__PURE__ */ jsx25(Fragment25, {
1524
1698
  children: "Forces starting a new Studio instance even if one is already running on the same port for the same project."
1525
1699
  }),
1526
1700
  ssrName: null,
1527
1701
  docLink: "https://www.remotion.dev/docs/config#setforcenewstudioenabled",
1528
1702
  type: false,
1529
1703
  getValue: ({ commandLine }) => {
1530
- if (commandLine[cliFlag24] !== undefined) {
1704
+ if (commandLine[cliFlag28] !== undefined) {
1531
1705
  return {
1532
- value: commandLine[cliFlag24],
1706
+ value: commandLine[cliFlag28],
1533
1707
  source: "cli"
1534
1708
  };
1535
1709
  }
@@ -1541,11 +1715,11 @@ var forceNewStudioOption = {
1541
1715
  setConfig(value) {
1542
1716
  forceNewEnabled = value;
1543
1717
  },
1544
- id: cliFlag24
1718
+ id: cliFlag28
1545
1719
  };
1546
1720
 
1547
1721
  // src/options/gl.tsx
1548
- import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment22 } from "react/jsx-runtime";
1722
+ import { jsx as jsx26, jsxs as jsxs17, Fragment as Fragment26 } from "react/jsx-runtime";
1549
1723
  var validOpenGlRenderers = [
1550
1724
  "swangle",
1551
1725
  "angle",
@@ -1557,33 +1731,33 @@ var validOpenGlRenderers = [
1557
1731
  var DEFAULT_OPENGL_RENDERER = null;
1558
1732
  var openGlRenderer = DEFAULT_OPENGL_RENDERER;
1559
1733
  var AngleChangelog = () => {
1560
- return /* @__PURE__ */ jsxs15("details", {
1734
+ return /* @__PURE__ */ jsxs17("details", {
1561
1735
  style: { fontSize: "0.9em", marginBottom: "1em" },
1562
1736
  children: [
1563
- /* @__PURE__ */ jsx22("summary", {
1737
+ /* @__PURE__ */ jsx26("summary", {
1564
1738
  children: "Changelog"
1565
1739
  }),
1566
- /* @__PURE__ */ jsxs15("ul", {
1740
+ /* @__PURE__ */ jsxs17("ul", {
1567
1741
  children: [
1568
- /* @__PURE__ */ jsxs15("li", {
1742
+ /* @__PURE__ */ jsxs17("li", {
1569
1743
  children: [
1570
1744
  "From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was",
1571
1745
  " ",
1572
- /* @__PURE__ */ jsx22("code", {
1746
+ /* @__PURE__ */ jsx26("code", {
1573
1747
  children: "swiftshader"
1574
1748
  }),
1575
1749
  ", but from v3.0.8 the default is",
1576
1750
  " ",
1577
- /* @__PURE__ */ jsx22("code", {
1751
+ /* @__PURE__ */ jsx26("code", {
1578
1752
  children: "swangle"
1579
1753
  }),
1580
1754
  " (Swiftshader on Angle) since Chrome 101 added support for it."
1581
1755
  ]
1582
1756
  }),
1583
- /* @__PURE__ */ jsxs15("li", {
1757
+ /* @__PURE__ */ jsxs17("li", {
1584
1758
  children: [
1585
1759
  "From Remotion v2.4.3 until v2.6.6, the default was ",
1586
- /* @__PURE__ */ jsx22("code", {
1760
+ /* @__PURE__ */ jsx26("code", {
1587
1761
  children: "angle"
1588
1762
  }),
1589
1763
  ", however it turns out to have a small memory leak that could crash long Remotion renders."
@@ -1594,65 +1768,65 @@ var AngleChangelog = () => {
1594
1768
  ]
1595
1769
  });
1596
1770
  };
1597
- var cliFlag25 = "gl";
1771
+ var cliFlag29 = "gl";
1598
1772
  var glOption = {
1599
- cliFlag: cliFlag25,
1773
+ cliFlag: cliFlag29,
1600
1774
  docLink: "https://www.remotion.dev/docs/chromium-flags#--gl",
1601
1775
  name: "OpenGL renderer",
1602
1776
  type: "angle",
1603
1777
  ssrName: "gl",
1604
1778
  description: () => {
1605
- return /* @__PURE__ */ jsxs15(Fragment22, {
1779
+ return /* @__PURE__ */ jsxs17(Fragment26, {
1606
1780
  children: [
1607
- /* @__PURE__ */ jsx22(AngleChangelog, {}),
1608
- /* @__PURE__ */ jsxs15("p", {
1781
+ /* @__PURE__ */ jsx26(AngleChangelog, {}),
1782
+ /* @__PURE__ */ jsxs17("p", {
1609
1783
  children: [
1610
1784
  "Select the OpenGL renderer backend for Chromium. ",
1611
- /* @__PURE__ */ jsx22("br", {}),
1785
+ /* @__PURE__ */ jsx26("br", {}),
1612
1786
  "Accepted values:"
1613
1787
  ]
1614
1788
  }),
1615
- /* @__PURE__ */ jsxs15("ul", {
1789
+ /* @__PURE__ */ jsxs17("ul", {
1616
1790
  children: [
1617
- /* @__PURE__ */ jsx22("li", {
1618
- children: /* @__PURE__ */ jsx22("code", {
1791
+ /* @__PURE__ */ jsx26("li", {
1792
+ children: /* @__PURE__ */ jsx26("code", {
1619
1793
  children: '"angle"'
1620
1794
  })
1621
1795
  }),
1622
- /* @__PURE__ */ jsx22("li", {
1623
- children: /* @__PURE__ */ jsx22("code", {
1796
+ /* @__PURE__ */ jsx26("li", {
1797
+ children: /* @__PURE__ */ jsx26("code", {
1624
1798
  children: '"egl"'
1625
1799
  })
1626
1800
  }),
1627
- /* @__PURE__ */ jsx22("li", {
1628
- children: /* @__PURE__ */ jsx22("code", {
1801
+ /* @__PURE__ */ jsx26("li", {
1802
+ children: /* @__PURE__ */ jsx26("code", {
1629
1803
  children: '"swiftshader"'
1630
1804
  })
1631
1805
  }),
1632
- /* @__PURE__ */ jsx22("li", {
1633
- children: /* @__PURE__ */ jsx22("code", {
1806
+ /* @__PURE__ */ jsx26("li", {
1807
+ children: /* @__PURE__ */ jsx26("code", {
1634
1808
  children: '"swangle"'
1635
1809
  })
1636
1810
  }),
1637
- /* @__PURE__ */ jsxs15("li", {
1811
+ /* @__PURE__ */ jsxs17("li", {
1638
1812
  children: [
1639
- /* @__PURE__ */ jsx22("code", {
1813
+ /* @__PURE__ */ jsx26("code", {
1640
1814
  children: '"vulkan"'
1641
1815
  }),
1642
1816
  " (",
1643
- /* @__PURE__ */ jsx22("em", {
1817
+ /* @__PURE__ */ jsx26("em", {
1644
1818
  children: "from Remotion v4.0.41"
1645
1819
  }),
1646
1820
  ")"
1647
1821
  ]
1648
1822
  }),
1649
- /* @__PURE__ */ jsxs15("li", {
1823
+ /* @__PURE__ */ jsxs17("li", {
1650
1824
  children: [
1651
- /* @__PURE__ */ jsx22("code", {
1825
+ /* @__PURE__ */ jsx26("code", {
1652
1826
  children: '"angle-egl"'
1653
1827
  }),
1654
1828
  " (",
1655
- /* @__PURE__ */ jsx22("em", {
1829
+ /* @__PURE__ */ jsx26("em", {
1656
1830
  children: "from Remotion v4.0.51"
1657
1831
  }),
1658
1832
  ")"
@@ -1660,14 +1834,14 @@ var glOption = {
1660
1834
  })
1661
1835
  ]
1662
1836
  }),
1663
- /* @__PURE__ */ jsxs15("p", {
1837
+ /* @__PURE__ */ jsxs17("p", {
1664
1838
  children: [
1665
1839
  "The default is ",
1666
- /* @__PURE__ */ jsx22("code", {
1840
+ /* @__PURE__ */ jsx26("code", {
1667
1841
  children: "null"
1668
1842
  }),
1669
1843
  ", letting Chrome decide, except on Lambda where the default is ",
1670
- /* @__PURE__ */ jsx22("code", {
1844
+ /* @__PURE__ */ jsx26("code", {
1671
1845
  children: '"swangle"'
1672
1846
  })
1673
1847
  ]
@@ -1676,10 +1850,10 @@ var glOption = {
1676
1850
  });
1677
1851
  },
1678
1852
  getValue: ({ commandLine }) => {
1679
- if (commandLine[cliFlag25]) {
1680
- validateOpenGlRenderer(commandLine[cliFlag25]);
1853
+ if (commandLine[cliFlag29]) {
1854
+ validateOpenGlRenderer(commandLine[cliFlag29]);
1681
1855
  return {
1682
- value: commandLine[cliFlag25],
1856
+ value: commandLine[cliFlag29],
1683
1857
  source: "cli"
1684
1858
  };
1685
1859
  }
@@ -1698,7 +1872,7 @@ var glOption = {
1698
1872
  validateOpenGlRenderer(value);
1699
1873
  openGlRenderer = value;
1700
1874
  },
1701
- id: cliFlag25
1875
+ id: cliFlag29
1702
1876
  };
1703
1877
  var validateOpenGlRenderer = (option2) => {
1704
1878
  if (option2 === null) {
@@ -1716,11 +1890,11 @@ var hardwareAccelerationOptions = [
1716
1890
  "if-possible",
1717
1891
  "required"
1718
1892
  ];
1719
- var cliFlag26 = "hardware-acceleration";
1893
+ var cliFlag30 = "hardware-acceleration";
1720
1894
  var currentValue = null;
1721
1895
  var hardwareAccelerationOption = {
1722
1896
  name: "Hardware Acceleration",
1723
- cliFlag: cliFlag26,
1897
+ cliFlag: cliFlag30,
1724
1898
  description: () => `
1725
1899
  One of
1726
1900
  ${new Intl.ListFormat("en", { type: "disjunction" }).format(hardwareAccelerationOptions.map((a) => JSON.stringify(a)))}
@@ -1732,10 +1906,10 @@ var hardwareAccelerationOption = {
1732
1906
  docLink: "https://www.remotion.dev/docs/encoding",
1733
1907
  type: "disable",
1734
1908
  getValue: ({ commandLine }) => {
1735
- if (commandLine[cliFlag26] !== undefined) {
1736
- const value = commandLine[cliFlag26];
1909
+ if (commandLine[cliFlag30] !== undefined) {
1910
+ const value = commandLine[cliFlag30];
1737
1911
  if (!hardwareAccelerationOptions.includes(value)) {
1738
- throw new Error(`Invalid value for --${cliFlag26}: ${value}`);
1912
+ throw new Error(`Invalid value for --${cliFlag30}: ${value}`);
1739
1913
  }
1740
1914
  return {
1741
1915
  source: "cli",
@@ -1755,32 +1929,32 @@ var hardwareAccelerationOption = {
1755
1929
  },
1756
1930
  setConfig: (value) => {
1757
1931
  if (!hardwareAccelerationOptions.includes(value)) {
1758
- throw new Error(`Invalid value for --${cliFlag26}: ${value}`);
1932
+ throw new Error(`Invalid value for --${cliFlag30}: ${value}`);
1759
1933
  }
1760
1934
  currentValue = value;
1761
1935
  },
1762
- id: cliFlag26
1936
+ id: cliFlag30
1763
1937
  };
1764
1938
 
1765
1939
  // src/options/headless.tsx
1766
- import { jsx as jsx23, jsxs as jsxs16, Fragment as Fragment23 } from "react/jsx-runtime";
1940
+ import { jsx as jsx27, jsxs as jsxs18, Fragment as Fragment27 } from "react/jsx-runtime";
1767
1941
  var DEFAULT4 = true;
1768
1942
  var headlessMode = DEFAULT4;
1769
- var cliFlag27 = "disable-headless";
1943
+ var cliFlag31 = "disable-headless";
1770
1944
  var headlessOption = {
1771
1945
  name: "Disable Headless Mode",
1772
- cliFlag: cliFlag27,
1773
- description: () => /* @__PURE__ */ jsxs16(Fragment23, {
1946
+ cliFlag: cliFlag31,
1947
+ description: () => /* @__PURE__ */ jsxs18(Fragment27, {
1774
1948
  children: [
1775
1949
  "Deprecated - will be removed in 5.0.0. With the migration to",
1776
1950
  " ",
1777
- /* @__PURE__ */ jsx23("a", {
1951
+ /* @__PURE__ */ jsx27("a", {
1778
1952
  href: "/docs/miscellaneous/chrome-headless-shell",
1779
1953
  children: "Chrome Headless Shell"
1780
1954
  }),
1781
1955
  ", this option is not functional anymore.",
1782
- /* @__PURE__ */ jsx23("br", {}),
1783
- /* @__PURE__ */ jsx23("br", {}),
1956
+ /* @__PURE__ */ jsx27("br", {}),
1957
+ /* @__PURE__ */ jsx27("br", {}),
1784
1958
  " If disabled, the render will open an actual Chrome window where you can see the render happen. The default is headless mode."
1785
1959
  ]
1786
1960
  }),
@@ -1788,10 +1962,10 @@ var headlessOption = {
1788
1962
  docLink: "https://www.remotion.dev/docs/chromium-flags#--disable-headless",
1789
1963
  type: false,
1790
1964
  getValue: ({ commandLine }) => {
1791
- if (commandLine[cliFlag27] !== undefined) {
1965
+ if (commandLine[cliFlag31] !== undefined) {
1792
1966
  return {
1793
1967
  source: "cli",
1794
- value: !commandLine[cliFlag27]
1968
+ value: !commandLine[cliFlag31]
1795
1969
  };
1796
1970
  }
1797
1971
  if (headlessMode !== DEFAULT4) {
@@ -1808,25 +1982,62 @@ var headlessOption = {
1808
1982
  setConfig: (value) => {
1809
1983
  headlessMode = value;
1810
1984
  },
1811
- id: cliFlag27
1985
+ id: cliFlag31
1986
+ };
1987
+
1988
+ // src/options/ignore-certificate-errors.tsx
1989
+ import { jsx as jsx28, Fragment as Fragment28 } from "react/jsx-runtime";
1990
+ var ignoreCertificateErrors = false;
1991
+ var cliFlag32 = "ignore-certificate-errors";
1992
+ var ignoreCertificateErrorsOption = {
1993
+ name: "Ignore certificate errors",
1994
+ cliFlag: cliFlag32,
1995
+ description: () => /* @__PURE__ */ jsx28(Fragment28, {
1996
+ children: "Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored."
1997
+ }),
1998
+ ssrName: "ignoreCertificateErrors",
1999
+ docLink: "https://www.remotion.dev/docs/chromium-flags#--ignore-certificate-errors",
2000
+ type: false,
2001
+ getValue: ({ commandLine }) => {
2002
+ if (commandLine[cliFlag32] !== undefined) {
2003
+ return {
2004
+ source: "cli",
2005
+ value: Boolean(commandLine[cliFlag32])
2006
+ };
2007
+ }
2008
+ if (ignoreCertificateErrors) {
2009
+ return {
2010
+ source: "config",
2011
+ value: ignoreCertificateErrors
2012
+ };
2013
+ }
2014
+ return {
2015
+ source: "default",
2016
+ value: false
2017
+ };
2018
+ },
2019
+ setConfig: (value) => {
2020
+ ignoreCertificateErrors = value;
2021
+ },
2022
+ id: cliFlag32
1812
2023
  };
1813
2024
 
1814
2025
  // src/options/image-sequence-pattern.tsx
1815
- import { jsx as jsx24, jsxs as jsxs17, Fragment as Fragment24 } from "react/jsx-runtime";
1816
- var cliFlag28 = "image-sequence-pattern";
2026
+ import { jsx as jsx29, jsxs as jsxs19, Fragment as Fragment29 } from "react/jsx-runtime";
2027
+ var cliFlag33 = "image-sequence-pattern";
1817
2028
  var currentImageSequencePattern = null;
1818
2029
  var imageSequencePatternOption = {
1819
2030
  name: "Image Sequence Pattern",
1820
- cliFlag: cliFlag28,
2031
+ cliFlag: cliFlag33,
1821
2032
  ssrName: "imageSequencePattern",
1822
- description: () => /* @__PURE__ */ jsxs17(Fragment24, {
2033
+ description: () => /* @__PURE__ */ jsxs19(Fragment29, {
1823
2034
  children: [
1824
2035
  "Pattern for naming image sequence files. Supports ",
1825
- /* @__PURE__ */ jsx24("code", {
2036
+ /* @__PURE__ */ jsx29("code", {
1826
2037
  children: "[frame]"
1827
2038
  }),
1828
2039
  " for the zero-padded frame number and ",
1829
- /* @__PURE__ */ jsx24("code", {
2040
+ /* @__PURE__ */ jsx29("code", {
1830
2041
  children: "[ext]"
1831
2042
  }),
1832
2043
  " for the file extension."
@@ -1842,33 +2053,33 @@ var imageSequencePatternOption = {
1842
2053
  };
1843
2054
  }
1844
2055
  return {
1845
- value: commandLine[cliFlag28],
2056
+ value: commandLine[cliFlag33],
1846
2057
  source: "cli"
1847
2058
  };
1848
2059
  },
1849
2060
  setConfig: (pattern) => {
1850
2061
  currentImageSequencePattern = pattern;
1851
2062
  },
1852
- id: cliFlag28
2063
+ id: cliFlag33
1853
2064
  };
1854
2065
 
1855
2066
  // src/options/ipv4.tsx
1856
- import { jsx as jsx25, Fragment as Fragment25 } from "react/jsx-runtime";
2067
+ import { jsx as jsx30, Fragment as Fragment30 } from "react/jsx-runtime";
1857
2068
  var forceIPv4 = false;
1858
- var cliFlag29 = "ipv4";
2069
+ var cliFlag34 = "ipv4";
1859
2070
  var ipv4Option = {
1860
2071
  name: "IPv4",
1861
- cliFlag: cliFlag29,
1862
- description: () => /* @__PURE__ */ jsx25(Fragment25, {
2072
+ cliFlag: cliFlag34,
2073
+ description: () => /* @__PURE__ */ jsx30(Fragment30, {
1863
2074
  children: "Forces Remotion to bind to an IPv4 interface for the Studio server."
1864
2075
  }),
1865
2076
  ssrName: null,
1866
2077
  docLink: "https://www.remotion.dev/docs/cli/studio",
1867
2078
  type: false,
1868
2079
  getValue: ({ commandLine }) => {
1869
- if (commandLine[cliFlag29] !== undefined) {
2080
+ if (commandLine[cliFlag34] !== undefined) {
1870
2081
  return {
1871
- value: commandLine[cliFlag29],
2082
+ value: commandLine[cliFlag34],
1872
2083
  source: "cli"
1873
2084
  };
1874
2085
  }
@@ -1880,25 +2091,25 @@ var ipv4Option = {
1880
2091
  setConfig(value) {
1881
2092
  forceIPv4 = value;
1882
2093
  },
1883
- id: cliFlag29
2094
+ id: cliFlag34
1884
2095
  };
1885
2096
 
1886
2097
  // src/options/is-production.tsx
1887
- import { jsx as jsx26, jsxs as jsxs18, Fragment as Fragment26 } from "react/jsx-runtime";
1888
- var cliFlag30 = "is-production";
2098
+ import { jsx as jsx31, jsxs as jsxs20, Fragment as Fragment31 } from "react/jsx-runtime";
2099
+ var cliFlag35 = "is-production";
1889
2100
  var currentIsProductionKey = null;
1890
2101
  var isProductionOption = {
1891
2102
  name: "Is Production",
1892
- cliFlag: cliFlag30,
1893
- description: () => /* @__PURE__ */ jsxs18(Fragment26, {
2103
+ cliFlag: cliFlag35,
2104
+ description: () => /* @__PURE__ */ jsxs20(Fragment31, {
1894
2105
  children: [
1895
2106
  "Pass ",
1896
- /* @__PURE__ */ jsx26("code", {
2107
+ /* @__PURE__ */ jsx31("code", {
1897
2108
  children: "false"
1898
2109
  }),
1899
2110
  " if this a development render to not count it as a billable render on remotion.pro. Only can be used in conjuction with",
1900
2111
  " ",
1901
- /* @__PURE__ */ jsx26("code", {
2112
+ /* @__PURE__ */ jsx31("code", {
1902
2113
  children: "licenseKey"
1903
2114
  }),
1904
2115
  "."
@@ -1907,10 +2118,10 @@ var isProductionOption = {
1907
2118
  ssrName: "isProduction",
1908
2119
  docLink: "https://www.remotion.dev/docs/licensing",
1909
2120
  getValue: ({ commandLine }) => {
1910
- if (commandLine[cliFlag30] !== undefined) {
2121
+ if (commandLine[cliFlag35] !== undefined) {
1911
2122
  return {
1912
2123
  source: "cli",
1913
- value: commandLine[cliFlag30]
2124
+ value: commandLine[cliFlag35]
1914
2125
  };
1915
2126
  }
1916
2127
  if (currentIsProductionKey !== null) {
@@ -1928,11 +2139,11 @@ var isProductionOption = {
1928
2139
  currentIsProductionKey = value;
1929
2140
  },
1930
2141
  type: false,
1931
- id: cliFlag30
2142
+ id: cliFlag35
1932
2143
  };
1933
2144
 
1934
2145
  // src/options/jpeg-quality.tsx
1935
- import { jsx as jsx27, Fragment as Fragment27 } from "react/jsx-runtime";
2146
+ import { jsx as jsx32, Fragment as Fragment32 } from "react/jsx-runtime";
1936
2147
  var defaultValue = DEFAULT_JPEG_QUALITY;
1937
2148
  var quality = defaultValue;
1938
2149
  var setJpegQuality = (q) => {
@@ -1943,11 +2154,11 @@ var setJpegQuality = (q) => {
1943
2154
  }
1944
2155
  quality = q;
1945
2156
  };
1946
- var cliFlag31 = "jpeg-quality";
2157
+ var cliFlag36 = "jpeg-quality";
1947
2158
  var jpegQualityOption = {
1948
2159
  name: "JPEG Quality",
1949
- cliFlag: cliFlag31,
1950
- description: () => /* @__PURE__ */ jsx27(Fragment27, {
2160
+ cliFlag: cliFlag36,
2161
+ description: () => /* @__PURE__ */ jsx32(Fragment32, {
1951
2162
  children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80."
1952
2163
  }),
1953
2164
  ssrName: "jpegQuality",
@@ -1955,11 +2166,11 @@ var jpegQualityOption = {
1955
2166
  type: 0,
1956
2167
  setConfig: setJpegQuality,
1957
2168
  getValue: ({ commandLine }) => {
1958
- if (commandLine[cliFlag31] !== undefined) {
1959
- validateJpegQuality(commandLine[cliFlag31]);
2169
+ if (commandLine[cliFlag36] !== undefined) {
2170
+ validateJpegQuality(commandLine[cliFlag36]);
1960
2171
  return {
1961
2172
  source: "cli",
1962
- value: commandLine[cliFlag31]
2173
+ value: commandLine[cliFlag36]
1963
2174
  };
1964
2175
  }
1965
2176
  if (quality !== defaultValue) {
@@ -1973,25 +2184,25 @@ var jpegQualityOption = {
1973
2184
  value: defaultValue
1974
2185
  };
1975
2186
  },
1976
- id: cliFlag31
2187
+ id: cliFlag36
1977
2188
  };
1978
2189
 
1979
2190
  // src/options/keyboard-shortcuts.tsx
1980
- import { jsx as jsx28, Fragment as Fragment28 } from "react/jsx-runtime";
2191
+ import { jsx as jsx33, Fragment as Fragment33 } from "react/jsx-runtime";
1981
2192
  var keyboardShortcutsEnabled = true;
1982
- var cliFlag32 = "disable-keyboard-shortcuts";
2193
+ var cliFlag37 = "disable-keyboard-shortcuts";
1983
2194
  var keyboardShortcutsOption = {
1984
2195
  name: "Disable or Enable keyboard shortcuts",
1985
- cliFlag: cliFlag32,
1986
- description: () => /* @__PURE__ */ jsx28(Fragment28, {
2196
+ cliFlag: cliFlag37,
2197
+ description: () => /* @__PURE__ */ jsx33(Fragment33, {
1987
2198
  children: "Enable or disable keyboard shortcuts in the Remotion Studio."
1988
2199
  }),
1989
2200
  ssrName: null,
1990
2201
  docLink: "https://www.remotion.dev/docs/config#setkeyboardshortcutsenabled",
1991
2202
  type: false,
1992
2203
  getValue: ({ commandLine }) => {
1993
- if (commandLine[cliFlag32] !== undefined) {
1994
- keyboardShortcutsEnabled = commandLine[cliFlag32] === false;
2204
+ if (commandLine[cliFlag37] !== undefined) {
2205
+ keyboardShortcutsEnabled = commandLine[cliFlag37] === false;
1995
2206
  return {
1996
2207
  value: keyboardShortcutsEnabled,
1997
2208
  source: "cli"
@@ -2005,42 +2216,42 @@ var keyboardShortcutsOption = {
2005
2216
  setConfig(value) {
2006
2217
  keyboardShortcutsEnabled = value;
2007
2218
  },
2008
- id: cliFlag32
2219
+ id: cliFlag37
2009
2220
  };
2010
2221
 
2011
2222
  // src/options/latency-hint.tsx
2012
- import { jsx as jsx29, jsxs as jsxs19, Fragment as Fragment29 } from "react/jsx-runtime";
2013
- var cliFlag33 = "audio-latency-hint";
2223
+ import { jsx as jsx34, jsxs as jsxs21, Fragment as Fragment34 } from "react/jsx-runtime";
2224
+ var cliFlag38 = "audio-latency-hint";
2014
2225
  var value = null;
2015
2226
  var audioLatencyHintOption = {
2016
2227
  name: "Audio Latency Hint",
2017
- cliFlag: cliFlag33,
2018
- description: () => /* @__PURE__ */ jsxs19(Fragment29, {
2228
+ cliFlag: cliFlag38,
2229
+ description: () => /* @__PURE__ */ jsxs21(Fragment34, {
2019
2230
  children: [
2020
2231
  "Sets the",
2021
2232
  " ",
2022
- /* @__PURE__ */ jsx29("a", {
2233
+ /* @__PURE__ */ jsx34("a", {
2023
2234
  href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
2024
2235
  children: "audio latency"
2025
2236
  }),
2026
2237
  " ",
2027
2238
  "hint for the global ",
2028
- /* @__PURE__ */ jsx29("code", {
2239
+ /* @__PURE__ */ jsx34("code", {
2029
2240
  children: "AudioContext"
2030
2241
  }),
2031
2242
  " context that Remotion uses to play audio.",
2032
- /* @__PURE__ */ jsx29("br", {}),
2243
+ /* @__PURE__ */ jsx34("br", {}),
2033
2244
  "Possible values: ",
2034
- /* @__PURE__ */ jsx29("code", {
2245
+ /* @__PURE__ */ jsx34("code", {
2035
2246
  children: "interactive"
2036
2247
  }),
2037
2248
  ", ",
2038
- /* @__PURE__ */ jsx29("code", {
2249
+ /* @__PURE__ */ jsx34("code", {
2039
2250
  children: "balanced"
2040
2251
  }),
2041
2252
  ",",
2042
2253
  " ",
2043
- /* @__PURE__ */ jsx29("code", {
2254
+ /* @__PURE__ */ jsx34("code", {
2044
2255
  children: "playback"
2045
2256
  })
2046
2257
  ]
@@ -2049,7 +2260,7 @@ var audioLatencyHintOption = {
2049
2260
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
2050
2261
  type: "interactive",
2051
2262
  getValue: ({ commandLine }) => {
2052
- const val = commandLine[cliFlag33];
2263
+ const val = commandLine[cliFlag38];
2053
2264
  if (typeof val !== "undefined") {
2054
2265
  return { value: val, source: "cli" };
2055
2266
  }
@@ -2061,21 +2272,21 @@ var audioLatencyHintOption = {
2061
2272
  setConfig: (profile) => {
2062
2273
  value = profile;
2063
2274
  },
2064
- id: cliFlag33
2275
+ id: cliFlag38
2065
2276
  };
2066
2277
 
2067
2278
  // src/options/license-key.tsx
2068
- import { jsx as jsx30, jsxs as jsxs20, Fragment as Fragment30 } from "react/jsx-runtime";
2279
+ import { jsx as jsx35, jsxs as jsxs22, Fragment as Fragment35 } from "react/jsx-runtime";
2069
2280
  var currentLicenseKey = null;
2070
- var cliFlag34 = "license-key";
2281
+ var cliFlag39 = "license-key";
2071
2282
  var licenseKeyOption = {
2072
2283
  name: "License key",
2073
- cliFlag: cliFlag34,
2074
- description: () => /* @__PURE__ */ jsxs20(Fragment30, {
2284
+ cliFlag: cliFlag39,
2285
+ description: () => /* @__PURE__ */ jsxs22(Fragment35, {
2075
2286
  children: [
2076
2287
  "License key for sending a usage event using",
2077
2288
  " ",
2078
- /* @__PURE__ */ jsx30("code", {
2289
+ /* @__PURE__ */ jsx35("code", {
2079
2290
  children: "@remotion/licensing"
2080
2291
  }),
2081
2292
  "."
@@ -2085,10 +2296,10 @@ var licenseKeyOption = {
2085
2296
  docLink: "https://www.remotion.dev/docs/licensing",
2086
2297
  type: null,
2087
2298
  getValue: ({ commandLine }) => {
2088
- if (commandLine[cliFlag34] !== undefined) {
2299
+ if (commandLine[cliFlag39] !== undefined) {
2089
2300
  return {
2090
2301
  source: "cli",
2091
- value: commandLine[cliFlag34]
2302
+ value: commandLine[cliFlag39]
2092
2303
  };
2093
2304
  }
2094
2305
  return {
@@ -2099,47 +2310,47 @@ var licenseKeyOption = {
2099
2310
  setConfig: (value2) => {
2100
2311
  currentLicenseKey = value2;
2101
2312
  },
2102
- id: cliFlag34
2313
+ id: cliFlag39
2103
2314
  };
2104
2315
 
2105
2316
  // src/options/log-level.tsx
2106
- import { jsx as jsx31, jsxs as jsxs21, Fragment as Fragment31 } from "react/jsx-runtime";
2317
+ import { jsx as jsx36, jsxs as jsxs23, Fragment as Fragment36 } from "react/jsx-runtime";
2107
2318
  var logLevel = "info";
2108
- var cliFlag35 = "log";
2319
+ var cliFlag40 = "log";
2109
2320
  var logLevelOption = {
2110
- cliFlag: cliFlag35,
2321
+ cliFlag: cliFlag40,
2111
2322
  name: "Log Level",
2112
2323
  ssrName: "logLevel",
2113
- description: () => /* @__PURE__ */ jsxs21(Fragment31, {
2324
+ description: () => /* @__PURE__ */ jsxs23(Fragment36, {
2114
2325
  children: [
2115
2326
  "One of ",
2116
- /* @__PURE__ */ jsx31("code", {
2327
+ /* @__PURE__ */ jsx36("code", {
2117
2328
  children: "trace"
2118
2329
  }),
2119
2330
  ", ",
2120
- /* @__PURE__ */ jsx31("code", {
2331
+ /* @__PURE__ */ jsx36("code", {
2121
2332
  children: "verbose"
2122
2333
  }),
2123
2334
  ", ",
2124
- /* @__PURE__ */ jsx31("code", {
2335
+ /* @__PURE__ */ jsx36("code", {
2125
2336
  children: "info"
2126
2337
  }),
2127
2338
  ",",
2128
2339
  " ",
2129
- /* @__PURE__ */ jsx31("code", {
2340
+ /* @__PURE__ */ jsx36("code", {
2130
2341
  children: "warn"
2131
2342
  }),
2132
2343
  ", ",
2133
- /* @__PURE__ */ jsx31("code", {
2344
+ /* @__PURE__ */ jsx36("code", {
2134
2345
  children: "error"
2135
2346
  }),
2136
2347
  ".",
2137
- /* @__PURE__ */ jsx31("br", {}),
2348
+ /* @__PURE__ */ jsx36("br", {}),
2138
2349
  " Determines how much info is being logged to the console.",
2139
- /* @__PURE__ */ jsx31("br", {}),
2140
- /* @__PURE__ */ jsx31("br", {}),
2350
+ /* @__PURE__ */ jsx36("br", {}),
2351
+ /* @__PURE__ */ jsx36("br", {}),
2141
2352
  " Default ",
2142
- /* @__PURE__ */ jsx31("code", {
2353
+ /* @__PURE__ */ jsx36("code", {
2143
2354
  children: "info"
2144
2355
  }),
2145
2356
  "."
@@ -2147,11 +2358,11 @@ var logLevelOption = {
2147
2358
  }),
2148
2359
  docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
2149
2360
  getValue: ({ commandLine }) => {
2150
- if (commandLine[cliFlag35]) {
2151
- if (!isValidLogLevel(commandLine[cliFlag35])) {
2361
+ if (commandLine[cliFlag40]) {
2362
+ if (!isValidLogLevel(commandLine[cliFlag40])) {
2152
2363
  throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
2153
2364
  }
2154
- return { value: commandLine[cliFlag35], source: "cli" };
2365
+ return { value: commandLine[cliFlag40], source: "cli" };
2155
2366
  }
2156
2367
  if (logLevel !== "info") {
2157
2368
  return { value: logLevel, source: "config" };
@@ -2162,23 +2373,23 @@ var logLevelOption = {
2162
2373
  logLevel = newLogLevel;
2163
2374
  },
2164
2375
  type: "error",
2165
- id: cliFlag35
2376
+ id: cliFlag40
2166
2377
  };
2167
2378
 
2168
2379
  // src/options/metadata.tsx
2169
- import { jsx as jsx32, jsxs as jsxs22, Fragment as Fragment32 } from "react/jsx-runtime";
2380
+ import { jsx as jsx37, jsxs as jsxs24, Fragment as Fragment37 } from "react/jsx-runtime";
2170
2381
  var metadata = {};
2171
- var cliFlag36 = "metadata";
2382
+ var cliFlag41 = "metadata";
2172
2383
  var metadataOption = {
2173
2384
  name: "Metadata",
2174
- cliFlag: cliFlag36,
2385
+ cliFlag: cliFlag41,
2175
2386
  description: (mode) => {
2176
2387
  if (mode === "ssr") {
2177
- return /* @__PURE__ */ jsxs22(Fragment32, {
2388
+ return /* @__PURE__ */ jsxs24(Fragment37, {
2178
2389
  children: [
2179
2390
  "An object containing metadata to be embedded in the video. See",
2180
2391
  " ",
2181
- /* @__PURE__ */ jsx32("a", {
2392
+ /* @__PURE__ */ jsx37("a", {
2182
2393
  href: "/docs/metadata",
2183
2394
  children: "here"
2184
2395
  }),
@@ -2186,18 +2397,18 @@ var metadataOption = {
2186
2397
  ]
2187
2398
  });
2188
2399
  }
2189
- return /* @__PURE__ */ jsxs22(Fragment32, {
2400
+ return /* @__PURE__ */ jsxs24(Fragment37, {
2190
2401
  children: [
2191
2402
  "Metadata to be embedded in the video. See",
2192
2403
  " ",
2193
- /* @__PURE__ */ jsx32("a", {
2404
+ /* @__PURE__ */ jsx37("a", {
2194
2405
  href: "/docs/metadata",
2195
2406
  children: "here"
2196
2407
  }),
2197
2408
  " for which metadata is accepted.",
2198
- /* @__PURE__ */ jsx32("br", {}),
2409
+ /* @__PURE__ */ jsx37("br", {}),
2199
2410
  "The parameter must be in the format of ",
2200
- /* @__PURE__ */ jsx32("code", {
2411
+ /* @__PURE__ */ jsx37("code", {
2201
2412
  children: "--metadata key=value"
2202
2413
  }),
2203
2414
  " ",
@@ -2208,8 +2419,8 @@ var metadataOption = {
2208
2419
  docLink: "https://www.remotion.dev/docs/metadata",
2209
2420
  type: {},
2210
2421
  getValue: ({ commandLine }) => {
2211
- if (commandLine[cliFlag36] !== undefined) {
2212
- const val = commandLine[cliFlag36];
2422
+ if (commandLine[cliFlag41] !== undefined) {
2423
+ const val = commandLine[cliFlag41];
2213
2424
  const array = typeof val === "string" ? [val] : val;
2214
2425
  const keyValues = array.map((a) => {
2215
2426
  if (!a.includes("=")) {
@@ -2236,28 +2447,28 @@ var metadataOption = {
2236
2447
  metadata = newMetadata;
2237
2448
  },
2238
2449
  ssrName: "metadata",
2239
- id: cliFlag36
2450
+ id: cliFlag41
2240
2451
  };
2241
2452
 
2242
2453
  // src/options/mute.tsx
2243
- import { jsx as jsx33, Fragment as Fragment33 } from "react/jsx-runtime";
2454
+ import { jsx as jsx38, Fragment as Fragment38 } from "react/jsx-runtime";
2244
2455
  var DEFAULT_MUTED_STATE = false;
2245
2456
  var mutedState = DEFAULT_MUTED_STATE;
2246
- var cliFlag37 = "muted";
2457
+ var cliFlag42 = "muted";
2247
2458
  var mutedOption = {
2248
2459
  name: "Muted",
2249
- cliFlag: cliFlag37,
2250
- description: () => /* @__PURE__ */ jsx33(Fragment33, {
2460
+ cliFlag: cliFlag42,
2461
+ description: () => /* @__PURE__ */ jsx38(Fragment38, {
2251
2462
  children: "The Audio of the video will be omitted."
2252
2463
  }),
2253
2464
  ssrName: "muted",
2254
2465
  docLink: "https://www.remotion.dev/docs/audio/muting",
2255
2466
  type: false,
2256
2467
  getValue: ({ commandLine }) => {
2257
- if (commandLine[cliFlag37] !== null) {
2468
+ if (commandLine[cliFlag42] !== null) {
2258
2469
  return {
2259
2470
  source: "cli",
2260
- value: commandLine[cliFlag37]
2471
+ value: commandLine[cliFlag42]
2261
2472
  };
2262
2473
  }
2263
2474
  if (mutedState !== DEFAULT_MUTED_STATE) {
@@ -2274,54 +2485,54 @@ var mutedOption = {
2274
2485
  setConfig: () => {
2275
2486
  mutedState = true;
2276
2487
  },
2277
- id: cliFlag37
2488
+ id: cliFlag42
2278
2489
  };
2279
2490
 
2280
2491
  // src/options/number-of-gif-loops.tsx
2281
- import { jsx as jsx34, jsxs as jsxs23, Fragment as Fragment34 } from "react/jsx-runtime";
2492
+ import { jsx as jsx39, jsxs as jsxs25, Fragment as Fragment39 } from "react/jsx-runtime";
2282
2493
  var currentLoop = null;
2283
2494
  var validate = (newLoop) => {
2284
2495
  if (newLoop !== null && typeof newLoop !== "number") {
2285
2496
  throw new Error("--number-of-gif-loops flag must be a number.");
2286
2497
  }
2287
2498
  };
2288
- var cliFlag38 = "number-of-gif-loops";
2499
+ var cliFlag43 = "number-of-gif-loops";
2289
2500
  var numberOfGifLoopsOption = {
2290
2501
  name: "Number of GIF loops",
2291
- cliFlag: cliFlag38,
2502
+ cliFlag: cliFlag43,
2292
2503
  description: () => {
2293
- return /* @__PURE__ */ jsxs23(Fragment34, {
2504
+ return /* @__PURE__ */ jsxs25(Fragment39, {
2294
2505
  children: [
2295
2506
  "Allows you to set the number of loops as follows:",
2296
- /* @__PURE__ */ jsxs23("ul", {
2507
+ /* @__PURE__ */ jsxs25("ul", {
2297
2508
  children: [
2298
- /* @__PURE__ */ jsxs23("li", {
2509
+ /* @__PURE__ */ jsxs25("li", {
2299
2510
  children: [
2300
- /* @__PURE__ */ jsx34("code", {
2511
+ /* @__PURE__ */ jsx39("code", {
2301
2512
  children: "null"
2302
2513
  }),
2303
2514
  " (or omitting in the CLI) plays the GIF indefinitely."
2304
2515
  ]
2305
2516
  }),
2306
- /* @__PURE__ */ jsxs23("li", {
2517
+ /* @__PURE__ */ jsxs25("li", {
2307
2518
  children: [
2308
- /* @__PURE__ */ jsx34("code", {
2519
+ /* @__PURE__ */ jsx39("code", {
2309
2520
  children: "0"
2310
2521
  }),
2311
2522
  " disables looping"
2312
2523
  ]
2313
2524
  }),
2314
- /* @__PURE__ */ jsxs23("li", {
2525
+ /* @__PURE__ */ jsxs25("li", {
2315
2526
  children: [
2316
- /* @__PURE__ */ jsx34("code", {
2527
+ /* @__PURE__ */ jsx39("code", {
2317
2528
  children: "1"
2318
2529
  }),
2319
2530
  " loops the GIF once (plays twice in total)"
2320
2531
  ]
2321
2532
  }),
2322
- /* @__PURE__ */ jsxs23("li", {
2533
+ /* @__PURE__ */ jsxs25("li", {
2323
2534
  children: [
2324
- /* @__PURE__ */ jsx34("code", {
2535
+ /* @__PURE__ */ jsx39("code", {
2325
2536
  children: "2"
2326
2537
  }),
2327
2538
  " loops the GIF twice (plays three times in total) and so on."
@@ -2336,10 +2547,10 @@ var numberOfGifLoopsOption = {
2336
2547
  docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
2337
2548
  type: 0,
2338
2549
  getValue: ({ commandLine }) => {
2339
- if (commandLine[cliFlag38] !== undefined) {
2340
- validate(commandLine[cliFlag38]);
2550
+ if (commandLine[cliFlag43] !== undefined) {
2551
+ validate(commandLine[cliFlag43]);
2341
2552
  return {
2342
- value: commandLine[cliFlag38],
2553
+ value: commandLine[cliFlag43],
2343
2554
  source: "cli"
2344
2555
  };
2345
2556
  }
@@ -2358,21 +2569,21 @@ var numberOfGifLoopsOption = {
2358
2569
  validate(newLoop);
2359
2570
  currentLoop = newLoop;
2360
2571
  },
2361
- id: cliFlag38
2572
+ id: cliFlag43
2362
2573
  };
2363
2574
 
2364
2575
  // src/options/number-of-shared-audio-tags.tsx
2365
- import { jsx as jsx35, jsxs as jsxs24, Fragment as Fragment35 } from "react/jsx-runtime";
2576
+ import { jsx as jsx40, jsxs as jsxs26, Fragment as Fragment40 } from "react/jsx-runtime";
2366
2577
  var numberOfSharedAudioTags = 0;
2367
- var cliFlag39 = "number-of-shared-audio-tags";
2578
+ var cliFlag44 = "number-of-shared-audio-tags";
2368
2579
  var numberOfSharedAudioTagsOption = {
2369
2580
  name: "Number of shared audio tags",
2370
- cliFlag: cliFlag39,
2371
- description: () => /* @__PURE__ */ jsxs24(Fragment35, {
2581
+ cliFlag: cliFlag44,
2582
+ description: () => /* @__PURE__ */ jsxs26(Fragment40, {
2372
2583
  children: [
2373
2584
  "Set number of shared audio tags. See",
2374
2585
  " ",
2375
- /* @__PURE__ */ jsx35("a", {
2586
+ /* @__PURE__ */ jsx40("a", {
2376
2587
  href: "https://www.remotion.dev/docs/player/autoplay#using-the-numberofsharedaudiotags-prop",
2377
2588
  children: "Using the numberOfSharedAudioTags prop"
2378
2589
  }),
@@ -2384,9 +2595,9 @@ var numberOfSharedAudioTagsOption = {
2384
2595
  docLink: "https://www.remotion.dev/docs/config#setnumberofsharedaudiotags",
2385
2596
  type: 0,
2386
2597
  getValue: ({ commandLine }) => {
2387
- if (commandLine[cliFlag39] !== undefined) {
2598
+ if (commandLine[cliFlag44] !== undefined) {
2388
2599
  return {
2389
- value: commandLine[cliFlag39],
2600
+ value: commandLine[cliFlag44],
2390
2601
  source: "cli"
2391
2602
  };
2392
2603
  }
@@ -2398,39 +2609,39 @@ var numberOfSharedAudioTagsOption = {
2398
2609
  setConfig(value2) {
2399
2610
  numberOfSharedAudioTags = value2;
2400
2611
  },
2401
- id: cliFlag39
2612
+ id: cliFlag44
2402
2613
  };
2403
2614
 
2404
2615
  // src/options/offthreadvideo-cache-size.tsx
2405
- import { jsx as jsx36, jsxs as jsxs25, Fragment as Fragment36 } from "react/jsx-runtime";
2616
+ import { jsx as jsx41, jsxs as jsxs27, Fragment as Fragment41 } from "react/jsx-runtime";
2406
2617
  var offthreadVideoCacheSizeInBytes = null;
2407
- var cliFlag40 = "offthreadvideo-cache-size-in-bytes";
2618
+ var cliFlag45 = "offthreadvideo-cache-size-in-bytes";
2408
2619
  var offthreadVideoCacheSizeInBytesOption = {
2409
2620
  name: "OffthreadVideo cache size",
2410
- cliFlag: cliFlag40,
2411
- description: () => /* @__PURE__ */ jsxs25(Fragment36, {
2621
+ cliFlag: cliFlag45,
2622
+ description: () => /* @__PURE__ */ jsxs27(Fragment41, {
2412
2623
  children: [
2413
2624
  "From v4.0, Remotion has a cache for",
2414
2625
  " ",
2415
- /* @__PURE__ */ jsx36("a", {
2626
+ /* @__PURE__ */ jsx41("a", {
2416
2627
  href: "https://remotion.dev/docs/offthreadvideo",
2417
- children: /* @__PURE__ */ jsx36("code", {
2628
+ children: /* @__PURE__ */ jsx41("code", {
2418
2629
  children: "<OffthreadVideo>"
2419
2630
  })
2420
2631
  }),
2421
2632
  " ",
2422
2633
  "frames. The default is ",
2423
- /* @__PURE__ */ jsx36("code", {
2634
+ /* @__PURE__ */ jsx41("code", {
2424
2635
  children: "null"
2425
2636
  }),
2426
2637
  ", corresponding to half of the system memory available when the render starts.",
2427
- /* @__PURE__ */ jsx36("br", {}),
2638
+ /* @__PURE__ */ jsx41("br", {}),
2428
2639
  " 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.",
2429
- /* @__PURE__ */ jsx36("br", {}),
2640
+ /* @__PURE__ */ jsx41("br", {}),
2430
2641
  "The used value will be printed when running in verbose mode.",
2431
- /* @__PURE__ */ jsx36("br", {}),
2642
+ /* @__PURE__ */ jsx41("br", {}),
2432
2643
  "Default: ",
2433
- /* @__PURE__ */ jsx36("code", {
2644
+ /* @__PURE__ */ jsx41("code", {
2434
2645
  children: "null"
2435
2646
  })
2436
2647
  ]
@@ -2439,10 +2650,10 @@ var offthreadVideoCacheSizeInBytesOption = {
2439
2650
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
2440
2651
  type: 0,
2441
2652
  getValue: ({ commandLine }) => {
2442
- if (commandLine[cliFlag40] !== undefined) {
2653
+ if (commandLine[cliFlag45] !== undefined) {
2443
2654
  return {
2444
2655
  source: "cli",
2445
- value: commandLine[cliFlag40]
2656
+ value: commandLine[cliFlag45]
2446
2657
  };
2447
2658
  }
2448
2659
  if (offthreadVideoCacheSizeInBytes !== null) {
@@ -2459,22 +2670,22 @@ var offthreadVideoCacheSizeInBytesOption = {
2459
2670
  setConfig: (size) => {
2460
2671
  offthreadVideoCacheSizeInBytes = size ?? null;
2461
2672
  },
2462
- id: cliFlag40
2673
+ id: cliFlag45
2463
2674
  };
2464
2675
 
2465
2676
  // src/options/offthreadvideo-threads.tsx
2466
- import { jsx as jsx37, jsxs as jsxs26, Fragment as Fragment37 } from "react/jsx-runtime";
2677
+ import { jsx as jsx42, jsxs as jsxs28, Fragment as Fragment42 } from "react/jsx-runtime";
2467
2678
  var value2 = null;
2468
- var cliFlag41 = "offthreadvideo-video-threads";
2679
+ var cliFlag46 = "offthreadvideo-video-threads";
2469
2680
  var offthreadVideoThreadsOption = {
2470
2681
  name: "OffthreadVideo threads",
2471
- cliFlag: cliFlag41,
2472
- description: () => /* @__PURE__ */ jsxs26(Fragment37, {
2682
+ cliFlag: cliFlag46,
2683
+ description: () => /* @__PURE__ */ jsxs28(Fragment42, {
2473
2684
  children: [
2474
2685
  "The number of threads that",
2475
- /* @__PURE__ */ jsx37("a", {
2686
+ /* @__PURE__ */ jsx42("a", {
2476
2687
  href: "https://remotion.dev/docs/offthreadvideo",
2477
- children: /* @__PURE__ */ jsx37("code", {
2688
+ children: /* @__PURE__ */ jsx42("code", {
2478
2689
  children: "<OffthreadVideo>"
2479
2690
  })
2480
2691
  }),
@@ -2489,10 +2700,10 @@ var offthreadVideoThreadsOption = {
2489
2700
  docLink: "https://www.remotion.dev/docs/offthreadvideo",
2490
2701
  type: 0,
2491
2702
  getValue: ({ commandLine }) => {
2492
- if (commandLine[cliFlag41] !== undefined) {
2703
+ if (commandLine[cliFlag46] !== undefined) {
2493
2704
  return {
2494
2705
  source: "cli",
2495
- value: commandLine[cliFlag41]
2706
+ value: commandLine[cliFlag46]
2496
2707
  };
2497
2708
  }
2498
2709
  if (value2 !== null) {
@@ -2509,21 +2720,21 @@ var offthreadVideoThreadsOption = {
2509
2720
  setConfig: (size) => {
2510
2721
  value2 = size ?? null;
2511
2722
  },
2512
- id: cliFlag41
2723
+ id: cliFlag46
2513
2724
  };
2514
2725
  var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
2515
2726
 
2516
2727
  // src/options/on-browser-download.tsx
2517
- import { jsx as jsx38, jsxs as jsxs27, Fragment as Fragment38 } from "react/jsx-runtime";
2518
- var cliFlag42 = "on-browser-download";
2728
+ import { jsx as jsx43, jsxs as jsxs29, Fragment as Fragment43 } from "react/jsx-runtime";
2729
+ var cliFlag47 = "on-browser-download";
2519
2730
  var onBrowserDownloadOption = {
2520
2731
  name: "Browser download callback function",
2521
- cliFlag: cliFlag42,
2522
- description: () => /* @__PURE__ */ jsxs27(Fragment38, {
2732
+ cliFlag: cliFlag47,
2733
+ description: () => /* @__PURE__ */ jsxs29(Fragment43, {
2523
2734
  children: [
2524
2735
  "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.",
2525
2736
  " ",
2526
- /* @__PURE__ */ jsx38("a", {
2737
+ /* @__PURE__ */ jsx43("a", {
2527
2738
  href: "/docs/renderer/ensure-browser#onbrowserdownload",
2528
2739
  children: "See here for how to use this option."
2529
2740
  })
@@ -2538,13 +2749,185 @@ var onBrowserDownloadOption = {
2538
2749
  setConfig: () => {
2539
2750
  throw new Error("does not support config file");
2540
2751
  },
2541
- id: cliFlag42
2752
+ id: cliFlag47
2753
+ };
2754
+
2755
+ // src/validate.ts
2756
+ import { NoReactInternals as NoReactInternals2 } from "remotion/no-react";
2757
+ var validateFps = NoReactInternals2.validateFps;
2758
+ var validateDimension = NoReactInternals2.validateDimension;
2759
+ var validateDurationInFrames = NoReactInternals2.validateDurationInFrames;
2760
+
2761
+ // src/options/override-duration.tsx
2762
+ import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
2763
+ var currentDuration = null;
2764
+ var cliFlag48 = "duration";
2765
+ var overrideDurationOption = {
2766
+ name: "Override Duration",
2767
+ cliFlag: cliFlag48,
2768
+ description: () => /* @__PURE__ */ jsx44(Fragment44, {
2769
+ children: "Overrides the duration in frames of the composition."
2770
+ }),
2771
+ ssrName: null,
2772
+ docLink: "https://www.remotion.dev/docs/config#overrideduration",
2773
+ type: null,
2774
+ getValue: ({ commandLine }) => {
2775
+ if (commandLine[cliFlag48] !== undefined) {
2776
+ const value3 = commandLine[cliFlag48];
2777
+ validateDurationInFrames(value3, {
2778
+ component: "in --duration flag",
2779
+ allowFloats: false
2780
+ });
2781
+ return {
2782
+ source: "cli",
2783
+ value: value3
2784
+ };
2785
+ }
2786
+ if (currentDuration !== null) {
2787
+ return {
2788
+ source: "config",
2789
+ value: currentDuration
2790
+ };
2791
+ }
2792
+ return {
2793
+ source: "default",
2794
+ value: null
2795
+ };
2796
+ },
2797
+ setConfig: (duration) => {
2798
+ validateDurationInFrames(duration, {
2799
+ component: "in Config.overrideDuration()",
2800
+ allowFloats: false
2801
+ });
2802
+ currentDuration = duration;
2803
+ },
2804
+ id: cliFlag48
2805
+ };
2806
+
2807
+ // src/options/override-fps.tsx
2808
+ import { jsx as jsx45, Fragment as Fragment45 } from "react/jsx-runtime";
2809
+ var currentFps = null;
2810
+ var cliFlag49 = "fps";
2811
+ var overrideFpsOption = {
2812
+ name: "Override FPS",
2813
+ cliFlag: cliFlag49,
2814
+ description: () => /* @__PURE__ */ jsx45(Fragment45, {
2815
+ children: "Overrides the frames per second of the composition."
2816
+ }),
2817
+ ssrName: null,
2818
+ docLink: "https://www.remotion.dev/docs/config#overridefps",
2819
+ type: null,
2820
+ getValue: ({ commandLine }) => {
2821
+ if (commandLine[cliFlag49] !== undefined) {
2822
+ const value3 = commandLine[cliFlag49];
2823
+ validateFps(value3, "in --fps flag", false);
2824
+ return {
2825
+ source: "cli",
2826
+ value: value3
2827
+ };
2828
+ }
2829
+ if (currentFps !== null) {
2830
+ return {
2831
+ source: "config",
2832
+ value: currentFps
2833
+ };
2834
+ }
2835
+ return {
2836
+ source: "default",
2837
+ value: null
2838
+ };
2839
+ },
2840
+ setConfig: (fps) => {
2841
+ validateFps(fps, "in Config.overrideFps()", false);
2842
+ currentFps = fps;
2843
+ },
2844
+ id: cliFlag49
2845
+ };
2846
+
2847
+ // src/options/override-height.tsx
2848
+ import { jsx as jsx46, Fragment as Fragment46 } from "react/jsx-runtime";
2849
+ var currentHeight = null;
2850
+ var cliFlag50 = "height";
2851
+ var overrideHeightOption = {
2852
+ name: "Override Height",
2853
+ cliFlag: cliFlag50,
2854
+ description: () => /* @__PURE__ */ jsx46(Fragment46, {
2855
+ children: "Overrides the height of the composition."
2856
+ }),
2857
+ ssrName: null,
2858
+ docLink: "https://www.remotion.dev/docs/config#overrideheight",
2859
+ type: null,
2860
+ getValue: ({ commandLine }) => {
2861
+ if (commandLine[cliFlag50] !== undefined) {
2862
+ const value3 = commandLine[cliFlag50];
2863
+ validateDimension(value3, "height", "in --height flag");
2864
+ return {
2865
+ source: "cli",
2866
+ value: value3
2867
+ };
2868
+ }
2869
+ if (currentHeight !== null) {
2870
+ return {
2871
+ source: "config",
2872
+ value: currentHeight
2873
+ };
2874
+ }
2875
+ return {
2876
+ source: "default",
2877
+ value: null
2878
+ };
2879
+ },
2880
+ setConfig: (height) => {
2881
+ validateDimension(height, "height", "in Config.overrideHeight()");
2882
+ currentHeight = height;
2883
+ },
2884
+ id: cliFlag50
2885
+ };
2886
+
2887
+ // src/options/override-width.tsx
2888
+ import { jsx as jsx47, Fragment as Fragment47 } from "react/jsx-runtime";
2889
+ var currentWidth = null;
2890
+ var cliFlag51 = "width";
2891
+ var overrideWidthOption = {
2892
+ name: "Override Width",
2893
+ cliFlag: cliFlag51,
2894
+ description: () => /* @__PURE__ */ jsx47(Fragment47, {
2895
+ children: "Overrides the width of the composition."
2896
+ }),
2897
+ ssrName: null,
2898
+ docLink: "https://www.remotion.dev/docs/config#overridewidth",
2899
+ type: null,
2900
+ getValue: ({ commandLine }) => {
2901
+ if (commandLine[cliFlag51] !== undefined) {
2902
+ const value3 = commandLine[cliFlag51];
2903
+ validateDimension(value3, "width", "in --width flag");
2904
+ return {
2905
+ source: "cli",
2906
+ value: value3
2907
+ };
2908
+ }
2909
+ if (currentWidth !== null) {
2910
+ return {
2911
+ source: "config",
2912
+ value: currentWidth
2913
+ };
2914
+ }
2915
+ return {
2916
+ source: "default",
2917
+ value: null
2918
+ };
2919
+ },
2920
+ setConfig: (width) => {
2921
+ validateDimension(width, "width", "in Config.overrideWidth()");
2922
+ currentWidth = width;
2923
+ },
2924
+ id: cliFlag51
2542
2925
  };
2543
2926
 
2544
2927
  // src/options/overwrite.tsx
2545
- import { jsx as jsx39, jsxs as jsxs28, Fragment as Fragment39 } from "react/jsx-runtime";
2928
+ import { jsx as jsx48, jsxs as jsxs30, Fragment as Fragment48 } from "react/jsx-runtime";
2546
2929
  var shouldOverwrite = null;
2547
- var cliFlag43 = "overwrite";
2930
+ var cliFlag52 = "overwrite";
2548
2931
  var validate2 = (value3) => {
2549
2932
  if (typeof value3 !== "boolean") {
2550
2933
  throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
@@ -2552,15 +2935,15 @@ var validate2 = (value3) => {
2552
2935
  };
2553
2936
  var overwriteOption = {
2554
2937
  name: "Overwrite output",
2555
- cliFlag: cliFlag43,
2556
- description: () => /* @__PURE__ */ jsxs28(Fragment39, {
2938
+ cliFlag: cliFlag52,
2939
+ description: () => /* @__PURE__ */ jsxs30(Fragment48, {
2557
2940
  children: [
2558
2941
  "If set to ",
2559
- /* @__PURE__ */ jsx39("code", {
2942
+ /* @__PURE__ */ jsx48("code", {
2560
2943
  children: "false"
2561
2944
  }),
2562
2945
  ", will prevent rendering to a path that already exists. Default is ",
2563
- /* @__PURE__ */ jsx39("code", {
2946
+ /* @__PURE__ */ jsx48("code", {
2564
2947
  children: "true"
2565
2948
  }),
2566
2949
  "."
@@ -2570,11 +2953,11 @@ var overwriteOption = {
2570
2953
  docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
2571
2954
  type: false,
2572
2955
  getValue: ({ commandLine }, defaultValue2) => {
2573
- if (commandLine[cliFlag43] !== undefined) {
2574
- validate2(commandLine[cliFlag43]);
2956
+ if (commandLine[cliFlag52] !== undefined) {
2957
+ validate2(commandLine[cliFlag52]);
2575
2958
  return {
2576
2959
  source: "cli",
2577
- value: commandLine[cliFlag43]
2960
+ value: commandLine[cliFlag52]
2578
2961
  };
2579
2962
  }
2580
2963
  if (shouldOverwrite !== null) {
@@ -2592,25 +2975,94 @@ var overwriteOption = {
2592
2975
  validate2(value3);
2593
2976
  shouldOverwrite = value3;
2594
2977
  },
2595
- id: cliFlag43
2978
+ id: cliFlag52
2979
+ };
2980
+
2981
+ // src/pixel-format.ts
2982
+ var validPixelFormats = [
2983
+ "yuv420p",
2984
+ "yuva420p",
2985
+ "yuv422p",
2986
+ "yuv444p",
2987
+ "yuv420p10le",
2988
+ "yuv422p10le",
2989
+ "yuv444p10le",
2990
+ "yuva444p10le"
2991
+ ];
2992
+ var DEFAULT_PIXEL_FORMAT = "yuv420p";
2993
+ var validPixelFormatsForCodec = (codec) => {
2994
+ if (codec === "vp8" || codec === "vp9") {
2995
+ return validPixelFormats;
2996
+ }
2997
+ return validPixelFormats.filter((format) => format !== "yuva420p");
2998
+ };
2999
+
3000
+ // src/options/pixel-format.tsx
3001
+ import { jsx as jsx49, jsxs as jsxs31, Fragment as Fragment49 } from "react/jsx-runtime";
3002
+ var currentPixelFormat = DEFAULT_PIXEL_FORMAT;
3003
+ var cliFlag53 = "pixel-format";
3004
+ var pixelFormatOption = {
3005
+ name: "Pixel format",
3006
+ cliFlag: cliFlag53,
3007
+ description: () => /* @__PURE__ */ jsxs31(Fragment49, {
3008
+ children: [
3009
+ "Sets the pixel format in FFmpeg. See",
3010
+ " ",
3011
+ /* @__PURE__ */ jsx49("a", {
3012
+ href: "https://trac.ffmpeg.org/wiki/Chroma%20Subsampling",
3013
+ children: "the FFmpeg docs for an explanation"
3014
+ }),
3015
+ ". Acceptable values: ",
3016
+ validPixelFormats.map((f) => `"${f}"`).join(", "),
3017
+ "."
3018
+ ]
3019
+ }),
3020
+ ssrName: "pixelFormat",
3021
+ docLink: "https://www.remotion.dev/docs/config#setpixelformat",
3022
+ type: DEFAULT_PIXEL_FORMAT,
3023
+ getValue: ({ commandLine }) => {
3024
+ if (commandLine[cliFlag53] !== undefined) {
3025
+ return {
3026
+ source: "cli",
3027
+ value: commandLine[cliFlag53]
3028
+ };
3029
+ }
3030
+ if (currentPixelFormat !== DEFAULT_PIXEL_FORMAT) {
3031
+ return {
3032
+ source: "config",
3033
+ value: currentPixelFormat
3034
+ };
3035
+ }
3036
+ return {
3037
+ source: "default",
3038
+ value: DEFAULT_PIXEL_FORMAT
3039
+ };
3040
+ },
3041
+ setConfig: (value3) => {
3042
+ if (!validPixelFormats.includes(value3)) {
3043
+ throw new TypeError(`Value ${value3} is not valid as a pixel format.`);
3044
+ }
3045
+ currentPixelFormat = value3;
3046
+ },
3047
+ id: cliFlag53
2596
3048
  };
2597
3049
 
2598
3050
  // src/options/prefer-lossless.tsx
2599
- import { jsx as jsx40, jsxs as jsxs29, Fragment as Fragment40 } from "react/jsx-runtime";
2600
- var cliFlag44 = "prefer-lossless";
3051
+ import { jsx as jsx50, jsxs as jsxs32, Fragment as Fragment50 } from "react/jsx-runtime";
3052
+ var cliFlag54 = "prefer-lossless";
2601
3053
  var input = false;
2602
3054
  var preferLosslessAudioOption = {
2603
3055
  name: "Prefer lossless",
2604
- cliFlag: cliFlag44,
2605
- description: () => /* @__PURE__ */ jsxs29(Fragment40, {
3056
+ cliFlag: cliFlag54,
3057
+ description: () => /* @__PURE__ */ jsxs32(Fragment50, {
2606
3058
  children: [
2607
3059
  "Uses a lossless audio codec, if one is available for the codec. If you set",
2608
- /* @__PURE__ */ jsx40("code", {
3060
+ /* @__PURE__ */ jsx50("code", {
2609
3061
  children: "audioCodec"
2610
3062
  }),
2611
3063
  ", it takes priority over",
2612
3064
  " ",
2613
- /* @__PURE__ */ jsx40("code", {
3065
+ /* @__PURE__ */ jsx50("code", {
2614
3066
  children: "preferLossless"
2615
3067
  }),
2616
3068
  "."
@@ -2620,7 +3072,7 @@ var preferLosslessAudioOption = {
2620
3072
  type: false,
2621
3073
  ssrName: "preferLossless",
2622
3074
  getValue: ({ commandLine }) => {
2623
- if (commandLine[cliFlag44]) {
3075
+ if (commandLine[cliFlag54]) {
2624
3076
  return { value: true, source: "cli" };
2625
3077
  }
2626
3078
  if (input === true) {
@@ -2631,24 +3083,89 @@ var preferLosslessAudioOption = {
2631
3083
  setConfig: (val) => {
2632
3084
  input = val;
2633
3085
  },
2634
- id: cliFlag44
3086
+ id: cliFlag54
3087
+ };
3088
+
3089
+ // src/options/prores-profile.tsx
3090
+ import { jsx as jsx51, jsxs as jsxs33, Fragment as Fragment51 } from "react/jsx-runtime";
3091
+ var validProResProfiles = [
3092
+ "4444-xq",
3093
+ "4444",
3094
+ "hq",
3095
+ "standard",
3096
+ "light",
3097
+ "proxy"
3098
+ ];
3099
+ var proResProfile;
3100
+ var cliFlag55 = "prores-profile";
3101
+ var proResProfileOption = {
3102
+ name: "ProRes profile",
3103
+ cliFlag: cliFlag55,
3104
+ description: () => /* @__PURE__ */ jsxs33(Fragment51, {
3105
+ children: [
3106
+ "Set the ProRes profile. This option is only valid if the codec has been set to ",
3107
+ /* @__PURE__ */ jsx51("code", {
3108
+ children: "prores"
3109
+ }),
3110
+ ". Possible values:",
3111
+ " ",
3112
+ validProResProfiles.map((p) => `"${p}"`).join(", "),
3113
+ ". Default:",
3114
+ " ",
3115
+ /* @__PURE__ */ jsx51("code", {
3116
+ children: '"hq"'
3117
+ }),
3118
+ ". See",
3119
+ " ",
3120
+ /* @__PURE__ */ jsx51("a", {
3121
+ href: "https://video.stackexchange.com/a/14715",
3122
+ children: "here"
3123
+ }),
3124
+ " for an explanation of possible values."
3125
+ ]
3126
+ }),
3127
+ ssrName: "proResProfile",
3128
+ docLink: "https://www.remotion.dev/docs/config#setproresprofile",
3129
+ type: undefined,
3130
+ getValue: ({ commandLine }) => {
3131
+ if (commandLine[cliFlag55] !== undefined) {
3132
+ return {
3133
+ source: "cli",
3134
+ value: String(commandLine[cliFlag55])
3135
+ };
3136
+ }
3137
+ if (proResProfile !== undefined) {
3138
+ return {
3139
+ source: "config",
3140
+ value: proResProfile
3141
+ };
3142
+ }
3143
+ return {
3144
+ source: "default",
3145
+ value: undefined
3146
+ };
3147
+ },
3148
+ setConfig: (value3) => {
3149
+ proResProfile = value3;
3150
+ },
3151
+ id: cliFlag55
2635
3152
  };
2636
3153
 
2637
3154
  // src/options/public-dir.tsx
2638
- import { jsx as jsx41, jsxs as jsxs30, Fragment as Fragment41 } from "react/jsx-runtime";
2639
- var cliFlag45 = "public-dir";
3155
+ import { jsx as jsx52, jsxs as jsxs34, Fragment as Fragment52 } from "react/jsx-runtime";
3156
+ var cliFlag56 = "public-dir";
2640
3157
  var currentPublicDir = null;
2641
3158
  var publicDirOption = {
2642
3159
  name: "Public Directory",
2643
- cliFlag: cliFlag45,
3160
+ cliFlag: cliFlag56,
2644
3161
  description: () => {
2645
- return /* @__PURE__ */ jsxs30(Fragment41, {
3162
+ return /* @__PURE__ */ jsxs34(Fragment52, {
2646
3163
  children: [
2647
3164
  "Define the location of the",
2648
3165
  " ",
2649
- /* @__PURE__ */ jsx41("a", {
3166
+ /* @__PURE__ */ jsx52("a", {
2650
3167
  href: "/docs/terminology/public-dir",
2651
- children: /* @__PURE__ */ jsx41("code", {
3168
+ children: /* @__PURE__ */ jsx52("code", {
2652
3169
  children: "public/ directory"
2653
3170
  })
2654
3171
  }),
@@ -2659,10 +3176,10 @@ var publicDirOption = {
2659
3176
  ssrName: "publicDir",
2660
3177
  docLink: "https://www.remotion.dev/docs/terminology/public-dir",
2661
3178
  getValue: ({ commandLine }) => {
2662
- if (commandLine[cliFlag45] !== undefined) {
3179
+ if (commandLine[cliFlag56] !== undefined) {
2663
3180
  return {
2664
3181
  source: "cli",
2665
- value: commandLine[cliFlag45]
3182
+ value: commandLine[cliFlag56]
2666
3183
  };
2667
3184
  }
2668
3185
  if (currentPublicDir !== null) {
@@ -2680,20 +3197,20 @@ var publicDirOption = {
2680
3197
  currentPublicDir = value3;
2681
3198
  },
2682
3199
  type: "",
2683
- id: cliFlag45
3200
+ id: cliFlag56
2684
3201
  };
2685
3202
 
2686
3203
  // src/options/public-license-key.tsx
2687
- import { jsx as jsx42, jsxs as jsxs31, Fragment as Fragment42 } from "react/jsx-runtime";
2688
- var cliFlag46 = "public-license-key";
3204
+ import { jsx as jsx53, jsxs as jsxs35, Fragment as Fragment53 } from "react/jsx-runtime";
3205
+ var cliFlag57 = "public-license-key";
2689
3206
  var currentPublicLicenseKey = null;
2690
3207
  var publicLicenseKeyOption = {
2691
3208
  name: "Public License Key",
2692
- cliFlag: cliFlag46,
2693
- description: () => /* @__PURE__ */ jsxs31(Fragment42, {
3209
+ cliFlag: cliFlag57,
3210
+ description: () => /* @__PURE__ */ jsxs35(Fragment53, {
2694
3211
  children: [
2695
3212
  'The public license key for your company license, obtained from the "Usage" tab on ',
2696
- /* @__PURE__ */ jsx42("a", {
3213
+ /* @__PURE__ */ jsx53("a", {
2697
3214
  href: "https://remotion.pro/dashboard",
2698
3215
  children: "remotion.pro"
2699
3216
  }),
@@ -2703,10 +3220,10 @@ var publicLicenseKeyOption = {
2703
3220
  ssrName: "publicLicenseKey",
2704
3221
  docLink: "https://www.remotion.dev/docs/licensing",
2705
3222
  getValue: ({ commandLine }) => {
2706
- if (commandLine[cliFlag46] !== undefined) {
3223
+ if (commandLine[cliFlag57] !== undefined) {
2707
3224
  return {
2708
3225
  source: "cli",
2709
- value: commandLine[cliFlag46]
3226
+ value: commandLine[cliFlag57]
2710
3227
  };
2711
3228
  }
2712
3229
  if (currentPublicLicenseKey !== null) {
@@ -2727,29 +3244,29 @@ var publicLicenseKeyOption = {
2727
3244
  currentPublicLicenseKey = value3;
2728
3245
  },
2729
3246
  type: null,
2730
- id: cliFlag46
3247
+ id: cliFlag57
2731
3248
  };
2732
3249
 
2733
3250
  // src/options/public-path.tsx
2734
- import { jsx as jsx43, jsxs as jsxs32, Fragment as Fragment43 } from "react/jsx-runtime";
2735
- var cliFlag47 = "public-path";
3251
+ import { jsx as jsx54, jsxs as jsxs36, Fragment as Fragment54 } from "react/jsx-runtime";
3252
+ var cliFlag58 = "public-path";
2736
3253
  var currentPublicPath = null;
2737
3254
  var publicPathOption = {
2738
3255
  name: "Public Path",
2739
- cliFlag: cliFlag47,
3256
+ cliFlag: cliFlag58,
2740
3257
  description: () => {
2741
- return /* @__PURE__ */ jsxs32(Fragment43, {
3258
+ return /* @__PURE__ */ jsxs36(Fragment54, {
2742
3259
  children: [
2743
3260
  "The path of the URL where the bundle is going to be hosted. By default it is ",
2744
- /* @__PURE__ */ jsx43("code", {
3261
+ /* @__PURE__ */ jsx54("code", {
2745
3262
  children: "/"
2746
3263
  }),
2747
3264
  ", meaning that the bundle is going to be hosted at the root of the domain (e.g. ",
2748
- /* @__PURE__ */ jsx43("code", {
3265
+ /* @__PURE__ */ jsx54("code", {
2749
3266
  children: "https://localhost:3000/"
2750
3267
  }),
2751
3268
  "). If you are deploying to a subdirectory (e.g. ",
2752
- /* @__PURE__ */ jsx43("code", {
3269
+ /* @__PURE__ */ jsx54("code", {
2753
3270
  children: "/sites/my-site/"
2754
3271
  }),
2755
3272
  "), you should set this to the subdirectory."
@@ -2759,10 +3276,10 @@ var publicPathOption = {
2759
3276
  ssrName: "publicPath",
2760
3277
  docLink: "https://www.remotion.dev/docs/renderer",
2761
3278
  getValue: ({ commandLine }) => {
2762
- if (commandLine[cliFlag47] !== undefined) {
3279
+ if (commandLine[cliFlag58] !== undefined) {
2763
3280
  return {
2764
3281
  source: "cli",
2765
- value: commandLine[cliFlag47]
3282
+ value: commandLine[cliFlag58]
2766
3283
  };
2767
3284
  }
2768
3285
  if (currentPublicPath !== null) {
@@ -2780,29 +3297,29 @@ var publicPathOption = {
2780
3297
  currentPublicPath = value3;
2781
3298
  },
2782
3299
  type: "",
2783
- id: cliFlag47
3300
+ id: cliFlag58
2784
3301
  };
2785
3302
 
2786
3303
  // src/options/repro.tsx
2787
- import { jsx as jsx44, Fragment as Fragment44 } from "react/jsx-runtime";
3304
+ import { jsx as jsx55, Fragment as Fragment55 } from "react/jsx-runtime";
2788
3305
  var enableRepro = false;
2789
3306
  var setRepro = (should) => {
2790
3307
  enableRepro = should;
2791
3308
  };
2792
- var cliFlag48 = "repro";
3309
+ var cliFlag59 = "repro";
2793
3310
  var reproOption = {
2794
3311
  name: "Create reproduction",
2795
- cliFlag: cliFlag48,
2796
- description: () => /* @__PURE__ */ jsx44(Fragment44, {
3312
+ cliFlag: cliFlag59,
3313
+ description: () => /* @__PURE__ */ jsx55(Fragment55, {
2797
3314
  children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
2798
3315
  }),
2799
3316
  ssrName: "repro",
2800
3317
  docLink: "https://www.remotion.dev/docs/render-media#repro",
2801
3318
  type: false,
2802
3319
  getValue: ({ commandLine }) => {
2803
- if (commandLine[cliFlag48] !== undefined) {
3320
+ if (commandLine[cliFlag59] !== undefined) {
2804
3321
  return {
2805
- value: commandLine[cliFlag48],
3322
+ value: commandLine[cliFlag59],
2806
3323
  source: "cli"
2807
3324
  };
2808
3325
  }
@@ -2818,13 +3335,13 @@ var reproOption = {
2818
3335
  };
2819
3336
  },
2820
3337
  setConfig: setRepro,
2821
- id: cliFlag48
3338
+ id: cliFlag59
2822
3339
  };
2823
3340
 
2824
3341
  // src/options/scale.tsx
2825
- import { jsx as jsx45, jsxs as jsxs33, Fragment as Fragment45 } from "react/jsx-runtime";
3342
+ import { jsx as jsx56, jsxs as jsxs37, Fragment as Fragment56 } from "react/jsx-runtime";
2826
3343
  var currentScale = 1;
2827
- var cliFlag49 = "scale";
3344
+ var cliFlag60 = "scale";
2828
3345
  var validateScale = (value3) => {
2829
3346
  if (typeof value3 !== "number") {
2830
3347
  throw new Error("scale must be a number.");
@@ -2832,15 +3349,15 @@ var validateScale = (value3) => {
2832
3349
  };
2833
3350
  var scaleOption = {
2834
3351
  name: "Scale",
2835
- cliFlag: cliFlag49,
2836
- description: () => /* @__PURE__ */ jsxs33(Fragment45, {
3352
+ cliFlag: cliFlag60,
3353
+ description: () => /* @__PURE__ */ jsxs37(Fragment56, {
2837
3354
  children: [
2838
3355
  "Scales the output dimensions by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
2839
- /* @__PURE__ */ jsx45("code", {
3356
+ /* @__PURE__ */ jsx56("code", {
2840
3357
  children: "1.5"
2841
3358
  }),
2842
3359
  ". See ",
2843
- /* @__PURE__ */ jsx45("a", {
3360
+ /* @__PURE__ */ jsx56("a", {
2844
3361
  href: "https://www.remotion.dev/docs/scaling",
2845
3362
  children: "Scaling"
2846
3363
  }),
@@ -2851,11 +3368,11 @@ var scaleOption = {
2851
3368
  docLink: "https://www.remotion.dev/docs/scaling",
2852
3369
  type: 0,
2853
3370
  getValue: ({ commandLine }) => {
2854
- if (commandLine[cliFlag49] !== undefined) {
2855
- validateScale(commandLine[cliFlag49]);
3371
+ if (commandLine[cliFlag60] !== undefined) {
3372
+ validateScale(commandLine[cliFlag60]);
2856
3373
  return {
2857
3374
  source: "cli",
2858
- value: commandLine[cliFlag49]
3375
+ value: commandLine[cliFlag60]
2859
3376
  };
2860
3377
  }
2861
3378
  if (currentScale !== null) {
@@ -2872,24 +3389,24 @@ var scaleOption = {
2872
3389
  setConfig: (scale) => {
2873
3390
  currentScale = scale;
2874
3391
  },
2875
- id: cliFlag49
3392
+ id: cliFlag60
2876
3393
  };
2877
3394
 
2878
3395
  // src/options/still-image-format.tsx
2879
- import { jsx as jsx46, jsxs as jsxs34, Fragment as Fragment46 } from "react/jsx-runtime";
3396
+ import { jsx as jsx57, jsxs as jsxs38, Fragment as Fragment57 } from "react/jsx-runtime";
2880
3397
  var currentStillImageFormat = null;
2881
- var cliFlag50 = "image-format";
3398
+ var cliFlag61 = "image-format";
2882
3399
  var stillImageFormatOption = {
2883
3400
  name: "Still Image Format",
2884
- cliFlag: cliFlag50,
2885
- description: () => /* @__PURE__ */ jsxs34(Fragment46, {
3401
+ cliFlag: cliFlag61,
3402
+ description: () => /* @__PURE__ */ jsxs38(Fragment57, {
2886
3403
  children: [
2887
3404
  "The image format to use when rendering a still. Must be one of",
2888
3405
  " ",
2889
3406
  validStillImageFormats.map((f) => `"${f}"`).join(", "),
2890
3407
  ". Default:",
2891
3408
  " ",
2892
- /* @__PURE__ */ jsx46("code", {
3409
+ /* @__PURE__ */ jsx57("code", {
2893
3410
  children: '"png"'
2894
3411
  }),
2895
3412
  "."
@@ -2899,8 +3416,8 @@ var stillImageFormatOption = {
2899
3416
  docLink: "https://www.remotion.dev/docs/renderer/render-still#imageformat",
2900
3417
  type: null,
2901
3418
  getValue: ({ commandLine }) => {
2902
- if (commandLine[cliFlag50] !== undefined) {
2903
- const value3 = commandLine[cliFlag50];
3419
+ if (commandLine[cliFlag61] !== undefined) {
3420
+ const value3 = commandLine[cliFlag61];
2904
3421
  if (!validStillImageFormats.includes(value3)) {
2905
3422
  throw new Error(`Invalid still image format: ${value3}. Must be one of: ${validStillImageFormats.join(", ")}`);
2906
3423
  }
@@ -2938,16 +3455,16 @@ var stillImageFormatOption = {
2938
3455
 
2939
3456
  // src/options/throw-if-site-exists.tsx
2940
3457
  var DEFAULT5 = false;
2941
- var cliFlag51 = "throw-if-site-exists";
3458
+ var cliFlag62 = "throw-if-site-exists";
2942
3459
  var throwIfSiteExistsOption = {
2943
- cliFlag: cliFlag51,
3460
+ cliFlag: cliFlag62,
2944
3461
  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.`,
2945
3462
  docLink: "https://remotion.dev/docs/lambda/deploy-site",
2946
3463
  getValue: ({ commandLine }) => {
2947
- if (commandLine[cliFlag51]) {
3464
+ if (commandLine[cliFlag62]) {
2948
3465
  return {
2949
3466
  source: "cli",
2950
- value: commandLine[cliFlag51]
3467
+ value: commandLine[cliFlag62]
2951
3468
  };
2952
3469
  }
2953
3470
  return {
@@ -2961,41 +3478,41 @@ var throwIfSiteExistsOption = {
2961
3478
  },
2962
3479
  ssrName: "throwIfSiteExists",
2963
3480
  type: false,
2964
- id: cliFlag51
3481
+ id: cliFlag62
2965
3482
  };
2966
3483
 
2967
3484
  // src/options/timeout.tsx
2968
- import { jsx as jsx47, jsxs as jsxs35, Fragment as Fragment47 } from "react/jsx-runtime";
3485
+ import { jsx as jsx58, jsxs as jsxs39, Fragment as Fragment58 } from "react/jsx-runtime";
2969
3486
  var currentTimeout = DEFAULT_TIMEOUT;
2970
3487
  var validate3 = (value3) => {
2971
3488
  if (typeof value3 !== "number") {
2972
3489
  throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
2973
3490
  }
2974
3491
  };
2975
- var cliFlag52 = "timeout";
3492
+ var cliFlag63 = "timeout";
2976
3493
  var delayRenderTimeoutInMillisecondsOption = {
2977
3494
  name: "delayRender() timeout",
2978
- cliFlag: cliFlag52,
2979
- description: () => /* @__PURE__ */ jsxs35(Fragment47, {
3495
+ cliFlag: cliFlag63,
3496
+ description: () => /* @__PURE__ */ jsxs39(Fragment58, {
2980
3497
  children: [
2981
3498
  "A number describing how long the render may take to resolve all",
2982
3499
  " ",
2983
- /* @__PURE__ */ jsx47("a", {
3500
+ /* @__PURE__ */ jsx58("a", {
2984
3501
  href: "https://remotion.dev/docs/delay-render",
2985
- children: /* @__PURE__ */ jsx47("code", {
3502
+ children: /* @__PURE__ */ jsx58("code", {
2986
3503
  children: "delayRender()"
2987
3504
  })
2988
3505
  }),
2989
3506
  " ",
2990
3507
  "calls",
2991
3508
  " ",
2992
- /* @__PURE__ */ jsx47("a", {
3509
+ /* @__PURE__ */ jsx58("a", {
2993
3510
  style: { fontSize: "inherit" },
2994
3511
  href: "https://remotion.dev/docs/timeout",
2995
3512
  children: "before it times out"
2996
3513
  }),
2997
3514
  ". Default: ",
2998
- /* @__PURE__ */ jsx47("code", {
3515
+ /* @__PURE__ */ jsx58("code", {
2999
3516
  children: "30000"
3000
3517
  })
3001
3518
  ]
@@ -3004,10 +3521,10 @@ var delayRenderTimeoutInMillisecondsOption = {
3004
3521
  docLink: "https://www.remotion.dev/docs/timeout",
3005
3522
  type: 0,
3006
3523
  getValue: ({ commandLine }) => {
3007
- if (commandLine[cliFlag52] !== undefined) {
3524
+ if (commandLine[cliFlag63] !== undefined) {
3008
3525
  return {
3009
3526
  source: "cli",
3010
- value: commandLine[cliFlag52]
3527
+ value: commandLine[cliFlag63]
3011
3528
  };
3012
3529
  }
3013
3530
  if (currentTimeout !== null) {
@@ -3026,30 +3543,67 @@ var delayRenderTimeoutInMillisecondsOption = {
3026
3543
  validate3(value3);
3027
3544
  currentTimeout = value3;
3028
3545
  },
3029
- id: cliFlag52
3546
+ id: cliFlag63
3547
+ };
3548
+
3549
+ // src/options/user-agent.tsx
3550
+ import { jsx as jsx59, Fragment as Fragment59 } from "react/jsx-runtime";
3551
+ var userAgent = null;
3552
+ var cliFlag64 = "user-agent";
3553
+ var userAgentOption = {
3554
+ name: "User agent",
3555
+ cliFlag: cliFlag64,
3556
+ description: () => /* @__PURE__ */ jsx59(Fragment59, {
3557
+ children: "Lets you set a custom user agent that the headless Chrome browser assumes."
3558
+ }),
3559
+ ssrName: "userAgent",
3560
+ docLink: "https://www.remotion.dev/docs/chromium-flags#--user-agent",
3561
+ type: null,
3562
+ getValue: ({ commandLine }) => {
3563
+ if (commandLine[cliFlag64] !== undefined) {
3564
+ return {
3565
+ source: "cli",
3566
+ value: commandLine[cliFlag64]
3567
+ };
3568
+ }
3569
+ if (userAgent !== null) {
3570
+ return {
3571
+ source: "config",
3572
+ value: userAgent
3573
+ };
3574
+ }
3575
+ return {
3576
+ source: "default",
3577
+ value: null
3578
+ };
3579
+ },
3580
+ setConfig: (value3) => {
3581
+ userAgent = value3;
3582
+ },
3583
+ id: cliFlag64
3030
3584
  };
3031
3585
 
3032
3586
  // src/options/video-bitrate.tsx
3033
- import { jsx as jsx48, jsxs as jsxs36, Fragment as Fragment48 } from "react/jsx-runtime";
3587
+ import { jsx as jsx60, jsxs as jsxs40, Fragment as Fragment60 } from "react/jsx-runtime";
3034
3588
  var videoBitrate = null;
3035
- var cliFlag53 = "video-bitrate";
3589
+ var cliFlag65 = "video-bitrate";
3036
3590
  var videoBitrateOption = {
3037
3591
  name: "Video Bitrate",
3038
- cliFlag: cliFlag53,
3039
- description: () => /* @__PURE__ */ jsxs36(Fragment48, {
3592
+ cliFlag: cliFlag65,
3593
+ description: () => /* @__PURE__ */ jsxs40(Fragment60, {
3040
3594
  children: [
3041
3595
  "Specify the target bitrate for the generated video. The syntax for FFmpeg",
3042
3596
  "'",
3043
3597
  "s",
3044
- /* @__PURE__ */ jsx48("code", {
3598
+ /* @__PURE__ */ jsx60("code", {
3045
3599
  children: "-b:v"
3046
3600
  }),
3047
3601
  " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
3048
- /* @__PURE__ */ jsx48("code", {
3602
+ /* @__PURE__ */ jsx60("code", {
3049
3603
  children: "512K"
3050
3604
  }),
3051
3605
  " for 512 kbps, ",
3052
- /* @__PURE__ */ jsx48("code", {
3606
+ /* @__PURE__ */ jsx60("code", {
3053
3607
  children: "1M"
3054
3608
  }),
3055
3609
  " for 1 Mbps."
@@ -3059,10 +3613,10 @@ var videoBitrateOption = {
3059
3613
  docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
3060
3614
  type: "",
3061
3615
  getValue: ({ commandLine }) => {
3062
- if (commandLine[cliFlag53] !== undefined) {
3616
+ if (commandLine[cliFlag65] !== undefined) {
3063
3617
  return {
3064
3618
  source: "cli",
3065
- value: commandLine[cliFlag53]
3619
+ value: commandLine[cliFlag65]
3066
3620
  };
3067
3621
  }
3068
3622
  if (videoBitrate !== null) {
@@ -3079,33 +3633,33 @@ var videoBitrateOption = {
3079
3633
  setConfig: (bitrate) => {
3080
3634
  videoBitrate = bitrate;
3081
3635
  },
3082
- id: cliFlag53
3636
+ id: cliFlag65
3083
3637
  };
3084
3638
 
3085
3639
  // src/options/video-cache-size.tsx
3086
- import { jsx as jsx49, jsxs as jsxs37, Fragment as Fragment49 } from "react/jsx-runtime";
3640
+ import { jsx as jsx61, jsxs as jsxs41, Fragment as Fragment61 } from "react/jsx-runtime";
3087
3641
  var mediaCacheSizeInBytes = null;
3088
- var cliFlag54 = "media-cache-size-in-bytes";
3642
+ var cliFlag66 = "media-cache-size-in-bytes";
3089
3643
  var mediaCacheSizeInBytesOption = {
3090
3644
  name: "@remotion/media cache size",
3091
- cliFlag: cliFlag54,
3092
- description: () => /* @__PURE__ */ jsxs37(Fragment49, {
3645
+ cliFlag: cliFlag66,
3646
+ description: () => /* @__PURE__ */ jsxs41(Fragment61, {
3093
3647
  children: [
3094
3648
  "Specify the maximum size of the cache that ",
3095
- /* @__PURE__ */ jsx49("code", {
3649
+ /* @__PURE__ */ jsx61("code", {
3096
3650
  children: "<Video>"
3097
3651
  }),
3098
3652
  " and",
3099
3653
  " ",
3100
- /* @__PURE__ */ jsx49("code", {
3654
+ /* @__PURE__ */ jsx61("code", {
3101
3655
  children: "<Audio>"
3102
3656
  }),
3103
3657
  " from ",
3104
- /* @__PURE__ */ jsx49("code", {
3658
+ /* @__PURE__ */ jsx61("code", {
3105
3659
  children: "@remotion/media"
3106
3660
  }),
3107
3661
  " may use combined, in bytes. ",
3108
- /* @__PURE__ */ jsx49("br", {}),
3662
+ /* @__PURE__ */ jsx61("br", {}),
3109
3663
  "The default is half of the available system memory when the render starts."
3110
3664
  ]
3111
3665
  }),
@@ -3113,10 +3667,10 @@ var mediaCacheSizeInBytesOption = {
3113
3667
  docLink: "https://www.remotion.dev/docs/media/video#setting-the-cache-size",
3114
3668
  type: 0,
3115
3669
  getValue: ({ commandLine }) => {
3116
- if (commandLine[cliFlag54] !== undefined) {
3670
+ if (commandLine[cliFlag66] !== undefined) {
3117
3671
  return {
3118
3672
  source: "cli",
3119
- value: commandLine[cliFlag54]
3673
+ value: commandLine[cliFlag66]
3120
3674
  };
3121
3675
  }
3122
3676
  if (mediaCacheSizeInBytes !== null) {
@@ -3133,7 +3687,7 @@ var mediaCacheSizeInBytesOption = {
3133
3687
  setConfig: (size) => {
3134
3688
  mediaCacheSizeInBytes = size ?? null;
3135
3689
  },
3136
- id: cliFlag54
3690
+ id: cliFlag66
3137
3691
  };
3138
3692
 
3139
3693
  // src/path-normalize.ts
@@ -3252,7 +3806,7 @@ var getExtensionOfFilename = (filename) => {
3252
3806
  };
3253
3807
 
3254
3808
  // src/options/video-codec.tsx
3255
- import { jsx as jsx50, Fragment as Fragment50 } from "react/jsx-runtime";
3809
+ import { jsx as jsx62, Fragment as Fragment62 } from "react/jsx-runtime";
3256
3810
  var codec;
3257
3811
  var setCodec = (newCodec) => {
3258
3812
  if (newCodec === undefined) {
@@ -3276,11 +3830,11 @@ var deriveCodecsFromFilename = (extension) => {
3276
3830
  possible: makeFileExtensionMap()[extension] ?? []
3277
3831
  };
3278
3832
  };
3279
- var cliFlag55 = "codec";
3833
+ var cliFlag67 = "codec";
3280
3834
  var videoCodecOption = {
3281
3835
  name: "Codec",
3282
- cliFlag: cliFlag55,
3283
- description: () => /* @__PURE__ */ jsx50(Fragment50, {
3836
+ cliFlag: cliFlag67,
3837
+ description: () => /* @__PURE__ */ jsx62(Fragment62, {
3284
3838
  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."
3285
3839
  }),
3286
3840
  ssrName: "codec",
@@ -3303,7 +3857,7 @@ var videoCodecOption = {
3303
3857
  if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
3304
3858
  throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
3305
3859
  }
3306
- const cliArgument = commandLine[cliFlag55];
3860
+ const cliArgument = commandLine[cliFlag67];
3307
3861
  if (cliArgument) {
3308
3862
  if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
3309
3863
  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.`);
@@ -3349,24 +3903,24 @@ var videoCodecOption = {
3349
3903
  return { value: DEFAULT_CODEC, source: "default" };
3350
3904
  },
3351
3905
  setConfig: setCodec,
3352
- id: cliFlag55
3906
+ id: cliFlag67
3353
3907
  };
3354
3908
 
3355
3909
  // src/options/video-image-format.tsx
3356
- import { jsx as jsx51, jsxs as jsxs38, Fragment as Fragment51 } from "react/jsx-runtime";
3910
+ import { jsx as jsx63, jsxs as jsxs42, Fragment as Fragment63 } from "react/jsx-runtime";
3357
3911
  var currentVideoImageFormat = null;
3358
- var cliFlag56 = "image-format";
3912
+ var cliFlag68 = "image-format";
3359
3913
  var videoImageFormatOption = {
3360
3914
  name: "Video Image Format",
3361
- cliFlag: cliFlag56,
3362
- description: () => /* @__PURE__ */ jsxs38(Fragment51, {
3915
+ cliFlag: cliFlag68,
3916
+ description: () => /* @__PURE__ */ jsxs42(Fragment63, {
3363
3917
  children: [
3364
3918
  "The image format to use when rendering frames for a video. Must be one of",
3365
3919
  " ",
3366
3920
  validVideoImageFormats.map((f) => `"${f}"`).join(", "),
3367
3921
  ". Default:",
3368
3922
  " ",
3369
- /* @__PURE__ */ jsx51("code", {
3923
+ /* @__PURE__ */ jsx63("code", {
3370
3924
  children: '"jpeg"'
3371
3925
  }),
3372
3926
  ". JPEG is faster, but does not support transparency."
@@ -3376,8 +3930,8 @@ var videoImageFormatOption = {
3376
3930
  docLink: "https://www.remotion.dev/docs/renderer/render-media#imageformat",
3377
3931
  type: null,
3378
3932
  getValue: ({ commandLine }) => {
3379
- if (commandLine[cliFlag56] !== undefined) {
3380
- const value3 = commandLine[cliFlag56];
3933
+ if (commandLine[cliFlag68] !== undefined) {
3934
+ const value3 = commandLine[cliFlag68];
3381
3935
  if (!validVideoImageFormats.includes(value3)) {
3382
3936
  throw new Error(`Invalid video image format: ${value3}. Must be one of: ${validVideoImageFormats.join(", ")}`);
3383
3937
  }
@@ -3414,12 +3968,12 @@ var videoImageFormatOption = {
3414
3968
  };
3415
3969
 
3416
3970
  // src/options/webhook-custom-data.tsx
3417
- import { jsxs as jsxs39, Fragment as Fragment52 } from "react/jsx-runtime";
3418
- var cliFlag57 = "webhook-custom-data";
3971
+ import { jsxs as jsxs43, Fragment as Fragment64 } from "react/jsx-runtime";
3972
+ var cliFlag69 = "webhook-custom-data";
3419
3973
  var webhookCustomDataOption = {
3420
3974
  name: "Webhook custom data",
3421
- cliFlag: cliFlag57,
3422
- description: (type) => /* @__PURE__ */ jsxs39(Fragment52, {
3975
+ cliFlag: cliFlag69,
3976
+ description: (type) => /* @__PURE__ */ jsxs43(Fragment64, {
3423
3977
  children: [
3424
3978
  "Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
3425
3979
  " ",
@@ -3435,11 +3989,11 @@ var webhookCustomDataOption = {
3435
3989
  setConfig: () => {
3436
3990
  throw new Error("Not implemented");
3437
3991
  },
3438
- id: cliFlag57
3992
+ id: cliFlag69
3439
3993
  };
3440
3994
 
3441
3995
  // src/options/x264-preset.tsx
3442
- import { jsx as jsx52, jsxs as jsxs40, Fragment as Fragment53 } from "react/jsx-runtime";
3996
+ import { jsx as jsx64, jsxs as jsxs44, Fragment as Fragment65 } from "react/jsx-runtime";
3443
3997
  var x264PresetOptions = [
3444
3998
  "ultrafast",
3445
3999
  "superfast",
@@ -3453,63 +4007,63 @@ var x264PresetOptions = [
3453
4007
  "placebo"
3454
4008
  ];
3455
4009
  var preset = null;
3456
- var cliFlag58 = "x264-preset";
4010
+ var cliFlag70 = "x264-preset";
3457
4011
  var DEFAULT_PRESET = "medium";
3458
4012
  var x264Option = {
3459
4013
  name: "x264 Preset",
3460
- cliFlag: cliFlag58,
3461
- description: () => /* @__PURE__ */ jsxs40(Fragment53, {
4014
+ cliFlag: cliFlag70,
4015
+ description: () => /* @__PURE__ */ jsxs44(Fragment65, {
3462
4016
  children: [
3463
4017
  "Sets a x264 preset profile. Only applies to videos rendered with",
3464
4018
  " ",
3465
- /* @__PURE__ */ jsx52("code", {
4019
+ /* @__PURE__ */ jsx64("code", {
3466
4020
  children: "h264"
3467
4021
  }),
3468
4022
  " codec.",
3469
- /* @__PURE__ */ jsx52("br", {}),
4023
+ /* @__PURE__ */ jsx64("br", {}),
3470
4024
  "Possible values: ",
3471
- /* @__PURE__ */ jsx52("code", {
4025
+ /* @__PURE__ */ jsx64("code", {
3472
4026
  children: "superfast"
3473
4027
  }),
3474
4028
  ", ",
3475
- /* @__PURE__ */ jsx52("code", {
4029
+ /* @__PURE__ */ jsx64("code", {
3476
4030
  children: "veryfast"
3477
4031
  }),
3478
4032
  ",",
3479
4033
  " ",
3480
- /* @__PURE__ */ jsx52("code", {
4034
+ /* @__PURE__ */ jsx64("code", {
3481
4035
  children: "faster"
3482
4036
  }),
3483
4037
  ", ",
3484
- /* @__PURE__ */ jsx52("code", {
4038
+ /* @__PURE__ */ jsx64("code", {
3485
4039
  children: "fast"
3486
4040
  }),
3487
4041
  ", ",
3488
- /* @__PURE__ */ jsx52("code", {
4042
+ /* @__PURE__ */ jsx64("code", {
3489
4043
  children: "medium"
3490
4044
  }),
3491
4045
  ",",
3492
4046
  " ",
3493
- /* @__PURE__ */ jsx52("code", {
4047
+ /* @__PURE__ */ jsx64("code", {
3494
4048
  children: "slow"
3495
4049
  }),
3496
4050
  ", ",
3497
- /* @__PURE__ */ jsx52("code", {
4051
+ /* @__PURE__ */ jsx64("code", {
3498
4052
  children: "slower"
3499
4053
  }),
3500
4054
  ", ",
3501
- /* @__PURE__ */ jsx52("code", {
4055
+ /* @__PURE__ */ jsx64("code", {
3502
4056
  children: "veryslow"
3503
4057
  }),
3504
4058
  ",",
3505
4059
  " ",
3506
- /* @__PURE__ */ jsx52("code", {
4060
+ /* @__PURE__ */ jsx64("code", {
3507
4061
  children: "placebo"
3508
4062
  }),
3509
4063
  ".",
3510
- /* @__PURE__ */ jsx52("br", {}),
4064
+ /* @__PURE__ */ jsx64("br", {}),
3511
4065
  "Default: ",
3512
- /* @__PURE__ */ jsx52("code", {
4066
+ /* @__PURE__ */ jsx64("code", {
3513
4067
  children: DEFAULT_PRESET
3514
4068
  })
3515
4069
  ]
@@ -3518,7 +4072,7 @@ var x264Option = {
3518
4072
  docLink: "https://www.remotion.dev/docs/renderer/render-media",
3519
4073
  type: "fast",
3520
4074
  getValue: ({ commandLine }) => {
3521
- const value3 = commandLine[cliFlag58];
4075
+ const value3 = commandLine[cliFlag70];
3522
4076
  if (typeof value3 !== "undefined") {
3523
4077
  return { value: value3, source: "cli" };
3524
4078
  }
@@ -3530,18 +4084,21 @@ var x264Option = {
3530
4084
  setConfig: (profile) => {
3531
4085
  preset = profile;
3532
4086
  },
3533
- id: cliFlag58
4087
+ id: cliFlag70
3534
4088
  };
3535
4089
 
3536
4090
  // src/options/index.tsx
3537
4091
  var allOptions = {
3538
4092
  audioCodecOption,
4093
+ browserExecutableOption,
4094
+ concurrencyOption,
3539
4095
  scaleOption,
3540
4096
  crfOption,
3541
4097
  jpegQualityOption,
3542
4098
  videoBitrateOption,
3543
4099
  audioBitrateOption,
3544
4100
  enforceAudioOption,
4101
+ everyNthFrameOption,
3545
4102
  mutedOption,
3546
4103
  videoCodecOption,
3547
4104
  offthreadVideoCacheSizeInBytesOption,
@@ -3549,6 +4106,7 @@ var allOptions = {
3549
4106
  webhookCustomDataOption,
3550
4107
  colorSpaceOption,
3551
4108
  deleteAfterOption,
4109
+ disableWebSecurityOption,
3552
4110
  disallowParallelEncodingOption,
3553
4111
  folderExpiryOption,
3554
4112
  enableMultiprocessOnLinuxOption,
@@ -3559,7 +4117,9 @@ var allOptions = {
3559
4117
  beepOnFinishOption,
3560
4118
  numberOfGifLoopsOption,
3561
4119
  reproOption,
4120
+ pixelFormatOption,
3562
4121
  preferLosslessOption: preferLosslessAudioOption,
4122
+ proResProfileOption,
3563
4123
  x264Option,
3564
4124
  logLevelOption,
3565
4125
  delayRenderTimeoutInMillisecondsOption,
@@ -3580,6 +4140,7 @@ var allOptions = {
3580
4140
  licenseKeyOption,
3581
4141
  audioLatencyHintOption,
3582
4142
  enableCrossSiteIsolationOption,
4143
+ ignoreCertificateErrorsOption,
3583
4144
  imageSequencePatternOption,
3584
4145
  mediaCacheSizeInBytesOption,
3585
4146
  darkModeOption,
@@ -3592,7 +4153,12 @@ var allOptions = {
3592
4153
  numberOfSharedAudioTagsOption,
3593
4154
  ipv4Option,
3594
4155
  stillImageFormatOption,
3595
- videoImageFormatOption
4156
+ userAgentOption,
4157
+ videoImageFormatOption,
4158
+ overrideHeightOption,
4159
+ overrideWidthOption,
4160
+ overrideFpsOption,
4161
+ overrideDurationOption
3596
4162
  };
3597
4163
 
3598
4164
  // src/options/options-map.ts
@@ -3759,25 +4325,6 @@ var optionsMap = {
3759
4325
  }
3760
4326
  };
3761
4327
 
3762
- // src/pixel-format.ts
3763
- var validPixelFormats = [
3764
- "yuv420p",
3765
- "yuva420p",
3766
- "yuv422p",
3767
- "yuv444p",
3768
- "yuv420p10le",
3769
- "yuv422p10le",
3770
- "yuv444p10le",
3771
- "yuva444p10le"
3772
- ];
3773
- var DEFAULT_PIXEL_FORMAT = "yuv420p";
3774
- var validPixelFormatsForCodec = (codec2) => {
3775
- if (codec2 === "vp8" || codec2 === "vp9") {
3776
- return validPixelFormats;
3777
- }
3778
- return validPixelFormats.filter((format) => format !== "yuva420p");
3779
- };
3780
-
3781
4328
  // src/validate-output-filename.ts
3782
4329
  var validateOutputFilename = ({
3783
4330
  codec: codec2,
@@ -3818,7 +4365,7 @@ var BrowserSafeApis = {
3818
4365
  validAudioCodecs,
3819
4366
  getDefaultCrfForCodec,
3820
4367
  getValidCrfRanges,
3821
- proResProfileOptions: NoReactInternals2.proResProfileOptions,
4368
+ proResProfileOptions: NoReactInternals3.proResProfileOptions,
3822
4369
  x264PresetOptions,
3823
4370
  hardwareAccelerationOptions,
3824
4371
  validPixelFormats,