@remotion/lambda 4.0.61 → 4.0.63
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/functions/compositions.js +45 -41
- package/dist/functions/helpers/get-browser-instance.d.ts +1 -0
- package/dist/functions/helpers/get-browser-instance.js +6 -1
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/launch.js +3 -1
- package/dist/functions/renderer.js +3 -1
- package/dist/functions/start.js +2 -2
- package/dist/functions/still.js +5 -1
- package/dist/internals.d.ts +1 -1
- package/package.json +8 -8
- package/remotionlambda-arm64.zip +0 -0
|
@@ -20,47 +20,51 @@ const compositionsHandler = async (lambdaParams, options) => {
|
|
|
20
20
|
}
|
|
21
21
|
throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you passed ${process.env.AWS_LAMBDA_FUNCTION_NAME} as the function, which has the version ${version_1.VERSION}, but the @remotion/lambda package you used to invoke the function has version ${lambdaParams.version}. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
try {
|
|
24
|
+
const region = (0, get_current_region_1.getCurrentRegionInFunction)();
|
|
25
|
+
const browserInstancePromise = (0, get_browser_instance_1.getBrowserInstance)(lambdaParams.logLevel, false, lambdaParams.chromiumOptions);
|
|
26
|
+
const bucketNamePromise = lambdaParams.bucketName
|
|
27
|
+
? Promise.resolve(lambdaParams.bucketName)
|
|
28
|
+
: (0, get_or_create_bucket_1.internalGetOrCreateBucket)({
|
|
29
|
+
region,
|
|
30
|
+
enableFolderExpiry: null,
|
|
31
|
+
customCredentials: null,
|
|
32
|
+
}).then((b) => b.bucketName);
|
|
33
|
+
const bucketName = await bucketNamePromise;
|
|
34
|
+
const serializedInputPropsWithCustomSchema = await (0, compress_props_1.decompressInputProps)({
|
|
35
|
+
bucketName: await bucketNamePromise,
|
|
36
|
+
expectedBucketOwner: options.expectedBucketOwner,
|
|
37
|
+
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
38
|
+
serialized: lambdaParams.inputProps,
|
|
39
|
+
propsType: 'input-props',
|
|
40
|
+
});
|
|
41
|
+
const realServeUrl = (0, convert_to_serve_url_1.convertToServeUrl)({
|
|
42
|
+
urlOrId: lambdaParams.serveUrl,
|
|
28
43
|
region,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
logLevel: lambdaParams.logLevel,
|
|
55
|
-
indent: false,
|
|
56
|
-
browserExecutable: null,
|
|
57
|
-
onBrowserLog: null,
|
|
58
|
-
offthreadVideoCacheSizeInBytes: lambdaParams.offthreadVideoCacheSizeInBytes,
|
|
59
|
-
});
|
|
60
|
-
(await browserInstancePromise).instance.forgetEventLoop();
|
|
61
|
-
return Promise.resolve({
|
|
62
|
-
compositions,
|
|
63
|
-
type: 'success',
|
|
64
|
-
});
|
|
44
|
+
bucketName,
|
|
45
|
+
});
|
|
46
|
+
const compositions = await renderer_1.RenderInternals.internalGetCompositions({
|
|
47
|
+
serveUrlOrWebpackUrl: realServeUrl,
|
|
48
|
+
puppeteerInstance: (await browserInstancePromise).instance,
|
|
49
|
+
serializedInputPropsWithCustomSchema,
|
|
50
|
+
envVariables: (_a = lambdaParams.envVariables) !== null && _a !== void 0 ? _a : {},
|
|
51
|
+
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
52
|
+
chromiumOptions: lambdaParams.chromiumOptions,
|
|
53
|
+
port: null,
|
|
54
|
+
server: undefined,
|
|
55
|
+
logLevel: lambdaParams.logLevel,
|
|
56
|
+
indent: false,
|
|
57
|
+
browserExecutable: null,
|
|
58
|
+
onBrowserLog: null,
|
|
59
|
+
offthreadVideoCacheSizeInBytes: lambdaParams.offthreadVideoCacheSizeInBytes,
|
|
60
|
+
});
|
|
61
|
+
return Promise.resolve({
|
|
62
|
+
compositions,
|
|
63
|
+
type: 'success',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
(0, get_browser_instance_1.forgetBrowserEventLoop)(lambdaParams.logLevel);
|
|
68
|
+
}
|
|
65
69
|
};
|
|
66
70
|
exports.compositionsHandler = compositionsHandler;
|
|
@@ -4,5 +4,6 @@ type LaunchedBrowser = {
|
|
|
4
4
|
instance: Await<ReturnType<typeof openBrowser>>;
|
|
5
5
|
configurationString: string;
|
|
6
6
|
};
|
|
7
|
+
export declare const forgetBrowserEventLoop: (logLevel: LogLevel) => void;
|
|
7
8
|
export declare const getBrowserInstance: (logLevel: LogLevel, indent: boolean, chromiumOptions: ChromiumOptions) => Promise<LaunchedBrowser>;
|
|
8
9
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getBrowserInstance = void 0;
|
|
3
|
+
exports.getBrowserInstance = exports.forgetBrowserEventLoop = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
5
|
const get_chromium_executable_path_1 = require("./get-chromium-executable-path");
|
|
6
6
|
const makeConfigurationString = (options, logLevel) => {
|
|
@@ -31,6 +31,11 @@ const waitForLaunched = () => {
|
|
|
31
31
|
check();
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
+
const forgetBrowserEventLoop = (logLevel) => {
|
|
35
|
+
renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, 'Keeping browser open for next invocation');
|
|
36
|
+
_browserInstance === null || _browserInstance === void 0 ? void 0 : _browserInstance.instance.forgetEventLoop();
|
|
37
|
+
};
|
|
38
|
+
exports.forgetBrowserEventLoop = forgetBrowserEventLoop;
|
|
34
39
|
const getBrowserInstance = async (logLevel, indent, chromiumOptions) => {
|
|
35
40
|
var _a;
|
|
36
41
|
const actualChromiumOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getCurrentRegionInFunction: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "
|
|
1
|
+
export declare const getCurrentRegionInFunction: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "af-south-1" | "ap-south-1" | "ap-east-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "me-south-1" | "sa-east-1";
|
package/dist/functions/launch.js
CHANGED
|
@@ -250,7 +250,6 @@ const innerLaunchHandler = async ({ functionName, params, options, onAllChunksAv
|
|
|
250
250
|
await callFunctionWithRetry({ payload, retries: 0, functionName });
|
|
251
251
|
}));
|
|
252
252
|
reqSend.end();
|
|
253
|
-
(await browserInstance).instance.forgetEventLoop();
|
|
254
253
|
const fps = comp.fps / params.everyNthFrame;
|
|
255
254
|
const postRenderData = await (0, merge_chunks_1.mergeChunksAndFinishRender)({
|
|
256
255
|
bucketName: params.bucketName,
|
|
@@ -527,5 +526,8 @@ const launchHandler = async (params, options) => {
|
|
|
527
526
|
}
|
|
528
527
|
throw err;
|
|
529
528
|
}
|
|
529
|
+
finally {
|
|
530
|
+
(0, get_browser_instance_1.forgetBrowserEventLoop)(params.logLevel);
|
|
531
|
+
}
|
|
530
532
|
};
|
|
531
533
|
exports.launchHandler = launchHandler;
|
|
@@ -209,7 +209,6 @@ const renderHandler = async (params, options, logs) => {
|
|
|
209
209
|
customCredentials: null,
|
|
210
210
|
}),
|
|
211
211
|
]);
|
|
212
|
-
browserInstance.instance.forgetEventLoop();
|
|
213
212
|
renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel: params.logLevel }, 'Done!');
|
|
214
213
|
return {};
|
|
215
214
|
};
|
|
@@ -274,5 +273,8 @@ const rendererHandler = async (params, options) => {
|
|
|
274
273
|
}
|
|
275
274
|
throw err;
|
|
276
275
|
}
|
|
276
|
+
finally {
|
|
277
|
+
(0, get_browser_instance_1.forgetBrowserEventLoop)(params.logLevel);
|
|
278
|
+
}
|
|
277
279
|
};
|
|
278
280
|
exports.rendererHandler = rendererHandler;
|
package/dist/functions/start.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_current_region_1 = require("./helpers/get-current-region");
|
|
|
11
11
|
const io_1 = require("./helpers/io");
|
|
12
12
|
const lifecycle_1 = require("./helpers/lifecycle");
|
|
13
13
|
const startHandler = async (params, options) => {
|
|
14
|
-
var _a
|
|
14
|
+
var _a;
|
|
15
15
|
if (params.type !== constants_1.LambdaRoutines.start) {
|
|
16
16
|
throw new TypeError('Expected type start');
|
|
17
17
|
}
|
|
@@ -62,7 +62,7 @@ const startHandler = async (params, options) => {
|
|
|
62
62
|
jpegQuality: params.jpegQuality,
|
|
63
63
|
maxRetries: params.maxRetries,
|
|
64
64
|
privacy: params.privacy,
|
|
65
|
-
logLevel:
|
|
65
|
+
logLevel: params.logLevel,
|
|
66
66
|
frameRange: params.frameRange,
|
|
67
67
|
outName: params.outName,
|
|
68
68
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
package/dist/functions/still.js
CHANGED
|
@@ -191,7 +191,6 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
191
191
|
// overestimate the price, but will only have a miniscule effect (~0.2%)
|
|
192
192
|
diskSizeInMb: constants_1.MAX_EPHEMERAL_STORAGE_IN_MB,
|
|
193
193
|
});
|
|
194
|
-
browserInstance.instance.forgetEventLoop();
|
|
195
194
|
return {
|
|
196
195
|
type: 'success',
|
|
197
196
|
output: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials),
|
|
@@ -259,5 +258,10 @@ const stillHandler = async (options) => {
|
|
|
259
258
|
});
|
|
260
259
|
return res;
|
|
261
260
|
}
|
|
261
|
+
finally {
|
|
262
|
+
(0, get_browser_instance_1.forgetBrowserEventLoop)(options.params.type === constants_1.LambdaRoutines.still
|
|
263
|
+
? options.params.logLevel
|
|
264
|
+
: 'error');
|
|
265
|
+
}
|
|
262
266
|
};
|
|
263
267
|
exports.stillHandler = stillHandler;
|
package/dist/internals.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const LambdaInternals: {
|
|
2
|
-
executeCommand: (args: string[], remotionRoot: string, logLevel: "
|
|
2
|
+
executeCommand: (args: string[], remotionRoot: string, logLevel: "verbose" | "info" | "warn" | "error") => Promise<void>;
|
|
3
3
|
makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, x264Preset, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, downloadBehavior, muted, overwrite, jpegQuality, offthreadVideoCacheSizeInBytes, deleteAfter, colorSpace, }: import("./api/make-lambda-payload").InnerRenderMediaOnLambdaInput) => Promise<import("./defaults").LambdaStartPayload>;
|
|
4
4
|
getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, }: import(".").GetRenderProgressInput) => import("./defaults").LambdaStatusPayload;
|
|
5
5
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/lambda",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.63",
|
|
4
4
|
"description": "Distributed renderer for Remotion based on AWS Lambda",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"aws-policies": "^1.0.1",
|
|
27
27
|
"mime-types": "2.1.34",
|
|
28
28
|
"zod": "3.22.3",
|
|
29
|
-
"@remotion/bundler": "4.0.
|
|
30
|
-
"@remotion/
|
|
31
|
-
"remotion": "4.0.
|
|
32
|
-
"@remotion/
|
|
29
|
+
"@remotion/bundler": "4.0.63",
|
|
30
|
+
"@remotion/renderer": "4.0.63",
|
|
31
|
+
"remotion": "4.0.63",
|
|
32
|
+
"@remotion/cli": "4.0.63"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@jonny/eslint-config": "3.0.276",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"ts-node": "^10.8.0",
|
|
44
44
|
"vitest": "0.31.1",
|
|
45
45
|
"zip-lib": "^0.7.2",
|
|
46
|
-
"@remotion/bundler": "4.0.
|
|
47
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
46
|
+
"@remotion/bundler": "4.0.63",
|
|
47
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.63"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@remotion/bundler": "4.0.
|
|
50
|
+
"@remotion/bundler": "4.0.63"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|
package/remotionlambda-arm64.zip
CHANGED
|
Binary file
|