@remotion/lambda 4.0.0-preload.17 → 4.0.0-reorg.27
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/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +1 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +3 -3
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/bucket-exists.js +0 -0
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +0 -0
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-bucket.js +0 -0
- 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-function.js +0 -0
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/delete-site.js +0 -0
- 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/deploy-site.js +2 -3
- package/dist/api/download-media.d.ts +2 -2
- package/dist/api/download-media.js +0 -0
- package/dist/api/enable-s3-website.d.ts +1 -1
- package/dist/api/enable-s3-website.js +0 -0
- package/dist/api/estimate-price.d.ts +2 -2
- package/dist/api/estimate-price.js +0 -0
- 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-buckets.js +0 -0
- package/dist/api/get-function-info.d.ts +2 -2
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-functions.js +0 -0
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-or-create-bucket.js +0 -0
- package/dist/api/get-regions.d.ts +1 -1
- package/dist/api/get-regions.js +0 -0
- package/dist/api/get-render-progress.d.ts +2 -2
- package/dist/api/get-render-progress.js +0 -0
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/get-sites.js +0 -0
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate-rule.js +0 -0
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/iam-validation/simulate.js +0 -0
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +0 -0
- package/dist/api/iam-validation/user-permissions.js +0 -0
- package/dist/api/mock-functions.d.ts +3 -3
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +3 -2
- package/dist/api/presign-url.js +0 -0
- package/dist/api/render-media-on-lambda.d.ts +13 -8
- package/dist/api/render-media-on-lambda.js +12 -5
- package/dist/api/render-still-on-lambda.d.ts +7 -6
- package/dist/api/render-still-on-lambda.js +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 +5 -3
- package/dist/cli/args.js +0 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +6 -2
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +0 -0
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +0 -0
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +0 -0
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +0 -0
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +0 -0
- package/dist/cli/commands/render/progress.d.ts +4 -4
- package/dist/cli/commands/render/progress.js +11 -3
- package/dist/cli/commands/render/render.d.ts +0 -0
- package/dist/cli/commands/render/render.js +13 -3
- package/dist/cli/commands/sites/create.d.ts +0 -0
- package/dist/cli/commands/sites/create.js +2 -3
- package/dist/cli/commands/sites/index.d.ts +0 -0
- package/dist/cli/commands/sites/index.js +0 -0
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +1 -2
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +2 -3
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +2 -3
- package/dist/cli/commands/still.d.ts +0 -0
- package/dist/cli/commands/still.js +1 -2
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/get-aws-region.js +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +0 -0
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
- package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -0
- package/dist/cli/helpers/progress-bar.d.ts +0 -0
- package/dist/cli/helpers/progress-bar.js +1 -2
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +0 -0
- package/dist/client.js +0 -0
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -0
- package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
- package/dist/functions/chunk-optimization/collect-data.js +0 -0
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -0
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -0
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -0
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
- package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +1 -1
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -0
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -0
- package/dist/functions/chunk-optimization/types.d.ts +2 -1
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +0 -0
- package/dist/functions/helpers/concat-videos.d.ts +6 -4
- package/dist/functions/helpers/concat-videos.js +8 -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/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/expected-out-name.js +0 -0
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
- package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-browser-instance.js +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +0 -0
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-encoding-metadata.js +0 -0
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- 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-final-encoding-status.js +0 -0
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +1 -1
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
- package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
- package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
- package/dist/functions/helpers/get-overall-progress.js +0 -0
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +2 -2
- package/dist/functions/helpers/get-progress.js +12 -10
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-retry-stats.js +0 -0
- package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +8 -6
- package/dist/functions/helpers/io.js +3 -1
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/min-max.d.ts +0 -0
- package/dist/functions/helpers/min-max.js +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +3 -2
- package/dist/functions/helpers/read-with-progress.js +13 -1
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +5 -4
- package/dist/functions/helpers/validate-composition.js +2 -1
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +1 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +1 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +4 -4
- package/dist/functions/info.d.ts +1 -1
- package/dist/functions/info.js +0 -0
- package/dist/functions/launch.d.ts +1 -1
- package/dist/functions/launch.js +28 -16
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +0 -0
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +16 -11
- package/dist/functions/start.d.ts +1 -1
- package/dist/functions/start.js +5 -2
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +10 -6
- package/dist/index.d.ts +33 -18
- package/dist/index.js +0 -0
- package/dist/internals.d.ts +0 -0
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +0 -0
- package/dist/pricing/aws-regions.js +0 -0
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/pricing/price-per-1-s.js +0 -0
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +1 -1
- package/dist/shared/aws-clients.js +0 -0
- package/dist/shared/bundle-site.d.ts +1 -1
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +2 -2
- package/dist/shared/constants.d.ts +27 -11
- package/dist/shared/constants.js +1 -1
- package/dist/shared/content-disposition-header.d.ts +7 -0
- package/dist/shared/content-disposition-header.js +19 -0
- package/dist/shared/convert-to-serve-url.d.ts +1 -1
- package/dist/shared/convert-to-serve-url.js +0 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +0 -0
- package/dist/shared/function-zip-path.js +0 -0
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-account-id.js +0 -0
- package/dist/shared/get-function-version.d.ts +2 -2
- package/dist/shared/get-function-version.js +0 -0
- 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/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +0 -0
- 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/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- 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/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +2 -1
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +3 -0
- package/dist/shared/truthy.js +7 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +1 -1
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +0 -0
- package/dist/shared/validate-bucketname.js +0 -0
- 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-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
- package/dist/shared/validate-frames-per-lambda.js +0 -0
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +29 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +1 -1
- package/dist/shared/validate-outname.js +0 -0
- package/dist/shared/validate-presign-expiration.d.ts +0 -2
- package/dist/shared/validate-presign-expiration.js +7 -7
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +0 -0
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +9 -12
- package/remotionlambda.zip +0 -0
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
2
|
export declare type LambdaReadFileProgress = (progress: {
|
|
3
3
|
totalSize: number;
|
|
4
4
|
downloaded: number;
|
|
5
|
-
|
|
5
|
+
percent: number;
|
|
6
6
|
}) => unknown;
|
|
7
7
|
export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, }: {
|
|
8
8
|
bucketName: string;
|
|
@@ -13,4 +13,5 @@ export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region,
|
|
|
13
13
|
onProgress: LambdaReadFileProgress;
|
|
14
14
|
}) => Promise<{
|
|
15
15
|
sizeInBytes: number;
|
|
16
|
+
to: string;
|
|
16
17
|
}>;
|
|
@@ -13,6 +13,18 @@ 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: ({ downloaded, percent, totalSize }) => {
|
|
19
|
+
// On Lambda, it should always be a number
|
|
20
|
+
onProgress({
|
|
21
|
+
downloaded,
|
|
22
|
+
percent: percent,
|
|
23
|
+
totalSize: totalSize,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
to: () => outputPath,
|
|
27
|
+
});
|
|
28
|
+
return { sizeInBytes, to };
|
|
17
29
|
};
|
|
18
30
|
exports.lambdaDownloadFileWithProgress = lambdaDownloadFileWithProgress;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChromiumOptions, openBrowser } from '@remotion/renderer';
|
|
2
|
-
import {
|
|
3
|
-
import { Await } from '../../shared/await';
|
|
1
|
+
import type { ChromiumOptions, FfmpegExecutable, openBrowser } from '@remotion/renderer';
|
|
2
|
+
import type { TCompMetadata } from 'remotion';
|
|
3
|
+
import type { Await } from '../../shared/await';
|
|
4
4
|
declare type ValidateCompositionOptions = {
|
|
5
5
|
serveUrl: string;
|
|
6
6
|
composition: string;
|
|
@@ -8,9 +8,10 @@ declare type ValidateCompositionOptions = {
|
|
|
8
8
|
inputProps: unknown;
|
|
9
9
|
envVariables: Record<string, string> | undefined;
|
|
10
10
|
ffmpegExecutable: FfmpegExecutable;
|
|
11
|
+
ffprobeExecutable: FfmpegExecutable;
|
|
11
12
|
timeoutInMilliseconds: number;
|
|
12
13
|
chromiumOptions: ChromiumOptions;
|
|
13
14
|
port: number | null;
|
|
14
15
|
};
|
|
15
|
-
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
16
|
+
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
16
17
|
export {};
|
|
@@ -2,12 +2,13 @@
|
|
|
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, timeoutInMilliseconds, ffmpegExecutable, chromiumOptions, port, }) => {
|
|
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
10
|
ffmpegExecutable,
|
|
11
|
+
ffprobeExecutable,
|
|
11
12
|
timeoutInMilliseconds,
|
|
12
13
|
chromiumOptions,
|
|
13
14
|
port,
|
|
@@ -33,6 +33,7 @@ const writeLambdaError = async ({ bucketName, renderId, errorInfo, expectedBucke
|
|
|
33
33
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
34
34
|
privacy: 'private',
|
|
35
35
|
expectedBucketOwner,
|
|
36
|
+
downloadBehavior: null,
|
|
36
37
|
});
|
|
37
38
|
};
|
|
38
39
|
exports.writeLambdaError = writeLambdaError;
|
|
@@ -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/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
5
|
const constants_1 = require("../shared/constants");
|
|
6
6
|
const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
|
|
7
7
|
const is_warm_1 = require("./helpers/is-warm");
|
|
@@ -9,7 +9,7 @@ const print_cloudwatch_helper_1 = require("./helpers/print-cloudwatch-helper");
|
|
|
9
9
|
const info_1 = require("./info");
|
|
10
10
|
const launch_1 = require("./launch");
|
|
11
11
|
const progress_1 = require("./progress");
|
|
12
|
-
const
|
|
12
|
+
const renderer_2 = require("./renderer");
|
|
13
13
|
const start_1 = require("./start");
|
|
14
14
|
const still_1 = require("./still");
|
|
15
15
|
const handler = async (params, context) => {
|
|
@@ -56,10 +56,10 @@ const handler = async (params, context) => {
|
|
|
56
56
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
|
|
57
57
|
renderId: params.renderId,
|
|
58
58
|
chunk: String(params.chunk),
|
|
59
|
-
dumpLogs: String(
|
|
59
|
+
dumpLogs: String(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
|
|
60
60
|
inputProps: JSON.stringify(params.inputProps),
|
|
61
61
|
});
|
|
62
|
-
return (0,
|
|
62
|
+
return (0, renderer_2.rendererHandler)(params, {
|
|
63
63
|
expectedBucketOwner: currentUserId,
|
|
64
64
|
isWarm,
|
|
65
65
|
});
|
package/dist/functions/info.d.ts
CHANGED
package/dist/functions/info.js
CHANGED
|
File without changes
|
package/dist/functions/launch.js
CHANGED
|
@@ -46,7 +46,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
46
46
|
}
|
|
47
47
|
const startedDate = Date.now();
|
|
48
48
|
const [browserInstance, optimization] = await Promise.all([
|
|
49
|
-
(0, get_browser_instance_1.getBrowserInstance)(
|
|
49
|
+
(0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
|
|
50
50
|
(0, s3_optimization_file_1.getOptimization)({
|
|
51
51
|
bucketName: params.bucketName,
|
|
52
52
|
siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
|
|
@@ -62,19 +62,21 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
62
62
|
inputProps: params.inputProps,
|
|
63
63
|
envVariables: params.envVariables,
|
|
64
64
|
ffmpegExecutable: null,
|
|
65
|
+
ffprobeExecutable: null,
|
|
65
66
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
66
67
|
chromiumOptions: params.chromiumOptions,
|
|
67
68
|
port: null,
|
|
68
69
|
});
|
|
69
|
-
remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to
|
|
70
|
-
remotion_1.Internals.validateFps(comp.fps, 'passed to
|
|
71
|
-
remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to
|
|
72
|
-
remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to
|
|
70
|
+
remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
|
|
71
|
+
remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
|
|
72
|
+
remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
|
|
73
|
+
remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
|
|
74
|
+
renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
|
|
73
75
|
const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(comp.durationInFrames, params.frameRange);
|
|
74
|
-
const frameCount = renderer_1.RenderInternals.
|
|
75
|
-
const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount);
|
|
76
|
+
const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
|
|
77
|
+
const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
|
|
76
78
|
(0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
|
|
77
|
-
const chunkCount = Math.ceil(frameCount / framesPerLambda);
|
|
79
|
+
const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
|
|
78
80
|
if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
|
|
79
81
|
throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency for how this parameter is calculated.`);
|
|
80
82
|
}
|
|
@@ -82,12 +84,12 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
82
84
|
(0, validate_privacy_1.validatePrivacy)(params.privacy);
|
|
83
85
|
renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
|
|
84
86
|
const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
|
|
85
|
-
chunkCount,
|
|
86
87
|
framesPerLambda,
|
|
87
88
|
optimization,
|
|
88
89
|
// TODO: Re-enable chunk optimization later
|
|
89
90
|
shouldUseOptimization: false,
|
|
90
91
|
frameRange: realFrameRange,
|
|
92
|
+
everyNthFrame: params.everyNthFrame,
|
|
91
93
|
});
|
|
92
94
|
const sortedChunks = chunks.slice().sort((a, b) => a[0] - b[0]);
|
|
93
95
|
const invokers = Math.round(Math.sqrt(chunks.length));
|
|
@@ -109,18 +111,20 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
109
111
|
inputProps: params.inputProps,
|
|
110
112
|
renderId: params.renderId,
|
|
111
113
|
imageFormat: params.imageFormat,
|
|
112
|
-
codec: params.codec,
|
|
114
|
+
codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
|
|
113
115
|
crf: params.crf,
|
|
114
116
|
envVariables: params.envVariables,
|
|
115
117
|
pixelFormat: params.pixelFormat,
|
|
116
118
|
proResProfile: params.proResProfile,
|
|
117
119
|
quality: params.quality,
|
|
118
120
|
privacy: params.privacy,
|
|
119
|
-
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a :
|
|
121
|
+
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
|
|
120
122
|
attempt: 1,
|
|
121
123
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
122
124
|
chromiumOptions: params.chromiumOptions,
|
|
123
125
|
scale: params.scale,
|
|
126
|
+
everyNthFrame: params.everyNthFrame,
|
|
127
|
+
concurrencyPerLambda: params.concurrencyPerLambda,
|
|
124
128
|
};
|
|
125
129
|
return payload;
|
|
126
130
|
});
|
|
@@ -157,6 +161,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
157
161
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
158
162
|
privacy: 'private',
|
|
159
163
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
164
|
+
downloadBehavior: null,
|
|
160
165
|
});
|
|
161
166
|
await Promise.all(lambdaPayloads.map(async (payload, index) => {
|
|
162
167
|
const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
|
|
@@ -172,7 +177,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
172
177
|
let lastProgressUploaded = 0;
|
|
173
178
|
let encodingStop = null;
|
|
174
179
|
const onProgress = (framesEncoded, start) => {
|
|
175
|
-
const relativeProgress = framesEncoded / frameCount;
|
|
180
|
+
const relativeProgress = framesEncoded / frameCount.length;
|
|
176
181
|
const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
|
|
177
182
|
if (relativeProgress === 1) {
|
|
178
183
|
encodingStop = Date.now();
|
|
@@ -183,7 +188,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
183
188
|
lastProgressUploaded = relativeProgress;
|
|
184
189
|
const encodingProgress = {
|
|
185
190
|
framesEncoded,
|
|
186
|
-
totalFrames: frameCount,
|
|
191
|
+
totalFrames: frameCount.length,
|
|
187
192
|
doneIn: encodingStop ? encodingStop - start : null,
|
|
188
193
|
timeToInvoke: null,
|
|
189
194
|
};
|
|
@@ -194,6 +199,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
194
199
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
195
200
|
privacy: 'private',
|
|
196
201
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
202
|
+
downloadBehavior: null,
|
|
197
203
|
}).catch((err) => {
|
|
198
204
|
(0, write_lambda_error_1.writeLambdaError)({
|
|
199
205
|
bucketName: params.bucketName,
|
|
@@ -215,15 +221,18 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
215
221
|
});
|
|
216
222
|
});
|
|
217
223
|
};
|
|
224
|
+
const fps = comp.fps / params.everyNthFrame;
|
|
218
225
|
const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
|
|
219
226
|
bucket: params.bucketName,
|
|
220
227
|
expectedFiles: chunkCount,
|
|
221
228
|
onProgress,
|
|
222
|
-
numberOfFrames: frameCount,
|
|
229
|
+
numberOfFrames: frameCount.length,
|
|
223
230
|
renderId: params.renderId,
|
|
224
231
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
225
232
|
codec: params.codec,
|
|
226
233
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
234
|
+
fps,
|
|
235
|
+
numberOfGifLoops: params.numberOfGifLoops,
|
|
227
236
|
});
|
|
228
237
|
if (!encodingStop) {
|
|
229
238
|
encodingStop = Date.now();
|
|
@@ -237,6 +246,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
237
246
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
238
247
|
privacy: params.privacy,
|
|
239
248
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
249
|
+
downloadBehavior: params.downloadBehavior,
|
|
240
250
|
});
|
|
241
251
|
let chunkProm = Promise.resolve();
|
|
242
252
|
// TODO: Enable in a later release
|
|
@@ -261,6 +271,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
261
271
|
framesPerLambda,
|
|
262
272
|
lambdaVersion: constants_1.CURRENT_VERSION,
|
|
263
273
|
frameRange: realFrameRange,
|
|
274
|
+
everyNthFrame: params.everyNthFrame,
|
|
264
275
|
},
|
|
265
276
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
266
277
|
compositionId: params.composition,
|
|
@@ -279,8 +290,8 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
279
290
|
}),
|
|
280
291
|
]);
|
|
281
292
|
const finalEncodingProgress = {
|
|
282
|
-
framesEncoded: frameCount,
|
|
283
|
-
totalFrames: frameCount,
|
|
293
|
+
framesEncoded: frameCount.length,
|
|
294
|
+
totalFrames: frameCount.length,
|
|
284
295
|
doneIn: encodingStop ? encodingStop - encodingStart : null,
|
|
285
296
|
timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, params.renderId, renderMetadata.estimatedRenderLambdaInvokations, renderMetadata.startedDate).timeToInvokeLambdas,
|
|
286
297
|
};
|
|
@@ -291,6 +302,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
291
302
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
292
303
|
privacy: 'private',
|
|
293
304
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
305
|
+
downloadBehavior: null,
|
|
294
306
|
});
|
|
295
307
|
const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
|
|
296
308
|
contents,
|
|
File without changes
|
|
@@ -8,7 +8,6 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
|
8
8
|
const renderer_1 = require("@remotion/renderer");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const remotion_1 = require("remotion");
|
|
12
11
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
13
12
|
const constants_1 = require("../shared/constants");
|
|
14
13
|
const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
|
|
@@ -23,8 +22,7 @@ const renderHandler = async (params, options, logs) => {
|
|
|
23
22
|
if (params.type !== constants_1.LambdaRoutines.renderer) {
|
|
24
23
|
throw new Error('Params must be renderer');
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
|
|
25
|
+
const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
|
|
28
26
|
const outputPath = renderer_1.RenderInternals.tmpDir('remotion-render-');
|
|
29
27
|
if (typeof params.chunk !== 'number') {
|
|
30
28
|
throw new Error('must pass chunk');
|
|
@@ -41,6 +39,7 @@ const renderHandler = async (params, options, logs) => {
|
|
|
41
39
|
};
|
|
42
40
|
const outdir = renderer_1.RenderInternals.tmpDir(constants_1.RENDERER_PATH_TOKEN);
|
|
43
41
|
const outputLocation = path_1.default.join(outdir, `localchunk-${String(params.chunk).padStart(8, '0')}.${renderer_1.RenderInternals.getFileExtensionFromCodec(params.codec, 'chunk')}`);
|
|
42
|
+
const chunkCodec = params.codec === 'gif' ? 'h264-mkv' : params.codec;
|
|
44
43
|
await (0, renderer_1.renderMedia)({
|
|
45
44
|
composition: {
|
|
46
45
|
id: params.composition,
|
|
@@ -54,16 +53,16 @@ const renderHandler = async (params, options, logs) => {
|
|
|
54
53
|
frameRange: params.frameRange,
|
|
55
54
|
onProgress: ({ renderedFrames, encodedFrames, stitchStage }) => {
|
|
56
55
|
if (renderedFrames % 10 === 0 &&
|
|
57
|
-
|
|
56
|
+
renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
|
|
58
57
|
console.log(`Rendered ${renderedFrames} frames, encoded ${encodedFrames} frames, stage = ${stitchStage}`);
|
|
59
58
|
}
|
|
60
|
-
const
|
|
61
|
-
if (renderedFrames ===
|
|
59
|
+
const allFrames = renderer_1.RenderInternals.getFramesToRender(params.frameRange, params.everyNthFrame);
|
|
60
|
+
if (renderedFrames === allFrames.length) {
|
|
62
61
|
console.log('Rendered all frames!');
|
|
63
62
|
}
|
|
64
63
|
chunkTimingData.timings[renderedFrames] = Date.now() - start;
|
|
65
64
|
},
|
|
66
|
-
parallelism:
|
|
65
|
+
parallelism: params.concurrencyPerLambda,
|
|
67
66
|
onStart: () => {
|
|
68
67
|
(0, io_1.lambdaWriteFile)({
|
|
69
68
|
privacy: 'private',
|
|
@@ -83,18 +82,20 @@ const renderHandler = async (params, options, logs) => {
|
|
|
83
82
|
}),
|
|
84
83
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
85
84
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
85
|
+
downloadBehavior: null,
|
|
86
86
|
});
|
|
87
87
|
},
|
|
88
88
|
puppeteerInstance: browserInstance,
|
|
89
89
|
serveUrl: params.serveUrl,
|
|
90
90
|
quality: params.quality,
|
|
91
91
|
envVariables: params.envVariables,
|
|
92
|
-
dumpBrowserLogs:
|
|
92
|
+
dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
|
|
93
|
+
verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
|
|
93
94
|
onBrowserLog: (log) => {
|
|
94
95
|
logs.push(log);
|
|
95
96
|
},
|
|
96
97
|
outputLocation,
|
|
97
|
-
codec:
|
|
98
|
+
codec: chunkCodec,
|
|
98
99
|
crf: (_b = params.crf) !== null && _b !== void 0 ? _b : undefined,
|
|
99
100
|
ffmpegExecutable: process.env.NODE_ENV === 'test' ? null : '/opt/bin/ffmpeg',
|
|
100
101
|
pixelFormat: params.pixelFormat,
|
|
@@ -108,6 +109,8 @@ const renderHandler = async (params, options, logs) => {
|
|
|
108
109
|
scale: params.scale,
|
|
109
110
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
110
111
|
port: null,
|
|
112
|
+
everyNthFrame: params.everyNthFrame,
|
|
113
|
+
numberOfGifLoops: null,
|
|
111
114
|
});
|
|
112
115
|
const endRendered = Date.now();
|
|
113
116
|
console.log('Adding silent audio, chunk', params.chunk);
|
|
@@ -125,6 +128,7 @@ const renderHandler = async (params, options, logs) => {
|
|
|
125
128
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
126
129
|
privacy: params.privacy,
|
|
127
130
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
131
|
+
downloadBehavior: null,
|
|
128
132
|
});
|
|
129
133
|
await Promise.all([
|
|
130
134
|
fs_1.default.promises.rm(outputLocation, { recursive: true }),
|
|
@@ -132,15 +136,16 @@ const renderHandler = async (params, options, logs) => {
|
|
|
132
136
|
(0, io_1.lambdaWriteFile)({
|
|
133
137
|
bucketName: params.bucketName,
|
|
134
138
|
body: JSON.stringify(condensedTimingData, null, 2),
|
|
135
|
-
key:
|
|
139
|
+
key: (0, constants_1.lambdaTimingsKey)({
|
|
136
140
|
renderId: params.renderId,
|
|
137
141
|
chunk: params.chunk,
|
|
138
142
|
rendered: endRendered,
|
|
139
143
|
start,
|
|
140
|
-
})
|
|
144
|
+
}),
|
|
141
145
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
142
146
|
privacy: 'private',
|
|
143
147
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
148
|
+
downloadBehavior: null,
|
|
144
149
|
}),
|
|
145
150
|
]);
|
|
146
151
|
};
|
package/dist/functions/start.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.startHandler = void 0;
|
|
4
4
|
const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
5
|
-
const remotion_1 = require("remotion");
|
|
6
5
|
const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
|
|
7
6
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
8
7
|
const constants_1 = require("../shared/constants");
|
|
@@ -34,12 +33,16 @@ const startHandler = async (params) => {
|
|
|
34
33
|
quality: params.quality,
|
|
35
34
|
maxRetries: params.maxRetries,
|
|
36
35
|
privacy: params.privacy,
|
|
37
|
-
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a :
|
|
36
|
+
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
|
|
38
37
|
frameRange: params.frameRange,
|
|
39
38
|
outName: params.outName,
|
|
40
39
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
41
40
|
chromiumOptions: params.chromiumOptions,
|
|
42
41
|
scale: params.scale,
|
|
42
|
+
numberOfGifLoops: params.numberOfGifLoops,
|
|
43
|
+
everyNthFrame: params.everyNthFrame,
|
|
44
|
+
concurrencyPerLambda: params.concurrencyPerLambda,
|
|
45
|
+
downloadBehavior: params.downloadBehavior,
|
|
43
46
|
};
|
|
44
47
|
await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
|
|
45
48
|
FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
|
package/dist/functions/still.js
CHANGED
|
@@ -8,13 +8,13 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
|
8
8
|
const renderer_1 = require("@remotion/renderer");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const remotion_1 = require("remotion");
|
|
12
11
|
const estimate_price_1 = require("../api/estimate-price");
|
|
13
12
|
const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
|
|
14
13
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
15
14
|
const constants_1 = require("../shared/constants");
|
|
16
15
|
const make_s3_url_1 = require("../shared/make-s3-url");
|
|
17
16
|
const random_hash_1 = require("../shared/random-hash");
|
|
17
|
+
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
18
18
|
const validate_outname_1 = require("../shared/validate-outname");
|
|
19
19
|
const validate_privacy_1 = require("../shared/validate-privacy");
|
|
20
20
|
const expected_out_name_1 = require("./helpers/expected-out-name");
|
|
@@ -27,10 +27,11 @@ const io_1 = require("./helpers/io");
|
|
|
27
27
|
const validate_composition_1 = require("./helpers/validate-composition");
|
|
28
28
|
const write_lambda_error_1 = require("./helpers/write-lambda-error");
|
|
29
29
|
const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
30
|
-
var _a, _b
|
|
30
|
+
var _a, _b;
|
|
31
31
|
if (lambdaParams.type !== constants_1.LambdaRoutines.still) {
|
|
32
32
|
throw new TypeError('Expected still type');
|
|
33
33
|
}
|
|
34
|
+
(0, validate_download_behavior_1.validateDownloadBehavior)(lambdaParams.downloadBehavior);
|
|
34
35
|
(0, validate_privacy_1.validatePrivacy)(lambdaParams.privacy);
|
|
35
36
|
(0, validate_outname_1.validateOutname)(lambdaParams.outName);
|
|
36
37
|
const start = Date.now();
|
|
@@ -38,7 +39,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
38
39
|
(0, get_or_create_bucket_1.getOrCreateBucket)({
|
|
39
40
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
40
41
|
}),
|
|
41
|
-
(0, get_browser_instance_1.getBrowserInstance)(
|
|
42
|
+
(0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_a = lambdaParams.chromiumOptions) !== null && _a !== void 0 ? _a : {}),
|
|
42
43
|
]);
|
|
43
44
|
const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
|
|
44
45
|
const outputPath = path_1.default.join(outputDir, 'output');
|
|
@@ -49,6 +50,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
49
50
|
inputProps: lambdaParams.inputProps,
|
|
50
51
|
envVariables: lambdaParams.envVariables,
|
|
51
52
|
ffmpegExecutable: null,
|
|
53
|
+
ffprobeExecutable: null,
|
|
52
54
|
chromiumOptions: lambdaParams.chromiumOptions,
|
|
53
55
|
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
54
56
|
port: null,
|
|
@@ -71,7 +73,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
71
73
|
memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
|
|
72
74
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
73
75
|
renderId,
|
|
74
|
-
outName: (
|
|
76
|
+
outName: (_b = lambdaParams.outName) !== null && _b !== void 0 ? _b : undefined,
|
|
75
77
|
};
|
|
76
78
|
await (0, io_1.lambdaWriteFile)({
|
|
77
79
|
bucketName,
|
|
@@ -80,6 +82,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
80
82
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
81
83
|
privacy: 'private',
|
|
82
84
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
85
|
+
downloadBehavior: null,
|
|
83
86
|
});
|
|
84
87
|
await (0, renderer_1.renderStill)({
|
|
85
88
|
composition,
|
|
@@ -97,15 +100,16 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
97
100
|
scale: lambdaParams.scale,
|
|
98
101
|
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
99
102
|
});
|
|
100
|
-
const { key
|
|
103
|
+
const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
|
|
101
104
|
const { size } = await fs_1.default.promises.stat(outputPath);
|
|
102
105
|
await (0, io_1.lambdaWriteFile)({
|
|
103
106
|
bucketName: renderBucketName,
|
|
104
|
-
key
|
|
107
|
+
key,
|
|
105
108
|
privacy: lambdaParams.privacy,
|
|
106
109
|
body: fs_1.default.createReadStream(outputPath),
|
|
107
110
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
108
111
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
112
|
+
downloadBehavior: lambdaParams.downloadBehavior,
|
|
109
113
|
});
|
|
110
114
|
await fs_1.default.promises.rm(outputPath, { recursive: true });
|
|
111
115
|
const estimatedPrice = (0, estimate_price_1.estimatePrice)({
|