@remotion/lambda 4.0.0-defer.6 → 4.0.0-esm.17
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 +21 -4
- 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 +28 -6
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +2 -2
- package/dist/api/create-function.js +0 -0
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-function.js +0 -0
- package/dist/api/delete-render.d.ts +19 -0
- package/dist/api/delete-render.js +66 -0
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/delete-site.js +0 -5
- package/dist/api/deploy-function.d.ts +2 -2
- package/dist/api/deploy-function.js +7 -3
- package/dist/api/deploy-site.d.ts +10 -3
- package/dist/api/deploy-site.js +39 -20
- package/dist/api/download-media.d.ts +15 -2
- package/dist/api/download-media.js +15 -3
- 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 +7 -3
- package/dist/api/get-aws-client.js +9 -2
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-buckets.js +27 -10
- package/dist/api/get-compositions-on-lambda.d.ts +29 -0
- package/dist/api/get-compositions-on-lambda.js +52 -0
- package/dist/api/get-function-info.d.ts +2 -3
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-functions.js +2 -1
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-or-create-bucket.js +2 -7
- package/dist/api/get-regions.d.ts +6 -2
- package/dist/api/get-regions.js +5 -2
- package/dist/api/get-render-progress.d.ts +6 -3
- package/dist/api/get-render-progress.js +5 -1
- 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 -22
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/iam-validation/simulate.js +24 -5
- 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 -8
- package/dist/api/mock-functions.d.ts +6 -7
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +3 -2
- package/dist/api/presign-url.js +6 -1
- package/dist/api/render-media-on-lambda.d.ts +35 -16
- package/dist/api/render-media-on-lambda.js +82 -37
- package/dist/api/render-still-on-lambda.d.ts +12 -7
- package/dist/api/render-still-on-lambda.js +55 -31
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +39 -21
- package/dist/api/validate-webhook-signature.d.ts +13 -0
- package/dist/api/validate-webhook-signature.js +32 -0
- package/dist/cli/args.d.ts +9 -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 +42 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +2 -1
- 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 +5 -1
- package/dist/cli/commands/render/progress.d.ts +11 -7
- package/dist/cli/commands/render/progress.js +68 -43
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +72 -25
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +21 -9
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +2 -2
- 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 +1 -1
- package/dist/cli/commands/still.js +34 -27
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/get-aws-region.js +2 -1
- 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 +3 -2
- package/dist/cli/helpers/progress-bar.d.ts +9 -3
- package/dist/cli/helpers/progress-bar.js +20 -5
- 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 +20 -9
- 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 +5 -2
- package/dist/client.js +5 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
- package/dist/functions/chunk-optimization/types.d.ts +0 -11
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +57 -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/check-if-render-exists.d.ts +3 -0
- package/dist/functions/helpers/check-if-render-exists.js +14 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +17 -7
- package/dist/functions/helpers/concat-videos.js +34 -32
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +5 -12
- 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 +4 -2
- package/dist/functions/helpers/expected-out-name.js +27 -6
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
- package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
- 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 +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +2 -1
- 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 +1 -1
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
- package/dist/functions/helpers/get-custom-out-name.js +31 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -9
- package/dist/functions/helpers/get-encoding-metadata.js +4 -18
- 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 +1 -1
- package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
- 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 +5 -4
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
- package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
- 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 +2 -2
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +6 -4
- package/dist/functions/helpers/get-progress.js +63 -34
- 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-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 +1 -1
- 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 +24 -6
- package/dist/functions/helpers/io.js +31 -8
- 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 +1 -1
- package/dist/functions/helpers/min-max.js +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
- 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 +6 -3
- package/dist/functions/helpers/read-with-progress.js +16 -4
- 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 +7 -4
- package/dist/functions/helpers/validate-composition.js +7 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
- package/dist/functions/helpers/write-lambda-error.js +2 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +2 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +29 -10
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +2 -1
- package/dist/functions/launch.js +343 -123
- package/dist/functions/progress.d.ts +2 -2
- package/dist/functions/progress.js +10 -1
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +126 -77
- package/dist/functions/start.d.ts +6 -2
- package/dist/functions/start.js +40 -4
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +63 -17
- package/dist/index.d.ts +50 -20
- package/dist/index.js +17 -3
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +2 -1
- package/dist/pricing/aws-regions.js +31 -1
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- 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 +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +17 -3
- package/dist/shared/aws-clients.js +118 -26
- package/dist/shared/bundle-site.d.ts +2 -6
- 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 +5 -2
- 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 +107 -37
- package/dist/shared/constants.js +20 -10
- 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 +6 -2
- 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 +2 -1
- package/dist/shared/function-zip-path.js +3 -2
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/get-aws-urls.d.ts +13 -0
- package/dist/{cli/helpers/get-cloudwatch-stream-url.js → shared/get-aws-urls.js} +5 -1
- 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 +2 -3
- 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/get-s3-operations.d.ts +10 -0
- package/dist/shared/get-s3-operations.js +36 -0
- package/dist/shared/hosted-layers.d.ts +2 -2
- package/dist/shared/hosted-layers.js +368 -60
- package/dist/shared/invoke-webhook.d.ts +46 -0
- package/dist/shared/invoke-webhook.js +89 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +5 -1
- package/dist/shared/lambda-version-string.d.ts +1 -0
- package/dist/shared/lambda-version-string.js +7 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +0 -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-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 +0 -0
- 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 +9 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/serialize-input-props.d.ts +7 -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 +1 -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 +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 +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
- package/dist/shared/validate-frames-per-lambda.js +4 -3
- 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 +3 -2
- package/dist/shared/validate-outname.js +5 -1
- 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 +2 -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 +25 -26
- package/remotionlambda-arm64.zip +0 -0
- package/remotionlambda-x64.zip +0 -0
- package/remotionlambda.zip +0 -0
- package/.prettierrc.js +0 -14
- package/dist/api/enable-s3-website.d.ts +0 -5
- package/dist/api/enable-s3-website.js +0 -16
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- 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 -45
- 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/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
- package/tsconfig.json +0 -16
|
@@ -1,33 +1,51 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
4
|
-
import { Privacy } from '../shared/constants';
|
|
1
|
+
import type { FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
|
|
2
|
+
import type { ChromiumOptions } from '@remotion/renderer/src/open-browser';
|
|
3
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
4
|
+
import type { OutNameInput, Privacy } from '../shared/constants';
|
|
5
|
+
import type { DownloadBehavior } from '../shared/content-disposition-header';
|
|
6
|
+
import type { LambdaCodec } from '../shared/validate-lambda-codec';
|
|
5
7
|
export declare type RenderMediaOnLambdaInput = {
|
|
6
8
|
region: AwsRegion;
|
|
7
9
|
functionName: string;
|
|
8
10
|
serveUrl: string;
|
|
9
11
|
composition: string;
|
|
10
|
-
inputProps
|
|
11
|
-
codec:
|
|
12
|
-
imageFormat
|
|
12
|
+
inputProps?: unknown;
|
|
13
|
+
codec: LambdaCodec;
|
|
14
|
+
imageFormat?: ImageFormat;
|
|
13
15
|
crf?: number | undefined;
|
|
14
16
|
envVariables?: Record<string, string>;
|
|
15
17
|
pixelFormat?: PixelFormat;
|
|
16
18
|
proResProfile?: ProResProfile;
|
|
17
|
-
privacy
|
|
19
|
+
privacy?: Privacy;
|
|
18
20
|
quality?: number;
|
|
19
|
-
maxRetries
|
|
21
|
+
maxRetries?: number;
|
|
20
22
|
framesPerLambda?: number;
|
|
21
23
|
logLevel?: LogLevel;
|
|
22
24
|
frameRange?: FrameRange;
|
|
23
|
-
outName?:
|
|
25
|
+
outName?: OutNameInput;
|
|
24
26
|
timeoutInMilliseconds?: number;
|
|
25
27
|
chromiumOptions?: ChromiumOptions;
|
|
26
28
|
scale?: number;
|
|
29
|
+
everyNthFrame?: number;
|
|
30
|
+
numberOfGifLoops?: number | null;
|
|
31
|
+
concurrencyPerLambda?: number;
|
|
32
|
+
downloadBehavior?: DownloadBehavior | null;
|
|
33
|
+
muted?: boolean;
|
|
34
|
+
overwrite?: boolean;
|
|
35
|
+
audioBitrate?: string | null;
|
|
36
|
+
videoBitrate?: string | null;
|
|
37
|
+
webhook?: {
|
|
38
|
+
url: string;
|
|
39
|
+
secret: string | null;
|
|
40
|
+
};
|
|
41
|
+
forceWidth?: number | null;
|
|
42
|
+
forceHeight?: number | null;
|
|
27
43
|
};
|
|
28
44
|
export declare type RenderMediaOnLambdaOutput = {
|
|
29
45
|
renderId: string;
|
|
30
46
|
bucketName: string;
|
|
47
|
+
cloudWatchLogs: string;
|
|
48
|
+
folderInS3Console: string;
|
|
31
49
|
};
|
|
32
50
|
/**
|
|
33
51
|
* @description Triggers a render on a lambda given a composition and a lambda function.
|
|
@@ -36,19 +54,20 @@ export declare type RenderMediaOnLambdaOutput = {
|
|
|
36
54
|
* @param params.serveUrl The URL of the deployed project
|
|
37
55
|
* @param params.composition The ID of the composition which should be rendered.
|
|
38
56
|
* @param params.inputProps The input props that should be passed to the composition.
|
|
39
|
-
* @param params.codec The
|
|
40
|
-
* @param params.imageFormat In which image format the frames should be rendered.
|
|
57
|
+
* @param params.codec The media codec which should be used for encoding.
|
|
58
|
+
* @param params.imageFormat In which image format the frames should be rendered. Default "jpeg"
|
|
41
59
|
* @param params.crf The constant rate factor to be used during encoding.
|
|
42
60
|
* @param params.envVariables Object containing environment variables to be inserted into the video environment
|
|
43
61
|
* @param params.proResProfile The ProRes profile if rendering a ProRes video
|
|
44
62
|
* @param params.quality JPEG quality if JPEG was selected as the image format.
|
|
45
|
-
* @param params.region The AWS region in which the
|
|
46
|
-
* @param params.maxRetries How often rendering a chunk may fail before the
|
|
63
|
+
* @param params.region The AWS region in which the media should be rendered.
|
|
64
|
+
* @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
|
|
47
65
|
* @param params.logLevel Level of logging that Lambda function should perform. Default "info".
|
|
66
|
+
* @param params.webhook Configuration for webhook called upon completion or timeout of the render.
|
|
48
67
|
* @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
|
|
49
68
|
*/
|
|
50
|
-
export declare const renderMediaOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
69
|
+
export declare const renderMediaOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
51
70
|
/**
|
|
52
71
|
* @deprecated Renamed to renderMediaOnLambda()
|
|
53
72
|
*/
|
|
54
|
-
export declare const renderVideoOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
73
|
+
export declare const renderVideoOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderVideoOnLambda = exports.renderMediaOnLambda = void 0;
|
|
4
|
-
const
|
|
4
|
+
const version_1 = require("remotion/version");
|
|
5
5
|
const call_lambda_1 = require("../shared/call-lambda");
|
|
6
6
|
const constants_1 = require("../shared/constants");
|
|
7
|
-
const
|
|
7
|
+
const get_aws_urls_1 = require("../shared/get-aws-urls");
|
|
8
|
+
const serialize_input_props_1 = require("../shared/serialize-input-props");
|
|
9
|
+
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
8
10
|
const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
|
|
11
|
+
const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
|
|
9
12
|
const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
10
13
|
/**
|
|
11
14
|
* @description Triggers a render on a lambda given a composition and a lambda function.
|
|
@@ -14,51 +17,93 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
|
14
17
|
* @param params.serveUrl The URL of the deployed project
|
|
15
18
|
* @param params.composition The ID of the composition which should be rendered.
|
|
16
19
|
* @param params.inputProps The input props that should be passed to the composition.
|
|
17
|
-
* @param params.codec The
|
|
18
|
-
* @param params.imageFormat In which image format the frames should be rendered.
|
|
20
|
+
* @param params.codec The media codec which should be used for encoding.
|
|
21
|
+
* @param params.imageFormat In which image format the frames should be rendered. Default "jpeg"
|
|
19
22
|
* @param params.crf The constant rate factor to be used during encoding.
|
|
20
23
|
* @param params.envVariables Object containing environment variables to be inserted into the video environment
|
|
21
24
|
* @param params.proResProfile The ProRes profile if rendering a ProRes video
|
|
22
25
|
* @param params.quality JPEG quality if JPEG was selected as the image format.
|
|
23
|
-
* @param params.region The AWS region in which the
|
|
24
|
-
* @param params.maxRetries How often rendering a chunk may fail before the
|
|
26
|
+
* @param params.region The AWS region in which the media should be rendered.
|
|
27
|
+
* @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
|
|
25
28
|
* @param params.logLevel Level of logging that Lambda function should perform. Default "info".
|
|
29
|
+
* @param params.webhook Configuration for webhook called upon completion or timeout of the render.
|
|
26
30
|
* @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
|
|
27
31
|
*/
|
|
28
|
-
const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, }) => {
|
|
32
|
+
const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
|
|
29
35
|
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
30
|
-
(0, validate_frames_per_lambda_1.validateFramesPerLambda)(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
composition,
|
|
38
|
-
serveUrl: realServeUrl,
|
|
39
|
-
inputProps,
|
|
40
|
-
codec,
|
|
41
|
-
imageFormat,
|
|
42
|
-
crf,
|
|
43
|
-
envVariables,
|
|
44
|
-
pixelFormat,
|
|
45
|
-
proResProfile,
|
|
46
|
-
quality,
|
|
47
|
-
maxRetries,
|
|
48
|
-
privacy,
|
|
49
|
-
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
|
|
50
|
-
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
51
|
-
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
52
|
-
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : remotion_1.Internals.DEFAULT_PUPPETEER_TIMEOUT,
|
|
53
|
-
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
54
|
-
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
55
|
-
},
|
|
36
|
+
(0, validate_frames_per_lambda_1.validateFramesPerLambda)({
|
|
37
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
38
|
+
durationInFrames: 1,
|
|
39
|
+
});
|
|
40
|
+
(0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
|
|
41
|
+
const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
|
|
42
|
+
inputProps,
|
|
56
43
|
region,
|
|
44
|
+
type: 'video-or-audio',
|
|
57
45
|
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
try {
|
|
47
|
+
const res = await (0, call_lambda_1.callLambda)({
|
|
48
|
+
functionName,
|
|
49
|
+
type: constants_1.LambdaRoutines.start,
|
|
50
|
+
payload: {
|
|
51
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
52
|
+
composition,
|
|
53
|
+
serveUrl,
|
|
54
|
+
inputProps: serializedInputProps,
|
|
55
|
+
codec: actualCodec,
|
|
56
|
+
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
|
|
57
|
+
crf,
|
|
58
|
+
envVariables,
|
|
59
|
+
pixelFormat,
|
|
60
|
+
proResProfile,
|
|
61
|
+
quality,
|
|
62
|
+
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
|
|
63
|
+
privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
|
|
64
|
+
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
65
|
+
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
66
|
+
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
67
|
+
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
|
|
68
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
69
|
+
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
70
|
+
everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
|
|
71
|
+
numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
|
|
72
|
+
concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
|
|
73
|
+
downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
|
|
74
|
+
muted: muted !== null && muted !== void 0 ? muted : false,
|
|
75
|
+
version: version_1.VERSION,
|
|
76
|
+
overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
|
|
77
|
+
audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
|
|
78
|
+
videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
|
|
79
|
+
webhook: webhook !== null && webhook !== void 0 ? webhook : null,
|
|
80
|
+
forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
|
|
81
|
+
forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
|
|
82
|
+
},
|
|
83
|
+
region,
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
renderId: res.renderId,
|
|
87
|
+
bucketName: res.bucketName,
|
|
88
|
+
cloudWatchLogs: (0, get_aws_urls_1.getCloudwatchStreamUrl)({
|
|
89
|
+
functionName,
|
|
90
|
+
method: constants_1.LambdaRoutines.renderer,
|
|
91
|
+
region,
|
|
92
|
+
renderId: res.renderId,
|
|
93
|
+
}),
|
|
94
|
+
folderInS3Console: (0, get_aws_urls_1.getS3RenderUrl)({
|
|
95
|
+
bucketName: res.bucketName,
|
|
96
|
+
renderId: res.renderId,
|
|
97
|
+
region,
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
|
|
103
|
+
throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
|
|
104
|
+
}
|
|
105
|
+
throw err;
|
|
106
|
+
}
|
|
62
107
|
};
|
|
63
108
|
exports.renderMediaOnLambda = renderMediaOnLambda;
|
|
64
109
|
/**
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
4
|
-
import { CostsInfo } from '../shared/constants';
|
|
1
|
+
import type { LogLevel, StillImageFormat } from '@remotion/renderer';
|
|
2
|
+
import type { ChromiumOptions } from '@remotion/renderer/src/open-browser';
|
|
3
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
4
|
+
import type { CostsInfo, OutNameInput, Privacy } from '../shared/constants';
|
|
5
|
+
import type { DownloadBehavior } from '../shared/content-disposition-header';
|
|
5
6
|
export declare type RenderStillOnLambdaInput = {
|
|
6
7
|
region: AwsRegion;
|
|
7
8
|
functionName: string;
|
|
@@ -9,16 +10,19 @@ export declare type RenderStillOnLambdaInput = {
|
|
|
9
10
|
composition: string;
|
|
10
11
|
inputProps: unknown;
|
|
11
12
|
imageFormat: StillImageFormat;
|
|
12
|
-
privacy:
|
|
13
|
+
privacy: Privacy;
|
|
13
14
|
maxRetries?: number;
|
|
14
15
|
envVariables?: Record<string, string>;
|
|
15
16
|
quality?: number;
|
|
16
17
|
frame?: number;
|
|
17
18
|
logLevel?: LogLevel;
|
|
18
|
-
outName?:
|
|
19
|
+
outName?: OutNameInput;
|
|
19
20
|
timeoutInMilliseconds?: number;
|
|
20
21
|
chromiumOptions?: ChromiumOptions;
|
|
21
22
|
scale?: number;
|
|
23
|
+
downloadBehavior?: DownloadBehavior;
|
|
24
|
+
forceWidth?: number | null;
|
|
25
|
+
forceHeight?: number | null;
|
|
22
26
|
};
|
|
23
27
|
export declare type RenderStillOnLambdaOutput = {
|
|
24
28
|
estimatedPrice: CostsInfo;
|
|
@@ -26,6 +30,7 @@ export declare type RenderStillOnLambdaOutput = {
|
|
|
26
30
|
sizeInBytes: number;
|
|
27
31
|
bucketName: string;
|
|
28
32
|
renderId: string;
|
|
33
|
+
cloudWatchLogs: string;
|
|
29
34
|
};
|
|
30
35
|
/**
|
|
31
36
|
* @description Renders a still frame on Lambda
|
|
@@ -43,4 +48,4 @@ export declare type RenderStillOnLambdaOutput = {
|
|
|
43
48
|
* @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
|
|
44
49
|
* @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
|
|
45
50
|
*/
|
|
46
|
-
export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
|
|
51
|
+
export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderStillOnLambda = void 0;
|
|
4
|
-
const
|
|
4
|
+
const version_1 = require("remotion/version");
|
|
5
5
|
const call_lambda_1 = require("../shared/call-lambda");
|
|
6
6
|
const constants_1 = require("../shared/constants");
|
|
7
|
-
const
|
|
7
|
+
const get_aws_urls_1 = require("../shared/get-aws-urls");
|
|
8
|
+
const serialize_input_props_1 = require("../shared/serialize-input-props");
|
|
8
9
|
/**
|
|
9
10
|
* @description Renders a still frame on Lambda
|
|
10
11
|
* @link https://remotion.dev/docs/lambda/renderstillonlambda
|
|
@@ -21,36 +22,59 @@ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
|
|
|
21
22
|
* @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
|
|
22
23
|
* @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
|
|
23
24
|
*/
|
|
24
|
-
const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, }) => {
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
type: constants_1.LambdaRoutines.still,
|
|
29
|
-
payload: {
|
|
30
|
-
composition,
|
|
31
|
-
serveUrl: realServeUrl,
|
|
32
|
-
inputProps,
|
|
33
|
-
imageFormat,
|
|
34
|
-
envVariables,
|
|
35
|
-
quality,
|
|
36
|
-
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : constants_1.DEFAULT_MAX_RETRIES,
|
|
37
|
-
frame: frame !== null && frame !== void 0 ? frame : 0,
|
|
38
|
-
privacy,
|
|
39
|
-
attempt: 1,
|
|
40
|
-
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
|
|
41
|
-
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
42
|
-
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : remotion_1.Internals.DEFAULT_PUPPETEER_TIMEOUT,
|
|
43
|
-
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
44
|
-
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
45
|
-
},
|
|
25
|
+
const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, }) => {
|
|
26
|
+
var _a;
|
|
27
|
+
const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
|
|
28
|
+
inputProps,
|
|
46
29
|
region,
|
|
30
|
+
type: 'still',
|
|
47
31
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
try {
|
|
33
|
+
const res = await (0, call_lambda_1.callLambda)({
|
|
34
|
+
functionName,
|
|
35
|
+
type: constants_1.LambdaRoutines.still,
|
|
36
|
+
payload: {
|
|
37
|
+
composition,
|
|
38
|
+
serveUrl,
|
|
39
|
+
inputProps: serializedInputProps,
|
|
40
|
+
imageFormat,
|
|
41
|
+
envVariables,
|
|
42
|
+
quality,
|
|
43
|
+
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : constants_1.DEFAULT_MAX_RETRIES,
|
|
44
|
+
frame: frame !== null && frame !== void 0 ? frame : 0,
|
|
45
|
+
privacy,
|
|
46
|
+
attempt: 1,
|
|
47
|
+
logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
|
|
48
|
+
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
49
|
+
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
|
|
50
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
51
|
+
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
52
|
+
downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
|
|
53
|
+
version: version_1.VERSION,
|
|
54
|
+
forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
|
|
55
|
+
forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
|
|
56
|
+
},
|
|
57
|
+
region,
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
estimatedPrice: res.estimatedPrice,
|
|
61
|
+
url: res.output,
|
|
62
|
+
sizeInBytes: res.size,
|
|
63
|
+
bucketName: res.bucketName,
|
|
64
|
+
renderId: res.renderId,
|
|
65
|
+
cloudWatchLogs: (0, get_aws_urls_1.getCloudwatchStreamUrl)({
|
|
66
|
+
functionName,
|
|
67
|
+
method: constants_1.LambdaRoutines.still,
|
|
68
|
+
region,
|
|
69
|
+
renderId: res.renderId,
|
|
70
|
+
}),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
|
|
75
|
+
throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
|
|
76
|
+
}
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
55
79
|
};
|
|
56
80
|
exports.renderStillOnLambda = renderStillOnLambda;
|
package/dist/api/upload-dir.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Privacy } from '../defaults';
|
|
2
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
1
|
+
import type { Privacy } from '../defaults';
|
|
2
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
3
3
|
export declare type UploadDirProgress = {
|
|
4
4
|
totalFiles: number;
|
|
5
5
|
filesUploaded: number;
|
|
@@ -11,11 +11,12 @@ export declare type MockFile = {
|
|
|
11
11
|
content: string;
|
|
12
12
|
};
|
|
13
13
|
export declare const getDirFiles: (entry: string) => MockFile[];
|
|
14
|
-
export declare const uploadDir: ({ bucket, region,
|
|
14
|
+
export declare const uploadDir: ({ bucket, region, localDir, onProgress, keyPrefix, privacy, toUpload, }: {
|
|
15
15
|
bucket: string;
|
|
16
16
|
region: AwsRegion;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
localDir: string;
|
|
18
|
+
keyPrefix: string;
|
|
19
19
|
onProgress: (progress: UploadDirProgress) => void;
|
|
20
20
|
privacy: Privacy;
|
|
21
|
+
toUpload: string[];
|
|
21
22
|
}) => Promise<void>;
|
package/dist/api/upload-dir.js
CHANGED
|
@@ -15,34 +15,52 @@ const getDirFiles = (entry) => {
|
|
|
15
15
|
throw new TypeError('should only be executed in test ' + JSON.stringify(entry));
|
|
16
16
|
};
|
|
17
17
|
exports.getDirFiles = getDirFiles;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
return
|
|
34
|
-
}
|
|
35
|
-
|
|
18
|
+
async function getFiles(directory, originalDirectory, toUpload) {
|
|
19
|
+
const dirents = await fs_1.promises.readdir(directory, { withFileTypes: true });
|
|
20
|
+
const _files = await Promise.all(dirents
|
|
21
|
+
.map((dirent) => {
|
|
22
|
+
const res = path_1.default.resolve(directory, dirent.name);
|
|
23
|
+
return [dirent, res];
|
|
24
|
+
})
|
|
25
|
+
.filter(([dirent, res]) => {
|
|
26
|
+
const relative = path_1.default.relative(originalDirectory, res);
|
|
27
|
+
if (dirent.isDirectory()) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
if (!toUpload.includes(relative)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
})
|
|
35
|
+
.map(async ([dirent, res]) => {
|
|
36
|
+
const { size } = await fs_1.promises.stat(res);
|
|
37
|
+
return dirent.isDirectory()
|
|
38
|
+
? getFiles(res, originalDirectory, toUpload)
|
|
39
|
+
: [
|
|
40
|
+
{
|
|
41
|
+
name: res,
|
|
42
|
+
size,
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}));
|
|
46
|
+
return _files.flat(1);
|
|
47
|
+
}
|
|
48
|
+
const uploadDir = async ({ bucket, region, localDir, onProgress, keyPrefix, privacy, toUpload, }) => {
|
|
49
|
+
const files = await getFiles(localDir, localDir, toUpload);
|
|
36
50
|
const progresses = {};
|
|
37
51
|
for (const file of files) {
|
|
38
52
|
progresses[file.name] = 0;
|
|
39
53
|
}
|
|
40
|
-
const client = (0, aws_clients_1.getS3Client)(region);
|
|
54
|
+
const client = (0, aws_clients_1.getS3Client)(region, null);
|
|
41
55
|
const uploads = files.map(async (filePath) => {
|
|
42
|
-
const Key = (0, make_s3_key_1.makeS3Key)(
|
|
56
|
+
const Key = (0, make_s3_key_1.makeS3Key)(keyPrefix, localDir, filePath.name);
|
|
43
57
|
const Body = (0, fs_1.createReadStream)(filePath.name);
|
|
44
58
|
const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
|
|
45
|
-
const ACL = privacy === '
|
|
59
|
+
const ACL = privacy === 'no-acl'
|
|
60
|
+
? undefined
|
|
61
|
+
: privacy === 'private'
|
|
62
|
+
? 'private'
|
|
63
|
+
: 'public-read';
|
|
46
64
|
if (filePath.size > 5 * 1024 * 1024) {
|
|
47
65
|
const paralellUploads3 = new lib_storage_1.Upload({
|
|
48
66
|
client,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Throws if the signature of the finish webhook is missing or inauthentic
|
|
3
|
+
* @link https://remotion.dev/docs/lambda/validate-webhook-signature
|
|
4
|
+
* @param params.secret The secret used for signing the webhook
|
|
5
|
+
* @param params.body The body that was received by the endpoint
|
|
6
|
+
* @param params.signatureHeader The `X-Remotion-Signature` header
|
|
7
|
+
* @returns {void}
|
|
8
|
+
*/
|
|
9
|
+
export declare const validateWebhookSignature: ({ secret, body, signatureHeader, }: {
|
|
10
|
+
secret: string;
|
|
11
|
+
body: string;
|
|
12
|
+
signatureHeader: string;
|
|
13
|
+
}) => void;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateWebhookSignature = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @description Throws if the signature of the finish webhook is missing or inauthentic
|
|
6
|
+
* @link https://remotion.dev/docs/lambda/validate-webhook-signature
|
|
7
|
+
* @param params.secret The secret used for signing the webhook
|
|
8
|
+
* @param params.body The body that was received by the endpoint
|
|
9
|
+
* @param params.signatureHeader The `X-Remotion-Signature` header
|
|
10
|
+
* @returns {void}
|
|
11
|
+
*/
|
|
12
|
+
const validateWebhookSignature = ({ secret, body, signatureHeader, }) => {
|
|
13
|
+
if (!secret) {
|
|
14
|
+
throw new TypeError("No 'secret' was provided to validateWebhookSignature().");
|
|
15
|
+
}
|
|
16
|
+
if (!body) {
|
|
17
|
+
throw new TypeError("No 'body' was provided to validateWebhookSignature().");
|
|
18
|
+
}
|
|
19
|
+
if (typeof require === 'undefined') {
|
|
20
|
+
throw new Error('validateWebhookSignature can only be called from Node.JS');
|
|
21
|
+
}
|
|
22
|
+
const Crypto = require('crypto');
|
|
23
|
+
const hmac = Crypto.createHmac('sha512', secret);
|
|
24
|
+
const signature = `sha512=${hmac.update(JSON.stringify(body)).digest('hex')}`;
|
|
25
|
+
if (!signatureHeader || signatureHeader === 'NO_SECRET_PROVIDED') {
|
|
26
|
+
throw new Error('No webhook signature was provided');
|
|
27
|
+
}
|
|
28
|
+
if (signatureHeader !== signature) {
|
|
29
|
+
throw new Error('Signatures do not match');
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.validateWebhookSignature = validateWebhookSignature;
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
3
|
-
import { Privacy } from '../shared/constants';
|
|
4
|
-
import { LambdaArchitecture } from '../shared/validate-architecture';
|
|
1
|
+
/// <reference types="minimist" />
|
|
2
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
3
|
+
import type { Privacy } from '../shared/constants';
|
|
4
|
+
import type { LambdaArchitecture } from '../shared/validate-architecture';
|
|
5
5
|
declare type LambdaCommandLineOptions = {
|
|
6
6
|
help: boolean;
|
|
7
7
|
region: AwsRegion;
|
|
@@ -13,17 +13,21 @@ declare type LambdaCommandLineOptions = {
|
|
|
13
13
|
yes: boolean;
|
|
14
14
|
force: boolean;
|
|
15
15
|
f: boolean;
|
|
16
|
+
['default-only']: boolean;
|
|
16
17
|
['site-name']: string | undefined;
|
|
17
18
|
['disable-chunk-optimization']: boolean;
|
|
18
19
|
['save-browser-logs']: boolean;
|
|
19
20
|
['disable-cloudwatch']: boolean;
|
|
20
21
|
['max-retries']: number;
|
|
21
22
|
['frames-per-lambda']: number;
|
|
23
|
+
['concurrency-per-lambda']: number;
|
|
22
24
|
['out-name']: string | undefined;
|
|
23
25
|
['architecture']: LambdaArchitecture;
|
|
24
26
|
['custom-role-arn']: string | undefined;
|
|
25
27
|
privacy: Privacy;
|
|
28
|
+
webhook: string | undefined;
|
|
29
|
+
['webhook-secret']: string | undefined;
|
|
26
30
|
};
|
|
27
|
-
export declare const parsedLambdaCli: LambdaCommandLineOptions & minimist.ParsedArgs;
|
|
31
|
+
export declare const parsedLambdaCli: LambdaCommandLineOptions & import("minimist").ParsedArgs;
|
|
28
32
|
export declare const forceFlagProvided: boolean;
|
|
29
33
|
export {};
|
package/dist/cli/args.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.forceFlagProvided = exports.parsedLambdaCli = void 0;
|
|
7
4
|
const cli_1 = require("@remotion/cli");
|
|
8
|
-
|
|
9
|
-
exports.parsedLambdaCli = (0, minimist_1.default)(process.argv.slice(2), {
|
|
5
|
+
exports.parsedLambdaCli = cli_1.CliInternals.minimist(process.argv.slice(2), {
|
|
10
6
|
boolean: cli_1.CliInternals.BooleanFlags,
|
|
11
7
|
});
|
|
12
8
|
exports.forceFlagProvided = exports.parsedLambdaCli.f ||
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compositionsCommand = exports.COMPOSITIONS_COMMAND = void 0;
|
|
4
|
+
const cli_1 = require("@remotion/cli");
|
|
5
|
+
const __1 = require("../../..");
|
|
6
|
+
const constants_1 = require("../../../shared/constants");
|
|
7
|
+
const validate_serveurl_1 = require("../../../shared/validate-serveurl");
|
|
8
|
+
const get_aws_region_1 = require("../../get-aws-region");
|
|
9
|
+
const find_function_name_1 = require("../../helpers/find-function-name");
|
|
10
|
+
const quit_1 = require("../../helpers/quit");
|
|
11
|
+
const log_1 = require("../../log");
|
|
12
|
+
exports.COMPOSITIONS_COMMAND = 'compositions';
|
|
13
|
+
const compositionsCommand = async (args, remotionRoot) => {
|
|
14
|
+
const serveUrl = args[0];
|
|
15
|
+
if (!serveUrl) {
|
|
16
|
+
log_1.Log.error('No serve URL passed.');
|
|
17
|
+
log_1.Log.info('Pass an additional argument specifying a URL where your Remotion project is hosted.');
|
|
18
|
+
log_1.Log.info();
|
|
19
|
+
log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.COMPOSITIONS_COMMAND} <serve-url>`);
|
|
20
|
+
(0, quit_1.quit)(1);
|
|
21
|
+
}
|
|
22
|
+
const { chromiumOptions, envVariables, inputProps, logLevel, puppeteerTimeout, } = await cli_1.CliInternals.getCliOptions({
|
|
23
|
+
type: 'get-compositions',
|
|
24
|
+
isLambda: true,
|
|
25
|
+
remotionRoot,
|
|
26
|
+
});
|
|
27
|
+
const region = (0, get_aws_region_1.getAwsRegion)();
|
|
28
|
+
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
29
|
+
const functionName = await (0, find_function_name_1.findFunctionName)();
|
|
30
|
+
const comps = await (0, __1.getCompositionsOnLambda)({
|
|
31
|
+
functionName,
|
|
32
|
+
serveUrl,
|
|
33
|
+
inputProps,
|
|
34
|
+
region,
|
|
35
|
+
chromiumOptions,
|
|
36
|
+
envVariables,
|
|
37
|
+
logLevel,
|
|
38
|
+
timeoutInMilliseconds: puppeteerTimeout,
|
|
39
|
+
});
|
|
40
|
+
cli_1.CliInternals.printCompositions(comps);
|
|
41
|
+
};
|
|
42
|
+
exports.compositionsCommand = compositionsCommand;
|
|
File without changes
|