@remotion/renderer 4.0.145 → 4.0.147
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/render-frames.js
CHANGED
|
@@ -40,7 +40,7 @@ const validate_1 = require("./validate");
|
|
|
40
40
|
const validate_scale_1 = require("./validate-scale");
|
|
41
41
|
const wrap_with_error_handling_1 = require("./wrap-with-error-handling");
|
|
42
42
|
const MAX_RETRIES_PER_FRAME = 1;
|
|
43
|
-
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, }) => {
|
|
43
|
+
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency: concurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, }) => {
|
|
44
44
|
if (outputDir) {
|
|
45
45
|
if (!node_fs_1.default.existsSync(outputDir)) {
|
|
46
46
|
node_fs_1.default.mkdirSync(outputDir, {
|
|
@@ -58,7 +58,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
58
58
|
});
|
|
59
59
|
const framesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame);
|
|
60
60
|
const lastFrame = framesToRender[framesToRender.length - 1];
|
|
61
|
-
const makePage = async (context) => {
|
|
61
|
+
const makePage = async (context, initialFrame) => {
|
|
62
62
|
const page = await browserReplacer
|
|
63
63
|
.getBrowser()
|
|
64
64
|
.newPage(context, logLevel, indent);
|
|
@@ -78,7 +78,6 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
78
78
|
if (onBrowserLog) {
|
|
79
79
|
page.on('console', logCallback);
|
|
80
80
|
}
|
|
81
|
-
const initialFrame = realFrameRange[0];
|
|
82
81
|
await (0, set_props_and_env_1.setPropsAndEnv)({
|
|
83
82
|
serializedInputPropsWithCustomSchema,
|
|
84
83
|
envVariables,
|
|
@@ -123,10 +122,11 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
123
122
|
page.off('console', logCallback);
|
|
124
123
|
return page;
|
|
125
124
|
};
|
|
125
|
+
const concurrencyOrFramesToRender = Math.min(framesToRender.length, concurrency);
|
|
126
126
|
const getPool = async (context) => {
|
|
127
|
-
const pages = new Array(
|
|
127
|
+
const pages = new Array(concurrencyOrFramesToRender)
|
|
128
128
|
.fill(true)
|
|
129
|
-
.map(() => makePage(context));
|
|
129
|
+
.map((_, i) => makePage(context, realFrameRange[i]));
|
|
130
130
|
const puppeteerPages = await Promise.all(pages);
|
|
131
131
|
const pool = new pool_1.Pool(puppeteerPages);
|
|
132
132
|
return pool;
|
|
@@ -299,7 +299,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
299
299
|
if (shouldRetryError) {
|
|
300
300
|
const pool = await poolPromise;
|
|
301
301
|
// Replace the closed page
|
|
302
|
-
const newPage = await makePage(sourceMapGetter);
|
|
302
|
+
const newPage = await makePage(sourceMapGetter, frame);
|
|
303
303
|
pool.release(newPage);
|
|
304
304
|
logger_1.Log.warn({ indent, logLevel }, `delayRender() timed out while rendering frame ${frame}: ${err.message}`);
|
|
305
305
|
const actualRetriesLeft = (0, is_delay_render_error_with_retry_1.getRetriesLeftFromError)(err);
|
|
@@ -314,9 +314,9 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
314
314
|
logger_1.Log.warn({ indent, logLevel }, `The browser crashed while rendering frame ${frame}, retrying ${retriesLeft} more times. Learn more about this error under https://www.remotion.dev/docs/target-closed`);
|
|
315
315
|
// Replace the entire browser
|
|
316
316
|
await browserReplacer.replaceBrowser(makeBrowser, async () => {
|
|
317
|
-
const pages = new Array(
|
|
317
|
+
const pages = new Array(concurrencyOrFramesToRender)
|
|
318
318
|
.fill(true)
|
|
319
|
-
.map(() => makePage(sourceMapGetter));
|
|
319
|
+
.map(() => makePage(sourceMapGetter, frame));
|
|
320
320
|
const puppeteerPages = await Promise.all(pages);
|
|
321
321
|
const pool = await poolPromise;
|
|
322
322
|
for (const newPage of puppeteerPages) {
|
package/dist/render-media.js
CHANGED
|
@@ -101,7 +101,6 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
101
101
|
let encodedFrames = 0;
|
|
102
102
|
let muxedFrames = 0;
|
|
103
103
|
let renderedFrames = 0;
|
|
104
|
-
let totalFramesToRender = 0;
|
|
105
104
|
let renderedDoneIn = null;
|
|
106
105
|
let encodedDoneIn = null;
|
|
107
106
|
let cancelled = false;
|
|
@@ -170,6 +169,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
170
169
|
wantsImageSequence: false,
|
|
171
170
|
});
|
|
172
171
|
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
172
|
+
const totalFramesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame).length;
|
|
173
173
|
logger_1.Log.verbose({ indent, logLevel, tag: 'renderMedia()' }, `Rendering frames ${realFrameRange.join('-')}`);
|
|
174
174
|
const callUpdate = () => {
|
|
175
175
|
const encoded = Math.round(0.8 * encodedFrames + 0.2 * muxedFrames);
|
|
@@ -293,7 +293,6 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
293
293
|
outputDir: parallelEncoding ? null : workingDir,
|
|
294
294
|
onStart: (data) => {
|
|
295
295
|
renderedFrames = 0;
|
|
296
|
-
totalFramesToRender = data.frameCount;
|
|
297
296
|
callUpdate();
|
|
298
297
|
onStart === null || onStart === void 0 ? void 0 : onStart(data);
|
|
299
298
|
},
|
|
@@ -408,7 +407,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
408
407
|
]);
|
|
409
408
|
})
|
|
410
409
|
.then(([buffer, stitchStart]) => {
|
|
411
|
-
encodedFrames =
|
|
410
|
+
encodedFrames = totalFramesToRender;
|
|
412
411
|
encodedDoneIn = Date.now() - stitchStart;
|
|
413
412
|
callUpdate();
|
|
414
413
|
logger_1.Log.verbose({ indent, logLevel }, 'Stitching done in', encodedDoneIn + 'ms');
|
|
@@ -30,7 +30,7 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
|
|
|
30
30
|
}, initialFrame);
|
|
31
31
|
await page.evaluateOnNewDocument(() => {
|
|
32
32
|
window.remotion_attempt = 1;
|
|
33
|
-
}
|
|
33
|
+
});
|
|
34
34
|
await page.evaluateOnNewDocument((port) => {
|
|
35
35
|
window.remotion_proxyPort = port;
|
|
36
36
|
}, proxyPort);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.147",
|
|
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.147"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@types/ws": "8.5.10"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
47
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
48
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
49
|
-
"@remotion/compositor-linux-
|
|
50
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
51
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
52
|
-
"@remotion/compositor-linux-
|
|
46
|
+
"@remotion/compositor-darwin-arm64": "4.0.147",
|
|
47
|
+
"@remotion/compositor-darwin-x64": "4.0.147",
|
|
48
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.147",
|
|
49
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.147",
|
|
50
|
+
"@remotion/compositor-linux-x64-musl": "4.0.147",
|
|
51
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.147",
|
|
52
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.147"
|
|
53
53
|
},
|
|
54
54
|
"keywords": [
|
|
55
55
|
"remotion",
|