@remotion/renderer 4.0.113 → 4.0.115

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 (79) hide show
  1. package/dist/check-apple-silicon.d.ts +3 -1
  2. package/dist/check-apple-silicon.js +32 -2
  3. package/dist/client.d.ts +779 -14
  4. package/dist/client.js +3 -1
  5. package/dist/combine-videos.js +1 -1
  6. package/dist/ffmpeg-args.d.ts +1 -1
  7. package/dist/get-extension-of-filename.js +2 -5
  8. package/dist/index.d.ts +50 -3
  9. package/dist/jpeg-quality.d.ts +1 -1
  10. package/dist/options/audio-bitrate.d.ts +10 -0
  11. package/dist/options/audio-bitrate.js +25 -2
  12. package/dist/options/beep-on-finish.d.ts +7 -0
  13. package/dist/options/beep-on-finish.js +24 -1
  14. package/dist/options/color-space.d.ts +7 -0
  15. package/dist/options/color-space.js +23 -0
  16. package/dist/options/crf.d.ts +9 -0
  17. package/dist/options/crf.js +33 -2
  18. package/dist/options/delete-after.d.ts +12 -1
  19. package/dist/options/delete-after.js +25 -2
  20. package/dist/options/enable-lambda-insights.d.ts +7 -0
  21. package/dist/options/enable-lambda-insights.js +24 -1
  22. package/dist/options/enable-multiprocess-on-linux.d.ts +7 -0
  23. package/dist/options/enable-multiprocess-on-linux.js +24 -1
  24. package/dist/options/encoding-buffer-size.d.ts +10 -0
  25. package/dist/options/encoding-buffer-size.js +28 -1
  26. package/dist/options/encoding-max-rate.d.ts +10 -0
  27. package/dist/options/encoding-max-rate.js +24 -1
  28. package/dist/options/enforce-audio.d.ts +7 -0
  29. package/dist/options/enforce-audio.js +25 -1
  30. package/dist/options/folder-expiry.d.ts +7 -0
  31. package/dist/options/folder-expiry.js +24 -1
  32. package/dist/options/gl.d.ts +16 -4
  33. package/dist/options/gl.js +35 -3
  34. package/dist/options/headless.d.ts +15 -0
  35. package/dist/options/headless.js +36 -0
  36. package/dist/options/index.d.ts +202 -10
  37. package/dist/options/index.js +5 -3
  38. package/dist/options/jpeg-quality.d.ts +9 -0
  39. package/dist/options/jpeg-quality.js +37 -2
  40. package/dist/options/log-level.d.ts +16 -0
  41. package/dist/options/log-level.js +32 -0
  42. package/dist/options/mute.d.ts +9 -2
  43. package/dist/options/mute.js +27 -3
  44. package/dist/options/number-of-gif-loops.d.ts +11 -0
  45. package/dist/options/number-of-gif-loops.js +31 -1
  46. package/dist/options/offthreadvideo-cache-size.d.ts +12 -1
  47. package/dist/options/offthreadvideo-cache-size.js +30 -3
  48. package/dist/options/option.d.ts +11 -3
  49. package/dist/options/options-map.d.ts +577 -3
  50. package/dist/options/options-map.js +46 -12
  51. package/dist/options/overwrite.d.ts +15 -0
  52. package/dist/options/overwrite.js +42 -0
  53. package/dist/options/repro.d.ts +11 -1
  54. package/dist/options/repro.js +25 -1
  55. package/dist/options/scale.d.ts +7 -0
  56. package/dist/options/scale.js +30 -1
  57. package/dist/options/timeout.d.ts +15 -0
  58. package/dist/options/timeout.js +44 -0
  59. package/dist/options/video-bitrate.d.ts +9 -2
  60. package/dist/options/video-bitrate.js +27 -4
  61. package/dist/options/video-codec.d.ts +16 -1
  62. package/dist/options/video-codec.js +81 -2
  63. package/dist/options/webhook-custom-data.d.ts +3 -1
  64. package/dist/options/webhook-custom-data.js +8 -1
  65. package/dist/options/x264-preset.d.ts +20 -3
  66. package/dist/options/x264-preset.js +47 -7
  67. package/dist/path-normalize.d.ts +1 -0
  68. package/dist/path-normalize.js +133 -0
  69. package/dist/prespawn-ffmpeg.d.ts +1 -1
  70. package/dist/render-frames.d.ts +1 -3
  71. package/dist/render-media.d.ts +0 -12
  72. package/dist/render-media.js +2 -2
  73. package/dist/render-still.d.ts +1 -3
  74. package/dist/select-composition.d.ts +2 -3
  75. package/dist/stitch-frames-to-video.d.ts +1 -1
  76. package/dist/stitch-frames-to-video.js +1 -1
  77. package/package.json +9 -9
  78. package/dist/does-have-m2-bug.d.ts +0 -3
  79. package/dist/does-have-m2-bug.js +0 -12
@@ -2,11 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enforceAudioOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const DEFAULT_ENFORCE_AUDIO_TRACK = true;
6
+ let enforceAudioTrackState = DEFAULT_ENFORCE_AUDIO_TRACK;
7
+ const cliFlag = 'enforce-audio-track';
5
8
  exports.enforceAudioOption = {
6
9
  name: 'Enforce Audio Track',
7
- cliFlag: 'enforce-audio-track',
10
+ cliFlag,
8
11
  description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Render a silent audio track if there would be none otherwise." })),
9
12
  ssrName: 'enforceAudioTrack',
10
13
  docLink: 'https://www.remotion.dev/docs/config#setenforceaudiotrack-',
11
14
  type: false,
15
+ getValue: ({ commandLine }) => {
16
+ if (commandLine[cliFlag] !== undefined) {
17
+ return {
18
+ source: 'cli',
19
+ value: commandLine[cliFlag],
20
+ };
21
+ }
22
+ if (enforceAudioTrackState !== DEFAULT_ENFORCE_AUDIO_TRACK) {
23
+ return {
24
+ source: 'config',
25
+ value: enforceAudioTrackState,
26
+ };
27
+ }
28
+ return {
29
+ source: 'default',
30
+ value: DEFAULT_ENFORCE_AUDIO_TRACK,
31
+ };
32
+ },
33
+ setConfig: (value) => {
34
+ enforceAudioTrackState = value;
35
+ },
12
36
  };
@@ -5,4 +5,11 @@ export declare const folderExpiryOption: {
5
5
  ssrName: "enableFolderExpiry";
6
6
  docLink: string;
7
7
  type: boolean | null;
8
+ getValue: ({ commandLine }: {
9
+ commandLine: Record<string, unknown>;
10
+ }) => {
11
+ source: string;
12
+ value: boolean | null;
13
+ };
14
+ setConfig: (value: boolean | null) => void;
8
15
  };
@@ -2,13 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.folderExpiryOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ let enableFolderExpiry = null;
6
+ const cliFlag = 'enable-folder-expiry';
5
7
  exports.folderExpiryOption = {
6
8
  name: 'Lambda render expiration',
7
- cliFlag: 'enable-folder-expiry',
9
+ cliFlag,
8
10
  description: () => {
9
11
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["When deploying sites, enable or disable S3 Lifecycle policies which allow for renders to auto-delete after a certain time. Default is", ' ', (0, jsx_runtime_1.jsx)("code", { children: "null" }), ", which does not change any lifecycle policies of the S3 bucket. See: ", (0, jsx_runtime_1.jsx)("a", { href: "/docs/lambda/autodelete", children: "Lambda autodelete" }), "."] }));
10
12
  },
11
13
  ssrName: 'enableFolderExpiry',
12
14
  docLink: 'https://www.remotion.dev/docs/lambda/autodelete',
13
15
  type: false,
16
+ getValue: ({ commandLine }) => {
17
+ if (commandLine[cliFlag] !== undefined) {
18
+ return {
19
+ source: 'cli',
20
+ value: commandLine[cliFlag],
21
+ };
22
+ }
23
+ if (enableFolderExpiry !== null) {
24
+ return {
25
+ source: 'config',
26
+ value: enableFolderExpiry,
27
+ };
28
+ }
29
+ return {
30
+ source: 'default',
31
+ value: null,
32
+ };
33
+ },
34
+ setConfig: (value) => {
35
+ enableFolderExpiry = value;
36
+ },
14
37
  };
@@ -1,12 +1,24 @@
1
1
  export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
2
+ export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
3
+ export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
4
+ export declare const getChromiumOpenGlRenderer: () => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
5
+ export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
2
6
  export declare const glOption: {
3
7
  cliFlag: "gl";
4
8
  docLink: string;
5
9
  name: string;
6
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
10
+ type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
7
11
  ssrName: string;
8
12
  description: () => import("react/jsx-runtime").JSX.Element;
13
+ getValue: ({ commandLine }: {
14
+ commandLine: Record<string, unknown>;
15
+ }) => {
16
+ value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
17
+ source: string;
18
+ } | {
19
+ value: null;
20
+ source: string;
21
+ };
22
+ setConfig: (value: OpenGlRenderer | null) => void;
9
23
  };
10
- export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
11
- export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
12
- export declare const validateOpenGlRenderer: (option: OpenGlRenderer | null) => OpenGlRenderer | null;
24
+ export declare const validateOpenGlRenderer: (option: unknown) => OpenGlRenderer | null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = exports.glOption = exports.validOpenGlRenderers = void 0;
3
+ exports.validateOpenGlRenderer = exports.glOption = exports.setChromiumOpenGlRenderer = exports.getChromiumOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = exports.validOpenGlRenderers = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  exports.validOpenGlRenderers = [
6
6
  'swangle',
@@ -10,11 +10,21 @@ exports.validOpenGlRenderers = [
10
10
  'vulkan',
11
11
  'angle-egl',
12
12
  ];
13
+ exports.DEFAULT_OPENGL_RENDERER = null;
14
+ let openGlRenderer = exports.DEFAULT_OPENGL_RENDERER;
15
+ const getChromiumOpenGlRenderer = () => openGlRenderer;
16
+ exports.getChromiumOpenGlRenderer = getChromiumOpenGlRenderer;
17
+ const setChromiumOpenGlRenderer = (renderer) => {
18
+ (0, exports.validateOpenGlRenderer)(renderer);
19
+ openGlRenderer = renderer;
20
+ };
21
+ exports.setChromiumOpenGlRenderer = setChromiumOpenGlRenderer;
13
22
  const AngleChangelog = () => {
14
23
  return ((0, jsx_runtime_1.jsxs)("details", { style: { fontSize: '0.9em', marginBottom: '1em' }, children: [(0, jsx_runtime_1.jsx)("summary", { children: "Changelog" }), (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsxs)("li", { children: ["From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was", ' ', (0, jsx_runtime_1.jsx)("code", { children: "swiftshader" }), ", but from v3.0.8 the default is", ' ', (0, jsx_runtime_1.jsx)("code", { children: "swangle" }), " (Swiftshader on Angle) since Chrome 101 added support for it."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["From Remotion v2.4.3 until v2.6.6, the default was ", (0, jsx_runtime_1.jsx)("code", { children: "angle" }), ", however it turns out to have a small memory leak that could crash long Remotion renders."] })] })] }));
15
24
  };
25
+ const cliFlag = 'gl';
16
26
  exports.glOption = {
17
- cliFlag: 'gl',
27
+ cliFlag,
18
28
  docLink: 'https://www.remotion.dev/docs/chromium-flags#--gl',
19
29
  name: 'OpenGL renderer',
20
30
  type: 'angle',
@@ -22,8 +32,30 @@ exports.glOption = {
22
32
  description: () => {
23
33
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AngleChangelog, {}), (0, jsx_runtime_1.jsxs)("p", { children: ["Select the OpenGL renderer backend for Chromium. ", (0, jsx_runtime_1.jsx)("br", {}), "Accepted values:"] }), (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: '"angle"' }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: '"egl"' }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: '"swiftshader"' }) }), (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: '"swangle"' }) }), (0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("code", { children: '"vulkan"' }), " (", (0, jsx_runtime_1.jsx)("em", { children: "from Remotion v4.0.41" }), ")"] }), (0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("code", { children: '"angle-egl"' }), " (", (0, jsx_runtime_1.jsx)("em", { children: "from Remotion v4.0.51" }), ")"] })] }), (0, jsx_runtime_1.jsxs)("p", { children: ["The default is ", (0, jsx_runtime_1.jsx)("code", { children: "null" }), ", letting Chrome decide, except on Lambda where the default is ", (0, jsx_runtime_1.jsx)("code", { children: '"swangle"' })] })] }));
24
34
  },
35
+ getValue: ({ commandLine }) => {
36
+ if (commandLine[cliFlag]) {
37
+ (0, exports.validateOpenGlRenderer)(commandLine[cliFlag]);
38
+ return {
39
+ value: commandLine[cliFlag],
40
+ source: 'cli',
41
+ };
42
+ }
43
+ if (openGlRenderer !== exports.DEFAULT_OPENGL_RENDERER) {
44
+ return {
45
+ value: openGlRenderer,
46
+ source: 'config',
47
+ };
48
+ }
49
+ return {
50
+ value: exports.DEFAULT_OPENGL_RENDERER,
51
+ source: 'default',
52
+ };
53
+ },
54
+ setConfig: (value) => {
55
+ (0, exports.validateOpenGlRenderer)(value);
56
+ openGlRenderer = value;
57
+ },
25
58
  };
26
- exports.DEFAULT_OPENGL_RENDERER = null;
27
59
  const validateOpenGlRenderer = (option) => {
28
60
  if (option === null) {
29
61
  return null;
@@ -0,0 +1,15 @@
1
+ export declare const headlessOption: {
2
+ name: string;
3
+ cliFlag: "disable-headless";
4
+ description: () => import("react/jsx-runtime").JSX.Element;
5
+ ssrName: string;
6
+ docLink: string;
7
+ type: boolean;
8
+ getValue: ({ commandLine }: {
9
+ commandLine: Record<string, unknown>;
10
+ }) => {
11
+ source: string;
12
+ value: boolean;
13
+ };
14
+ setConfig: (value: boolean) => void;
15
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.headlessOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const DEFAULT = true;
6
+ let headlessMode = DEFAULT;
7
+ const cliFlag = 'disable-headless';
8
+ exports.headlessOption = {
9
+ name: 'Disable Headless Mode',
10
+ cliFlag,
11
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "If disabled, the render will open an actual Chrome window where you can see the render happen. The default is headless mode." })),
12
+ ssrName: 'headless',
13
+ docLink: 'https://www.remotion.dev/docs/chromium-flags#--disable-headless',
14
+ type: false,
15
+ getValue: ({ commandLine }) => {
16
+ if (commandLine[cliFlag] !== undefined) {
17
+ return {
18
+ source: 'cli',
19
+ value: !commandLine[cliFlag],
20
+ };
21
+ }
22
+ if (headlessMode !== DEFAULT) {
23
+ return {
24
+ source: 'config',
25
+ value: headlessMode,
26
+ };
27
+ }
28
+ return {
29
+ source: 'default',
30
+ value: headlessMode,
31
+ };
32
+ },
33
+ setConfig: (value) => {
34
+ headlessMode = value;
35
+ },
36
+ };
@@ -1,3 +1,4 @@
1
+ import type { AnyRemotionOption } from './option';
1
2
  export declare const allOptions: {
2
3
  scaleOption: {
3
4
  name: string;
@@ -6,6 +7,13 @@ export declare const allOptions: {
6
7
  ssrName: string;
7
8
  docLink: string;
8
9
  type: number;
10
+ getValue: ({ commandLine }: {
11
+ commandLine: Record<string, unknown>;
12
+ }) => {
13
+ source: string;
14
+ value: number;
15
+ };
16
+ setConfig: (scale: number) => void;
9
17
  };
10
18
  crfOption: {
11
19
  name: string;
@@ -14,6 +22,13 @@ export declare const allOptions: {
14
22
  ssrName: string;
15
23
  docLink: string;
16
24
  type: number;
25
+ getValue: ({ commandLine }: {
26
+ commandLine: Record<string, unknown>;
27
+ }) => {
28
+ source: string;
29
+ value: import("..").Crf;
30
+ };
31
+ setConfig: (crf: import("..").Crf) => void;
17
32
  };
18
33
  jpegQualityOption: {
19
34
  name: string;
@@ -22,14 +37,28 @@ export declare const allOptions: {
22
37
  ssrName: string;
23
38
  docLink: string;
24
39
  type: number;
40
+ setConfig: (q: number | undefined) => void;
41
+ getValue: ({ commandLine }: {
42
+ commandLine: Record<string, unknown>;
43
+ }) => {
44
+ source: string;
45
+ value: number;
46
+ };
25
47
  };
26
- videoBitrate: {
48
+ videoBitrateOption: {
27
49
  name: string;
28
- cliFlag: string;
50
+ cliFlag: "video-bitrate";
29
51
  description: () => import("react/jsx-runtime").JSX.Element;
30
52
  ssrName: string;
31
53
  docLink: string;
32
54
  type: string | null;
55
+ getValue: ({ commandLine }: {
56
+ commandLine: Record<string, unknown>;
57
+ }) => {
58
+ source: string;
59
+ value: string | null;
60
+ };
61
+ setConfig: (bitrate: string | null) => void;
33
62
  };
34
63
  audioBitrateOption: {
35
64
  name: string;
@@ -38,6 +67,16 @@ export declare const allOptions: {
38
67
  ssrName: string;
39
68
  docLink: string;
40
69
  type: string;
70
+ getValue: ({ commandLine }: {
71
+ commandLine: Record<string, unknown>;
72
+ }) => {
73
+ value: string;
74
+ source: string;
75
+ } | {
76
+ value: null;
77
+ source: string;
78
+ };
79
+ setConfig: (value: string | null) => void;
41
80
  };
42
81
  enforceAudioOption: {
43
82
  name: string;
@@ -46,14 +85,28 @@ export declare const allOptions: {
46
85
  ssrName: string;
47
86
  docLink: string;
48
87
  type: boolean;
88
+ getValue: ({ commandLine }: {
89
+ commandLine: Record<string, unknown>;
90
+ }) => {
91
+ source: string;
92
+ value: boolean;
93
+ };
94
+ setConfig: (value: boolean) => void;
49
95
  };
50
- muteOption: {
96
+ mutedOption: {
51
97
  name: string;
52
- cliFlag: string;
98
+ cliFlag: "muted";
53
99
  description: () => import("react/jsx-runtime").JSX.Element;
54
100
  ssrName: string;
55
101
  docLink: string;
56
102
  type: boolean;
103
+ getValue: ({ commandLine }: {
104
+ commandLine: Record<string, unknown>;
105
+ }) => {
106
+ source: string;
107
+ value: boolean;
108
+ };
109
+ setConfig: () => void;
57
110
  };
58
111
  videoCodecOption: {
59
112
  name: string;
@@ -61,23 +114,48 @@ export declare const allOptions: {
61
114
  description: () => import("react/jsx-runtime").JSX.Element;
62
115
  ssrName: string;
63
116
  docLink: string;
64
- type: string;
117
+ type: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
118
+ getValue: ({ commandLine }: {
119
+ commandLine: Record<string, unknown>;
120
+ }, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
121
+ outName: string | null;
122
+ downloadName: string | null;
123
+ configFile: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
124
+ uiCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
125
+ compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
126
+ }) => {
127
+ value: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
128
+ source: string;
129
+ };
130
+ setConfig: (newCodec: import("..").CodecOrUndefined) => void;
65
131
  };
66
- offthreadVideoCacheSizeInBytes: {
132
+ offthreadVideoCacheSizeInBytesOption: {
67
133
  name: string;
68
134
  cliFlag: "offthreadvideo-cache-size-in-bytes";
69
135
  description: () => import("react/jsx-runtime").JSX.Element;
70
136
  ssrName: "offthreadVideoCacheSizeInBytes";
71
137
  docLink: string;
72
138
  type: number | null;
139
+ getValue: ({ commandLine }: {
140
+ commandLine: Record<string, unknown>;
141
+ }) => {
142
+ source: string;
143
+ value: number;
144
+ } | {
145
+ source: string;
146
+ value: null;
147
+ };
148
+ setConfig: (size: number | null) => void;
73
149
  };
74
150
  webhookCustomDataOption: {
75
151
  name: string;
76
152
  cliFlag: "webhook-custom-data";
77
- description: (type: "ssr" | "cli") => import("react/jsx-runtime").JSX.Element;
153
+ description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
78
154
  ssrName: "customData";
79
155
  docLink: string;
80
156
  type: Record<string, unknown> | null;
157
+ getValue: () => never;
158
+ setConfig: () => never;
81
159
  };
82
160
  colorSpaceOption: {
83
161
  name: string;
@@ -86,6 +164,13 @@ export declare const allOptions: {
86
164
  docLink: string;
87
165
  ssrName: string;
88
166
  type: "default" | "bt709" | "bt2020-ncl";
167
+ getValue: ({ commandLine }: {
168
+ commandLine: Record<string, unknown>;
169
+ }) => {
170
+ source: string;
171
+ value: "default" | "bt709" | "bt2020-ncl";
172
+ };
173
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
89
174
  };
90
175
  deleteAfterOption: {
91
176
  name: string;
@@ -93,7 +178,17 @@ export declare const allOptions: {
93
178
  description: () => import("react/jsx-runtime").JSX.Element;
94
179
  ssrName: "deleteAfter";
95
180
  docLink: string;
96
- type: string | null;
181
+ type: import("./delete-after").DeleteAfter | null;
182
+ getValue: ({ commandLine }: {
183
+ commandLine: Record<string, unknown>;
184
+ }) => {
185
+ source: string;
186
+ value: import("./delete-after").DeleteAfter;
187
+ } | {
188
+ source: string;
189
+ value: null;
190
+ };
191
+ setConfig: (value: import("./delete-after").DeleteAfter | null) => void;
97
192
  };
98
193
  folderExpiryOption: {
99
194
  name: string;
@@ -102,6 +197,13 @@ export declare const allOptions: {
102
197
  ssrName: "enableFolderExpiry";
103
198
  docLink: string;
104
199
  type: boolean | null;
200
+ getValue: ({ commandLine }: {
201
+ commandLine: Record<string, unknown>;
202
+ }) => {
203
+ source: string;
204
+ value: boolean | null;
205
+ };
206
+ setConfig: (value: boolean | null) => void;
105
207
  };
106
208
  enableMultiprocessOnLinuxOption: {
107
209
  name: string;
@@ -110,14 +212,31 @@ export declare const allOptions: {
110
212
  ssrName: string;
111
213
  docLink: string;
112
214
  type: boolean;
215
+ getValue: ({ commandLine }: {
216
+ commandLine: Record<string, unknown>;
217
+ }) => {
218
+ source: string;
219
+ value: boolean;
220
+ };
221
+ setConfig: (value: boolean) => void;
113
222
  };
114
223
  glOption: {
115
224
  cliFlag: "gl";
116
225
  docLink: string;
117
226
  name: string;
118
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
227
+ type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
119
228
  ssrName: string;
120
229
  description: () => import("react/jsx-runtime").JSX.Element;
230
+ getValue: ({ commandLine }: {
231
+ commandLine: Record<string, unknown>;
232
+ }) => {
233
+ value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
234
+ source: string;
235
+ } | {
236
+ value: null;
237
+ source: string;
238
+ };
239
+ setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
121
240
  };
122
241
  enableLambdaInsights: {
123
242
  name: string;
@@ -126,6 +245,13 @@ export declare const allOptions: {
126
245
  ssrName: string;
127
246
  docLink: string;
128
247
  type: boolean;
248
+ setConfig: (value: boolean) => void;
249
+ getValue: ({ commandLine }: {
250
+ commandLine: Record<string, unknown>;
251
+ }) => {
252
+ value: boolean;
253
+ source: string;
254
+ };
129
255
  };
130
256
  encodingMaxRateOption: {
131
257
  name: string;
@@ -134,6 +260,16 @@ export declare const allOptions: {
134
260
  ssrName: "encodingMaxRate";
135
261
  docLink: string;
136
262
  type: string | null;
263
+ getValue: ({ commandLine }: {
264
+ commandLine: Record<string, unknown>;
265
+ }) => {
266
+ value: string;
267
+ source: string;
268
+ } | {
269
+ value: null;
270
+ source: string;
271
+ };
272
+ setConfig: (newMaxRate: string | null) => void;
137
273
  };
138
274
  encodingBufferSizeOption: {
139
275
  name: string;
@@ -142,6 +278,16 @@ export declare const allOptions: {
142
278
  ssrName: "encodingBufferSize";
143
279
  docLink: string;
144
280
  type: string | null;
281
+ getValue: ({ commandLine }: {
282
+ commandLine: Record<string, unknown>;
283
+ }) => {
284
+ value: string;
285
+ source: string;
286
+ } | {
287
+ value: null;
288
+ source: string;
289
+ };
290
+ setConfig: (bitrate: string | null) => void;
145
291
  };
146
292
  beepOnFinishOption: {
147
293
  name: string;
@@ -150,6 +296,13 @@ export declare const allOptions: {
150
296
  ssrName: null;
151
297
  docLink: string;
152
298
  type: boolean;
299
+ getValue: ({ commandLine }: {
300
+ commandLine: Record<string, unknown>;
301
+ }) => {
302
+ value: boolean;
303
+ source: string;
304
+ };
305
+ setConfig(value: boolean): void;
153
306
  };
154
307
  numberOfGifLoopsOption: {
155
308
  name: string;
@@ -158,14 +311,53 @@ export declare const allOptions: {
158
311
  ssrName: "numberOfGifLoops";
159
312
  docLink: string;
160
313
  type: number | null;
314
+ getValue: ({ commandLine }: {
315
+ commandLine: Record<string, unknown>;
316
+ }) => {
317
+ value: number;
318
+ source: string;
319
+ } | {
320
+ value: null;
321
+ source: string;
322
+ };
323
+ setConfig: (newLoop: import("./number-of-gif-loops").NumberOfGifLoops) => void;
161
324
  };
162
325
  reproOption: {
163
326
  name: string;
164
- cliFlag: string;
327
+ cliFlag: "repro";
165
328
  description: () => import("react/jsx-runtime").JSX.Element;
166
329
  ssrName: string;
167
330
  docLink: string;
168
331
  type: boolean;
332
+ getValue: ({ commandLine }: {
333
+ commandLine: Record<string, unknown>;
334
+ }) => {
335
+ value: true;
336
+ source: string;
337
+ } | {
338
+ value: false;
339
+ source: string;
340
+ };
341
+ setConfig: (should: boolean) => void;
342
+ };
343
+ x264Option: {
344
+ name: string;
345
+ cliFlag: "x264-preset";
346
+ description: () => import("react/jsx-runtime").JSX.Element;
347
+ ssrName: "x264Preset";
348
+ docLink: string;
349
+ type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
350
+ getValue: ({ commandLine }: {
351
+ commandLine: Record<string, unknown>;
352
+ }) => {
353
+ value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
354
+ source: string;
355
+ } | {
356
+ value: null;
357
+ source: string;
358
+ };
359
+ setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
169
360
  };
170
361
  };
171
362
  export type AvailableOptions = keyof typeof allOptions;
363
+ export type TypeOfOption<Type> = Type extends AnyRemotionOption<infer X> ? X : never;
@@ -22,16 +22,17 @@ const scale_1 = require("./scale");
22
22
  const video_bitrate_1 = require("./video-bitrate");
23
23
  const video_codec_1 = require("./video-codec");
24
24
  const webhook_custom_data_1 = require("./webhook-custom-data");
25
+ const x264_preset_1 = require("./x264-preset");
25
26
  exports.allOptions = {
26
27
  scaleOption: scale_1.scaleOption,
27
28
  crfOption: crf_1.crfOption,
28
29
  jpegQualityOption: jpeg_quality_1.jpegQualityOption,
29
- videoBitrate: video_bitrate_1.videoBitrate,
30
+ videoBitrateOption: video_bitrate_1.videoBitrateOption,
30
31
  audioBitrateOption: audio_bitrate_1.audioBitrateOption,
31
32
  enforceAudioOption: enforce_audio_1.enforceAudioOption,
32
- muteOption: mute_1.muteOption,
33
+ mutedOption: mute_1.mutedOption,
33
34
  videoCodecOption: video_codec_1.videoCodecOption,
34
- offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytes,
35
+ offthreadVideoCacheSizeInBytesOption: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
35
36
  webhookCustomDataOption: webhook_custom_data_1.webhookCustomDataOption,
36
37
  colorSpaceOption: color_space_1.colorSpaceOption,
37
38
  deleteAfterOption: delete_after_1.deleteAfterOption,
@@ -44,4 +45,5 @@ exports.allOptions = {
44
45
  beepOnFinishOption: beep_on_finish_1.beepOnFinishOption,
45
46
  numberOfGifLoopsOption: number_of_gif_loops_1.numberOfGifLoopsOption,
46
47
  reproOption: repro_1.reproOption,
48
+ x264Option: x264_preset_1.x264Option,
47
49
  };
@@ -1,3 +1,5 @@
1
+ export declare const setJpegQuality: (q: number | undefined) => void;
2
+ export declare const getJpegQuality: () => number;
1
3
  export declare const jpegQualityOption: {
2
4
  name: string;
3
5
  cliFlag: "jpeg-quality";
@@ -5,4 +7,11 @@ export declare const jpegQualityOption: {
5
7
  ssrName: string;
6
8
  docLink: string;
7
9
  type: number;
10
+ setConfig: (q: number | undefined) => void;
11
+ getValue: ({ commandLine }: {
12
+ commandLine: Record<string, unknown>;
13
+ }) => {
14
+ source: string;
15
+ value: number;
16
+ };
8
17
  };