@remotion/renderer 4.0.41 → 4.0.43
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 +63 -55
- package/dist/client.js +2 -0
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/index.d.ts +24 -21
- package/dist/open-browser.d.ts +1 -0
- package/dist/open-browser.js +3 -1
- package/dist/options/color-space.d.ts +1 -1
- package/dist/options/enable-multiprocess-on-linux.d.ts +9 -0
- package/dist/options/enable-multiprocess-on-linux.js +12 -0
- package/dist/options/render-expiry-days.d.ts +8 -0
- package/dist/options/render-expiry-days.js +14 -0
- package/dist/presets-profile.d.ts +7 -0
- package/dist/presets-profile.js +27 -0
- package/dist/prespawn-ffmpeg.js +1 -0
- package/dist/render-media.js +1 -0
- package/dist/stitch-frames-to-video.js +1 -0
- package/dist/validate-even-dimensions-with-codec.d.ts +2 -1
- package/dist/validate-even-dimensions-with-codec.js +4 -1
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +9 -9
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 "
|
|
3
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "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: "
|
|
7
|
-
getValidCrfRanges: (codec: "
|
|
8
|
-
isAudioCodec: (codec: "
|
|
6
|
+
getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif") => number;
|
|
7
|
+
getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif") => [number, number];
|
|
8
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "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
|
-
|
|
26
|
+
h264: {
|
|
27
27
|
default: import("./file-extensions").FileExtension;
|
|
28
28
|
forAudioCodec: {
|
|
29
|
-
|
|
29
|
+
mp3: {
|
|
30
30
|
possible: import("./file-extensions").FileExtension[];
|
|
31
31
|
default: import("./file-extensions").FileExtension;
|
|
32
32
|
};
|
|
@@ -34,107 +34,107 @@ 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
|
+
};
|
|
37
41
|
};
|
|
38
42
|
};
|
|
39
|
-
|
|
43
|
+
h265: {
|
|
40
44
|
default: import("./file-extensions").FileExtension;
|
|
41
45
|
forAudioCodec: {
|
|
42
|
-
|
|
46
|
+
aac: {
|
|
43
47
|
possible: import("./file-extensions").FileExtension[];
|
|
44
48
|
default: import("./file-extensions").FileExtension;
|
|
45
49
|
};
|
|
46
|
-
|
|
50
|
+
"pcm-16": {
|
|
47
51
|
possible: import("./file-extensions").FileExtension[];
|
|
48
52
|
default: import("./file-extensions").FileExtension;
|
|
49
53
|
};
|
|
50
54
|
};
|
|
51
55
|
};
|
|
52
|
-
|
|
56
|
+
vp8: {
|
|
53
57
|
default: import("./file-extensions").FileExtension;
|
|
54
58
|
forAudioCodec: {
|
|
55
59
|
"pcm-16": {
|
|
56
60
|
possible: import("./file-extensions").FileExtension[];
|
|
57
61
|
default: import("./file-extensions").FileExtension;
|
|
58
62
|
};
|
|
59
|
-
|
|
60
|
-
possible: import("./file-extensions").FileExtension[];
|
|
61
|
-
default: import("./file-extensions").FileExtension;
|
|
62
|
-
};
|
|
63
|
-
mp3: {
|
|
63
|
+
opus: {
|
|
64
64
|
possible: import("./file-extensions").FileExtension[];
|
|
65
65
|
default: import("./file-extensions").FileExtension;
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
|
-
|
|
69
|
+
vp9: {
|
|
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
|
-
|
|
76
|
+
opus: {
|
|
77
77
|
possible: import("./file-extensions").FileExtension[];
|
|
78
78
|
default: import("./file-extensions").FileExtension;
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
81
|
};
|
|
82
|
-
|
|
82
|
+
prores: {
|
|
83
83
|
default: import("./file-extensions").FileExtension;
|
|
84
84
|
forAudioCodec: {
|
|
85
|
-
|
|
85
|
+
aac: {
|
|
86
86
|
possible: import("./file-extensions").FileExtension[];
|
|
87
87
|
default: import("./file-extensions").FileExtension;
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
"pcm-16": {
|
|
90
90
|
possible: import("./file-extensions").FileExtension[];
|
|
91
91
|
default: import("./file-extensions").FileExtension;
|
|
92
92
|
};
|
|
93
93
|
};
|
|
94
94
|
};
|
|
95
|
-
|
|
95
|
+
mp3: {
|
|
96
96
|
default: import("./file-extensions").FileExtension;
|
|
97
97
|
forAudioCodec: {
|
|
98
|
-
|
|
98
|
+
mp3: {
|
|
99
99
|
possible: import("./file-extensions").FileExtension[];
|
|
100
100
|
default: import("./file-extensions").FileExtension;
|
|
101
101
|
};
|
|
102
|
-
|
|
102
|
+
"pcm-16": {
|
|
103
103
|
possible: import("./file-extensions").FileExtension[];
|
|
104
104
|
default: import("./file-extensions").FileExtension;
|
|
105
105
|
};
|
|
106
106
|
};
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
aac: {
|
|
109
109
|
default: import("./file-extensions").FileExtension;
|
|
110
110
|
forAudioCodec: {
|
|
111
|
+
aac: {
|
|
112
|
+
possible: import("./file-extensions").FileExtension[];
|
|
113
|
+
default: import("./file-extensions").FileExtension;
|
|
114
|
+
};
|
|
111
115
|
"pcm-16": {
|
|
112
116
|
possible: import("./file-extensions").FileExtension[];
|
|
113
117
|
default: import("./file-extensions").FileExtension;
|
|
114
118
|
};
|
|
115
119
|
};
|
|
116
120
|
};
|
|
117
|
-
|
|
121
|
+
wav: {
|
|
118
122
|
default: import("./file-extensions").FileExtension;
|
|
119
123
|
forAudioCodec: {
|
|
120
124
|
"pcm-16": {
|
|
121
125
|
possible: import("./file-extensions").FileExtension[];
|
|
122
126
|
default: import("./file-extensions").FileExtension;
|
|
123
127
|
};
|
|
124
|
-
aac: {
|
|
125
|
-
possible: import("./file-extensions").FileExtension[];
|
|
126
|
-
default: import("./file-extensions").FileExtension;
|
|
127
|
-
};
|
|
128
128
|
};
|
|
129
129
|
};
|
|
130
130
|
"h264-mkv": {
|
|
131
131
|
default: import("./file-extensions").FileExtension;
|
|
132
132
|
forAudioCodec: {
|
|
133
|
-
|
|
133
|
+
mp3: {
|
|
134
134
|
possible: import("./file-extensions").FileExtension[];
|
|
135
135
|
default: import("./file-extensions").FileExtension;
|
|
136
136
|
};
|
|
137
|
-
|
|
137
|
+
"pcm-16": {
|
|
138
138
|
possible: import("./file-extensions").FileExtension[];
|
|
139
139
|
default: import("./file-extensions").FileExtension;
|
|
140
140
|
};
|
|
@@ -146,21 +146,13 @@ 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
|
-
};
|
|
157
149
|
h264: {
|
|
158
|
-
compressed: "
|
|
159
|
-
lossless: "
|
|
150
|
+
compressed: "mp3" | "aac" | "pcm-16" | null;
|
|
151
|
+
lossless: "mp3" | "aac" | "pcm-16" | null;
|
|
160
152
|
};
|
|
161
153
|
h265: {
|
|
162
|
-
compressed: "
|
|
163
|
-
lossless: "
|
|
154
|
+
compressed: "aac" | "pcm-16" | null;
|
|
155
|
+
lossless: "aac" | "pcm-16" | null;
|
|
164
156
|
};
|
|
165
157
|
vp8: {
|
|
166
158
|
compressed: "pcm-16" | "opus" | null;
|
|
@@ -170,27 +162,35 @@ export declare const BrowserSafeApis: {
|
|
|
170
162
|
compressed: "pcm-16" | "opus" | null;
|
|
171
163
|
lossless: "pcm-16" | "opus" | null;
|
|
172
164
|
};
|
|
165
|
+
prores: {
|
|
166
|
+
compressed: "aac" | "pcm-16" | null;
|
|
167
|
+
lossless: "aac" | "pcm-16" | null;
|
|
168
|
+
};
|
|
169
|
+
mp3: {
|
|
170
|
+
compressed: "mp3" | "pcm-16" | null;
|
|
171
|
+
lossless: "mp3" | "pcm-16" | null;
|
|
172
|
+
};
|
|
173
|
+
aac: {
|
|
174
|
+
compressed: "aac" | "pcm-16" | null;
|
|
175
|
+
lossless: "aac" | "pcm-16" | null;
|
|
176
|
+
};
|
|
173
177
|
wav: {
|
|
174
178
|
compressed: "pcm-16" | null;
|
|
175
179
|
lossless: "pcm-16" | null;
|
|
176
180
|
};
|
|
177
|
-
prores: {
|
|
178
|
-
compressed: "pcm-16" | "aac" | null;
|
|
179
|
-
lossless: "pcm-16" | "aac" | null;
|
|
180
|
-
};
|
|
181
181
|
"h264-mkv": {
|
|
182
|
-
compressed: "
|
|
183
|
-
lossless: "
|
|
182
|
+
compressed: "mp3" | "pcm-16" | null;
|
|
183
|
+
lossless: "mp3" | "pcm-16" | 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, "
|
|
191
|
-
validateOutputFilename: <T_1 extends "
|
|
190
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif">;
|
|
191
|
+
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
|
|
192
192
|
codec: T_1;
|
|
193
|
-
audioCodec: "
|
|
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: "
|
|
284
|
+
type: "bt709" | "default";
|
|
285
285
|
};
|
|
286
286
|
deleteAfterOption: {
|
|
287
287
|
name: string;
|
|
@@ -299,6 +299,14 @@ export declare const BrowserSafeApis: {
|
|
|
299
299
|
docLink: string;
|
|
300
300
|
type: boolean | null;
|
|
301
301
|
};
|
|
302
|
+
enableMultiprocessOnLinuxOption: {
|
|
303
|
+
name: string;
|
|
304
|
+
cliFlag: "enable-multiprocess-on-linux";
|
|
305
|
+
description: () => JSX.Element;
|
|
306
|
+
ssrName: string;
|
|
307
|
+
docLink: string;
|
|
308
|
+
type: boolean;
|
|
309
|
+
};
|
|
302
310
|
};
|
|
303
311
|
validColorSpaces: readonly ["default", "bt709"];
|
|
304
312
|
optionsMap: {
|
|
@@ -383,6 +391,6 @@ export declare const BrowserSafeApis: {
|
|
|
383
391
|
type: number | null;
|
|
384
392
|
}];
|
|
385
393
|
};
|
|
386
|
-
codecSupportsCrf: (codec: "
|
|
387
|
-
codecSupportsVideoBitrate: (codec: "
|
|
394
|
+
codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
395
|
+
codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
388
396
|
};
|
package/dist/client.js
CHANGED
|
@@ -12,6 +12,7 @@ const audio_bitrate_1 = require("./options/audio-bitrate");
|
|
|
12
12
|
const color_space_1 = require("./options/color-space");
|
|
13
13
|
const crf_2 = require("./options/crf");
|
|
14
14
|
const delete_after_1 = require("./options/delete-after");
|
|
15
|
+
const enable_multiprocess_on_linux_1 = require("./options/enable-multiprocess-on-linux");
|
|
15
16
|
const enforce_audio_1 = require("./options/enforce-audio");
|
|
16
17
|
const folder_expiry_1 = require("./options/folder-expiry");
|
|
17
18
|
const jpeg_quality_1 = require("./options/jpeg-quality");
|
|
@@ -56,6 +57,7 @@ exports.BrowserSafeApis = {
|
|
|
56
57
|
colorSpaceOption: color_space_1.colorSpaceOption,
|
|
57
58
|
deleteAfterOption: delete_after_1.deleteAfterOption,
|
|
58
59
|
folderExpiryOption: folder_expiry_1.folderExpiryOption,
|
|
60
|
+
enableMultiprocessOnLinuxOption: enable_multiprocess_on_linux_1.enableMultiprocessOnLinuxOption,
|
|
59
61
|
},
|
|
60
62
|
validColorSpaces: color_space_1.validColorSpaces,
|
|
61
63
|
optionsMap: options_map_1.optionsMap,
|
|
@@ -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 "
|
|
5
|
-
export declare const makeFileExtensionMap: () => Record<string, ("
|
|
4
|
+
export declare const getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
|
|
5
|
+
export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif")[]>;
|
|
6
6
|
export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="react" />
|
|
1
3
|
import execa from 'execa';
|
|
2
4
|
import { HeadlessBrowser } from './browser/Browser';
|
|
3
5
|
import { SymbolicateableError } from './error-handling/symbolicateable-error';
|
|
@@ -54,13 +56,14 @@ export declare const RenderInternals: {
|
|
|
54
56
|
close: () => Promise<void>;
|
|
55
57
|
compositor: import("./compositor/compositor").Compositor;
|
|
56
58
|
}>;
|
|
57
|
-
validateEvenDimensionsWithCodec: ({ width, height, codec, scale, }: {
|
|
59
|
+
validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, }: {
|
|
58
60
|
width: number;
|
|
59
61
|
height: number;
|
|
60
62
|
scale: number;
|
|
61
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
63
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif";
|
|
64
|
+
wantsImageSequence: boolean;
|
|
62
65
|
}) => void;
|
|
63
|
-
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
66
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
|
|
64
67
|
tmpDir: (str: string) => string;
|
|
65
68
|
deleteDirectory: (directory: string) => void;
|
|
66
69
|
isServeUrl: (potentialUrl: string) => boolean;
|
|
@@ -110,7 +113,7 @@ export declare const RenderInternals: {
|
|
|
110
113
|
};
|
|
111
114
|
registerErrorSymbolicationLock: () => number;
|
|
112
115
|
unlockErrorSymbolicationLock: (id: number) => void;
|
|
113
|
-
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
116
|
+
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
114
117
|
mimeContentType: typeof mimeContentType;
|
|
115
118
|
mimeLookup: typeof mimeLookup;
|
|
116
119
|
validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
|
|
@@ -127,8 +130,8 @@ export declare const RenderInternals: {
|
|
|
127
130
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
128
131
|
validateJpegQuality: (q: number | undefined) => void;
|
|
129
132
|
DEFAULT_TIMEOUT: number;
|
|
130
|
-
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "
|
|
131
|
-
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
133
|
+
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif";
|
|
134
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif" | undefined) => boolean;
|
|
132
135
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
133
136
|
isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
|
|
134
137
|
isValidLogLevel: (level: string) => boolean;
|
|
@@ -145,7 +148,7 @@ export declare const RenderInternals: {
|
|
|
145
148
|
output: string;
|
|
146
149
|
onProgress: (p: number) => void;
|
|
147
150
|
numberOfFrames: number;
|
|
148
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
151
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif";
|
|
149
152
|
fps: number;
|
|
150
153
|
numberOfGifLoops: number | null;
|
|
151
154
|
audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
@@ -153,7 +156,7 @@ export declare const RenderInternals: {
|
|
|
153
156
|
getMinConcurrency: () => number;
|
|
154
157
|
getMaxConcurrency: () => number;
|
|
155
158
|
getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
156
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
159
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif";
|
|
157
160
|
preferLossless: boolean;
|
|
158
161
|
}) => "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
159
162
|
validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
@@ -214,10 +217,10 @@ export declare const RenderInternals: {
|
|
|
214
217
|
};
|
|
215
218
|
};
|
|
216
219
|
};
|
|
217
|
-
|
|
220
|
+
prores: {
|
|
218
221
|
default: import("./file-extensions").FileExtension;
|
|
219
222
|
forAudioCodec: {
|
|
220
|
-
|
|
223
|
+
aac: {
|
|
221
224
|
possible: import("./file-extensions").FileExtension[];
|
|
222
225
|
default: import("./file-extensions").FileExtension;
|
|
223
226
|
};
|
|
@@ -227,10 +230,10 @@ export declare const RenderInternals: {
|
|
|
227
230
|
};
|
|
228
231
|
};
|
|
229
232
|
};
|
|
230
|
-
|
|
233
|
+
mp3: {
|
|
231
234
|
default: import("./file-extensions").FileExtension;
|
|
232
235
|
forAudioCodec: {
|
|
233
|
-
|
|
236
|
+
mp3: {
|
|
234
237
|
possible: import("./file-extensions").FileExtension[];
|
|
235
238
|
default: import("./file-extensions").FileExtension;
|
|
236
239
|
};
|
|
@@ -240,22 +243,22 @@ export declare const RenderInternals: {
|
|
|
240
243
|
};
|
|
241
244
|
};
|
|
242
245
|
};
|
|
243
|
-
|
|
246
|
+
aac: {
|
|
244
247
|
default: import("./file-extensions").FileExtension;
|
|
245
248
|
forAudioCodec: {
|
|
249
|
+
aac: {
|
|
250
|
+
possible: import("./file-extensions").FileExtension[];
|
|
251
|
+
default: import("./file-extensions").FileExtension;
|
|
252
|
+
};
|
|
246
253
|
"pcm-16": {
|
|
247
254
|
possible: import("./file-extensions").FileExtension[];
|
|
248
255
|
default: import("./file-extensions").FileExtension;
|
|
249
256
|
};
|
|
250
257
|
};
|
|
251
258
|
};
|
|
252
|
-
|
|
259
|
+
wav: {
|
|
253
260
|
default: import("./file-extensions").FileExtension;
|
|
254
261
|
forAudioCodec: {
|
|
255
|
-
aac: {
|
|
256
|
-
possible: import("./file-extensions").FileExtension[];
|
|
257
|
-
default: import("./file-extensions").FileExtension;
|
|
258
|
-
};
|
|
259
262
|
"pcm-16": {
|
|
260
263
|
possible: import("./file-extensions").FileExtension[];
|
|
261
264
|
default: import("./file-extensions").FileExtension;
|
|
@@ -292,8 +295,8 @@ export declare const RenderInternals: {
|
|
|
292
295
|
readonly vp9: readonly ["opus", "pcm-16"];
|
|
293
296
|
readonly wav: readonly ["pcm-16"];
|
|
294
297
|
};
|
|
295
|
-
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "
|
|
296
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "
|
|
298
|
+
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif")[]>;
|
|
299
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "h264-mkv" | "gif">;
|
|
297
300
|
getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd") => string;
|
|
298
301
|
callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
|
|
299
302
|
dynamicLibraryPathOptions: () => {
|
|
@@ -311,7 +314,7 @@ export declare const RenderInternals: {
|
|
|
311
314
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
312
315
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
313
316
|
DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
|
|
314
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
317
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "none" | "png" | "jpeg";
|
|
315
318
|
DEFAULT_JPEG_QUALITY: number;
|
|
316
319
|
chalk: {
|
|
317
320
|
enabled: () => boolean;
|
package/dist/open-browser.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type ChromiumOptions = {
|
|
|
10
10
|
gl?: OpenGlRenderer | null;
|
|
11
11
|
headless?: boolean;
|
|
12
12
|
userAgent?: string | null;
|
|
13
|
+
enableMultiProcessOnLinux?: boolean;
|
|
13
14
|
};
|
|
14
15
|
export declare const killAllBrowsers: () => Promise<void>;
|
|
15
16
|
type InternalOpenBrowserOptions = {
|
package/dist/open-browser.js
CHANGED
|
@@ -94,7 +94,9 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
94
94
|
'--disable-setuid-sandbox',
|
|
95
95
|
...customGlRenderer,
|
|
96
96
|
'--disable-background-media-suspend',
|
|
97
|
-
process.platform === 'linux' &&
|
|
97
|
+
process.platform === 'linux' &&
|
|
98
|
+
chromiumOptions.gl !== 'vulkan' &&
|
|
99
|
+
!chromiumOptions.enableMultiProcessOnLinux
|
|
98
100
|
? '--single-process'
|
|
99
101
|
: null,
|
|
100
102
|
'--allow-running-insecure-content',
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enableMultiprocessOnLinuxOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.enableMultiprocessOnLinuxOption = {
|
|
6
|
+
name: 'Enable Multiprocess on Linux',
|
|
7
|
+
cliFlag: 'enable-multiprocess-on-linux',
|
|
8
|
+
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Removes the ", (0, jsx_runtime_1.jsx)("code", { children: '--single-process' }), " 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."] })),
|
|
9
|
+
ssrName: 'chromiumOptions.enableMultiprocessOnLinux',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/chromium-flags',
|
|
11
|
+
type: false,
|
|
12
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1,27 @@
|
|
|
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;
|
package/dist/prespawn-ffmpeg.js
CHANGED
|
@@ -21,6 +21,7 @@ const prespawnFfmpeg = (options) => {
|
|
|
21
21
|
height: options.height,
|
|
22
22
|
codec,
|
|
23
23
|
scale: 1,
|
|
24
|
+
wantsImageSequence: false,
|
|
24
25
|
});
|
|
25
26
|
const pixelFormat = (_b = options.pixelFormat) !== null && _b !== void 0 ? _b : pixel_format_1.DEFAULT_PIXEL_FORMAT;
|
|
26
27
|
const proResProfileName = (0, get_prores_profile_name_1.getProResProfileName)(codec, options.proResProfile);
|
package/dist/render-media.js
CHANGED
|
@@ -146,6 +146,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
146
146
|
height: composition.height,
|
|
147
147
|
scale,
|
|
148
148
|
width: composition.width,
|
|
149
|
+
wantsImageSequence: false,
|
|
149
150
|
});
|
|
150
151
|
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
151
152
|
const callUpdate = () => {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
|
-
export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, scale, }: {
|
|
2
|
+
export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, }: {
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
5
5
|
scale: number;
|
|
6
6
|
codec: Codec;
|
|
7
|
+
wantsImageSequence: boolean;
|
|
7
8
|
}) => void;
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateEvenDimensionsWithCodec = void 0;
|
|
4
4
|
const truthy_1 = require("./truthy");
|
|
5
|
-
const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, }) => {
|
|
5
|
+
const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, wantsImageSequence, }) => {
|
|
6
|
+
if (wantsImageSequence) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
6
9
|
if (codec !== 'h264-mkv' && codec !== 'h264' && codec !== 'h265') {
|
|
7
10
|
return;
|
|
8
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AudioCodec } from './audio-codec';
|
|
2
|
-
export declare const validateOutputFilename: <T extends "
|
|
2
|
+
export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "mp3" | "aac" | "wav" | "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.
|
|
3
|
+
"version": "4.0.43",
|
|
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.
|
|
21
|
+
"remotion": "4.0.43"
|
|
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.
|
|
44
|
-
"@remotion/compositor-
|
|
45
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
46
|
-
"@remotion/compositor-linux-
|
|
47
|
-
"@remotion/compositor-
|
|
48
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
49
|
-
"@remotion/compositor-
|
|
43
|
+
"@remotion/compositor-darwin-arm64": "4.0.43",
|
|
44
|
+
"@remotion/compositor-darwin-x64": "4.0.43",
|
|
45
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.43",
|
|
46
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.43",
|
|
47
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.43",
|
|
48
|
+
"@remotion/compositor-linux-x64-musl": "4.0.43",
|
|
49
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.43"
|
|
50
50
|
},
|
|
51
51
|
"keywords": [
|
|
52
52
|
"remotion",
|