@remotion/lambda 4.0.189 → 4.0.191
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/helpers/check-if-render-exists.d.ts +3 -0
- package/dist/functions/helpers/check-if-render-exists.js +15 -0
- package/dist/functions/helpers/delete-chunks.d.ts +9 -0
- package/dist/functions/helpers/delete-chunks.js +25 -0
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -3
- package/dist/functions/helpers/get-browser-instance.js +4 -3
- package/dist/functions/helpers/get-cleanup-progress.d.ts +10 -0
- package/dist/functions/helpers/get-cleanup-progress.js +35 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +7 -0
- package/dist/functions/helpers/get-encoding-metadata.js +15 -0
- package/dist/functions/helpers/get-encoding-progress-step-size.d.ts +1 -0
- package/dist/functions/helpers/get-encoding-progress-step-size.js +7 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +10 -0
- package/dist/functions/helpers/get-files-to-delete.js +52 -0
- package/dist/functions/helpers/get-final-encoding-status.d.ts +6 -0
- package/dist/functions/helpers/get-final-encoding-status.js +18 -0
- package/dist/functions/helpers/get-folder-size.d.ts +1 -0
- package/dist/functions/helpers/get-folder-size.js +8 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +14 -0
- package/dist/functions/helpers/get-post-render-data.d.ts +8 -0
- package/dist/functions/helpers/get-post-render-data.js +22 -0
- package/dist/functions/helpers/get-render-metadata.d.ts +8 -0
- package/dist/functions/helpers/get-render-metadata.js +17 -0
- package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
- package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
- package/dist/functions/helpers/get-time-to-finish.d.ts +5 -0
- package/dist/functions/helpers/get-time-to-finish.js +13 -0
- package/dist/functions/helpers/io.d.ts +33 -3
- package/dist/functions/helpers/io.js +104 -3
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js +3 -3
- package/dist/functions/helpers/streaming-payloads.d.ts +19 -0
- package/dist/functions/helpers/streaming-payloads.js +25 -0
- package/dist/functions/helpers/write-lambda-error.d.ts +3 -2
- package/dist/functions/helpers/write-lambda-error.js +2 -3
- package/dist/functions/helpers/write-post-render-data.d.ts +9 -0
- package/dist/functions/helpers/write-post-render-data.js +18 -0
- package/dist/functions/merge.d.ts +9 -0
- package/dist/functions/merge.js +61 -0
- package/dist/shared/chunk-progress.d.ts +9 -0
- package/dist/shared/chunk-progress.js +2034 -0
- package/dist/shared/compress-props.d.ts +6 -8
- package/dist/shared/compress-props.js +14 -11
- package/dist/shared/parse-chunk-key.d.ts +5 -0
- package/dist/shared/parse-chunk-key.js +15 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +5 -0
- package/dist/shared/parse-lambda-initialized-key.js +15 -0
- package/dist/shared/serialize-props.d.ts +14 -0
- package/dist/shared/serialize-props.js +36 -0
- package/package.json +11 -11
- package/remotionlambda-arm64.zip +0 -0
- package/dist/functions/provider-implementation.d.ts +0 -0
- package/dist/functions/provider-implementation.js +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.printLoggingGrepHelper = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const
|
|
5
|
+
const printLoggingGrepHelper = (type, data, logLevel) => {
|
|
6
6
|
const d = Object.keys(data).reduce((a, b) => {
|
|
7
7
|
return [...a, `${b}=${data[b]}`];
|
|
8
8
|
}, []);
|
|
9
9
|
const msg = [`method=${type}`, ...d].join(',');
|
|
10
10
|
renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, msg);
|
|
11
11
|
};
|
|
12
|
-
exports.
|
|
12
|
+
exports.printLoggingGrepHelper = printLoggingGrepHelper;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ResponseStream } from './streamify-response';
|
|
3
|
+
declare const streamingPayloadSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<"render-id-determined">;
|
|
5
|
+
renderId: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
type: "render-id-determined";
|
|
8
|
+
renderId: string;
|
|
9
|
+
}, {
|
|
10
|
+
type: "render-id-determined";
|
|
11
|
+
renderId: string;
|
|
12
|
+
}>]>;
|
|
13
|
+
export type StreamingPayloads = z.infer<typeof streamingPayloadSchema>;
|
|
14
|
+
export declare const isStreamingPayload: (str: string) => false | {
|
|
15
|
+
type: "render-id-determined";
|
|
16
|
+
renderId: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const sendProgressEvent: (responseStream: ResponseStream, payload: StreamingPayloads) => void;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendProgressEvent = exports.isStreamingPayload = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const streamingPayloadSchema = zod_1.z.discriminatedUnion('type', [
|
|
6
|
+
zod_1.z.object({
|
|
7
|
+
type: zod_1.z.literal('render-id-determined'),
|
|
8
|
+
renderId: zod_1.z.string(),
|
|
9
|
+
}),
|
|
10
|
+
]);
|
|
11
|
+
const isStreamingPayload = (str) => {
|
|
12
|
+
try {
|
|
13
|
+
const parsed = JSON.parse(str);
|
|
14
|
+
return streamingPayloadSchema.parse(parsed);
|
|
15
|
+
}
|
|
16
|
+
catch (_a) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.isStreamingPayload = isStreamingPayload;
|
|
21
|
+
const sendProgressEvent = (responseStream, payload) => {
|
|
22
|
+
const stringified = JSON.stringify(payload);
|
|
23
|
+
responseStream.write(stringified);
|
|
24
|
+
};
|
|
25
|
+
exports.sendProgressEvent = sendProgressEvent;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ProviderSpecifics } from '@remotion/serverless';
|
|
2
|
+
import type { FileNameAndSize } from '@remotion/serverless/client';
|
|
2
3
|
export type LambdaErrorInfo = {
|
|
3
4
|
type: 'renderer' | 'browser' | 'stitcher' | 'webhook' | 'artifact';
|
|
4
5
|
message: string;
|
|
@@ -15,7 +16,7 @@ export type LambdaErrorInfo = {
|
|
|
15
16
|
total: number;
|
|
16
17
|
} | null;
|
|
17
18
|
};
|
|
18
|
-
export declare const getTmpDirStateIfENoSp: (err: string) => LambdaErrorInfo['tmpDir'];
|
|
19
|
+
export declare const getTmpDirStateIfENoSp: <Region extends string>(err: string, providerSpecifics: ProviderSpecifics<Region>) => LambdaErrorInfo['tmpDir'];
|
|
19
20
|
export type EnhancedErrorInfo = LambdaErrorInfo & {
|
|
20
21
|
/**
|
|
21
22
|
* @deprecated Will always be an empty string.
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTmpDirStateIfENoSp = void 0;
|
|
4
|
-
const get_files_in_folder_1 = require("./get-files-in-folder");
|
|
5
4
|
const is_enosp_err_1 = require("./is-enosp-err");
|
|
6
|
-
const getTmpDirStateIfENoSp = (err) => {
|
|
5
|
+
const getTmpDirStateIfENoSp = (err, providerSpecifics) => {
|
|
7
6
|
if (!(0, is_enosp_err_1.errorIsOutOfSpaceError)(err)) {
|
|
8
7
|
return null;
|
|
9
8
|
}
|
|
10
|
-
const files =
|
|
9
|
+
const files = providerSpecifics.getFolderFiles('/tmp');
|
|
11
10
|
return {
|
|
12
11
|
files: files
|
|
13
12
|
.slice(0)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { PostRenderData } from '../../shared/constants';
|
|
3
|
+
export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
|
|
4
|
+
bucketName: string;
|
|
5
|
+
renderId: string;
|
|
6
|
+
postRenderData: PostRenderData;
|
|
7
|
+
expectedBucketOwner: string;
|
|
8
|
+
region: AwsRegion;
|
|
9
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writePostRenderData = void 0;
|
|
4
|
+
const constants_1 = require("../../shared/constants");
|
|
5
|
+
const io_1 = require("./io");
|
|
6
|
+
const writePostRenderData = async ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }) => {
|
|
7
|
+
await (0, io_1.lambdaWriteFile)({
|
|
8
|
+
bucketName,
|
|
9
|
+
key: (0, constants_1.postRenderDataKey)(renderId),
|
|
10
|
+
privacy: 'private',
|
|
11
|
+
body: JSON.stringify(postRenderData),
|
|
12
|
+
expectedBucketOwner,
|
|
13
|
+
region,
|
|
14
|
+
downloadBehavior: null,
|
|
15
|
+
customCredentials: null,
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.writePostRenderData = writePostRenderData;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LambdaPayload, PostRenderData } from '../defaults';
|
|
2
|
+
type Options = {
|
|
3
|
+
expectedBucketOwner: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const mergeHandler: (params: LambdaPayload, options: Options) => Promise<{
|
|
6
|
+
type: 'success';
|
|
7
|
+
postRenderData: PostRenderData;
|
|
8
|
+
}>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeHandler = void 0;
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
|
+
const defaults_1 = require("../defaults");
|
|
6
|
+
const expected_out_name_1 = require("./helpers/expected-out-name");
|
|
7
|
+
const get_current_region_1 = require("./helpers/get-current-region");
|
|
8
|
+
const get_render_metadata_1 = require("./helpers/get-render-metadata");
|
|
9
|
+
const merge_chunks_1 = require("./helpers/merge-chunks");
|
|
10
|
+
const mergeHandler = async (params, options) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
if (params.type !== defaults_1.LambdaRoutines.merge) {
|
|
13
|
+
throw new Error('Expected launch type');
|
|
14
|
+
}
|
|
15
|
+
renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'This function has been started because the previous main function has timed out while merging together the chunks.');
|
|
16
|
+
renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'The merging of chunks will now restart.');
|
|
17
|
+
const renderMetadata = await (0, get_render_metadata_1.getRenderMetadata)({
|
|
18
|
+
bucketName: params.bucketName,
|
|
19
|
+
expectedBucketOwner: options.expectedBucketOwner,
|
|
20
|
+
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
21
|
+
renderId: params.renderId,
|
|
22
|
+
});
|
|
23
|
+
if (!renderMetadata.codec) {
|
|
24
|
+
throw new Error('expected codec');
|
|
25
|
+
}
|
|
26
|
+
const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, params.bucketName, typeof params.outName === 'string' || typeof params.outName === 'undefined'
|
|
27
|
+
? null
|
|
28
|
+
: (_b = (_a = params.outName) === null || _a === void 0 ? void 0 : _a.s3OutputProvider) !== null && _b !== void 0 ? _b : null);
|
|
29
|
+
const frameCount = renderer_1.RenderInternals.getFramesToRender(renderMetadata.frameRange, renderMetadata.everyNthFrame);
|
|
30
|
+
const fps = renderMetadata.videoConfig.fps / renderMetadata.everyNthFrame;
|
|
31
|
+
const postRenderData = await (0, merge_chunks_1.mergeChunksAndFinishRender)({
|
|
32
|
+
audioCodec: renderMetadata.audioCodec,
|
|
33
|
+
bucketName: params.bucketName,
|
|
34
|
+
chunkCount: renderMetadata.totalChunks,
|
|
35
|
+
codec: renderMetadata.codec,
|
|
36
|
+
customCredentials,
|
|
37
|
+
downloadBehavior: renderMetadata.downloadBehavior,
|
|
38
|
+
expectedBucketOwner: options.expectedBucketOwner,
|
|
39
|
+
fps,
|
|
40
|
+
numberOfFrames: frameCount.length,
|
|
41
|
+
inputProps: params.inputProps,
|
|
42
|
+
key,
|
|
43
|
+
numberOfGifLoops: renderMetadata.numberOfGifLoops,
|
|
44
|
+
privacy: renderMetadata.privacy,
|
|
45
|
+
renderBucketName,
|
|
46
|
+
renderId: params.renderId,
|
|
47
|
+
renderMetadata,
|
|
48
|
+
serializedResolvedProps: params.serializedResolvedProps,
|
|
49
|
+
onAllChunks: () => {
|
|
50
|
+
renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'All chunks have been downloaded now.');
|
|
51
|
+
},
|
|
52
|
+
audioBitrate: renderMetadata.audioBitrate,
|
|
53
|
+
logLevel: params.logLevel,
|
|
54
|
+
framesPerLambda: params.framesPerLambda,
|
|
55
|
+
binariesDirectory: null,
|
|
56
|
+
preferLossless: params.preferLossless,
|
|
57
|
+
compositionStart: params.compositionStart,
|
|
58
|
+
});
|
|
59
|
+
return { type: 'success', postRenderData };
|
|
60
|
+
};
|
|
61
|
+
exports.mergeHandler = mergeHandler;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const writeLambdaInitializedFile: ({ bucketName, expectedBucketOwner, attempt, chunk, renderId, framesRendered, }: {
|
|
2
|
+
bucketName: string;
|
|
3
|
+
expectedBucketOwner: string;
|
|
4
|
+
renderId: string;
|
|
5
|
+
chunk: number;
|
|
6
|
+
attempt: number;
|
|
7
|
+
framesRendered: number;
|
|
8
|
+
}) => Promise<void>;
|
|
9
|
+
export declare const getProgressOfChunk: (etag: string) => number;
|