@remotion/lambda 4.0.0-preload.13 → 4.0.0-publish.3
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/admin/make-layer-public.js +3 -3
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-function.d.ts +4 -3
- package/dist/api/create-function.js +3 -2
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/deploy-function.d.ts +3 -2
- package/dist/api/deploy-function.js +3 -0
- package/dist/api/deploy-site.d.ts +3 -3
- package/dist/api/download-media.d.ts +2 -2
- package/dist/api/enable-s3-website.d.ts +1 -1
- package/dist/api/estimate-price.d.ts +2 -2
- package/dist/api/get-aws-client.d.ts +2 -2
- package/dist/api/get-aws-client.js +5 -1
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-function-info.d.ts +2 -2
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-regions.d.ts +1 -1
- package/dist/api/get-render-progress.d.ts +2 -2
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/mock-functions.d.ts +3 -3
- package/dist/api/presign-url.d.ts +1 -1
- package/dist/api/render-media-on-lambda.d.ts +5 -4
- package/dist/api/render-media-on-lambda.js +3 -1
- package/dist/api/render-still-on-lambda.d.ts +4 -4
- package/dist/api/upload-dir.d.ts +2 -2
- package/dist/api/upload-dir.js +2 -1
- package/dist/cli/args.d.ts +4 -3
- package/dist/cli/commands/functions/deploy.js +6 -2
- package/dist/cli/commands/render/progress.d.ts +3 -3
- package/dist/cli/commands/render/progress.js +11 -3
- package/dist/cli/commands/render/render.js +9 -2
- package/dist/cli/commands/sites/ls.js +1 -2
- package/dist/cli/commands/sites/rm.js +2 -3
- package/dist/cli/commands/sites/rmall.js +2 -3
- package/dist/cli/commands/still.js +1 -2
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
- package/dist/cli/helpers/progress-bar.js +1 -2
- package/dist/cli/index.js +10 -0
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
- package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +5 -2
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +1 -1
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/types.d.ts +1 -1
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- package/dist/functions/helpers/concat-videos.d.ts +5 -4
- package/dist/functions/helpers/concat-videos.js +7 -2
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +5 -5
- package/dist/functions/helpers/delete-chunks.d.ts +3 -3
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-files-to-delete.js +2 -2
- package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +1 -1
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-progress.d.ts +2 -2
- package/dist/functions/helpers/get-progress.js +14 -11
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
- package/dist/functions/helpers/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/io.d.ts +5 -5
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
- package/dist/functions/helpers/read-with-progress.d.ts +4 -3
- package/dist/functions/helpers/read-with-progress.js +6 -1
- package/dist/functions/helpers/validate-composition.d.ts +9 -4
- package/dist/functions/helpers/validate-composition.js +6 -1
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/info.d.ts +1 -1
- package/dist/functions/launch.d.ts +1 -1
- package/dist/functions/launch.js +7 -1
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +3 -5
- package/dist/functions/start.d.ts +1 -1
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +6 -0
- package/dist/index.d.ts +33 -18
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/shared/aws-clients.d.ts +1 -1
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/constants.d.ts +14 -10
- package/dist/shared/constants.js +1 -1
- package/dist/shared/convert-to-serve-url.d.ts +1 -1
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-function-version.d.ts +2 -2
- package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
- package/dist/shared/get-most-expensive-chunks.js +25 -0
- package/dist/shared/hosted-layers.d.ts +2 -2
- package/dist/shared/hosted-layers.js +80 -80
- package/dist/shared/make-s3-key.d.ts +1 -0
- package/dist/shared/make-s3-key.js +11 -0
- package/dist/shared/make-s3-url.d.ts +1 -1
- package/dist/shared/random-hash.d.ts +2 -2
- package/dist/shared/random-hash.js +1 -1
- package/dist/shared/return-values.d.ts +7 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/stream-to-string.d.ts +2 -1
- package/dist/shared/validate-aws-region.d.ts +1 -1
- package/dist/shared/validate-custom-role-arn.d.ts +1 -0
- package/dist/shared/validate-custom-role-arn.js +11 -0
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +21 -0
- package/dist/shared/validate-outname.d.ts +1 -1
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/package.json +9 -12
- package/remotionlambda.zip +0 -0
|
@@ -13,6 +13,11 @@ const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expecte
|
|
|
13
13
|
Key: key,
|
|
14
14
|
});
|
|
15
15
|
const presigned = await (0, s3_request_presigner_1.getSignedUrl)(client, command);
|
|
16
|
-
|
|
16
|
+
const { to, sizeInBytes } = await renderer_1.RenderInternals.downloadFile({
|
|
17
|
+
url: presigned,
|
|
18
|
+
onProgress,
|
|
19
|
+
to: () => outputPath,
|
|
20
|
+
});
|
|
21
|
+
return { sizeInBytes, to };
|
|
17
22
|
};
|
|
18
23
|
exports.lambdaDownloadFileWithProgress = lambdaDownloadFileWithProgress;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { openBrowser } from '@remotion/renderer';
|
|
2
|
-
import { TCompMetadata } from 'remotion';
|
|
3
|
-
import { Await } from '../../shared/await';
|
|
1
|
+
import type { ChromiumOptions, openBrowser } from '@remotion/renderer';
|
|
2
|
+
import type { FfmpegExecutable, TCompMetadata } from 'remotion';
|
|
3
|
+
import type { Await } from '../../shared/await';
|
|
4
4
|
declare type ValidateCompositionOptions = {
|
|
5
5
|
serveUrl: string;
|
|
6
6
|
composition: string;
|
|
7
7
|
browserInstance: Await<ReturnType<typeof openBrowser>>;
|
|
8
8
|
inputProps: unknown;
|
|
9
9
|
envVariables: Record<string, string> | undefined;
|
|
10
|
+
ffmpegExecutable: FfmpegExecutable;
|
|
11
|
+
ffprobeExecutable: FfmpegExecutable;
|
|
12
|
+
timeoutInMilliseconds: number;
|
|
13
|
+
chromiumOptions: ChromiumOptions;
|
|
14
|
+
port: number | null;
|
|
10
15
|
};
|
|
11
|
-
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
16
|
+
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
12
17
|
export {};
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateComposition = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, }) => {
|
|
5
|
+
const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, }) => {
|
|
6
6
|
const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
|
|
7
7
|
puppeteerInstance: browserInstance,
|
|
8
8
|
inputProps: inputProps,
|
|
9
9
|
envVariables,
|
|
10
|
+
ffmpegExecutable,
|
|
11
|
+
ffprobeExecutable,
|
|
12
|
+
timeoutInMilliseconds,
|
|
13
|
+
chromiumOptions,
|
|
14
|
+
port,
|
|
10
15
|
});
|
|
11
16
|
const found = compositions.find((c) => c.id === composition);
|
|
12
17
|
if (!found) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import { PostRenderData } from '../../shared/constants';
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { PostRenderData } from '../../shared/constants';
|
|
3
3
|
export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
|
|
4
4
|
bucketName: string;
|
|
5
5
|
renderId: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { LambdaPayload
|
|
2
|
-
import {
|
|
1
|
+
import type { LambdaPayload } from '../shared/constants';
|
|
2
|
+
import { LambdaRoutines } from '../shared/constants';
|
|
3
|
+
import type { LambdaReturnValues } from '../shared/return-values';
|
|
3
4
|
export declare const handler: <T extends LambdaRoutines>(params: LambdaPayload, context: {
|
|
4
5
|
invokedFunctionArn: string;
|
|
5
6
|
getRemainingTimeInMillis: () => number;
|
package/dist/functions/info.d.ts
CHANGED
package/dist/functions/launch.js
CHANGED
|
@@ -61,6 +61,11 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
61
61
|
browserInstance,
|
|
62
62
|
inputProps: params.inputProps,
|
|
63
63
|
envVariables: params.envVariables,
|
|
64
|
+
ffmpegExecutable: null,
|
|
65
|
+
ffprobeExecutable: null,
|
|
66
|
+
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
67
|
+
chromiumOptions: params.chromiumOptions,
|
|
68
|
+
port: null,
|
|
64
69
|
});
|
|
65
70
|
remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to <Component />');
|
|
66
71
|
remotion_1.Internals.validateFps(comp.fps, 'passed to <Component />');
|
|
@@ -105,7 +110,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
105
110
|
inputProps: params.inputProps,
|
|
106
111
|
renderId: params.renderId,
|
|
107
112
|
imageFormat: params.imageFormat,
|
|
108
|
-
codec: params.codec,
|
|
113
|
+
codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
|
|
109
114
|
crf: params.crf,
|
|
110
115
|
envVariables: params.envVariables,
|
|
111
116
|
pixelFormat: params.pixelFormat,
|
|
@@ -220,6 +225,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
220
225
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
221
226
|
codec: params.codec,
|
|
222
227
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
228
|
+
fps: comp.fps,
|
|
223
229
|
});
|
|
224
230
|
if (!encodingStop) {
|
|
225
231
|
encodingStop = Date.now();
|
|
@@ -101,15 +101,13 @@ const renderHandler = async (params, options, logs) => {
|
|
|
101
101
|
proResProfile: params.proResProfile,
|
|
102
102
|
onDownload: (src) => {
|
|
103
103
|
console.log('Downloading', src);
|
|
104
|
-
return (
|
|
105
|
-
if (remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
|
|
106
|
-
console.log(`Download progress of ${src}: ${percent}`);
|
|
107
|
-
}
|
|
108
|
-
};
|
|
104
|
+
return () => undefined;
|
|
109
105
|
},
|
|
110
106
|
overwrite: false,
|
|
111
107
|
chromiumOptions: params.chromiumOptions,
|
|
112
108
|
scale: params.scale,
|
|
109
|
+
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
110
|
+
port: null,
|
|
113
111
|
});
|
|
114
112
|
const endRendered = Date.now();
|
|
115
113
|
console.log('Adding silent audio, chunk', params.chunk);
|
package/dist/functions/still.js
CHANGED
|
@@ -48,6 +48,11 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
48
48
|
composition: lambdaParams.composition,
|
|
49
49
|
inputProps: lambdaParams.inputProps,
|
|
50
50
|
envVariables: lambdaParams.envVariables,
|
|
51
|
+
ffmpegExecutable: null,
|
|
52
|
+
ffprobeExecutable: null,
|
|
53
|
+
chromiumOptions: lambdaParams.chromiumOptions,
|
|
54
|
+
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
55
|
+
port: null,
|
|
51
56
|
});
|
|
52
57
|
const renderMetadata = {
|
|
53
58
|
startedDate: Date.now(),
|
|
@@ -91,6 +96,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
91
96
|
quality: lambdaParams.quality,
|
|
92
97
|
chromiumOptions: lambdaParams.chromiumOptions,
|
|
93
98
|
scale: lambdaParams.scale,
|
|
99
|
+
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
94
100
|
});
|
|
95
101
|
const { key: outName, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
|
|
96
102
|
const { size } = await fs_1.default.promises.stat(outputPath);
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import type { DeleteFunctionInput } from './api/delete-function';
|
|
2
|
+
import { deleteFunction } from './api/delete-function';
|
|
3
|
+
import type { DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
|
|
4
|
+
import { deleteSite } from './api/delete-site';
|
|
5
|
+
import type { DeployFunctionInput, DeployFunctionOutput } from './api/deploy-function';
|
|
6
|
+
import { deployFunction } from './api/deploy-function';
|
|
7
|
+
import type { DeploySiteInput, DeploySiteOutput } from './api/deploy-site';
|
|
8
|
+
import { deploySite } from './api/deploy-site';
|
|
9
|
+
import type { DownloadMediaInput, DownloadMediaOutput } from './api/download-media';
|
|
10
|
+
import { downloadMedia, downloadVideo } from './api/download-media';
|
|
11
|
+
import type { EstimatePriceInput } from './api/estimate-price';
|
|
12
|
+
import { estimatePrice } from './api/estimate-price';
|
|
13
|
+
import type { GetAwsClientInput, GetAwsClientOutput } from './api/get-aws-client';
|
|
14
|
+
import { getAwsClient } from './api/get-aws-client';
|
|
15
|
+
import type { FunctionInfo, GetFunctionInfoInput } from './api/get-function-info';
|
|
16
|
+
import { getFunctionInfo } from './api/get-function-info';
|
|
17
|
+
import type { GetFunctionsInput } from './api/get-functions';
|
|
18
|
+
import { getFunctions } from './api/get-functions';
|
|
19
|
+
import type { GetOrCreateBucketInput, GetOrCreateBucketOutput } from './api/get-or-create-bucket';
|
|
20
|
+
import { getOrCreateBucket } from './api/get-or-create-bucket';
|
|
11
21
|
import { getRegions } from './api/get-regions';
|
|
12
|
-
import { GetRenderInput
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
22
|
+
import type { GetRenderInput } from './api/get-render-progress';
|
|
23
|
+
import { getRenderProgress } from './api/get-render-progress';
|
|
24
|
+
import type { GetSitesInput, GetSitesOutput } from './api/get-sites';
|
|
25
|
+
import { getSites } from './api/get-sites';
|
|
26
|
+
import type { SimulatePermissionsInput, SimulatePermissionsOutput } from './api/iam-validation/simulate';
|
|
27
|
+
import { simulatePermissions } from './api/iam-validation/simulate';
|
|
15
28
|
import { getRolePolicy, getUserPolicy } from './api/iam-validation/suggested-policy';
|
|
16
29
|
import { presignUrl } from './api/presign-url';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
30
|
+
import type { RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput } from './api/render-media-on-lambda';
|
|
31
|
+
import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
|
|
32
|
+
import type { RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from './api/render-still-on-lambda';
|
|
33
|
+
import { renderStillOnLambda } from './api/render-still-on-lambda';
|
|
34
|
+
import type { LambdaLSInput, LambdaLsReturnType } from './functions/helpers/io';
|
|
20
35
|
import { LambdaInternals } from './internals';
|
|
21
|
-
import { AwsRegion } from './pricing/aws-regions';
|
|
36
|
+
import type { AwsRegion } from './pricing/aws-regions';
|
|
22
37
|
import type { RenderProgress } from './shared/constants';
|
|
23
|
-
import { LambdaArchitecture } from './shared/validate-architecture';
|
|
38
|
+
import type { LambdaArchitecture } from './shared/validate-architecture';
|
|
24
39
|
export { deleteSite, deployFunction, deploySite, downloadMedia, downloadVideo, getFunctions, getUserPolicy, getRolePolicy, getSites, getOrCreateBucket, getRenderProgress, renderVideoOnLambda, renderMediaOnLambda, simulatePermissions, deleteFunction, getFunctionInfo, estimatePrice, LambdaInternals, renderStillOnLambda, getRegions, getAwsClient, presignUrl, };
|
|
25
40
|
export type { AwsRegion, RenderProgress, DeploySiteInput, DeploySiteOutput, LambdaLsReturnType, LambdaLSInput, DeleteSiteInput, DeleteSiteOutput, EstimatePriceInput, DeployFunctionInput, DeployFunctionOutput, DeleteFunctionInput, GetFunctionInfoInput, FunctionInfo, GetFunctionsInput, GetSitesInput, GetSitesOutput, DownloadMediaInput, DownloadMediaOutput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, GetAwsClientInput, GetAwsClientOutput, LambdaArchitecture, };
|
|
@@ -3,7 +3,7 @@ import { IAMClient } from '@aws-sdk/client-iam';
|
|
|
3
3
|
import { LambdaClient } from '@aws-sdk/client-lambda';
|
|
4
4
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
5
5
|
import { ServiceQuotasClient } from '@aws-sdk/client-service-quotas';
|
|
6
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
7
7
|
export declare type ServiceMapping = {
|
|
8
8
|
s3: S3Client;
|
|
9
9
|
cloudwatch: CloudWatchLogsClient;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaPayloads, LambdaRoutines } from './constants';
|
|
3
|
-
import { LambdaReturnValues } from './return-values';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
import type { LambdaPayloads, LambdaRoutines } from './constants';
|
|
3
|
+
import type { LambdaReturnValues } from './return-values';
|
|
4
4
|
export declare const callLambda: <T extends LambdaRoutines>({ functionName, type, payload, region, }: {
|
|
5
5
|
functionName: string;
|
|
6
6
|
type: T;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { ChromiumOptions } from '@remotion/renderer';
|
|
2
|
-
import { Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile, VideoConfig } from 'remotion';
|
|
3
|
-
import { ChunkRetry } from '../functions/helpers/get-retry-stats';
|
|
4
|
-
import { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
5
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
-
import {
|
|
1
|
+
import type { ChromiumOptions } from '@remotion/renderer';
|
|
2
|
+
import type { Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile, VideoConfig } from 'remotion';
|
|
3
|
+
import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
|
|
4
|
+
import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
5
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
+
import type { ExpensiveChunk } from './get-most-expensive-chunks';
|
|
7
|
+
import type { LambdaArchitecture } from './validate-architecture';
|
|
8
|
+
import type { LambdaCodec } from './validate-lambda-codec';
|
|
7
9
|
export declare const MIN_MEMORY = 512;
|
|
8
10
|
export declare const MAX_MEMORY = 10240;
|
|
9
11
|
export declare const DEFAULT_MEMORY_SIZE = 2048;
|
|
@@ -91,7 +93,7 @@ export declare type LambdaPayloads = {
|
|
|
91
93
|
composition: string;
|
|
92
94
|
framesPerLambda: number | null;
|
|
93
95
|
inputProps: unknown;
|
|
94
|
-
codec:
|
|
96
|
+
codec: LambdaCodec;
|
|
95
97
|
imageFormat: ImageFormat;
|
|
96
98
|
crf: number | undefined;
|
|
97
99
|
envVariables: Record<string, string> | undefined;
|
|
@@ -116,7 +118,7 @@ export declare type LambdaPayloads = {
|
|
|
116
118
|
inputProps: unknown;
|
|
117
119
|
renderId: string;
|
|
118
120
|
imageFormat: ImageFormat;
|
|
119
|
-
codec:
|
|
121
|
+
codec: LambdaCodec;
|
|
120
122
|
crf: number | undefined;
|
|
121
123
|
envVariables: Record<string, string> | undefined;
|
|
122
124
|
pixelFormat: PixelFormat | undefined;
|
|
@@ -151,7 +153,7 @@ export declare type LambdaPayloads = {
|
|
|
151
153
|
inputProps: unknown;
|
|
152
154
|
renderId: string;
|
|
153
155
|
imageFormat: ImageFormat;
|
|
154
|
-
codec: Codec
|
|
156
|
+
codec: Exclude<Codec, 'h264'>;
|
|
155
157
|
crf: number | undefined;
|
|
156
158
|
proResProfile: ProResProfile | undefined;
|
|
157
159
|
pixelFormat: PixelFormat | undefined;
|
|
@@ -210,7 +212,7 @@ export declare type RenderMetadata = {
|
|
|
210
212
|
renderId: string;
|
|
211
213
|
outName: OutNameInput | undefined;
|
|
212
214
|
};
|
|
213
|
-
export declare type LambdaVersions = '2022-05-19' | '2022-05-16' | '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
|
|
215
|
+
export declare type LambdaVersions = '2022-07-04' | '2022-06-30' | '2022-06-29' | '2022-06-25' | '2022-06-22' | '2022-06-21' | '2022-06-14' | '2022-06-08' | '2022-06-07' | '2022-06-02' | '2022-05-31' | '2022-05-28' | '2022-05-27' | '2022-05-19' | '2022-05-16' | '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
|
|
214
216
|
export declare const CURRENT_VERSION: LambdaVersions;
|
|
215
217
|
export declare type PostRenderData = {
|
|
216
218
|
cost: {
|
|
@@ -233,6 +235,7 @@ export declare type PostRenderData = {
|
|
|
233
235
|
timeToRenderChunks: number;
|
|
234
236
|
timeToInvokeLambdas: number;
|
|
235
237
|
retriesInfo: ChunkRetry[];
|
|
238
|
+
mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
|
|
236
239
|
};
|
|
237
240
|
export declare type CostsInfo = {
|
|
238
241
|
accruedSoFar: number;
|
|
@@ -267,6 +270,7 @@ export declare type RenderProgress = {
|
|
|
267
270
|
timeToInvokeLambdas: number | null;
|
|
268
271
|
overallProgress: number;
|
|
269
272
|
retriesInfo: ChunkRetry[];
|
|
273
|
+
mostExpensiveFrameRanges: ExpensiveChunk[] | null;
|
|
270
274
|
};
|
|
271
275
|
export declare type Privacy = 'public' | 'private';
|
|
272
276
|
export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
|
package/dist/shared/constants.js
CHANGED
|
@@ -84,6 +84,6 @@ var LambdaRoutines;
|
|
|
84
84
|
LambdaRoutines["renderer"] = "renderer";
|
|
85
85
|
LambdaRoutines["still"] = "still";
|
|
86
86
|
})(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
|
|
87
|
-
exports.CURRENT_VERSION = '2022-
|
|
87
|
+
exports.CURRENT_VERSION = '2022-07-04';
|
|
88
88
|
exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
|
|
89
89
|
exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
export declare const convertToServeUrl: (urlOrId: string, region: AwsRegion) => Promise<string>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaVersions } from './constants';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
import type { LambdaVersions } from './constants';
|
|
3
3
|
export declare const getFunctionVersion: ({ functionName, region, }: {
|
|
4
4
|
functionName: string;
|
|
5
5
|
region: AwsRegion;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedTiming } from './parse-lambda-timings-key';
|
|
2
|
+
export declare const OVERHEAD_TIME_PER_LAMBDA = 100;
|
|
3
|
+
export declare type ExpensiveChunk = {
|
|
4
|
+
chunk: number;
|
|
5
|
+
frameRange: [number, number];
|
|
6
|
+
timeInMilliseconds: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number) => ExpensiveChunk[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMostExpensiveChunks = exports.OVERHEAD_TIME_PER_LAMBDA = void 0;
|
|
4
|
+
exports.OVERHEAD_TIME_PER_LAMBDA = 100;
|
|
5
|
+
const getMostExpensiveChunks = (parsedTimings, framesPerLambda) => {
|
|
6
|
+
const mostExpensiveChunks = parsedTimings
|
|
7
|
+
.slice(0)
|
|
8
|
+
.sort((a, b) => {
|
|
9
|
+
const durA = a.rendered - a.start;
|
|
10
|
+
const durB = b.rendered - b.start;
|
|
11
|
+
return durB - durA;
|
|
12
|
+
})
|
|
13
|
+
.slice(0, 5);
|
|
14
|
+
return mostExpensiveChunks.map((c) => {
|
|
15
|
+
return {
|
|
16
|
+
timeInMilliseconds: c.rendered - c.start,
|
|
17
|
+
chunk: c.chunk,
|
|
18
|
+
frameRange: [
|
|
19
|
+
framesPerLambda * c.chunk,
|
|
20
|
+
framesPerLambda * (c.chunk + 1) - 1,
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.getMostExpensiveChunks = getMostExpensiveChunks;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaArchitecture } from './validate-architecture';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
import type { LambdaArchitecture } from './validate-architecture';
|
|
3
3
|
export declare const REMOTION_HOSTED_LAYER_ARN = "arn:aws:lambda:*:678892195805:layer:remotion-binaries-*";
|
|
4
4
|
export declare type HostedLayers = {
|
|
5
5
|
[architecture in LambdaArchitecture]: {
|