@remotion/renderer 4.0.40 → 4.0.41

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.
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
3
+ getFileExtensionFromCodec: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "pcm-16" | "aac" | "mp3" | "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" | "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" | undefined) => boolean;
6
+ getDefaultCrfForCodec: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif") => number;
7
+ getValidCrfRanges: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
8
+ isAudioCodec: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif" | 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"];
@@ -23,10 +23,10 @@ export declare const BrowserSafeApis: {
23
23
  readonly wav: readonly ["pcm-16"];
24
24
  };
25
25
  defaultFileExtensionMap: {
26
- h264: {
26
+ aac: {
27
27
  default: import("./file-extensions").FileExtension;
28
28
  forAudioCodec: {
29
- mp3: {
29
+ "pcm-16": {
30
30
  possible: import("./file-extensions").FileExtension[];
31
31
  default: import("./file-extensions").FileExtension;
32
32
  };
@@ -34,72 +34,72 @@ export declare const BrowserSafeApis: {
34
34
  possible: import("./file-extensions").FileExtension[];
35
35
  default: import("./file-extensions").FileExtension;
36
36
  };
37
- "pcm-16": {
38
- possible: import("./file-extensions").FileExtension[];
39
- default: import("./file-extensions").FileExtension;
40
- };
41
37
  };
42
38
  };
43
- h265: {
39
+ mp3: {
44
40
  default: import("./file-extensions").FileExtension;
45
41
  forAudioCodec: {
46
- aac: {
42
+ "pcm-16": {
47
43
  possible: import("./file-extensions").FileExtension[];
48
44
  default: import("./file-extensions").FileExtension;
49
45
  };
50
- "pcm-16": {
46
+ mp3: {
51
47
  possible: import("./file-extensions").FileExtension[];
52
48
  default: import("./file-extensions").FileExtension;
53
49
  };
54
50
  };
55
51
  };
56
- vp8: {
52
+ h264: {
57
53
  default: import("./file-extensions").FileExtension;
58
54
  forAudioCodec: {
59
55
  "pcm-16": {
60
56
  possible: import("./file-extensions").FileExtension[];
61
57
  default: import("./file-extensions").FileExtension;
62
58
  };
63
- opus: {
59
+ aac: {
60
+ possible: import("./file-extensions").FileExtension[];
61
+ default: import("./file-extensions").FileExtension;
62
+ };
63
+ mp3: {
64
64
  possible: import("./file-extensions").FileExtension[];
65
65
  default: import("./file-extensions").FileExtension;
66
66
  };
67
67
  };
68
68
  };
69
- vp9: {
69
+ h265: {
70
70
  default: import("./file-extensions").FileExtension;
71
71
  forAudioCodec: {
72
72
  "pcm-16": {
73
73
  possible: import("./file-extensions").FileExtension[];
74
74
  default: import("./file-extensions").FileExtension;
75
75
  };
76
- opus: {
76
+ aac: {
77
77
  possible: import("./file-extensions").FileExtension[];
78
78
  default: import("./file-extensions").FileExtension;
79
79
  };
80
80
  };
81
81
  };
82
- mp3: {
82
+ vp8: {
83
83
  default: import("./file-extensions").FileExtension;
84
84
  forAudioCodec: {
85
- mp3: {
85
+ "pcm-16": {
86
86
  possible: import("./file-extensions").FileExtension[];
87
87
  default: import("./file-extensions").FileExtension;
88
88
  };
89
- "pcm-16": {
89
+ opus: {
90
90
  possible: import("./file-extensions").FileExtension[];
91
91
  default: import("./file-extensions").FileExtension;
92
92
  };
93
93
  };
94
94
  };
95
- aac: {
95
+ vp9: {
96
96
  default: import("./file-extensions").FileExtension;
97
97
  forAudioCodec: {
98
- aac: {
98
+ "pcm-16": {
99
99
  possible: import("./file-extensions").FileExtension[];
100
100
  default: import("./file-extensions").FileExtension;
101
101
  };
102
- "pcm-16": {
102
+ opus: {
103
103
  possible: import("./file-extensions").FileExtension[];
104
104
  default: import("./file-extensions").FileExtension;
105
105
  };
@@ -117,11 +117,11 @@ export declare const BrowserSafeApis: {
117
117
  prores: {
118
118
  default: import("./file-extensions").FileExtension;
119
119
  forAudioCodec: {
120
- aac: {
120
+ "pcm-16": {
121
121
  possible: import("./file-extensions").FileExtension[];
122
122
  default: import("./file-extensions").FileExtension;
123
123
  };
124
- "pcm-16": {
124
+ aac: {
125
125
  possible: import("./file-extensions").FileExtension[];
126
126
  default: import("./file-extensions").FileExtension;
127
127
  };
@@ -130,11 +130,11 @@ export declare const BrowserSafeApis: {
130
130
  "h264-mkv": {
131
131
  default: import("./file-extensions").FileExtension;
132
132
  forAudioCodec: {
133
- mp3: {
133
+ "pcm-16": {
134
134
  possible: import("./file-extensions").FileExtension[];
135
135
  default: import("./file-extensions").FileExtension;
136
136
  };
137
- "pcm-16": {
137
+ mp3: {
138
138
  possible: import("./file-extensions").FileExtension[];
139
139
  default: import("./file-extensions").FileExtension;
140
140
  };
@@ -146,13 +146,21 @@ export declare const BrowserSafeApis: {
146
146
  };
147
147
  };
148
148
  defaultAudioCodecs: {
149
+ aac: {
150
+ compressed: "pcm-16" | "aac" | null;
151
+ lossless: "pcm-16" | "aac" | null;
152
+ };
153
+ mp3: {
154
+ compressed: "pcm-16" | "mp3" | null;
155
+ lossless: "pcm-16" | "mp3" | null;
156
+ };
149
157
  h264: {
150
- compressed: "mp3" | "aac" | "pcm-16" | null;
151
- lossless: "mp3" | "aac" | "pcm-16" | null;
158
+ compressed: "pcm-16" | "aac" | "mp3" | null;
159
+ lossless: "pcm-16" | "aac" | "mp3" | null;
152
160
  };
153
161
  h265: {
154
- compressed: "aac" | "pcm-16" | null;
155
- lossless: "aac" | "pcm-16" | null;
162
+ compressed: "pcm-16" | "aac" | null;
163
+ lossless: "pcm-16" | "aac" | null;
156
164
  };
157
165
  vp8: {
158
166
  compressed: "pcm-16" | "opus" | null;
@@ -162,35 +170,27 @@ export declare const BrowserSafeApis: {
162
170
  compressed: "pcm-16" | "opus" | null;
163
171
  lossless: "pcm-16" | "opus" | null;
164
172
  };
165
- mp3: {
166
- compressed: "mp3" | "pcm-16" | null;
167
- lossless: "mp3" | "pcm-16" | null;
168
- };
169
- aac: {
170
- compressed: "aac" | "pcm-16" | null;
171
- lossless: "aac" | "pcm-16" | null;
172
- };
173
173
  wav: {
174
174
  compressed: "pcm-16" | null;
175
175
  lossless: "pcm-16" | null;
176
176
  };
177
177
  prores: {
178
- compressed: "aac" | "pcm-16" | null;
179
- lossless: "aac" | "pcm-16" | null;
178
+ compressed: "pcm-16" | "aac" | null;
179
+ lossless: "pcm-16" | "aac" | null;
180
180
  };
181
181
  "h264-mkv": {
182
- compressed: "mp3" | "pcm-16" | null;
183
- lossless: "mp3" | "pcm-16" | null;
182
+ compressed: "pcm-16" | "mp3" | null;
183
+ lossless: "pcm-16" | "mp3" | null;
184
184
  };
185
185
  gif: {
186
186
  compressed: null;
187
187
  lossless: null;
188
188
  };
189
189
  };
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, }: {
190
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">;
191
+ validateOutputFilename: <T_1 extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
192
192
  codec: T_1;
193
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
193
+ audioCodec: "pcm-16" | "aac" | "mp3" | "opus" | null;
194
194
  extension: string;
195
195
  preferLossless: boolean;
196
196
  }) => void;
@@ -383,6 +383,6 @@ export declare const BrowserSafeApis: {
383
383
  type: number | null;
384
384
  }];
385
385
  };
386
- codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
387
- codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
386
+ codecSupportsCrf: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
387
+ codecSupportsVideoBitrate: (codec: "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
388
388
  };
@@ -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" | "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")[]>;
4
+ export declare const getFileExtensionFromCodec: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
5
+ export declare const makeFileExtensionMap: () => Record<string, ("aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
6
6
  export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
@@ -3,6 +3,6 @@ import type { LogLevel } from './log-level';
3
3
  export declare const getSilentParts: ({ src, noiseThresholdInDecibels: passedNoiseThresholdInDecibels, minDurationInSeconds: passedMinDuration, logLevel, }: {
4
4
  src: string;
5
5
  minDurationInSeconds?: number | undefined;
6
- logLevel?: "error" | "verbose" | "info" | "warn" | undefined;
6
+ logLevel?: "verbose" | "info" | "warn" | "error" | undefined;
7
7
  noiseThresholdInDecibels?: number | undefined;
8
8
  }) => Promise<GetSilentPartsResponse>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="react" />
3
1
  import execa from 'execa';
4
2
  import { HeadlessBrowser } from './browser/Browser';
5
3
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
@@ -48,7 +46,7 @@ export declare const RenderInternals: {
48
46
  downloadMap: import("./assets/download-map").DownloadMap;
49
47
  remotionRoot: string;
50
48
  concurrency: number;
51
- logLevel: "error" | "verbose" | "info" | "warn";
49
+ logLevel: "verbose" | "info" | "warn" | "error";
52
50
  indent: boolean;
53
51
  offthreadVideoCacheSizeInBytes: number | null;
54
52
  }) => Promise<{
@@ -123,8 +121,8 @@ export declare const RenderInternals: {
123
121
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
124
122
  DEFAULT_BROWSER: "chrome";
125
123
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
126
- DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | null;
127
- validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | null) => "angle" | "swangle" | "egl" | "swiftshader" | null;
124
+ DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | null;
125
+ validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | null) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | null;
128
126
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
129
127
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
130
128
  validateJpegQuality: (q: number | undefined) => void;
@@ -132,7 +130,7 @@ export declare const RenderInternals: {
132
130
  DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
133
131
  isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
134
132
  logLevels: readonly ["verbose", "info", "warn", "error"];
135
- isEqualOrBelowLogLevel: (currentLevel: "error" | "verbose" | "info" | "warn", level: "error" | "verbose" | "info" | "warn") => boolean;
133
+ isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
136
134
  isValidLogLevel: (level: string) => boolean;
137
135
  perf: typeof perf;
138
136
  convertToPositiveFrameIndex: ({ frame, durationInFrames, }: {
@@ -312,8 +310,8 @@ export declare const RenderInternals: {
312
310
  };
313
311
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
314
312
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
315
- DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
316
- DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
313
+ DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
314
+ DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
317
315
  DEFAULT_JPEG_QUALITY: number;
318
316
  chalk: {
319
317
  enabled: () => boolean;
@@ -369,30 +367,30 @@ export declare const RenderInternals: {
369
367
  verbose: (message?: any, ...optionalParams: any[]) => void;
370
368
  verboseAdvanced: (options: {
371
369
  indent: boolean;
372
- logLevel: "error" | "verbose" | "info" | "warn";
370
+ logLevel: "verbose" | "info" | "warn" | "error";
373
371
  } & {
374
372
  tag?: string | undefined;
375
373
  }, message?: any, ...optionalParams: any[]) => void;
376
374
  info: (message?: any, ...optionalParams: any[]) => void;
377
375
  infoAdvanced: (options: {
378
376
  indent: boolean;
379
- logLevel: "error" | "verbose" | "info" | "warn";
377
+ logLevel: "verbose" | "info" | "warn" | "error";
380
378
  }, message?: any, ...optionalParams: any[]) => void;
381
379
  warn: (message?: any, ...optionalParams: any[]) => void;
382
380
  warnAdvanced: (options: {
383
381
  indent: boolean;
384
- logLevel: "error" | "verbose" | "info" | "warn";
382
+ logLevel: "verbose" | "info" | "warn" | "error";
385
383
  }, message?: any, ...optionalParams: any[]) => void;
386
384
  error: (message?: any, ...optionalParams: any[]) => void;
387
385
  errorAdvanced: (options: {
388
386
  indent: boolean;
389
- logLevel: "error" | "verbose" | "info" | "warn";
387
+ logLevel: "verbose" | "info" | "warn" | "error";
390
388
  } & {
391
389
  tag?: string | undefined;
392
390
  }, message?: any, ...optionalParams: any[]) => void;
393
391
  };
394
- getLogLevel: () => "error" | "verbose" | "info" | "warn";
395
- setLogLevel: (newLogLevel: "error" | "verbose" | "info" | "warn") => void;
392
+ getLogLevel: () => "verbose" | "info" | "warn" | "error";
393
+ setLogLevel: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
396
394
  INDENT_TOKEN: string;
397
395
  isColorSupported: () => boolean;
398
396
  HeadlessBrowser: typeof HeadlessBrowser;
@@ -401,7 +399,7 @@ export declare const RenderInternals: {
401
399
  port: number | null;
402
400
  remotionRoot: string;
403
401
  concurrency: number;
404
- logLevel: "error" | "verbose" | "info" | "warn";
402
+ logLevel: "verbose" | "info" | "warn" | "error";
405
403
  indent: boolean;
406
404
  offthreadVideoCacheSizeInBytes: number | null;
407
405
  }) => Promise<import("./prepare-server").RemotionServer>;
@@ -410,7 +408,7 @@ export declare const RenderInternals: {
410
408
  port: number | null;
411
409
  remotionRoot: string;
412
410
  concurrency: number;
413
- logLevel: "error" | "verbose" | "info" | "warn";
411
+ logLevel: "verbose" | "info" | "warn" | "error";
414
412
  indent: boolean;
415
413
  offthreadVideoCacheSizeInBytes: number | null;
416
414
  }, { onDownload, onError, }: {
@@ -426,7 +424,7 @@ export declare const RenderInternals: {
426
424
  frame: number;
427
425
  serializedInputPropsWithCustomSchema: string;
428
426
  serializedResolvedPropsWithCustomSchema: string;
429
- imageFormat: "jpeg" | "png" | "webp" | "pdf";
427
+ imageFormat: "png" | "jpeg" | "pdf" | "webp";
430
428
  jpegQuality: number;
431
429
  puppeteerInstance: HeadlessBrowser | null;
432
430
  envVariables: Record<string, string>;
@@ -440,7 +438,7 @@ export declare const RenderInternals: {
440
438
  cancelSignal: import("./make-cancel-signal").CancelSignal | null;
441
439
  indent: boolean;
442
440
  server: import("./prepare-server").RemotionServer | undefined;
443
- logLevel: "error" | "verbose" | "info" | "warn";
441
+ logLevel: "verbose" | "info" | "warn" | "error";
444
442
  serveUrl: string;
445
443
  port: number | null;
446
444
  offthreadVideoCacheSizeInBytes: number | null;
@@ -461,7 +459,7 @@ export declare const RenderInternals: {
461
459
  viewport: import("./browser/PuppeteerViewport").Viewport | null;
462
460
  indent: boolean;
463
461
  browser: "chrome";
464
- logLevel: "error" | "verbose" | "info" | "warn";
462
+ logLevel: "verbose" | "info" | "warn" | "error";
465
463
  }) => Promise<HeadlessBrowser>;
466
464
  internalSelectComposition: (options: {
467
465
  serializedInputPropsWithCustomSchema: string;
@@ -474,7 +472,7 @@ export declare const RenderInternals: {
474
472
  port: number | null;
475
473
  indent: boolean;
476
474
  server: import("./prepare-server").RemotionServer | undefined;
477
- logLevel: "error" | "verbose" | "info" | "warn";
475
+ logLevel: "verbose" | "info" | "warn" | "error";
478
476
  serveUrl: string;
479
477
  id: string;
480
478
  } & import("./options/option").ToOptions<readonly [{
@@ -499,7 +497,7 @@ export declare const RenderInternals: {
499
497
  port: number | null;
500
498
  server: import("./prepare-server").RemotionServer | undefined;
501
499
  indent: boolean;
502
- logLevel: "error" | "verbose" | "info" | "warn";
500
+ logLevel: "verbose" | "info" | "warn" | "error";
503
501
  serveUrlOrWebpackUrl: string;
504
502
  } & import("./options/option").ToOptions<readonly [{
505
503
  name: string;
@@ -514,6 +512,6 @@ export declare const RenderInternals: {
514
512
  buffer: Buffer | null;
515
513
  slowestFrames: import("./render-media").SlowFrame[];
516
514
  }>;
517
- validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
518
- copyImageToClipboard: (src: string, logLevel: "error" | "verbose" | "info" | "warn") => Promise<void>;
515
+ validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan"];
516
+ copyImageToClipboard: (src: string, logLevel: "verbose" | "info" | "warn" | "error") => Promise<void>;
519
517
  };
package/dist/logger.d.ts CHANGED
@@ -19,6 +19,6 @@ export declare const Log: {
19
19
  error: (message?: any, ...optionalParams: any[]) => void;
20
20
  errorAdvanced: (options: VerboseLogOptions, message?: any, ...optionalParams: any[]) => void;
21
21
  };
22
- export declare const getLogLevel: () => "error" | "verbose" | "info" | "warn";
22
+ export declare const getLogLevel: () => "verbose" | "info" | "warn" | "error";
23
23
  export declare const setLogLevel: (newLogLevel: LogLevel) => void;
24
24
  export {};
@@ -2,7 +2,7 @@ import type { Browser } from './browser';
2
2
  import type { HeadlessBrowser } from './browser/Browser';
3
3
  import type { Viewport } from './browser/PuppeteerViewport';
4
4
  import { type LogLevel } from './log-level';
5
- declare const validRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
5
+ declare const validRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan"];
6
6
  type OpenGlRenderer = (typeof validRenderers)[number];
7
7
  export type ChromiumOptions = {
8
8
  ignoreCertificateErrors?: boolean;
@@ -6,13 +6,28 @@ const get_local_browser_executable_1 = require("./get-local-browser-executable")
6
6
  const get_video_threads_flag_1 = require("./get-video-threads-flag");
7
7
  const log_level_1 = require("./log-level");
8
8
  const validate_opengl_renderer_1 = require("./validate-opengl-renderer");
9
- const validRenderers = ['swangle', 'angle', 'egl', 'swiftshader'];
9
+ const validRenderers = [
10
+ 'swangle',
11
+ 'angle',
12
+ 'egl',
13
+ 'swiftshader',
14
+ 'vulkan',
15
+ ];
10
16
  const getOpenGlRenderer = (option) => {
11
17
  const renderer = option !== null && option !== void 0 ? option : validate_opengl_renderer_1.DEFAULT_OPENGL_RENDERER;
12
18
  (0, validate_opengl_renderer_1.validateOpenGlRenderer)(renderer);
13
19
  if (renderer === 'swangle') {
14
20
  return [`--use-gl=angle`, `--use-angle=swiftshader`];
15
21
  }
22
+ if (renderer === 'vulkan') {
23
+ return [
24
+ '--use-angle=vulkan',
25
+ `--use-vulkan=swiftshader`,
26
+ '--disable-vulkan-fallback-to-gl-for-testing',
27
+ '--dignore-gpu-blocklist',
28
+ '--enable-features=Vulkan,UseSkiaRenderer',
29
+ ];
30
+ }
16
31
  if (renderer === null) {
17
32
  return [];
18
33
  }
@@ -79,7 +94,9 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
79
94
  '--disable-setuid-sandbox',
80
95
  ...customGlRenderer,
81
96
  '--disable-background-media-suspend',
82
- process.platform === 'linux' ? '--single-process' : null,
97
+ process.platform === 'linux' && chromiumOptions.gl !== 'vulkan'
98
+ ? '--single-process'
99
+ : null,
83
100
  '--allow-running-insecure-content',
84
101
  '--disable-component-update',
85
102
  '--disable-domain-reliability',
@@ -1,4 +1,4 @@
1
- export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
1
+ export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan"];
2
2
  export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
3
3
  export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
4
4
  export declare const validateOpenGlRenderer: (option: OpenGlRenderer | null) => OpenGlRenderer | null;
@@ -6,6 +6,7 @@ exports.validOpenGlRenderers = [
6
6
  'angle',
7
7
  'egl',
8
8
  'swiftshader',
9
+ 'vulkan',
9
10
  ];
10
11
  exports.DEFAULT_OPENGL_RENDERER = null;
11
12
  const validateOpenGlRenderer = (option) => {
@@ -1,5 +1,5 @@
1
1
  import type { AudioCodec } from './audio-codec';
2
- export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
2
+ export declare const validateOutputFilename: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "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.40",
3
+ "version": "4.0.41",
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.40"
21
+ "remotion": "4.0.41"
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.40",
44
- "@remotion/compositor-darwin-x64": "4.0.40",
45
- "@remotion/compositor-linux-x64-gnu": "4.0.40",
46
- "@remotion/compositor-linux-arm64-musl": "4.0.40",
47
- "@remotion/compositor-linux-arm64-gnu": "4.0.40",
48
- "@remotion/compositor-win32-x64-msvc": "4.0.40",
49
- "@remotion/compositor-linux-x64-musl": "4.0.40"
43
+ "@remotion/compositor-darwin-arm64": "4.0.41",
44
+ "@remotion/compositor-linux-arm64-musl": "4.0.41",
45
+ "@remotion/compositor-linux-arm64-gnu": "4.0.41",
46
+ "@remotion/compositor-linux-x64-gnu": "4.0.41",
47
+ "@remotion/compositor-win32-x64-msvc": "4.0.41",
48
+ "@remotion/compositor-linux-x64-musl": "4.0.41",
49
+ "@remotion/compositor-darwin-x64": "4.0.41"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",
@@ -1,8 +0,0 @@
1
- export declare const deleteAfterOption: {
2
- name: string;
3
- cliFlag: "delete-after";
4
- description: () => JSX.Element;
5
- ssrName: "deleteAfter";
6
- docLink: string;
7
- type: number | null;
8
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteAfterOption = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- exports.deleteAfterOption = {
6
- name: 'Render expiry days',
7
- cliFlag: 'delete-after',
8
- description: () => {
9
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Automatically delete the render after a certain period. Accepted values are ", (0, jsx_runtime_1.jsx)("code", { children: "1-day" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "3-days" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "7-days" }), " and", ' ', (0, jsx_runtime_1.jsx)("code", { children: "30-days" }), ".", (0, jsx_runtime_1.jsx)("br", {}), " For this to work, your bucket needs to have", ' ', (0, jsx_runtime_1.jsx)("a", { href: "/docs/lambda/autodelete", children: "lifecycles enabled" }), "."] }));
10
- },
11
- ssrName: 'deleteAfter',
12
- docLink: 'https://www.remotion.dev/docs/autodelete',
13
- type: 0,
14
- };
@@ -1,7 +0,0 @@
1
- import type { Codec } from './codec';
2
- export declare const x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
3
- export type x264Preset = typeof x264PresetOptions[number];
4
- export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Preset, }: {
5
- codec: Codec;
6
- x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
7
- }) => void;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSelectedCodecAndPresetCombination = exports.x264PresetOptions = void 0;
4
- exports.x264PresetOptions = [
5
- 'ultrafast',
6
- 'superfast',
7
- 'veryfast',
8
- 'faster',
9
- 'fast',
10
- 'medium',
11
- 'slow',
12
- 'slower',
13
- 'veryslow',
14
- 'placebo',
15
- ];
16
- const validateSelectedCodecAndPresetCombination = ({ codec, x264Preset, }) => {
17
- if (typeof x264Preset !== 'undefined' && codec !== 'h264') {
18
- throw new TypeError(`You have set a Preset profile but the codec is "${codec}". Set the codec to "h264" or remove the Preset profile.`);
19
- }
20
- if (x264Preset !== undefined &&
21
- !exports.x264PresetOptions.includes(x264Preset)) {
22
- throw new TypeError(`The Preset profile "${x264Preset}" is not valid. Valid options are ${exports.x264PresetOptions
23
- .map((p) => `"${p}"`)
24
- .join(', ')}`);
25
- }
26
- };
27
- exports.validateSelectedCodecAndPresetCombination = validateSelectedCodecAndPresetCombination;