@remotion/renderer 4.0.17 → 4.0.19
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/browser/BrowserFetcher.d.ts +2 -19
- package/dist/browser/BrowserFetcher.js +73 -263
- package/dist/browser/LaunchOptions.d.ts +0 -2
- package/dist/browser/Launcher.d.ts +0 -5
- package/dist/browser/Launcher.js +5 -14
- package/dist/browser/PuppeteerNode.d.ts +1 -8
- package/dist/browser/PuppeteerNode.js +10 -27
- package/dist/browser/node.js +1 -5
- package/dist/browser.d.ts +1 -1
- package/dist/client.d.ts +48 -48
- package/dist/compositor/payloads.d.ts +18 -0
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/get-local-browser-executable.d.ts +2 -3
- package/dist/get-local-browser-executable.js +45 -53
- package/dist/get-silent-parts.d.ts +8 -0
- package/dist/get-silent-parts.js +56 -0
- package/dist/index.d.ts +45 -42
- package/dist/index.js +4 -1
- package/dist/open-browser.js +3 -3
- package/dist/render-media.js +5 -2
- package/dist/set-props-and-env.js +6 -3
- package/dist/stitch-frames-to-video.d.ts +1 -0
- package/dist/validate-opengl-renderer.d.ts +2 -3
- package/dist/validate-opengl-renderer.js +9 -4
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +9 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import execa from 'execa';
|
|
2
3
|
import { HeadlessBrowser } from './browser/Browser';
|
|
3
4
|
import { SymbolicateableError } from './error-handling/symbolicateable-error';
|
|
@@ -16,6 +17,7 @@ export type { FfmpegOverrideFn } from './ffmpeg-override';
|
|
|
16
17
|
export { FileExtension } from './file-extensions';
|
|
17
18
|
export { FrameRange } from './frame-range';
|
|
18
19
|
export { getCompositions, GetCompositionsOptions } from './get-compositions';
|
|
20
|
+
export { getSilentParts } from './get-silent-parts';
|
|
19
21
|
export { getVideoMetadata } from './get-video-metadata';
|
|
20
22
|
export { ImageFormat, StillImageFormat, validateSelectedPixelFormatAndImageFormatCombination, VideoImageFormat, } from './image-format';
|
|
21
23
|
export type { LogLevel } from './log-level';
|
|
@@ -36,7 +38,7 @@ export { OnStartData, RenderFramesOutput } from './types';
|
|
|
36
38
|
export { OpenGlRenderer } from './validate-opengl-renderer';
|
|
37
39
|
export { validateOutputFilename } from './validate-output-filename';
|
|
38
40
|
export declare const RenderInternals: {
|
|
39
|
-
ensureLocalBrowser: (
|
|
41
|
+
ensureLocalBrowser: (preferredBrowserExecutable: import("./browser-executable").BrowserExecutable) => Promise<void>;
|
|
40
42
|
getActualConcurrency: (userPreference: string | number | null) => number;
|
|
41
43
|
serveStatic: (path: string | null, options: {
|
|
42
44
|
port: number | null;
|
|
@@ -54,9 +56,9 @@ export declare const RenderInternals: {
|
|
|
54
56
|
width: number;
|
|
55
57
|
height: number;
|
|
56
58
|
scale: number;
|
|
57
|
-
codec: "
|
|
59
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
58
60
|
}) => void;
|
|
59
|
-
getFileExtensionFromCodec: <T extends "
|
|
61
|
+
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;
|
|
60
62
|
tmpDir: (str: string) => string;
|
|
61
63
|
deleteDirectory: (directory: string) => void;
|
|
62
64
|
isServeUrl: (potentialUrl: string) => boolean;
|
|
@@ -106,21 +108,21 @@ export declare const RenderInternals: {
|
|
|
106
108
|
};
|
|
107
109
|
registerErrorSymbolicationLock: () => number;
|
|
108
110
|
unlockErrorSymbolicationLock: (id: number) => void;
|
|
109
|
-
canUseParallelEncoding: (codec: "
|
|
111
|
+
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
|
|
110
112
|
mimeContentType: typeof mimeContentType;
|
|
111
113
|
mimeLookup: typeof mimeLookup;
|
|
112
114
|
validateConcurrency: (value: unknown, setting: string) => void;
|
|
113
115
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
114
|
-
DEFAULT_BROWSER:
|
|
116
|
+
DEFAULT_BROWSER: "chrome";
|
|
115
117
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
116
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
117
|
-
validateOpenGlRenderer: (option: "
|
|
118
|
+
DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | null;
|
|
119
|
+
validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | null) => "angle" | "swangle" | "egl" | "swiftshader" | null;
|
|
118
120
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
|
|
119
121
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
120
122
|
validateJpegQuality: (q: number | undefined) => void;
|
|
121
123
|
DEFAULT_TIMEOUT: number;
|
|
122
|
-
DEFAULT_CODEC: "
|
|
123
|
-
isAudioCodec: (codec: "
|
|
124
|
+
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
125
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
|
|
124
126
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
125
127
|
isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
|
|
126
128
|
isValidLogLevel: (level: string) => boolean;
|
|
@@ -137,23 +139,23 @@ export declare const RenderInternals: {
|
|
|
137
139
|
output: string;
|
|
138
140
|
onProgress: (p: number) => void;
|
|
139
141
|
numberOfFrames: number;
|
|
140
|
-
codec: "
|
|
142
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
141
143
|
fps: number;
|
|
142
144
|
numberOfGifLoops: number | null;
|
|
143
|
-
audioCodec: "
|
|
145
|
+
audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
144
146
|
}) => Promise<void>;
|
|
145
147
|
getMinConcurrency: () => number;
|
|
146
148
|
getMaxConcurrency: () => any;
|
|
147
149
|
getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
148
|
-
codec: "
|
|
150
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
149
151
|
preferLossless: boolean;
|
|
150
|
-
}) => "
|
|
152
|
+
}) => "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
151
153
|
validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
152
154
|
defaultFileExtensionMap: {
|
|
153
|
-
|
|
155
|
+
h264: {
|
|
154
156
|
default: import("./file-extensions").FileExtension;
|
|
155
157
|
forAudioCodec: {
|
|
156
|
-
|
|
158
|
+
mp3: {
|
|
157
159
|
possible: import("./file-extensions").FileExtension[];
|
|
158
160
|
default: import("./file-extensions").FileExtension;
|
|
159
161
|
};
|
|
@@ -161,72 +163,72 @@ export declare const RenderInternals: {
|
|
|
161
163
|
possible: import("./file-extensions").FileExtension[];
|
|
162
164
|
default: import("./file-extensions").FileExtension;
|
|
163
165
|
};
|
|
166
|
+
"pcm-16": {
|
|
167
|
+
possible: import("./file-extensions").FileExtension[];
|
|
168
|
+
default: import("./file-extensions").FileExtension;
|
|
169
|
+
};
|
|
164
170
|
};
|
|
165
171
|
};
|
|
166
|
-
|
|
172
|
+
h265: {
|
|
167
173
|
default: import("./file-extensions").FileExtension;
|
|
168
174
|
forAudioCodec: {
|
|
169
|
-
|
|
175
|
+
aac: {
|
|
170
176
|
possible: import("./file-extensions").FileExtension[];
|
|
171
177
|
default: import("./file-extensions").FileExtension;
|
|
172
178
|
};
|
|
173
|
-
|
|
179
|
+
"pcm-16": {
|
|
174
180
|
possible: import("./file-extensions").FileExtension[];
|
|
175
181
|
default: import("./file-extensions").FileExtension;
|
|
176
182
|
};
|
|
177
183
|
};
|
|
178
184
|
};
|
|
179
|
-
|
|
185
|
+
vp8: {
|
|
180
186
|
default: import("./file-extensions").FileExtension;
|
|
181
187
|
forAudioCodec: {
|
|
182
188
|
"pcm-16": {
|
|
183
189
|
possible: import("./file-extensions").FileExtension[];
|
|
184
190
|
default: import("./file-extensions").FileExtension;
|
|
185
191
|
};
|
|
186
|
-
|
|
187
|
-
possible: import("./file-extensions").FileExtension[];
|
|
188
|
-
default: import("./file-extensions").FileExtension;
|
|
189
|
-
};
|
|
190
|
-
mp3: {
|
|
192
|
+
opus: {
|
|
191
193
|
possible: import("./file-extensions").FileExtension[];
|
|
192
194
|
default: import("./file-extensions").FileExtension;
|
|
193
195
|
};
|
|
194
196
|
};
|
|
195
197
|
};
|
|
196
|
-
|
|
198
|
+
vp9: {
|
|
197
199
|
default: import("./file-extensions").FileExtension;
|
|
198
200
|
forAudioCodec: {
|
|
199
201
|
"pcm-16": {
|
|
200
202
|
possible: import("./file-extensions").FileExtension[];
|
|
201
203
|
default: import("./file-extensions").FileExtension;
|
|
202
204
|
};
|
|
203
|
-
|
|
205
|
+
opus: {
|
|
204
206
|
possible: import("./file-extensions").FileExtension[];
|
|
205
207
|
default: import("./file-extensions").FileExtension;
|
|
206
208
|
};
|
|
207
209
|
};
|
|
208
210
|
};
|
|
209
|
-
|
|
211
|
+
mp3: {
|
|
210
212
|
default: import("./file-extensions").FileExtension;
|
|
211
213
|
forAudioCodec: {
|
|
212
|
-
|
|
214
|
+
mp3: {
|
|
213
215
|
possible: import("./file-extensions").FileExtension[];
|
|
214
216
|
default: import("./file-extensions").FileExtension;
|
|
215
217
|
};
|
|
216
|
-
|
|
218
|
+
"pcm-16": {
|
|
217
219
|
possible: import("./file-extensions").FileExtension[];
|
|
218
220
|
default: import("./file-extensions").FileExtension;
|
|
219
221
|
};
|
|
220
222
|
};
|
|
221
223
|
};
|
|
222
|
-
|
|
224
|
+
aac: {
|
|
223
225
|
default: import("./file-extensions").FileExtension;
|
|
224
226
|
forAudioCodec: {
|
|
225
|
-
|
|
227
|
+
aac: {
|
|
226
228
|
possible: import("./file-extensions").FileExtension[];
|
|
227
229
|
default: import("./file-extensions").FileExtension;
|
|
228
230
|
};
|
|
229
|
-
|
|
231
|
+
"pcm-16": {
|
|
230
232
|
possible: import("./file-extensions").FileExtension[];
|
|
231
233
|
default: import("./file-extensions").FileExtension;
|
|
232
234
|
};
|
|
@@ -244,11 +246,11 @@ export declare const RenderInternals: {
|
|
|
244
246
|
prores: {
|
|
245
247
|
default: import("./file-extensions").FileExtension;
|
|
246
248
|
forAudioCodec: {
|
|
247
|
-
|
|
249
|
+
aac: {
|
|
248
250
|
possible: import("./file-extensions").FileExtension[];
|
|
249
251
|
default: import("./file-extensions").FileExtension;
|
|
250
252
|
};
|
|
251
|
-
|
|
253
|
+
"pcm-16": {
|
|
252
254
|
possible: import("./file-extensions").FileExtension[];
|
|
253
255
|
default: import("./file-extensions").FileExtension;
|
|
254
256
|
};
|
|
@@ -257,11 +259,11 @@ export declare const RenderInternals: {
|
|
|
257
259
|
"h264-mkv": {
|
|
258
260
|
default: import("./file-extensions").FileExtension;
|
|
259
261
|
forAudioCodec: {
|
|
260
|
-
|
|
262
|
+
mp3: {
|
|
261
263
|
possible: import("./file-extensions").FileExtension[];
|
|
262
264
|
default: import("./file-extensions").FileExtension;
|
|
263
265
|
};
|
|
264
|
-
|
|
266
|
+
"pcm-16": {
|
|
265
267
|
possible: import("./file-extensions").FileExtension[];
|
|
266
268
|
default: import("./file-extensions").FileExtension;
|
|
267
269
|
};
|
|
@@ -284,8 +286,8 @@ export declare const RenderInternals: {
|
|
|
284
286
|
readonly vp9: readonly ["opus", "pcm-16"];
|
|
285
287
|
readonly wav: readonly ["pcm-16"];
|
|
286
288
|
};
|
|
287
|
-
makeFileExtensionMap: () => Record<string, ("
|
|
288
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "
|
|
289
|
+
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
|
|
290
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
|
|
289
291
|
getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd") => string;
|
|
290
292
|
callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
|
|
291
293
|
dynamicLibraryPathOptions: () => {
|
|
@@ -302,8 +304,8 @@ export declare const RenderInternals: {
|
|
|
302
304
|
};
|
|
303
305
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
304
306
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
305
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
306
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
307
|
+
DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
|
|
308
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
|
|
307
309
|
DEFAULT_JPEG_QUALITY: number;
|
|
308
310
|
chalk: {
|
|
309
311
|
enabled: () => boolean;
|
|
@@ -414,7 +416,7 @@ export declare const RenderInternals: {
|
|
|
414
416
|
frame: number;
|
|
415
417
|
serializedInputPropsWithCustomSchema: string;
|
|
416
418
|
serializedResolvedPropsWithCustomSchema: string;
|
|
417
|
-
imageFormat: "
|
|
419
|
+
imageFormat: "jpeg" | "png" | "webp" | "pdf";
|
|
418
420
|
jpegQuality: number;
|
|
419
421
|
puppeteerInstance: HeadlessBrowser | null;
|
|
420
422
|
envVariables: Record<string, string>;
|
|
@@ -440,7 +442,7 @@ export declare const RenderInternals: {
|
|
|
440
442
|
forceDeviceScaleFactor: number | undefined;
|
|
441
443
|
viewport: import("./browser/PuppeteerViewport").Viewport | null;
|
|
442
444
|
indent: boolean;
|
|
443
|
-
browser:
|
|
445
|
+
browser: "chrome";
|
|
444
446
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
445
447
|
}) => Promise<HeadlessBrowser>;
|
|
446
448
|
internalSelectComposition: (options: {
|
|
@@ -480,4 +482,5 @@ export declare const RenderInternals: {
|
|
|
480
482
|
buffer: Buffer | null;
|
|
481
483
|
slowestFrames: import("./render-media").SlowFrame[];
|
|
482
484
|
}>;
|
|
485
|
+
validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
|
|
483
486
|
};
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getVideoMetadata = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
|
|
29
|
+
exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getVideoMetadata = exports.getSilentParts = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
|
|
30
30
|
const execa_1 = __importDefault(require("execa"));
|
|
31
31
|
const download_file_1 = require("./assets/download-file");
|
|
32
32
|
const audio_codec_1 = require("./audio-codec");
|
|
@@ -86,6 +86,8 @@ var handle_javascript_exception_1 = require("./error-handling/handle-javascript-
|
|
|
86
86
|
Object.defineProperty(exports, "ErrorWithStackFrame", { enumerable: true, get: function () { return handle_javascript_exception_1.ErrorWithStackFrame; } });
|
|
87
87
|
var get_compositions_2 = require("./get-compositions");
|
|
88
88
|
Object.defineProperty(exports, "getCompositions", { enumerable: true, get: function () { return get_compositions_2.getCompositions; } });
|
|
89
|
+
var get_silent_parts_1 = require("./get-silent-parts");
|
|
90
|
+
Object.defineProperty(exports, "getSilentParts", { enumerable: true, get: function () { return get_silent_parts_1.getSilentParts; } });
|
|
89
91
|
var get_video_metadata_1 = require("./get-video-metadata");
|
|
90
92
|
Object.defineProperty(exports, "getVideoMetadata", { enumerable: true, get: function () { return get_video_metadata_1.getVideoMetadata; } });
|
|
91
93
|
var image_format_2 = require("./image-format");
|
|
@@ -184,6 +186,7 @@ exports.RenderInternals = {
|
|
|
184
186
|
internalGetCompositions: get_compositions_1.internalGetCompositions,
|
|
185
187
|
internalRenderFrames: render_frames_1.internalRenderFrames,
|
|
186
188
|
internalRenderMedia: render_media_1.internalRenderMedia,
|
|
189
|
+
validOpenGlRenderers: validate_opengl_renderer_1.validOpenGlRenderers,
|
|
187
190
|
};
|
|
188
191
|
// Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
|
|
189
192
|
(0, check_apple_silicon_1.checkNodeVersionAndWarnAboutRosetta)();
|
package/dist/open-browser.js
CHANGED
|
@@ -30,15 +30,15 @@ const killAllBrowsers = async () => {
|
|
|
30
30
|
exports.killAllBrowsers = killAllBrowsers;
|
|
31
31
|
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, }) => {
|
|
32
32
|
var _a, _b;
|
|
33
|
+
// @ts-expect-error Firefox
|
|
33
34
|
if (browser === 'firefox') {
|
|
34
35
|
throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
|
|
35
36
|
}
|
|
36
|
-
await (0, get_local_browser_executable_1.ensureLocalBrowser)(
|
|
37
|
-
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(
|
|
37
|
+
await (0, get_local_browser_executable_1.ensureLocalBrowser)(browserExecutable);
|
|
38
|
+
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browserExecutable);
|
|
38
39
|
const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
|
|
39
40
|
const browserInstance = await node_1.puppeteer.launch({
|
|
40
41
|
executablePath,
|
|
41
|
-
product: browser,
|
|
42
42
|
dumpio: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
|
|
43
43
|
logLevel,
|
|
44
44
|
indent,
|
package/dist/render-media.js
CHANGED
|
@@ -74,6 +74,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
|
|
|
74
74
|
let encodedFrames = 0;
|
|
75
75
|
let muxedFrames = 0;
|
|
76
76
|
let renderedFrames = 0;
|
|
77
|
+
let totalFramesToRender = 0;
|
|
77
78
|
let renderedDoneIn = null;
|
|
78
79
|
let encodedDoneIn = null;
|
|
79
80
|
let cancelled = false;
|
|
@@ -133,6 +134,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
|
|
|
133
134
|
scale,
|
|
134
135
|
width: composition.width,
|
|
135
136
|
});
|
|
137
|
+
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
136
138
|
const callUpdate = () => {
|
|
137
139
|
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
138
140
|
encodedDoneIn,
|
|
@@ -141,10 +143,9 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
|
|
|
141
143
|
renderedFrames,
|
|
142
144
|
stitchStage,
|
|
143
145
|
progress: Math.round((70 * renderedFrames + 15 * encodedFrames + 15 * muxedFrames) /
|
|
144
|
-
|
|
146
|
+
totalFramesToRender) / 100,
|
|
145
147
|
});
|
|
146
148
|
};
|
|
147
|
-
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
148
149
|
const cancelRenderFrames = (0, make_cancel_signal_1.makeCancelSignal)();
|
|
149
150
|
const cancelPrestitcher = (0, make_cancel_signal_1.makeCancelSignal)();
|
|
150
151
|
const cancelStitcher = (0, make_cancel_signal_1.makeCancelSignal)();
|
|
@@ -247,6 +248,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
|
|
|
247
248
|
outputDir: parallelEncoding ? null : workingDir,
|
|
248
249
|
onStart: (data) => {
|
|
249
250
|
renderedFrames = 0;
|
|
251
|
+
totalFramesToRender = data.frameCount;
|
|
250
252
|
callUpdate();
|
|
251
253
|
onStart === null || onStart === void 0 ? void 0 : onStart(data);
|
|
252
254
|
},
|
|
@@ -328,6 +330,7 @@ const internalRenderMedia = ({ proResProfile, crf, composition, serializedInputP
|
|
|
328
330
|
muxedFrames = frame;
|
|
329
331
|
}
|
|
330
332
|
else {
|
|
333
|
+
muxedFrames = frame;
|
|
331
334
|
encodedFrames = frame;
|
|
332
335
|
}
|
|
333
336
|
callUpdate();
|
|
@@ -114,9 +114,12 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
|
|
|
114
114
|
if (siteVersion !== requiredVersion) {
|
|
115
115
|
throw new Error([
|
|
116
116
|
`Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. Found version: ${siteVersion} - Required version: ${requiredVersion}. To resolve this error:`,
|
|
117
|
-
'
|
|
118
|
-
|
|
119
|
-
'
|
|
117
|
+
'When using server-side rendering:',
|
|
118
|
+
` ▸ Use 'bundle()' with '@remotion/bundler' of version ${version_1.VERSION} to create a compatible bundle.`,
|
|
119
|
+
'When using the Remotion Lambda:',
|
|
120
|
+
' ▸ Use `npx remotion lambda sites create` to redeploy the site with the latest version.',
|
|
121
|
+
' ℹ Use --site-name with the same name as before to overwrite your site.',
|
|
122
|
+
' ▸ Use `deploySite()` if you are using the Node.JS APIs.',
|
|
120
123
|
].join('\n'));
|
|
121
124
|
}
|
|
122
125
|
if (remotionVersion !== version_1.VERSION && process.env.NODE_ENV !== 'test') {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
export type OpenGlRenderer = typeof
|
|
1
|
+
export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
|
|
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;
|
|
5
|
-
export {};
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = void 0;
|
|
4
|
-
|
|
3
|
+
exports.validateOpenGlRenderer = exports.DEFAULT_OPENGL_RENDERER = exports.validOpenGlRenderers = void 0;
|
|
4
|
+
exports.validOpenGlRenderers = [
|
|
5
|
+
'swangle',
|
|
6
|
+
'angle',
|
|
7
|
+
'egl',
|
|
8
|
+
'swiftshader',
|
|
9
|
+
];
|
|
5
10
|
exports.DEFAULT_OPENGL_RENDERER = null;
|
|
6
11
|
const validateOpenGlRenderer = (option) => {
|
|
7
12
|
if (option === null) {
|
|
8
13
|
return null;
|
|
9
14
|
}
|
|
10
|
-
if (!
|
|
11
|
-
throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${
|
|
15
|
+
if (!exports.validOpenGlRenderers.includes(option)) {
|
|
16
|
+
throw new TypeError(`${option} is not a valid GL backend. Accepted values: ${exports.validOpenGlRenderers.join(', ')}`);
|
|
12
17
|
}
|
|
13
18
|
return option;
|
|
14
19
|
};
|
|
@@ -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" | "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.
|
|
3
|
+
"version": "4.0.19",
|
|
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.19"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -37,18 +37,17 @@
|
|
|
37
37
|
"prettier-plugin-organize-imports": "^3.2.2",
|
|
38
38
|
"react": "18.0.0",
|
|
39
39
|
"react-dom": "18.0.0",
|
|
40
|
-
"typescript": "4.9.5",
|
|
41
40
|
"vitest": "0.31.1",
|
|
42
41
|
"zod": "^3.21.4"
|
|
43
42
|
},
|
|
44
43
|
"optionalDependencies": {
|
|
45
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
46
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
47
|
-
"@remotion/compositor-
|
|
48
|
-
"@remotion/compositor-
|
|
49
|
-
"@remotion/compositor-
|
|
50
|
-
"@remotion/compositor-linux-x64-
|
|
51
|
-
"@remotion/compositor-linux-
|
|
44
|
+
"@remotion/compositor-darwin-arm64": "4.0.19",
|
|
45
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.19",
|
|
46
|
+
"@remotion/compositor-darwin-x64": "4.0.19",
|
|
47
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.19",
|
|
48
|
+
"@remotion/compositor-linux-x64-musl": "4.0.19",
|
|
49
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.19",
|
|
50
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.19"
|
|
52
51
|
},
|
|
53
52
|
"keywords": [
|
|
54
53
|
"remotion",
|