@remotion/renderer 4.0.70 → 4.0.71

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.
@@ -7,6 +7,7 @@ exports.readFile = void 0;
7
7
  const https_1 = __importDefault(require("https"));
8
8
  const node_http_1 = __importDefault(require("node:http"));
9
9
  const redirect_status_codes_1 = require("../redirect-status-codes");
10
+ const truthy_1 = require("../truthy");
10
11
  const getClient = (url) => {
11
12
  if (url.startsWith('https://')) {
12
13
  return https_1.default.get;
@@ -18,7 +19,11 @@ const getClient = (url) => {
18
19
  };
19
20
  const readFileWithoutRedirect = (url) => {
20
21
  return new Promise((resolve, reject) => {
21
- getClient(url)(url, (res) => {
22
+ getClient(url)(url, {
23
+ headers: {
24
+ 'User-Agent': 'Mozilla/5.0 (@remotion/renderer - https://remotion.dev)',
25
+ },
26
+ }, (res) => {
22
27
  resolve(res);
23
28
  }).on('error', (err) => {
24
29
  return reject(err);
@@ -37,8 +42,43 @@ const readFile = async (url, redirectsSoFar = 0) => {
37
42
  return (0, exports.readFile)(file.headers.location, redirectsSoFar + 1);
38
43
  }
39
44
  if (file.statusCode >= 400) {
40
- throw new Error(`Received a status code of ${file.statusCode} while downloading file ${url}`);
45
+ const body = await tryToObtainBody(file);
46
+ throw new Error([
47
+ `Received a status code of ${file.statusCode} while downloading file ${url}.`,
48
+ body ? `The response body was:` : null,
49
+ body ? `---` : null,
50
+ body ? body : null,
51
+ body ? `---` : null,
52
+ ]
53
+ .filter(truthy_1.truthy)
54
+ .join('\n'));
41
55
  }
42
56
  return file;
43
57
  };
44
58
  exports.readFile = readFile;
59
+ const tryToObtainBody = async (file) => {
60
+ const success = new Promise((resolve) => {
61
+ let data = '';
62
+ file.on('data', (chunk) => {
63
+ data += chunk;
64
+ });
65
+ file.on('end', () => {
66
+ resolve(data);
67
+ });
68
+ // OK even when getting an error, this is just a best effort
69
+ file.on('error', () => resolve(data));
70
+ });
71
+ let timeout = null;
72
+ const body = await Promise.race([
73
+ success,
74
+ new Promise((resolve) => {
75
+ timeout = setTimeout(() => {
76
+ resolve(null);
77
+ }, 5000);
78
+ }),
79
+ ]);
80
+ if (timeout) {
81
+ clearTimeout(timeout);
82
+ }
83
+ return body;
84
+ };
package/dist/client.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  export declare const BrowserSafeApis: {
3
- getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => import("./file-extensions").FileExtension;
3
+ getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
4
4
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
5
5
  validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
6
- getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => number;
7
- getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => [number, number];
8
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null | undefined) => boolean;
6
+ getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => number;
7
+ getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
8
+ isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
9
9
  proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
10
10
  x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
11
11
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
@@ -26,11 +26,11 @@ export declare const BrowserSafeApis: {
26
26
  h264: {
27
27
  default: import("./file-extensions").FileExtension;
28
28
  forAudioCodec: {
29
- aac: {
29
+ mp3: {
30
30
  possible: import("./file-extensions").FileExtension[];
31
31
  default: import("./file-extensions").FileExtension;
32
32
  };
33
- mp3: {
33
+ aac: {
34
34
  possible: import("./file-extensions").FileExtension[];
35
35
  default: import("./file-extensions").FileExtension;
36
36
  };
@@ -56,11 +56,11 @@ export declare const BrowserSafeApis: {
56
56
  vp8: {
57
57
  default: import("./file-extensions").FileExtension;
58
58
  forAudioCodec: {
59
- opus: {
59
+ "pcm-16": {
60
60
  possible: import("./file-extensions").FileExtension[];
61
61
  default: import("./file-extensions").FileExtension;
62
62
  };
63
- "pcm-16": {
63
+ opus: {
64
64
  possible: import("./file-extensions").FileExtension[];
65
65
  default: import("./file-extensions").FileExtension;
66
66
  };
@@ -69,20 +69,20 @@ export declare const BrowserSafeApis: {
69
69
  vp9: {
70
70
  default: import("./file-extensions").FileExtension;
71
71
  forAudioCodec: {
72
- opus: {
72
+ "pcm-16": {
73
73
  possible: import("./file-extensions").FileExtension[];
74
74
  default: import("./file-extensions").FileExtension;
75
75
  };
76
- "pcm-16": {
76
+ opus: {
77
77
  possible: import("./file-extensions").FileExtension[];
78
78
  default: import("./file-extensions").FileExtension;
79
79
  };
80
80
  };
81
81
  };
82
- prores: {
82
+ mp3: {
83
83
  default: import("./file-extensions").FileExtension;
84
84
  forAudioCodec: {
85
- aac: {
85
+ mp3: {
86
86
  possible: import("./file-extensions").FileExtension[];
87
87
  default: import("./file-extensions").FileExtension;
88
88
  };
@@ -105,22 +105,22 @@ export declare const BrowserSafeApis: {
105
105
  };
106
106
  };
107
107
  };
108
- mp3: {
108
+ wav: {
109
109
  default: import("./file-extensions").FileExtension;
110
110
  forAudioCodec: {
111
- mp3: {
112
- possible: import("./file-extensions").FileExtension[];
113
- default: import("./file-extensions").FileExtension;
114
- };
115
111
  "pcm-16": {
116
112
  possible: import("./file-extensions").FileExtension[];
117
113
  default: import("./file-extensions").FileExtension;
118
114
  };
119
115
  };
120
116
  };
121
- wav: {
117
+ prores: {
122
118
  default: import("./file-extensions").FileExtension;
123
119
  forAudioCodec: {
120
+ aac: {
121
+ possible: import("./file-extensions").FileExtension[];
122
+ default: import("./file-extensions").FileExtension;
123
+ };
124
124
  "pcm-16": {
125
125
  possible: import("./file-extensions").FileExtension[];
126
126
  default: import("./file-extensions").FileExtension;
@@ -147,37 +147,37 @@ export declare const BrowserSafeApis: {
147
147
  };
148
148
  defaultAudioCodecs: {
149
149
  h264: {
150
- compressed: "aac" | "mp3" | "pcm-16" | null;
151
- lossless: "aac" | "mp3" | "pcm-16" | null;
150
+ compressed: "mp3" | "aac" | "pcm-16" | null;
151
+ lossless: "mp3" | "aac" | "pcm-16" | null;
152
152
  };
153
153
  h265: {
154
154
  compressed: "aac" | "pcm-16" | null;
155
155
  lossless: "aac" | "pcm-16" | null;
156
156
  };
157
157
  vp8: {
158
- compressed: "opus" | "pcm-16" | null;
159
- lossless: "opus" | "pcm-16" | null;
158
+ compressed: "pcm-16" | "opus" | null;
159
+ lossless: "pcm-16" | "opus" | null;
160
160
  };
161
161
  vp9: {
162
- compressed: "opus" | "pcm-16" | null;
163
- lossless: "opus" | "pcm-16" | null;
162
+ compressed: "pcm-16" | "opus" | null;
163
+ lossless: "pcm-16" | "opus" | null;
164
164
  };
165
- prores: {
166
- compressed: "aac" | "pcm-16" | null;
167
- lossless: "aac" | "pcm-16" | null;
165
+ mp3: {
166
+ compressed: "mp3" | "pcm-16" | null;
167
+ lossless: "mp3" | "pcm-16" | null;
168
168
  };
169
169
  aac: {
170
170
  compressed: "aac" | "pcm-16" | null;
171
171
  lossless: "aac" | "pcm-16" | null;
172
172
  };
173
- mp3: {
174
- compressed: "mp3" | "pcm-16" | null;
175
- lossless: "mp3" | "pcm-16" | null;
176
- };
177
173
  wav: {
178
174
  compressed: "pcm-16" | null;
179
175
  lossless: "pcm-16" | null;
180
176
  };
177
+ prores: {
178
+ compressed: "aac" | "pcm-16" | null;
179
+ lossless: "aac" | "pcm-16" | null;
180
+ };
181
181
  "h264-mkv": {
182
182
  compressed: "mp3" | "pcm-16" | null;
183
183
  lossless: "mp3" | "pcm-16" | null;
@@ -187,10 +187,10 @@ export declare const BrowserSafeApis: {
187
187
  lossless: null;
188
188
  };
189
189
  };
190
- defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">;
191
- validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
190
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
191
+ validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
192
192
  codec: T_1;
193
- audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
193
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
194
194
  extension: string;
195
195
  preferLossless: boolean;
196
196
  }) => void;
@@ -281,7 +281,7 @@ export declare const BrowserSafeApis: {
281
281
  description: () => JSX.Element;
282
282
  docLink: string;
283
283
  ssrName: string;
284
- type: "bt709" | "default";
284
+ type: "default" | "bt709";
285
285
  };
286
286
  deleteAfterOption: {
287
287
  name: string;
@@ -311,7 +311,7 @@ export declare const BrowserSafeApis: {
311
311
  cliFlag: string;
312
312
  docLink: string;
313
313
  name: string;
314
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
314
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
315
315
  ssrName: string;
316
316
  description: () => JSX.Element;
317
317
  };
@@ -407,6 +407,6 @@ export declare const BrowserSafeApis: {
407
407
  type: number | null;
408
408
  }];
409
409
  };
410
- codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
411
- codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
410
+ codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
411
+ codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
412
412
  };
@@ -1,6 +1,6 @@
1
1
  import type { AudioCodec } from './audio-codec';
2
2
  import type { Codec } from './codec';
3
3
  import type { FileExtension } from './file-extensions';
4
- export declare const getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
5
- export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif")[]>;
4
+ export declare const getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
5
+ export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
6
6
  export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="react" />
3
+ /// <reference types="node" />
1
4
  import execa from 'execa';
2
5
  import { HeadlessBrowser } from './browser/Browser';
3
6
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
@@ -43,7 +46,7 @@ export { X264Preset } from './x264-preset';
43
46
  export declare const RenderInternals: {
44
47
  ensureLocalBrowser: ({ indent, logLevel, preferredBrowserExecutable, }: {
45
48
  preferredBrowserExecutable: import("./browser-executable").BrowserExecutable;
46
- logLevel: "error" | "verbose" | "info" | "warn";
49
+ logLevel: "verbose" | "info" | "warn" | "error";
47
50
  indent: boolean;
48
51
  }) => Promise<void>;
49
52
  getActualConcurrency: (userPreference: string | number | null) => number;
@@ -52,7 +55,7 @@ export declare const RenderInternals: {
52
55
  downloadMap: import("./assets/download-map").DownloadMap;
53
56
  remotionRoot: string;
54
57
  concurrency: number;
55
- logLevel: "error" | "verbose" | "info" | "warn";
58
+ logLevel: "verbose" | "info" | "warn" | "error";
56
59
  indent: boolean;
57
60
  offthreadVideoCacheSizeInBytes: number | null;
58
61
  }) => Promise<{
@@ -82,7 +85,7 @@ export declare const RenderInternals: {
82
85
  downloaded: number;
83
86
  totalSize: number | null;
84
87
  }) => void) | undefined;
85
- logLevel: "error" | "verbose" | "info" | "warn";
88
+ logLevel: "verbose" | "info" | "warn" | "error";
86
89
  indent: boolean;
87
90
  }, retries?: number, attempt?: number) => Promise<{
88
91
  sizeInBytes: number;
@@ -135,8 +138,8 @@ export declare const RenderInternals: {
135
138
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
136
139
  DEFAULT_BROWSER: "chrome";
137
140
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
138
- DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
139
- validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
141
+ DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
142
+ validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
140
143
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
141
144
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
142
145
  validateJpegQuality: (q: number | undefined) => void;
@@ -144,7 +147,7 @@ export declare const RenderInternals: {
144
147
  DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
145
148
  isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
146
149
  logLevels: readonly ["verbose", "info", "warn", "error"];
147
- isEqualOrBelowLogLevel: (currentLevel: "error" | "verbose" | "info" | "warn", level: "error" | "verbose" | "info" | "warn") => boolean;
150
+ isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
148
151
  isValidLogLevel: (level: string) => boolean;
149
152
  perf: typeof perf;
150
153
  convertToPositiveFrameIndex: ({ frame, durationInFrames, }: {
@@ -165,7 +168,7 @@ export declare const RenderInternals: {
165
168
  audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
166
169
  audioBitrate: string | null;
167
170
  indent: boolean;
168
- logLevel: "error" | "verbose" | "info" | "warn";
171
+ logLevel: "verbose" | "info" | "warn" | "error";
169
172
  }) => Promise<void>;
170
173
  getMinConcurrency: () => number;
171
174
  getMaxConcurrency: () => number;
@@ -311,9 +314,9 @@ export declare const RenderInternals: {
311
314
  };
312
315
  makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
313
316
  defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
314
- getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd", indent: boolean, logLevel: "error" | "verbose" | "info" | "warn") => string;
315
- callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], indent: boolean, logLevel: "error" | "verbose" | "info" | "warn", options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
316
- dynamicLibraryPathOptions: (indent: boolean, logLevel: "error" | "verbose" | "info" | "warn") => {
317
+ getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
318
+ callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], indent: boolean, logLevel: "verbose" | "info" | "warn" | "error", options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
319
+ dynamicLibraryPathOptions: (indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => {
317
320
  env: {
318
321
  DYLD_LIBRARY_PATH: string;
319
322
  RUST_BACKTRACE: string;
@@ -327,8 +330,8 @@ export declare const RenderInternals: {
327
330
  };
328
331
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
329
332
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
330
- DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
331
- DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
333
+ DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
334
+ DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
332
335
  DEFAULT_JPEG_QUALITY: number;
333
336
  chalk: {
334
337
  enabled: () => boolean;
@@ -392,8 +395,8 @@ export declare const RenderInternals: {
392
395
  tag?: string | undefined;
393
396
  }, message?: any, ...optionalParams: any[]) => void;
394
397
  };
395
- getLogLevel: () => "error" | "verbose" | "info" | "warn";
396
- setLogLevel: (newLogLevel: "error" | "verbose" | "info" | "warn") => void;
398
+ getLogLevel: () => "verbose" | "info" | "warn" | "error";
399
+ setLogLevel: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
397
400
  INDENT_TOKEN: string;
398
401
  isColorSupported: () => boolean;
399
402
  HeadlessBrowser: typeof HeadlessBrowser;
@@ -402,7 +405,7 @@ export declare const RenderInternals: {
402
405
  port: number | null;
403
406
  remotionRoot: string;
404
407
  concurrency: number;
405
- logLevel: "error" | "verbose" | "info" | "warn";
408
+ logLevel: "verbose" | "info" | "warn" | "error";
406
409
  indent: boolean;
407
410
  offthreadVideoCacheSizeInBytes: number | null;
408
411
  }) => Promise<import("./prepare-server").RemotionServer>;
@@ -411,7 +414,7 @@ export declare const RenderInternals: {
411
414
  port: number | null;
412
415
  remotionRoot: string;
413
416
  concurrency: number;
414
- logLevel: "error" | "verbose" | "info" | "warn";
417
+ logLevel: "verbose" | "info" | "warn" | "error";
415
418
  indent: boolean;
416
419
  offthreadVideoCacheSizeInBytes: number | null;
417
420
  }, { onDownload, onError, }: {
@@ -427,7 +430,7 @@ export declare const RenderInternals: {
427
430
  frame: number;
428
431
  serializedInputPropsWithCustomSchema: string;
429
432
  serializedResolvedPropsWithCustomSchema: string;
430
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
433
+ imageFormat: "jpeg" | "png" | "webp" | "pdf";
431
434
  jpegQuality: number;
432
435
  puppeteerInstance: HeadlessBrowser | null;
433
436
  envVariables: Record<string, string>;
@@ -441,7 +444,7 @@ export declare const RenderInternals: {
441
444
  cancelSignal: import("./make-cancel-signal").CancelSignal | null;
442
445
  indent: boolean;
443
446
  server: import("./prepare-server").RemotionServer | undefined;
444
- logLevel: "error" | "verbose" | "info" | "warn";
447
+ logLevel: "verbose" | "info" | "warn" | "error";
445
448
  serveUrl: string;
446
449
  port: number | null;
447
450
  offthreadVideoCacheSizeInBytes: number | null;
@@ -462,7 +465,7 @@ export declare const RenderInternals: {
462
465
  viewport: import("./browser/PuppeteerViewport").Viewport | null;
463
466
  indent: boolean;
464
467
  browser: "chrome";
465
- logLevel: "error" | "verbose" | "info" | "warn";
468
+ logLevel: "verbose" | "info" | "warn" | "error";
466
469
  }) => Promise<HeadlessBrowser>;
467
470
  internalSelectComposition: (options: {
468
471
  serializedInputPropsWithCustomSchema: string;
@@ -475,7 +478,7 @@ export declare const RenderInternals: {
475
478
  port: number | null;
476
479
  indent: boolean;
477
480
  server: import("./prepare-server").RemotionServer | undefined;
478
- logLevel: "error" | "verbose" | "info" | "warn";
481
+ logLevel: "verbose" | "info" | "warn" | "error";
479
482
  serveUrl: string;
480
483
  id: string;
481
484
  } & import("./options/option").ToOptions<readonly [{
@@ -500,7 +503,7 @@ export declare const RenderInternals: {
500
503
  port: number | null;
501
504
  server: import("./prepare-server").RemotionServer | undefined;
502
505
  indent: boolean;
503
- logLevel: "error" | "verbose" | "info" | "warn";
506
+ logLevel: "verbose" | "info" | "warn" | "error";
504
507
  serveUrlOrWebpackUrl: string;
505
508
  } & import("./options/option").ToOptions<readonly [{
506
509
  name: string;
@@ -516,12 +519,12 @@ export declare const RenderInternals: {
516
519
  slowestFrames: import("./render-media").SlowFrame[];
517
520
  }>;
518
521
  validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
519
- copyImageToClipboard: (src: string, logLevel: "error" | "verbose" | "info" | "warn") => Promise<void>;
522
+ copyImageToClipboard: (src: string, logLevel: "verbose" | "info" | "warn" | "error") => Promise<void>;
520
523
  isIpV6Supported: (flattened: import("os").NetworkInterfaceInfo[]) => boolean;
521
524
  getChromiumGpuInformation: ({ browserExecutable, indent, logLevel, chromiumOptions, }: {
522
525
  browserExecutable: import("./browser-executable").BrowserExecutable;
523
526
  indent: boolean;
524
- logLevel: "error" | "verbose" | "info" | "warn";
527
+ logLevel: "verbose" | "info" | "warn" | "error";
525
528
  chromiumOptions: import("./open-browser").ChromiumOptions;
526
529
  }) => Promise<{
527
530
  feature: string;
@@ -7,6 +7,6 @@ export declare const colorSpaceOption: {
7
7
  description: () => JSX.Element;
8
8
  docLink: string;
9
9
  ssrName: string;
10
- type: "bt709" | "default";
10
+ type: "default" | "bt709";
11
11
  };
12
12
  export declare const validateColorSpace: (option: unknown) => void;
@@ -4,7 +4,7 @@ export declare const glOption: {
4
4
  cliFlag: string;
5
5
  docLink: string;
6
6
  name: string;
7
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
7
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
8
8
  ssrName: string;
9
9
  description: () => JSX.Element;
10
10
  };
@@ -86,7 +86,7 @@ export declare const allOptions: {
86
86
  description: () => JSX.Element;
87
87
  docLink: string;
88
88
  ssrName: string;
89
- type: "bt709" | "default";
89
+ type: "default" | "bt709";
90
90
  };
91
91
  deleteAfterOption: {
92
92
  name: string;
@@ -116,7 +116,7 @@ export declare const allOptions: {
116
116
  cliFlag: string;
117
117
  docLink: string;
118
118
  name: string;
119
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
119
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
120
120
  ssrName: string;
121
121
  description: () => JSX.Element;
122
122
  };
@@ -1,5 +1,5 @@
1
1
  import type { AudioCodec } from './audio-codec';
2
- export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
2
+ export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
3
3
  codec: T;
4
4
  audioCodec: AudioCodec | null;
5
5
  extension: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.70",
3
+ "version": "4.0.71",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "extract-zip": "2.0.1",
19
19
  "source-map": "^0.8.0-beta.0",
20
20
  "ws": "8.7.0",
21
- "remotion": "4.0.70"
21
+ "remotion": "4.0.71"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": ">=16.8.0",
@@ -40,13 +40,13 @@
40
40
  "vitest": "0.31.1"
41
41
  },
42
42
  "optionalDependencies": {
43
- "@remotion/compositor-darwin-arm64": "4.0.70",
44
- "@remotion/compositor-darwin-x64": "4.0.70",
45
- "@remotion/compositor-linux-arm64-gnu": "4.0.70",
46
- "@remotion/compositor-linux-arm64-musl": "4.0.70",
47
- "@remotion/compositor-linux-x64-musl": "4.0.70",
48
- "@remotion/compositor-win32-x64-msvc": "4.0.70",
49
- "@remotion/compositor-linux-x64-gnu": "4.0.70"
43
+ "@remotion/compositor-darwin-arm64": "4.0.71",
44
+ "@remotion/compositor-darwin-x64": "4.0.71",
45
+ "@remotion/compositor-linux-arm64-gnu": "4.0.71",
46
+ "@remotion/compositor-linux-arm64-musl": "4.0.71",
47
+ "@remotion/compositor-linux-x64-musl": "4.0.71",
48
+ "@remotion/compositor-win32-x64-msvc": "4.0.71",
49
+ "@remotion/compositor-linux-x64-gnu": "4.0.71"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",