@remotion/lambda 4.0.0-webhook.27 → 4.1.0-alpha3
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/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +24 -13
- package/dist/admin/generate-etag-list.d.ts +1 -0
- package/dist/admin/generate-etag-list.js +14 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +59 -65
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +0 -0
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +34 -1
- package/dist/api/create-function.d.ts +1 -3
- package/dist/api/create-function.js +27 -6
- package/dist/api/delete-function.d.ts +4 -4
- package/dist/api/delete-function.js +3 -3
- package/dist/api/delete-render.d.ts +2 -2
- package/dist/api/delete-render.js +1 -1
- package/dist/api/delete-site.d.ts +7 -7
- package/dist/api/delete-site.js +9 -7
- package/dist/api/deploy-function.d.ts +11 -13
- package/dist/api/deploy-function.js +28 -31
- package/dist/api/deploy-site.d.ts +13 -5
- package/dist/api/deploy-site.js +61 -25
- package/dist/api/download-media.d.ts +4 -8
- package/dist/api/download-media.js +5 -9
- package/dist/api/estimate-price.d.ts +3 -5
- package/dist/api/estimate-price.js +4 -10
- package/dist/api/get-aws-client.d.ts +6 -4
- package/dist/api/get-aws-client.js +3 -1
- package/dist/api/get-buckets.d.ts +2 -2
- package/dist/api/get-buckets.js +35 -12
- package/dist/api/get-compositions-on-lambda.d.ts +33 -0
- package/dist/api/get-compositions-on-lambda.js +57 -0
- package/dist/api/get-function-info.d.ts +3 -3
- package/dist/api/get-function-info.js +1 -1
- package/dist/api/get-functions.d.ts +5 -7
- package/dist/api/get-functions.js +8 -10
- package/dist/api/get-or-create-bucket.d.ts +6 -6
- package/dist/api/get-or-create-bucket.js +10 -18
- package/dist/api/get-regions.d.ts +6 -2
- package/dist/api/get-regions.js +6 -3
- package/dist/api/get-render-progress.d.ts +3 -3
- package/dist/api/get-render-progress.js +6 -11
- package/dist/api/get-sites.d.ts +6 -6
- package/dist/api/get-sites.js +5 -4
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +2 -2
- package/dist/api/iam-validation/simulate-rule.js +0 -22
- package/dist/api/iam-validation/simulate.d.ts +3 -3
- package/dist/api/iam-validation/simulate.js +27 -6
- 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 +1 -1
- package/dist/api/iam-validation/user-permissions.js +3 -8
- package/dist/api/make-lambda-payload.d.ts +5 -0
- package/dist/api/make-lambda-payload.js +79 -0
- package/dist/api/mock-functions.d.ts +0 -0
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +4 -5
- package/dist/api/presign-url.js +3 -3
- package/dist/api/render-media-on-lambda.d.ts +27 -11
- package/dist/api/render-media-on-lambda.js +15 -49
- package/dist/api/render-still-on-lambda.d.ts +17 -6
- package/dist/api/render-still-on-lambda.js +25 -10
- package/dist/api/speculate-function-name.d.ts +14 -0
- package/dist/api/speculate-function-name.js +22 -0
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +54 -51
- package/dist/api/validate-webhook-signature.d.ts +2 -2
- package/dist/api/validate-webhook-signature.js +1 -1
- package/dist/cli/args.d.ts +7 -5
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +44 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +15 -15
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +16 -17
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +17 -10
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +20 -7
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +20 -8
- 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 +30 -10
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +8 -9
- 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 +6 -2
- package/dist/cli/commands/render/progress.d.ts +11 -7
- package/dist/cli/commands/render/progress.js +55 -45
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +99 -27
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +37 -33
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +18 -16
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +9 -10
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +7 -16
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +5 -16
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +49 -20
- package/dist/cli/get-aws-region.d.ts +0 -0
- package/dist/cli/get-aws-region.js +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +4 -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 +35 -6
- package/dist/cli/helpers/progress-bar.d.ts +12 -7
- package/dist/cli/helpers/progress-bar.js +20 -11
- 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 +1 -1
- package/dist/cli/index.js +23 -12
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +14 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +8 -2
- package/dist/client.js +9 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
- package/dist/functions/chunk-optimization/types.d.ts +2 -13
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +59 -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 +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
- package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
- package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
- package/dist/functions/helpers/check-if-render-exists.js +0 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +8 -8
- package/dist/functions/helpers/concat-videos.d.ts +13 -5
- package/dist/functions/helpers/concat-videos.js +38 -39
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +1 -15
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +0 -0
- package/dist/functions/helpers/expected-out-name.js +2 -2
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -3
- package/dist/functions/helpers/get-browser-instance.js +9 -5
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.js +8 -6
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +0 -0
- package/dist/functions/helpers/get-custom-out-name.js +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
- package/dist/functions/helpers/get-encoding-metadata.js +7 -17
- package/dist/functions/helpers/get-files-in-folder.d.ts +1 -1
- package/dist/functions/helpers/get-files-in-folder.js +5 -5
- package/dist/functions/helpers/get-files-to-delete.d.ts +1 -1
- package/dist/functions/helpers/get-files-to-delete.js +0 -0
- package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
- package/dist/functions/helpers/get-final-encoding-status.js +1 -4
- 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 +2 -6
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +1 -9
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
- package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
- package/dist/functions/helpers/get-overall-progress.js +7 -5
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +0 -0
- package/dist/functions/helpers/get-progress.js +43 -42
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-render-metadata.js +0 -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-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 +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +10 -4
- package/dist/functions/helpers/io.js +25 -3
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +1 -1
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
- package/dist/functions/helpers/make-timeout-error.js +35 -0
- package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
- package/dist/functions/helpers/make-timeout-message.js +31 -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 +0 -0
- 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 +1 -1
- package/dist/functions/helpers/read-with-progress.js +1 -1
- package/dist/functions/helpers/streamify-response.d.ts +16 -0
- package/dist/functions/helpers/streamify-response.js +67 -0
- 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 +10 -9
- package/dist/functions/helpers/validate-composition.js +16 -13
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
- package/dist/functions/helpers/write-lambda-error.js +0 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +0 -0
- package/dist/functions/index.d.ts +1 -7
- package/dist/functions/index.js +43 -10
- package/dist/functions/info.d.ts +0 -0
- package/dist/functions/info.js +0 -0
- package/dist/functions/launch.d.ts +2 -1
- package/dist/functions/launch.js +151 -134
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +2 -2
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +73 -44
- package/dist/functions/start.d.ts +1 -1
- package/dist/functions/start.js +21 -8
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +78 -37
- package/dist/index.d.ts +24 -8
- package/dist/index.js +23 -6
- package/dist/internals.d.ts +3 -1
- package/dist/internals.js +3 -0
- package/dist/pricing/aws-regions.d.ts +3 -2
- package/dist/pricing/aws-regions.js +31 -1
- package/dist/pricing/price-per-1-s.d.ts +0 -0
- package/dist/pricing/price-per-1-s.js +413 -39
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +1 -1
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +6 -3
- package/dist/shared/aws-clients.js +75 -13
- package/dist/shared/bundle-site.d.ts +0 -0
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +0 -0
- package/dist/shared/call-lambda.js +27 -2
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +3 -0
- package/dist/shared/chunk-progress.d.ts +9 -0
- package/dist/shared/chunk-progress.js +2034 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +135 -89
- package/dist/shared/constants.js +7 -4
- package/dist/shared/content-disposition-header.d.ts +1 -1
- package/dist/shared/content-disposition-header.js +0 -0
- package/dist/shared/convert-to-serve-url.d.ts +5 -1
- package/dist/shared/convert-to-serve-url.js +1 -5
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -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 +1 -1
- package/dist/shared/function-zip-path.js +3 -3
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
- package/dist/shared/get-aws-urls.js +12 -0
- package/dist/shared/get-etag.d.ts +1 -0
- package/dist/shared/get-etag.js +24 -0
- package/dist/shared/get-function-version.d.ts +0 -0
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
- package/dist/shared/get-most-expensive-chunks.js +3 -2
- package/dist/shared/get-s3-operations.d.ts +10 -0
- package/dist/shared/get-s3-operations.js +36 -0
- package/dist/shared/hosted-layers.d.ts +5 -8
- package/dist/shared/hosted-layers.js +210 -284
- package/dist/shared/invoke-webhook.d.ts +5 -18
- package/dist/shared/invoke-webhook.js +4 -19
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +0 -0
- package/dist/shared/lambda-version-string.d.ts +0 -0
- package/dist/shared/lambda-version-string.js +0 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +2 -2
- package/dist/shared/make-s3-url.d.ts +0 -0
- package/dist/shared/make-s3-url.js +2 -2
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-chunk-key.d.ts +4 -0
- package/dist/shared/parse-chunk-key.js +14 -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 +1 -1
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/read-dir.d.ts +9 -0
- package/dist/shared/read-dir.js +57 -0
- package/dist/shared/return-values.d.ts +7 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/serialize-input-props.d.ts +8 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +0 -0
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +1 -1
- package/dist/shared/truthy.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +0 -0
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +5 -0
- package/dist/shared/validate-bucketname.js +19 -1
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -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 +0 -0
- package/dist/shared/validate-download-behavior.js +0 -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 +2 -2
- package/dist/shared/validate-lambda-codec.js +1 -1
- 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 +2 -2
- package/dist/shared/validate-outname.js +16 -10
- package/dist/shared/validate-presign-expiration.d.ts +0 -0
- package/dist/shared/validate-presign-expiration.js +0 -0
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +5 -2
- 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 +89 -65
- package/remotionlambda-arm64.zip +0 -0
- package/.prettierrc.js +0 -14
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/api/enable-s3-website.d.ts +0 -5
- package/dist/api/enable-s3-website.js +0 -16
- package/dist/cli/helpers/determine-image-format.d.ts +0 -10
- package/dist/cli/helpers/determine-image-format.js +0 -47
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
- package/dist/cli/helpers/webhook-types.d.ts +0 -6
- package/dist/cli/helpers/webhook-types.js +0 -2
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -47
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
- package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
- package/dist/functions/helpers/get-current-architecture.js +0 -11
- package/dist/shared/get-cloudwatch-stream-url.js +0 -7
- package/dist/shared/validate-architecture.d.ts +0 -4
- package/dist/shared/validate-architecture.js +0 -14
- package/remotionlambda.zip +0 -0
- package/tsconfig.json +0 -16
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AwsRegion } from '../client';
|
|
2
|
+
import type { SerializedInputProps } from './constants';
|
|
3
|
+
export declare const cleanupSerializedInputProps: ({ serialized, region, bucketName, }: {
|
|
4
|
+
serialized: SerializedInputProps;
|
|
5
|
+
region: AwsRegion;
|
|
6
|
+
bucketName: string;
|
|
7
|
+
}) => Promise<number>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanupSerializedInputProps = void 0;
|
|
4
|
+
const io_1 = require("../functions/helpers/io");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const cleanupSerializedInputProps = async ({ serialized, region, bucketName, }) => {
|
|
7
|
+
if (serialized.type === 'payload') {
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
const time = Date.now();
|
|
11
|
+
await (0, io_1.lambdaDeleteFile)({
|
|
12
|
+
bucketName,
|
|
13
|
+
key: (0, constants_1.inputPropsKey)(serialized.hash),
|
|
14
|
+
region,
|
|
15
|
+
customCredentials: null,
|
|
16
|
+
});
|
|
17
|
+
return Date.now() - time;
|
|
18
|
+
};
|
|
19
|
+
exports.cleanupSerializedInputProps = cleanupSerializedInputProps;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import type { ChromiumOptions, Codec, FrameRange,
|
|
2
|
-
import type {
|
|
1
|
+
import type { AudioCodec, ChromiumOptions, Codec, FrameRange, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
|
|
2
|
+
import type { AnyCompMetadata } from 'remotion';
|
|
3
3
|
import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
|
|
4
4
|
import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
5
5
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
6
6
|
import type { CustomCredentials, CustomCredentialsWithoutSensitiveData } from './aws-clients';
|
|
7
7
|
import type { DownloadBehavior } from './content-disposition-header';
|
|
8
8
|
import type { ExpensiveChunk } from './get-most-expensive-chunks';
|
|
9
|
-
import type { LambdaArchitecture } from './validate-architecture';
|
|
10
9
|
import type { LambdaCodec } from './validate-lambda-codec';
|
|
11
10
|
export declare const MIN_MEMORY = 512;
|
|
12
11
|
export declare const MAX_MEMORY = 10240;
|
|
13
12
|
export declare const DEFAULT_MEMORY_SIZE = 2048;
|
|
14
|
-
export declare const DEFAULT_ARCHITECTURE: LambdaArchitecture;
|
|
15
13
|
export declare const DEFAULT_TIMEOUT = 120;
|
|
16
14
|
export declare const MIN_TIMEOUT = 15;
|
|
17
15
|
export declare const MAX_TIMEOUT = 900;
|
|
@@ -27,6 +25,7 @@ export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
|
|
|
27
25
|
export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
|
|
28
26
|
export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
|
|
29
27
|
export declare const DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
|
|
28
|
+
export declare const ENCODING_PROGRESS_STEP_SIZE = 100;
|
|
30
29
|
export declare const REMOTION_BUCKET_PREFIX = "remotionlambda-";
|
|
31
30
|
export declare const RENDER_FN_PREFIX = "remotion-render-";
|
|
32
31
|
export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
|
|
@@ -60,27 +59,27 @@ export declare const getErrorFileName: ({ renderId, chunk, attempt, }: {
|
|
|
60
59
|
chunk: number | null;
|
|
61
60
|
attempt: number;
|
|
62
61
|
}) => string;
|
|
63
|
-
export
|
|
62
|
+
export type OutNameInput = string | {
|
|
64
63
|
bucketName: string;
|
|
65
64
|
key: string;
|
|
66
65
|
s3OutputProvider?: CustomCredentials;
|
|
67
66
|
};
|
|
68
|
-
export
|
|
67
|
+
export type OutNameInputWithoutCredentials = string | {
|
|
69
68
|
bucketName: string;
|
|
70
69
|
key: string;
|
|
71
70
|
s3OutputProvider?: CustomCredentialsWithoutSensitiveData;
|
|
72
71
|
};
|
|
73
|
-
export
|
|
72
|
+
export type OutNameOutput = {
|
|
74
73
|
renderBucketName: string;
|
|
75
74
|
key: string;
|
|
76
75
|
customCredentials: CustomCredentials | null;
|
|
77
76
|
};
|
|
78
|
-
export declare const optimizationProfile: (siteId: string, compositionId: string) => string;
|
|
79
77
|
export declare const getSitesKey: (siteId: string) => string;
|
|
80
78
|
export declare const outName: (renderId: string, extension: string) => string;
|
|
81
|
-
export declare const outStillName: (renderId: string, imageFormat:
|
|
79
|
+
export declare const outStillName: (renderId: string, imageFormat: StillImageFormat) => string;
|
|
82
80
|
export declare const customOutName: (renderId: string, bucketName: string, name: OutNameInput) => OutNameOutput;
|
|
83
81
|
export declare const postRenderDataKey: (renderId: string) => string;
|
|
82
|
+
export declare const inputPropsKey: (hash: string) => string;
|
|
84
83
|
export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
|
|
85
84
|
export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
|
|
86
85
|
export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
|
|
@@ -91,60 +90,86 @@ export declare enum LambdaRoutines {
|
|
|
91
90
|
launch = "launch",
|
|
92
91
|
status = "status",
|
|
93
92
|
renderer = "renderer",
|
|
94
|
-
still = "still"
|
|
93
|
+
still = "still",
|
|
94
|
+
compositions = "compositions"
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
type WebhookOption = null | {
|
|
97
|
+
url: string;
|
|
98
|
+
secret: string | null;
|
|
99
|
+
};
|
|
100
|
+
export type SerializedInputProps = {
|
|
101
|
+
type: 'bucket-url';
|
|
102
|
+
hash: string;
|
|
103
|
+
} | {
|
|
104
|
+
type: 'payload';
|
|
105
|
+
payload: unknown;
|
|
106
|
+
};
|
|
107
|
+
export type LambdaStartPayload = {
|
|
108
|
+
rendererFunctionName: string | null;
|
|
109
|
+
type: LambdaRoutines.start;
|
|
110
|
+
serveUrl: string;
|
|
111
|
+
composition: string;
|
|
112
|
+
framesPerLambda: number | null;
|
|
113
|
+
inputProps: SerializedInputProps;
|
|
114
|
+
codec: LambdaCodec;
|
|
115
|
+
audioCodec: AudioCodec | null;
|
|
116
|
+
imageFormat: VideoImageFormat;
|
|
117
|
+
crf: number | undefined;
|
|
118
|
+
envVariables: Record<string, string> | undefined;
|
|
119
|
+
pixelFormat: PixelFormat | undefined;
|
|
120
|
+
proResProfile: ProResProfile | undefined;
|
|
121
|
+
jpegQuality: number | undefined;
|
|
122
|
+
maxRetries: number;
|
|
123
|
+
privacy: Privacy;
|
|
124
|
+
logLevel: LogLevel;
|
|
125
|
+
frameRange: FrameRange | null;
|
|
126
|
+
outName: OutNameInput | null;
|
|
127
|
+
timeoutInMilliseconds: number;
|
|
128
|
+
chromiumOptions: ChromiumOptions;
|
|
129
|
+
scale: number;
|
|
130
|
+
everyNthFrame: number;
|
|
131
|
+
numberOfGifLoops: number | null;
|
|
132
|
+
concurrencyPerLambda: number;
|
|
133
|
+
downloadBehavior: DownloadBehavior;
|
|
134
|
+
muted: boolean;
|
|
135
|
+
version: string;
|
|
136
|
+
overwrite: boolean;
|
|
137
|
+
audioBitrate: string | null;
|
|
138
|
+
videoBitrate: string | null;
|
|
139
|
+
webhook: WebhookOption;
|
|
140
|
+
forceHeight: number | null;
|
|
141
|
+
forceWidth: number | null;
|
|
142
|
+
bucketName: string | null;
|
|
143
|
+
};
|
|
144
|
+
export type LambdaStatusPayload = {
|
|
145
|
+
type: LambdaRoutines.status;
|
|
146
|
+
bucketName: string;
|
|
147
|
+
renderId: string;
|
|
148
|
+
version: string;
|
|
149
|
+
s3OutputProvider?: CustomCredentials;
|
|
150
|
+
};
|
|
151
|
+
export type LambdaPayloads = {
|
|
97
152
|
info: {
|
|
98
153
|
type: LambdaRoutines.info;
|
|
99
154
|
};
|
|
100
|
-
start:
|
|
101
|
-
type: LambdaRoutines.start;
|
|
102
|
-
serveUrl: string;
|
|
103
|
-
composition: string;
|
|
104
|
-
framesPerLambda: number | null;
|
|
105
|
-
inputProps: unknown;
|
|
106
|
-
codec: LambdaCodec;
|
|
107
|
-
imageFormat: ImageFormat;
|
|
108
|
-
crf: number | undefined;
|
|
109
|
-
envVariables: Record<string, string> | undefined;
|
|
110
|
-
pixelFormat: PixelFormat | undefined;
|
|
111
|
-
proResProfile: ProResProfile | undefined;
|
|
112
|
-
quality: number | undefined;
|
|
113
|
-
maxRetries: number;
|
|
114
|
-
privacy: Privacy;
|
|
115
|
-
logLevel: LogLevel;
|
|
116
|
-
frameRange: FrameRange | null;
|
|
117
|
-
outName: OutNameInput | null;
|
|
118
|
-
timeoutInMilliseconds: number;
|
|
119
|
-
chromiumOptions: ChromiumOptions;
|
|
120
|
-
scale: number;
|
|
121
|
-
everyNthFrame: number;
|
|
122
|
-
numberOfGifLoops: number | null;
|
|
123
|
-
concurrencyPerLambda: number;
|
|
124
|
-
downloadBehavior: DownloadBehavior;
|
|
125
|
-
muted: boolean;
|
|
126
|
-
version: string;
|
|
127
|
-
overwrite: boolean;
|
|
128
|
-
webhook: null | {
|
|
129
|
-
url: string;
|
|
130
|
-
secret: string | null;
|
|
131
|
-
};
|
|
132
|
-
};
|
|
155
|
+
start: LambdaStartPayload;
|
|
133
156
|
launch: {
|
|
157
|
+
rendererFunctionName: string | null;
|
|
134
158
|
type: LambdaRoutines.launch;
|
|
135
159
|
serveUrl: string;
|
|
136
160
|
composition: string;
|
|
137
161
|
framesPerLambda: number | null;
|
|
138
162
|
bucketName: string;
|
|
139
|
-
inputProps:
|
|
163
|
+
inputProps: SerializedInputProps;
|
|
140
164
|
renderId: string;
|
|
141
|
-
imageFormat:
|
|
165
|
+
imageFormat: VideoImageFormat;
|
|
142
166
|
codec: LambdaCodec;
|
|
167
|
+
audioCodec: AudioCodec | null;
|
|
143
168
|
crf: number | undefined;
|
|
144
169
|
envVariables: Record<string, string> | undefined;
|
|
145
170
|
pixelFormat: PixelFormat | undefined;
|
|
146
171
|
proResProfile: ProResProfile | undefined;
|
|
147
|
-
|
|
172
|
+
jpegQuality: number | undefined;
|
|
148
173
|
maxRetries: number;
|
|
149
174
|
privacy: Privacy;
|
|
150
175
|
logLevel: LogLevel;
|
|
@@ -159,18 +184,13 @@ export declare type LambdaPayloads = {
|
|
|
159
184
|
downloadBehavior: DownloadBehavior;
|
|
160
185
|
muted: boolean;
|
|
161
186
|
overwrite: boolean;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
status: {
|
|
168
|
-
type: LambdaRoutines.status;
|
|
169
|
-
bucketName: string;
|
|
170
|
-
renderId: string;
|
|
171
|
-
version: string;
|
|
172
|
-
s3OutputProvider?: CustomCredentials;
|
|
187
|
+
audioBitrate: string | null;
|
|
188
|
+
videoBitrate: string | null;
|
|
189
|
+
webhook: WebhookOption;
|
|
190
|
+
forceHeight: number | null;
|
|
191
|
+
forceWidth: number | null;
|
|
173
192
|
};
|
|
193
|
+
status: LambdaStatusPayload;
|
|
174
194
|
renderer: {
|
|
175
195
|
concurrencyPerLambda: number;
|
|
176
196
|
type: LambdaRoutines.renderer;
|
|
@@ -184,14 +204,14 @@ export declare type LambdaPayloads = {
|
|
|
184
204
|
width: number;
|
|
185
205
|
durationInFrames: number;
|
|
186
206
|
retriesLeft: number;
|
|
187
|
-
inputProps:
|
|
207
|
+
inputProps: SerializedInputProps;
|
|
188
208
|
renderId: string;
|
|
189
|
-
imageFormat:
|
|
190
|
-
codec:
|
|
209
|
+
imageFormat: VideoImageFormat;
|
|
210
|
+
codec: LambdaCodec;
|
|
191
211
|
crf: number | undefined;
|
|
192
212
|
proResProfile: ProResProfile | undefined;
|
|
193
213
|
pixelFormat: PixelFormat | undefined;
|
|
194
|
-
|
|
214
|
+
jpegQuality: number | undefined;
|
|
195
215
|
envVariables: Record<string, string> | undefined;
|
|
196
216
|
privacy: Privacy;
|
|
197
217
|
attempt: number;
|
|
@@ -201,16 +221,21 @@ export declare type LambdaPayloads = {
|
|
|
201
221
|
scale: number;
|
|
202
222
|
everyNthFrame: number;
|
|
203
223
|
muted: boolean;
|
|
224
|
+
audioBitrate: string | null;
|
|
225
|
+
videoBitrate: string | null;
|
|
226
|
+
launchFunctionConfig: {
|
|
227
|
+
version: string;
|
|
228
|
+
};
|
|
204
229
|
};
|
|
205
230
|
still: {
|
|
206
231
|
type: LambdaRoutines.still;
|
|
207
232
|
serveUrl: string;
|
|
208
233
|
composition: string;
|
|
209
|
-
inputProps:
|
|
210
|
-
imageFormat:
|
|
234
|
+
inputProps: SerializedInputProps;
|
|
235
|
+
imageFormat: StillImageFormat;
|
|
211
236
|
envVariables: Record<string, string> | undefined;
|
|
212
237
|
attempt: number;
|
|
213
|
-
|
|
238
|
+
jpegQuality: number | undefined;
|
|
214
239
|
maxRetries: number;
|
|
215
240
|
frame: number;
|
|
216
241
|
privacy: Privacy;
|
|
@@ -221,28 +246,44 @@ export declare type LambdaPayloads = {
|
|
|
221
246
|
scale: number;
|
|
222
247
|
downloadBehavior: DownloadBehavior | null;
|
|
223
248
|
version: string;
|
|
249
|
+
forceHeight: number | null;
|
|
250
|
+
forceWidth: number | null;
|
|
251
|
+
bucketName: string | null;
|
|
252
|
+
};
|
|
253
|
+
compositions: {
|
|
254
|
+
type: LambdaRoutines.compositions;
|
|
255
|
+
version: string;
|
|
256
|
+
chromiumOptions: ChromiumOptions;
|
|
257
|
+
logLevel: LogLevel;
|
|
258
|
+
inputProps: SerializedInputProps;
|
|
259
|
+
envVariables: Record<string, string> | undefined;
|
|
260
|
+
timeoutInMilliseconds: number;
|
|
261
|
+
serveUrl: string;
|
|
262
|
+
bucketName: string | null;
|
|
224
263
|
};
|
|
225
264
|
};
|
|
226
|
-
export
|
|
227
|
-
export
|
|
265
|
+
export type LambdaPayload = LambdaPayloads[LambdaRoutines];
|
|
266
|
+
export type EncodingProgress = {
|
|
228
267
|
framesEncoded: number;
|
|
229
|
-
totalFrames: number | null;
|
|
230
|
-
doneIn: number | null;
|
|
231
|
-
timeToInvoke: number | null;
|
|
232
268
|
};
|
|
233
|
-
|
|
269
|
+
type Discriminated = {
|
|
270
|
+
type: 'still';
|
|
271
|
+
imageFormat: StillImageFormat;
|
|
272
|
+
} | {
|
|
273
|
+
type: 'video';
|
|
274
|
+
imageFormat: VideoImageFormat;
|
|
275
|
+
};
|
|
276
|
+
export type RenderMetadata = Discriminated & {
|
|
234
277
|
siteId: string;
|
|
235
|
-
videoConfig:
|
|
278
|
+
videoConfig: AnyCompMetadata;
|
|
236
279
|
startedDate: number;
|
|
237
280
|
totalChunks: number;
|
|
238
281
|
estimatedTotalLambdaInvokations: number;
|
|
239
282
|
estimatedRenderLambdaInvokations: number;
|
|
240
283
|
compositionId: string;
|
|
241
284
|
codec: Codec | null;
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
imageFormat: ImageFormat;
|
|
245
|
-
inputProps: unknown;
|
|
285
|
+
audioCodec: AudioCodec | null;
|
|
286
|
+
inputProps: SerializedInputProps;
|
|
246
287
|
framesPerLambda: number;
|
|
247
288
|
memorySizeInMb: number;
|
|
248
289
|
lambdaVersion: string;
|
|
@@ -250,14 +291,17 @@ export declare type RenderMetadata = {
|
|
|
250
291
|
renderId: string;
|
|
251
292
|
outName: OutNameInputWithoutCredentials | undefined;
|
|
252
293
|
privacy: Privacy;
|
|
294
|
+
frameRange: [number, number];
|
|
295
|
+
everyNthFrame: number;
|
|
253
296
|
};
|
|
254
|
-
export
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
297
|
+
export type AfterRenderCost = {
|
|
298
|
+
estimatedCost: number;
|
|
299
|
+
estimatedDisplayCost: string;
|
|
300
|
+
currency: string;
|
|
301
|
+
disclaimer: string;
|
|
302
|
+
};
|
|
303
|
+
export type PostRenderData = {
|
|
304
|
+
cost: AfterRenderCost;
|
|
261
305
|
outputFile: string;
|
|
262
306
|
outputSize: number;
|
|
263
307
|
renderSize: number;
|
|
@@ -270,22 +314,21 @@ export declare type PostRenderData = {
|
|
|
270
314
|
timeToEncode: number;
|
|
271
315
|
timeToCleanUp: number;
|
|
272
316
|
timeToRenderChunks: number;
|
|
273
|
-
timeToInvokeLambdas: number;
|
|
274
317
|
retriesInfo: ChunkRetry[];
|
|
275
318
|
mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
|
|
276
319
|
};
|
|
277
|
-
export
|
|
320
|
+
export type CostsInfo = {
|
|
278
321
|
accruedSoFar: number;
|
|
279
322
|
displayCost: string;
|
|
280
323
|
currency: string;
|
|
281
324
|
disclaimer: string;
|
|
282
325
|
};
|
|
283
|
-
export
|
|
326
|
+
export type CleanupInfo = {
|
|
284
327
|
doneIn: number | null;
|
|
285
328
|
minFilesToDelete: number;
|
|
286
329
|
filesDeleted: number;
|
|
287
330
|
};
|
|
288
|
-
export
|
|
331
|
+
export type RenderProgress = {
|
|
289
332
|
chunks: number;
|
|
290
333
|
done: boolean;
|
|
291
334
|
encodingStatus: EncodingProgress | null;
|
|
@@ -304,11 +347,14 @@ export declare type RenderProgress = {
|
|
|
304
347
|
lambdasInvoked: number;
|
|
305
348
|
cleanup: CleanupInfo | null;
|
|
306
349
|
timeToFinishChunks: number | null;
|
|
307
|
-
|
|
350
|
+
timeToEncode: number | null;
|
|
308
351
|
overallProgress: number;
|
|
309
352
|
retriesInfo: ChunkRetry[];
|
|
310
353
|
mostExpensiveFrameRanges: ExpensiveChunk[] | null;
|
|
354
|
+
framesRendered: number;
|
|
355
|
+
outputSizeInBytes: number | null;
|
|
311
356
|
};
|
|
312
|
-
export
|
|
357
|
+
export type Privacy = 'public' | 'private' | 'no-acl';
|
|
313
358
|
export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
|
|
314
359
|
export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
|
|
360
|
+
export {};
|
package/dist/shared/constants.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.
|
|
3
|
+
exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.inputPropsKey = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.ENCODING_PROGRESS_STEP_SIZE = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
|
|
4
4
|
exports.MIN_MEMORY = 512;
|
|
5
5
|
exports.MAX_MEMORY = 10240;
|
|
6
6
|
exports.DEFAULT_MEMORY_SIZE = 2048;
|
|
7
|
-
exports.DEFAULT_ARCHITECTURE = 'arm64';
|
|
8
7
|
exports.DEFAULT_TIMEOUT = 120;
|
|
9
8
|
exports.MIN_TIMEOUT = 15;
|
|
10
9
|
exports.MAX_TIMEOUT = 900;
|
|
@@ -20,6 +19,7 @@ exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
|
|
|
20
19
|
exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
|
|
21
20
|
exports.DEFAULT_OUTPUT_PRIVACY = 'public';
|
|
22
21
|
exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
|
|
22
|
+
exports.ENCODING_PROGRESS_STEP_SIZE = 100;
|
|
23
23
|
exports.REMOTION_BUCKET_PREFIX = 'remotionlambda-';
|
|
24
24
|
exports.RENDER_FN_PREFIX = 'remotion-render-';
|
|
25
25
|
exports.LOG_GROUP_PREFIX = '/aws/lambda/';
|
|
@@ -51,8 +51,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
|
|
|
51
51
|
exports.getErrorKeyPrefix = getErrorKeyPrefix;
|
|
52
52
|
const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
|
|
53
53
|
exports.getErrorFileName = getErrorFileName;
|
|
54
|
-
const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
|
|
55
|
-
exports.optimizationProfile = optimizationProfile;
|
|
56
54
|
const getSitesKey = (siteId) => `sites/${siteId}`;
|
|
57
55
|
exports.getSitesKey = getSitesKey;
|
|
58
56
|
const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
|
|
@@ -79,6 +77,10 @@ const postRenderDataKey = (renderId) => {
|
|
|
79
77
|
return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
|
|
80
78
|
};
|
|
81
79
|
exports.postRenderDataKey = postRenderDataKey;
|
|
80
|
+
const inputPropsKey = (hash) => {
|
|
81
|
+
return `input-props/${hash}.json`;
|
|
82
|
+
};
|
|
83
|
+
exports.inputPropsKey = inputPropsKey;
|
|
82
84
|
exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
|
|
83
85
|
exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
|
|
84
86
|
exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
|
|
@@ -91,6 +93,7 @@ var LambdaRoutines;
|
|
|
91
93
|
LambdaRoutines["status"] = "status";
|
|
92
94
|
LambdaRoutines["renderer"] = "renderer";
|
|
93
95
|
LambdaRoutines["still"] = "still";
|
|
96
|
+
LambdaRoutines["compositions"] = "compositions";
|
|
94
97
|
})(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
|
|
95
98
|
exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
|
|
96
99
|
exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
|
|
File without changes
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
export declare const convertToServeUrl: (urlOrId
|
|
2
|
+
export declare const convertToServeUrl: ({ urlOrId, region, bucketName, }: {
|
|
3
|
+
urlOrId: string;
|
|
4
|
+
region: AwsRegion;
|
|
5
|
+
bucketName: string;
|
|
6
|
+
}) => string;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.convertToServeUrl = void 0;
|
|
4
|
-
const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
|
|
5
4
|
const docs_url_1 = require("./docs-url");
|
|
6
|
-
const convertToServeUrl =
|
|
5
|
+
const convertToServeUrl = ({ urlOrId, region, bucketName, }) => {
|
|
7
6
|
if (urlOrId.startsWith('src/')) {
|
|
8
7
|
throw new Error(`Remotion Lambda can only render based on a URL in the cloud. It seems like you passed a local file: ${urlOrId}. Read the setup guide for Remotion Lambda ${docs_url_1.DOCS_URL}/docs/lambda/setup`);
|
|
9
8
|
}
|
|
10
9
|
if (urlOrId.startsWith('http://') || urlOrId.startsWith('https://')) {
|
|
11
10
|
return urlOrId;
|
|
12
11
|
}
|
|
13
|
-
const { bucketName } = await (0, get_or_create_bucket_1.getOrCreateBucket)({
|
|
14
|
-
region,
|
|
15
|
-
});
|
|
16
12
|
return `https://${bucketName}.s3.${region}.amazonaws.com/sites/${urlOrId}/index.html`;
|
|
17
13
|
};
|
|
18
14
|
exports.convertToServeUrl = convertToServeUrl;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AwsRegion } from '../client';
|
|
2
|
+
import type { SerializedInputProps } from './constants';
|
|
3
|
+
export declare const deserializeInputProps: ({ serialized, region, bucketName, expectedBucketOwner, }: {
|
|
4
|
+
serialized: SerializedInputProps;
|
|
5
|
+
region: AwsRegion;
|
|
6
|
+
bucketName: string;
|
|
7
|
+
expectedBucketOwner: string;
|
|
8
|
+
}) => Promise<Record<string, unknown>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeInputProps = void 0;
|
|
4
|
+
const io_1 = require("../functions/helpers/io");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const stream_to_string_1 = require("./stream-to-string");
|
|
7
|
+
const deserializeInputProps = async ({ serialized, region, bucketName, expectedBucketOwner, }) => {
|
|
8
|
+
if (serialized.type === 'payload') {
|
|
9
|
+
return JSON.parse(serialized.payload);
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const response = await (0, io_1.lambdaReadFile)({
|
|
13
|
+
bucketName,
|
|
14
|
+
expectedBucketOwner,
|
|
15
|
+
key: (0, constants_1.inputPropsKey)(serialized.hash),
|
|
16
|
+
region,
|
|
17
|
+
});
|
|
18
|
+
const body = await (0, stream_to_string_1.streamToString)(response);
|
|
19
|
+
const payload = JSON.parse(body);
|
|
20
|
+
return payload;
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
throw new Error(`Failed to parse input props that were serialized: ${err.stack}`);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.deserializeInputProps = deserializeInputProps;
|
|
File without changes
|
package/dist/shared/docs-url.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const FUNCTION_ZIP_ARM64: string;
|
|
@@ -3,6 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
8
|
-
exports.
|
|
6
|
+
exports.FUNCTION_ZIP_ARM64 = void 0;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
exports.FUNCTION_ZIP_ARM64 = node_path_1.default.join(node_path_1.default.resolve(__dirname, '..', '..'), `remotionlambda-arm64.zip`);
|
|
File without changes
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAccountId = void 0;
|
|
4
|
-
const
|
|
4
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
5
5
|
const aws_clients_1 = require("./aws-clients");
|
|
6
6
|
const validate_aws_region_1 = require("./validate-aws-region");
|
|
7
7
|
const getAccountId = async (options) => {
|
|
8
|
-
var _a, _b;
|
|
9
8
|
(0, validate_aws_region_1.validateAwsRegion)(options.region);
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
if (!accountId) {
|
|
9
|
+
const callerIdentity = await (0, aws_clients_1.getStsClient)(options.region).send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
10
|
+
if (!callerIdentity.Account) {
|
|
13
11
|
throw new Error('Cannot get account ID');
|
|
14
12
|
}
|
|
15
|
-
return
|
|
13
|
+
return callerIdentity.Account;
|
|
16
14
|
};
|
|
17
15
|
exports.getAccountId = getAccountId;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { AwsRegion } from '../client';
|
|
2
2
|
import type { LambdaRoutines } from './constants';
|
|
3
|
-
export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, }: {
|
|
3
|
+
export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, rendererFunctionName, }: {
|
|
4
4
|
region: AwsRegion;
|
|
5
5
|
functionName: string;
|
|
6
|
+
rendererFunctionName: string | null;
|
|
6
7
|
method: LambdaRoutines;
|
|
7
8
|
renderId: string;
|
|
8
9
|
}) => string;
|
|
10
|
+
export declare const getS3RenderUrl: ({ renderId, region, bucketName, }: {
|
|
11
|
+
renderId: string;
|
|
12
|
+
region: AwsRegion;
|
|
13
|
+
bucketName: string;
|
|
14
|
+
}) => string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getS3RenderUrl = exports.getCloudwatchStreamUrl = void 0;
|
|
4
|
+
const getCloudwatchStreamUrl = ({ region, functionName, method, renderId, rendererFunctionName, }) => {
|
|
5
|
+
const functionNameToUse = rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : functionName;
|
|
6
|
+
return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionNameToUse}/log-events$3FfilterPattern$3D$2522method$253D${method}$252CrenderId$253D${renderId}$2522`;
|
|
7
|
+
};
|
|
8
|
+
exports.getCloudwatchStreamUrl = getCloudwatchStreamUrl;
|
|
9
|
+
const getS3RenderUrl = ({ renderId, region, bucketName, }) => {
|
|
10
|
+
return `https://s3.console.aws.amazon.com/s3/buckets/${bucketName}?region=${region}&prefix=renders/${renderId}/`;
|
|
11
|
+
};
|
|
12
|
+
exports.getS3RenderUrl = getS3RenderUrl;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getEtagOfFile: (filePath: string) => Promise<string>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getEtagOfFile = void 0;
|
|
7
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
8
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
|
+
const chunk = 1024 * 1024 * 5; // 5MB
|
|
10
|
+
const md5 = (data) => node_crypto_1.default.createHash('md5').update(data).digest('hex');
|
|
11
|
+
const getEtagOfFile = async (filePath) => {
|
|
12
|
+
const stream = await node_fs_1.default.promises.readFile(filePath);
|
|
13
|
+
if (stream.length <= chunk) {
|
|
14
|
+
return `"${md5(stream)}"`;
|
|
15
|
+
}
|
|
16
|
+
const md5Chunks = [];
|
|
17
|
+
const chunksNumber = Math.ceil(stream.length / chunk);
|
|
18
|
+
for (let i = 0; i < chunksNumber; i++) {
|
|
19
|
+
const chunkStream = stream.slice(i * chunk, (i + 1) * chunk);
|
|
20
|
+
md5Chunks.push(md5(chunkStream));
|
|
21
|
+
}
|
|
22
|
+
return `"${md5(Buffer.from(md5Chunks.join(''), 'hex'))}-${chunksNumber}"`;
|
|
23
|
+
};
|
|
24
|
+
exports.getEtagOfFile = getEtagOfFile;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ParsedTiming } from './parse-lambda-timings-key';
|
|
2
2
|
export declare const OVERHEAD_TIME_PER_LAMBDA = 100;
|
|
3
|
-
export
|
|
3
|
+
export type ExpensiveChunk = {
|
|
4
4
|
chunk: number;
|
|
5
5
|
frameRange: [number, number];
|
|
6
6
|
timeInMilliseconds: number;
|
|
7
7
|
};
|
|
8
|
-
export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number) => ExpensiveChunk[];
|
|
8
|
+
export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number, lastFrame: number) => ExpensiveChunk[];
|