@remotion/lambda 4.0.0-fastlambda.9 → 4.0.0-forcepublish.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/bundle-lambda.js +1 -0
- package/dist/admin/make-layer-public.js +4 -4
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +2 -5
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-function.d.ts +4 -3
- package/dist/api/create-function.js +3 -2
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/deploy-function.d.ts +3 -2
- package/dist/api/deploy-function.js +3 -0
- package/dist/api/deploy-site.d.ts +3 -3
- package/dist/api/deploy-site.js +2 -3
- package/dist/api/download-media.d.ts +2 -2
- package/dist/api/enable-s3-website.d.ts +1 -1
- package/dist/api/estimate-price.d.ts +2 -2
- package/dist/api/get-aws-client.d.ts +2 -2
- package/dist/api/get-aws-client.js +5 -1
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-function-info.d.ts +2 -2
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-regions.d.ts +1 -1
- package/dist/api/get-render-progress.d.ts +2 -2
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/mock-functions.d.ts +3 -3
- package/dist/api/presign-url.d.ts +3 -2
- package/dist/api/presign-url.js +5 -0
- package/dist/api/render-media-on-lambda.d.ts +14 -8
- package/dist/api/render-media-on-lambda.js +49 -32
- package/dist/api/render-still-on-lambda.d.ts +8 -7
- package/dist/api/render-still-on-lambda.js +40 -31
- package/dist/api/upload-dir.d.ts +2 -2
- package/dist/api/upload-dir.js +9 -4
- package/dist/cli/args.d.ts +5 -3
- package/dist/cli/commands/functions/deploy.js +6 -2
- package/dist/cli/commands/render/progress.d.ts +4 -4
- package/dist/cli/commands/render/progress.js +11 -3
- package/dist/cli/commands/render/render.js +14 -3
- package/dist/cli/commands/sites/create.js +2 -3
- package/dist/cli/commands/sites/ls.js +1 -2
- package/dist/cli/commands/sites/rm.js +2 -3
- package/dist/cli/commands/sites/rmall.js +2 -3
- package/dist/cli/commands/still.js +1 -2
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
- package/dist/cli/helpers/progress-bar.js +1 -2
- package/dist/cli/index.js +11 -1
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
- package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
- package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +1 -1
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/types.d.ts +2 -1
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- package/dist/functions/helpers/concat-videos.d.ts +6 -4
- package/dist/functions/helpers/concat-videos.js +8 -2
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +12 -7
- package/dist/functions/helpers/delete-chunks.d.ts +3 -3
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
- package/dist/functions/helpers/find-output-file-in-bucket.js +6 -0
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-browser-instance.js +3 -1
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-files-to-delete.js +2 -2
- package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +7 -7
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-progress.d.ts +2 -2
- package/dist/functions/helpers/get-progress.js +20 -11
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
- package/dist/functions/helpers/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/io.d.ts +8 -6
- package/dist/functions/helpers/io.js +13 -2
- 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/read-with-progress.d.ts +3 -2
- package/dist/functions/helpers/read-with-progress.js +13 -1
- package/dist/functions/helpers/validate-composition.d.ts +10 -4
- package/dist/functions/helpers/validate-composition.js +7 -1
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +1 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +1 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +12 -5
- package/dist/functions/info.d.ts +1 -1
- package/dist/functions/launch.d.ts +1 -1
- package/dist/functions/launch.js +65 -24
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +86 -75
- package/dist/functions/start.d.ts +1 -1
- package/dist/functions/start.js +6 -2
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +18 -6
- package/dist/index.d.ts +33 -18
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/shared/aws-clients.d.ts +1 -1
- package/dist/shared/bundle-site.d.ts +1 -6
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/check-credentials.js +2 -2
- package/dist/shared/constants.d.ts +32 -13
- package/dist/shared/constants.js +2 -2
- package/dist/shared/content-disposition-header.d.ts +7 -0
- package/dist/shared/content-disposition-header.js +19 -0
- package/dist/shared/convert-to-serve-url.d.ts +1 -1
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-function-version.d.ts +2 -2
- package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
- package/dist/shared/get-most-expensive-chunks.js +25 -0
- package/dist/shared/hosted-layers.d.ts +2 -2
- package/dist/shared/hosted-layers.js +80 -80
- package/dist/shared/make-s3-key.d.ts +1 -0
- package/dist/shared/make-s3-key.js +11 -0
- package/dist/shared/make-s3-url.d.ts +1 -1
- package/dist/shared/p-limit.d.ts +1 -0
- package/dist/shared/p-limit.js +57 -0
- package/dist/shared/random-hash.d.ts +2 -2
- package/dist/shared/random-hash.js +1 -1
- package/dist/shared/return-values.d.ts +7 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/stream-to-string.d.ts +2 -1
- package/dist/shared/truthy.d.ts +3 -0
- package/dist/shared/truthy.js +7 -0
- package/dist/shared/validate-aws-region.d.ts +1 -1
- package/dist/shared/validate-custom-role-arn.d.ts +1 -0
- package/dist/shared/validate-custom-role-arn.js +11 -0
- package/dist/shared/validate-download-behavior.d.ts +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +30 -0
- package/dist/shared/validate-outname.d.ts +1 -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/package.json +12 -13
- package/remotionlambda.zip +0 -0
- package/dist/admin/bundle-lambda.d.ts.map +0 -1
- package/dist/admin/bundle-lambda.js.map +0 -1
- package/dist/admin/make-layer-public.d.ts.map +0 -1
- package/dist/admin/make-layer-public.js.map +0 -1
- package/dist/api/bucket-exists.d.ts.map +0 -1
- package/dist/api/bucket-exists.js.map +0 -1
- package/dist/api/clean-items.d.ts.map +0 -1
- package/dist/api/clean-items.js.map +0 -1
- package/dist/api/create-bucket.d.ts.map +0 -1
- package/dist/api/create-bucket.js.map +0 -1
- package/dist/api/create-function.d.ts.map +0 -1
- package/dist/api/create-function.js.map +0 -1
- package/dist/api/delete-function.d.ts.map +0 -1
- package/dist/api/delete-function.js.map +0 -1
- package/dist/api/delete-site.d.ts.map +0 -1
- package/dist/api/delete-site.js.map +0 -1
- package/dist/api/deploy-function.d.ts.map +0 -1
- package/dist/api/deploy-function.js.map +0 -1
- package/dist/api/deploy-site.d.ts.map +0 -1
- package/dist/api/deploy-site.js.map +0 -1
- package/dist/api/download-media.d.ts.map +0 -1
- package/dist/api/download-media.js.map +0 -1
- package/dist/api/enable-s3-website.d.ts.map +0 -1
- package/dist/api/enable-s3-website.js.map +0 -1
- package/dist/api/estimate-price.d.ts.map +0 -1
- package/dist/api/estimate-price.js.map +0 -1
- package/dist/api/get-aws-client.d.ts.map +0 -1
- package/dist/api/get-aws-client.js.map +0 -1
- package/dist/api/get-buckets.d.ts.map +0 -1
- package/dist/api/get-buckets.js.map +0 -1
- package/dist/api/get-function-info.d.ts.map +0 -1
- package/dist/api/get-function-info.js.map +0 -1
- package/dist/api/get-functions.d.ts.map +0 -1
- package/dist/api/get-functions.js.map +0 -1
- package/dist/api/get-or-create-bucket.d.ts.map +0 -1
- package/dist/api/get-or-create-bucket.js.map +0 -1
- package/dist/api/get-regions.d.ts.map +0 -1
- package/dist/api/get-regions.js.map +0 -1
- package/dist/api/get-render-progress.d.ts.map +0 -1
- package/dist/api/get-render-progress.js.map +0 -1
- package/dist/api/get-sites.d.ts.map +0 -1
- package/dist/api/get-sites.js.map +0 -1
- package/dist/api/iam-validation/role-permissions.d.ts.map +0 -1
- package/dist/api/iam-validation/role-permissions.js.map +0 -1
- package/dist/api/iam-validation/simulate-rule.d.ts.map +0 -1
- package/dist/api/iam-validation/simulate-rule.js.map +0 -1
- package/dist/api/iam-validation/simulate.d.ts.map +0 -1
- package/dist/api/iam-validation/simulate.js.map +0 -1
- package/dist/api/iam-validation/suggested-policy.d.ts.map +0 -1
- package/dist/api/iam-validation/suggested-policy.js.map +0 -1
- package/dist/api/iam-validation/user-permissions.d.ts.map +0 -1
- package/dist/api/iam-validation/user-permissions.js.map +0 -1
- package/dist/api/mock-functions.d.ts.map +0 -1
- package/dist/api/mock-functions.js.map +0 -1
- package/dist/api/presign-url.d.ts.map +0 -1
- package/dist/api/presign-url.js.map +0 -1
- package/dist/api/render-media-on-lambda.d.ts.map +0 -1
- package/dist/api/render-media-on-lambda.js.map +0 -1
- package/dist/api/render-still-on-lambda.d.ts.map +0 -1
- package/dist/api/render-still-on-lambda.js.map +0 -1
- package/dist/api/upload-dir.d.ts.map +0 -1
- package/dist/api/upload-dir.js.map +0 -1
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/commands/functions/deploy.d.ts.map +0 -1
- package/dist/cli/commands/functions/deploy.js.map +0 -1
- package/dist/cli/commands/functions/index.d.ts.map +0 -1
- package/dist/cli/commands/functions/index.js.map +0 -1
- package/dist/cli/commands/functions/ls.d.ts.map +0 -1
- package/dist/cli/commands/functions/ls.js.map +0 -1
- package/dist/cli/commands/functions/rm.d.ts.map +0 -1
- package/dist/cli/commands/functions/rm.js.map +0 -1
- package/dist/cli/commands/functions/rmall.d.ts.map +0 -1
- package/dist/cli/commands/functions/rmall.js.map +0 -1
- package/dist/cli/commands/policies/policies.d.ts.map +0 -1
- package/dist/cli/commands/policies/policies.js.map +0 -1
- package/dist/cli/commands/policies/role.d.ts.map +0 -1
- package/dist/cli/commands/policies/role.js.map +0 -1
- package/dist/cli/commands/policies/user.d.ts.map +0 -1
- package/dist/cli/commands/policies/user.js.map +0 -1
- package/dist/cli/commands/policies/validate.d.ts.map +0 -1
- package/dist/cli/commands/policies/validate.js.map +0 -1
- package/dist/cli/commands/quotas/increase.d.ts.map +0 -1
- package/dist/cli/commands/quotas/increase.js.map +0 -1
- package/dist/cli/commands/quotas/index.d.ts.map +0 -1
- package/dist/cli/commands/quotas/index.js.map +0 -1
- package/dist/cli/commands/quotas/list.d.ts.map +0 -1
- package/dist/cli/commands/quotas/list.js.map +0 -1
- package/dist/cli/commands/regions.d.ts.map +0 -1
- package/dist/cli/commands/regions.js.map +0 -1
- package/dist/cli/commands/render/progress.d.ts.map +0 -1
- package/dist/cli/commands/render/progress.js.map +0 -1
- package/dist/cli/commands/render/render.d.ts.map +0 -1
- package/dist/cli/commands/render/render.js.map +0 -1
- package/dist/cli/commands/sites/create.d.ts.map +0 -1
- package/dist/cli/commands/sites/create.js.map +0 -1
- package/dist/cli/commands/sites/index.d.ts.map +0 -1
- package/dist/cli/commands/sites/index.js.map +0 -1
- package/dist/cli/commands/sites/ls.d.ts.map +0 -1
- package/dist/cli/commands/sites/ls.js.map +0 -1
- package/dist/cli/commands/sites/rm.d.ts.map +0 -1
- package/dist/cli/commands/sites/rm.js.map +0 -1
- package/dist/cli/commands/sites/rmall.d.ts.map +0 -1
- package/dist/cli/commands/sites/rmall.js.map +0 -1
- package/dist/cli/commands/still.d.ts.map +0 -1
- package/dist/cli/commands/still.js.map +0 -1
- package/dist/cli/get-aws-region.d.ts.map +0 -1
- package/dist/cli/get-aws-region.js.map +0 -1
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/helpers/confirm.d.ts.map +0 -1
- package/dist/cli/helpers/confirm.js.map +0 -1
- package/dist/cli/helpers/date-string.d.ts.map +0 -1
- package/dist/cli/helpers/date-string.js.map +0 -1
- package/dist/cli/helpers/find-function-name.d.ts.map +0 -1
- package/dist/cli/helpers/find-function-name.js.map +0 -1
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.d.ts.map +0 -1
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/cli/helpers/format-bytes.js.map +0 -1
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts.map +0 -1
- package/dist/cli/helpers/get-cloudwatch-stream-url.js.map +0 -1
- package/dist/cli/helpers/progress-bar.d.ts.map +0 -1
- package/dist/cli/helpers/progress-bar.js.map +0 -1
- package/dist/cli/helpers/quit.d.ts.map +0 -1
- package/dist/cli/helpers/quit.js.map +0 -1
- package/dist/cli/helpers/yes-or-no.d.ts.map +0 -1
- package/dist/cli/helpers/yes-or-no.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/is-cli.d.ts.map +0 -1
- package/dist/cli/is-cli.js.map +0 -1
- package/dist/cli/log.d.ts.map +0 -1
- package/dist/cli/log.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/defaults.d.ts.map +0 -1
- package/dist/defaults.js.map +0 -1
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/can-use-optimization.js.map +0 -1
- package/dist/functions/chunk-optimization/collect-data.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/collect-data.js.map +0 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js.map +0 -1
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/get-profile-duration.js.map +0 -1
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/is-valid-profile.js.map +0 -1
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/optimize-invocation-order.js.map +0 -1
- package/dist/functions/chunk-optimization/optimize-profile.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/optimize-profile.js.map +0 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.js.map +0 -1
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/s3-optimization-file.js.map +0 -1
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js.map +0 -1
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/sort-by-duration.js.map +0 -1
- package/dist/functions/chunk-optimization/types.d.ts.map +0 -1
- package/dist/functions/chunk-optimization/types.js.map +0 -1
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts.map +0 -1
- package/dist/functions/helpers/best-frames-per-lambda-param.js.map +0 -1
- package/dist/functions/helpers/calculate-chunk-times.d.ts.map +0 -1
- package/dist/functions/helpers/calculate-chunk-times.js.map +0 -1
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts.map +0 -1
- package/dist/functions/helpers/calculate-price-from-bucket.js.map +0 -1
- package/dist/functions/helpers/clean-tmpdir.d.ts.map +0 -1
- package/dist/functions/helpers/clean-tmpdir.js.map +0 -1
- package/dist/functions/helpers/concat-videos.d.ts.map +0 -1
- package/dist/functions/helpers/concat-videos.js.map +0 -1
- package/dist/functions/helpers/create-post-render-data.d.ts.map +0 -1
- package/dist/functions/helpers/create-post-render-data.js.map +0 -1
- package/dist/functions/helpers/delete-chunks.d.ts.map +0 -1
- package/dist/functions/helpers/delete-chunks.js.map +0 -1
- package/dist/functions/helpers/expected-out-name.d.ts.map +0 -1
- package/dist/functions/helpers/expected-out-name.js.map +0 -1
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts.map +0 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js.map +0 -1
- package/dist/functions/helpers/format-costs-info.d.ts.map +0 -1
- package/dist/functions/helpers/format-costs-info.js.map +0 -1
- package/dist/functions/helpers/get-browser-instance.d.ts.map +0 -1
- package/dist/functions/helpers/get-browser-instance.js.map +0 -1
- package/dist/functions/helpers/get-chromium-executable-path.d.ts.map +0 -1
- package/dist/functions/helpers/get-chromium-executable-path.js.map +0 -1
- package/dist/functions/helpers/get-cleanup-progress.d.ts.map +0 -1
- package/dist/functions/helpers/get-cleanup-progress.js.map +0 -1
- package/dist/functions/helpers/get-current-architecture.d.ts.map +0 -1
- package/dist/functions/helpers/get-current-architecture.js.map +0 -1
- package/dist/functions/helpers/get-current-region.d.ts.map +0 -1
- package/dist/functions/helpers/get-current-region.js.map +0 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts.map +0 -1
- package/dist/functions/helpers/get-encoding-metadata.js.map +0 -1
- package/dist/functions/helpers/get-files-in-folder.d.ts.map +0 -1
- package/dist/functions/helpers/get-files-in-folder.js.map +0 -1
- package/dist/functions/helpers/get-files-to-delete.d.ts.map +0 -1
- package/dist/functions/helpers/get-files-to-delete.js.map +0 -1
- package/dist/functions/helpers/get-final-encoding-status.d.ts.map +0 -1
- package/dist/functions/helpers/get-final-encoding-status.js.map +0 -1
- package/dist/functions/helpers/get-folder-size.d.ts.map +0 -1
- package/dist/functions/helpers/get-folder-size.js.map +0 -1
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts.map +0 -1
- package/dist/functions/helpers/get-lambdas-invoked-stats.js.map +0 -1
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts.map +0 -1
- package/dist/functions/helpers/get-output-url-from-metadata.js.map +0 -1
- package/dist/functions/helpers/get-overall-progress.d.ts.map +0 -1
- package/dist/functions/helpers/get-overall-progress.js.map +0 -1
- package/dist/functions/helpers/get-post-render-data.d.ts.map +0 -1
- package/dist/functions/helpers/get-post-render-data.js.map +0 -1
- package/dist/functions/helpers/get-progress.d.ts.map +0 -1
- package/dist/functions/helpers/get-progress.js.map +0 -1
- package/dist/functions/helpers/get-render-metadata.d.ts.map +0 -1
- package/dist/functions/helpers/get-render-metadata.js.map +0 -1
- package/dist/functions/helpers/get-retry-stats.d.ts.map +0 -1
- package/dist/functions/helpers/get-retry-stats.js.map +0 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts.map +0 -1
- package/dist/functions/helpers/get-time-to-finish.js.map +0 -1
- package/dist/functions/helpers/inspect-errors.d.ts.map +0 -1
- package/dist/functions/helpers/inspect-errors.js.map +0 -1
- package/dist/functions/helpers/io.d.ts.map +0 -1
- package/dist/functions/helpers/io.js.map +0 -1
- package/dist/functions/helpers/is-enosp-err.d.ts.map +0 -1
- package/dist/functions/helpers/is-enosp-err.js.map +0 -1
- package/dist/functions/helpers/is-warm.d.ts.map +0 -1
- package/dist/functions/helpers/is-warm.js.map +0 -1
- package/dist/functions/helpers/min-max.d.ts.map +0 -1
- package/dist/functions/helpers/min-max.js.map +0 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts.map +0 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js.map +0 -1
- package/dist/functions/helpers/print-concurrency-curve.d.ts.map +0 -1
- package/dist/functions/helpers/print-concurrency-curve.js.map +0 -1
- package/dist/functions/helpers/read-with-progress.d.ts.map +0 -1
- package/dist/functions/helpers/read-with-progress.js.map +0 -1
- package/dist/functions/helpers/timer.d.ts.map +0 -1
- package/dist/functions/helpers/timer.js.map +0 -1
- package/dist/functions/helpers/validate-composition.d.ts.map +0 -1
- package/dist/functions/helpers/validate-composition.js.map +0 -1
- package/dist/functions/helpers/write-lambda-error.d.ts.map +0 -1
- package/dist/functions/helpers/write-lambda-error.js.map +0 -1
- package/dist/functions/helpers/write-post-render-data.d.ts.map +0 -1
- package/dist/functions/helpers/write-post-render-data.js.map +0 -1
- package/dist/functions/index.d.ts.map +0 -1
- package/dist/functions/index.js.map +0 -1
- package/dist/functions/info.d.ts.map +0 -1
- package/dist/functions/info.js.map +0 -1
- package/dist/functions/launch.d.ts.map +0 -1
- package/dist/functions/launch.js.map +0 -1
- package/dist/functions/progress.d.ts.map +0 -1
- package/dist/functions/progress.js.map +0 -1
- package/dist/functions/renderer.d.ts.map +0 -1
- package/dist/functions/renderer.js.map +0 -1
- package/dist/functions/start.d.ts.map +0 -1
- package/dist/functions/start.js.map +0 -1
- package/dist/functions/still.d.ts.map +0 -1
- package/dist/functions/still.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internals.d.ts.map +0 -1
- package/dist/internals.js.map +0 -1
- package/dist/pricing/aws-regions.d.ts.map +0 -1
- package/dist/pricing/aws-regions.js.map +0 -1
- package/dist/pricing/price-per-1-s.d.ts.map +0 -1
- package/dist/pricing/price-per-1-s.js.map +0 -1
- package/dist/regions.d.ts.map +0 -1
- package/dist/regions.js.map +0 -1
- package/dist/shared/await.d.ts.map +0 -1
- package/dist/shared/await.js.map +0 -1
- package/dist/shared/aws-clients.d.ts.map +0 -1
- package/dist/shared/aws-clients.js.map +0 -1
- package/dist/shared/bundle-site.d.ts.map +0 -1
- package/dist/shared/bundle-site.js.map +0 -1
- package/dist/shared/call-lambda.d.ts.map +0 -1
- package/dist/shared/call-lambda.js.map +0 -1
- package/dist/shared/check-credentials.d.ts.map +0 -1
- package/dist/shared/check-credentials.js.map +0 -1
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.d.ts.map +0 -1
- package/dist/shared/chunk.js +0 -11
- package/dist/shared/chunk.js.map +0 -1
- package/dist/shared/constants.d.ts.map +0 -1
- package/dist/shared/constants.js.map +0 -1
- package/dist/shared/convert-to-serve-url.d.ts.map +0 -1
- package/dist/shared/convert-to-serve-url.js.map +0 -1
- package/dist/shared/docs-url.d.ts.map +0 -1
- package/dist/shared/docs-url.js.map +0 -1
- package/dist/shared/function-zip-path.d.ts.map +0 -1
- package/dist/shared/function-zip-path.js.map +0 -1
- package/dist/shared/get-account-id.d.ts.map +0 -1
- package/dist/shared/get-account-id.js.map +0 -1
- package/dist/shared/get-function-version.d.ts.map +0 -1
- package/dist/shared/get-function-version.js.map +0 -1
- package/dist/shared/hosted-layers.d.ts.map +0 -1
- package/dist/shared/hosted-layers.js.map +0 -1
- package/dist/shared/is-in-lambda.d.ts.map +0 -1
- package/dist/shared/is-in-lambda.js.map +0 -1
- package/dist/shared/make-s3-url.d.ts.map +0 -1
- package/dist/shared/make-s3-url.js.map +0 -1
- package/dist/shared/parse-lambda-initialized-key.d.ts.map +0 -1
- package/dist/shared/parse-lambda-initialized-key.js.map +0 -1
- package/dist/shared/parse-lambda-timings-key.d.ts.map +0 -1
- package/dist/shared/parse-lambda-timings-key.js.map +0 -1
- package/dist/shared/random-hash.d.ts.map +0 -1
- package/dist/shared/random-hash.js.map +0 -1
- package/dist/shared/return-values.d.ts.map +0 -1
- package/dist/shared/return-values.js.map +0 -1
- package/dist/shared/sleep.d.ts.map +0 -1
- package/dist/shared/sleep.js.map +0 -1
- package/dist/shared/stream-to-string.d.ts.map +0 -1
- package/dist/shared/stream-to-string.js.map +0 -1
- package/dist/shared/validate-architecture.d.ts.map +0 -1
- package/dist/shared/validate-architecture.js.map +0 -1
- package/dist/shared/validate-aws-region.d.ts.map +0 -1
- package/dist/shared/validate-aws-region.js.map +0 -1
- package/dist/shared/validate-bucketname.d.ts.map +0 -1
- package/dist/shared/validate-bucketname.js.map +0 -1
- package/dist/shared/validate-disk-size-in-mb.d.ts.map +0 -1
- package/dist/shared/validate-disk-size-in-mb.js.map +0 -1
- package/dist/shared/validate-frames-per-lambda.d.ts.map +0 -1
- package/dist/shared/validate-frames-per-lambda.js.map +0 -1
- package/dist/shared/validate-memory-size.d.ts.map +0 -1
- package/dist/shared/validate-memory-size.js.map +0 -1
- package/dist/shared/validate-outname.d.ts.map +0 -1
- package/dist/shared/validate-outname.js.map +0 -1
- package/dist/shared/validate-presign-expiration.d.ts.map +0 -1
- package/dist/shared/validate-presign-expiration.js.map +0 -1
- package/dist/shared/validate-privacy.d.ts.map +0 -1
- package/dist/shared/validate-privacy.js.map +0 -1
- package/dist/shared/validate-retention-period.d.ts.map +0 -1
- package/dist/shared/validate-retention-period.js.map +0 -1
- package/dist/shared/validate-retries.d.ts.map +0 -1
- package/dist/shared/validate-retries.js.map +0 -1
- package/dist/shared/validate-serveurl.d.ts.map +0 -1
- package/dist/shared/validate-serveurl.js.map +0 -1
- package/dist/shared/validate-site-name.d.ts.map +0 -1
- package/dist/shared/validate-site-name.js.map +0 -1
- package/dist/shared/validate-timeout.d.ts.map +0 -1
- package/dist/shared/validate-timeout.js.map +0 -1
|
@@ -13,6 +13,18 @@ const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expecte
|
|
|
13
13
|
Key: key,
|
|
14
14
|
});
|
|
15
15
|
const presigned = await (0, s3_request_presigner_1.getSignedUrl)(client, command);
|
|
16
|
-
|
|
16
|
+
const { to, sizeInBytes } = await renderer_1.RenderInternals.downloadFile({
|
|
17
|
+
url: presigned,
|
|
18
|
+
onProgress: ({ downloaded, percent, totalSize }) => {
|
|
19
|
+
// On Lambda, it should always be a number
|
|
20
|
+
onProgress({
|
|
21
|
+
downloaded,
|
|
22
|
+
percent: percent,
|
|
23
|
+
totalSize: totalSize,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
to: () => outputPath,
|
|
27
|
+
});
|
|
28
|
+
return { sizeInBytes, to };
|
|
17
29
|
};
|
|
18
30
|
exports.lambdaDownloadFileWithProgress = lambdaDownloadFileWithProgress;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import { openBrowser } from '@remotion/renderer';
|
|
2
|
-
import { TCompMetadata } from 'remotion';
|
|
3
|
-
import { Await } from '../../shared/await';
|
|
1
|
+
import type { ChromiumOptions, DownloadMap, FfmpegExecutable, openBrowser } from '@remotion/renderer';
|
|
2
|
+
import type { TCompMetadata } from 'remotion';
|
|
3
|
+
import type { Await } from '../../shared/await';
|
|
4
4
|
declare type ValidateCompositionOptions = {
|
|
5
5
|
serveUrl: string;
|
|
6
6
|
composition: string;
|
|
7
7
|
browserInstance: Await<ReturnType<typeof openBrowser>>;
|
|
8
8
|
inputProps: unknown;
|
|
9
9
|
envVariables: Record<string, string> | undefined;
|
|
10
|
+
ffmpegExecutable: FfmpegExecutable;
|
|
11
|
+
ffprobeExecutable: FfmpegExecutable;
|
|
12
|
+
timeoutInMilliseconds: number;
|
|
13
|
+
chromiumOptions: ChromiumOptions;
|
|
14
|
+
port: number | null;
|
|
15
|
+
downloadMap: DownloadMap;
|
|
10
16
|
};
|
|
11
|
-
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
17
|
+
export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
|
|
12
18
|
export {};
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateComposition = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, }) => {
|
|
5
|
+
const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }) => {
|
|
6
6
|
const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
|
|
7
7
|
puppeteerInstance: browserInstance,
|
|
8
8
|
inputProps: inputProps,
|
|
9
9
|
envVariables,
|
|
10
|
+
ffmpegExecutable,
|
|
11
|
+
ffprobeExecutable,
|
|
12
|
+
timeoutInMilliseconds,
|
|
13
|
+
chromiumOptions,
|
|
14
|
+
port,
|
|
15
|
+
downloadMap,
|
|
10
16
|
});
|
|
11
17
|
const found = compositions.find((c) => c.id === composition);
|
|
12
18
|
if (!found) {
|
|
@@ -33,6 +33,7 @@ const writeLambdaError = async ({ bucketName, renderId, errorInfo, expectedBucke
|
|
|
33
33
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
34
34
|
privacy: 'private',
|
|
35
35
|
expectedBucketOwner,
|
|
36
|
+
downloadBehavior: null,
|
|
36
37
|
});
|
|
37
38
|
};
|
|
38
39
|
exports.writeLambdaError = writeLambdaError;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import { PostRenderData } from '../../shared/constants';
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { PostRenderData } from '../../shared/constants';
|
|
3
3
|
export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
|
|
4
4
|
bucketName: string;
|
|
5
5
|
renderId: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { LambdaPayload
|
|
2
|
-
import {
|
|
1
|
+
import type { LambdaPayload } from '../shared/constants';
|
|
2
|
+
import { LambdaRoutines } from '../shared/constants';
|
|
3
|
+
import type { LambdaReturnValues } from '../shared/return-values';
|
|
3
4
|
export declare const handler: <T extends LambdaRoutines>(params: LambdaPayload, context: {
|
|
4
5
|
invokedFunctionArn: string;
|
|
5
6
|
getRemainingTimeInMillis: () => number;
|
package/dist/functions/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
5
|
const constants_1 = require("../shared/constants");
|
|
6
6
|
const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
|
|
7
7
|
const is_warm_1 = require("./helpers/is-warm");
|
|
@@ -9,7 +9,7 @@ const print_cloudwatch_helper_1 = require("./helpers/print-cloudwatch-helper");
|
|
|
9
9
|
const info_1 = require("./info");
|
|
10
10
|
const launch_1 = require("./launch");
|
|
11
11
|
const progress_1 = require("./progress");
|
|
12
|
-
const
|
|
12
|
+
const renderer_2 = require("./renderer");
|
|
13
13
|
const start_1 = require("./start");
|
|
14
14
|
const still_1 = require("./still");
|
|
15
15
|
const handler = async (params, context) => {
|
|
@@ -25,6 +25,7 @@ const handler = async (params, context) => {
|
|
|
25
25
|
if (params.type === constants_1.LambdaRoutines.still) {
|
|
26
26
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.still, {
|
|
27
27
|
inputProps: JSON.stringify(params.inputProps),
|
|
28
|
+
isWarm,
|
|
28
29
|
});
|
|
29
30
|
return (0, still_1.stillHandler)(params, {
|
|
30
31
|
expectedBucketOwner: currentUserId,
|
|
@@ -33,6 +34,7 @@ const handler = async (params, context) => {
|
|
|
33
34
|
if (params.type === constants_1.LambdaRoutines.start) {
|
|
34
35
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.start, {
|
|
35
36
|
inputProps: JSON.stringify(params.inputProps),
|
|
37
|
+
isWarm,
|
|
36
38
|
});
|
|
37
39
|
return (0, start_1.startHandler)(params);
|
|
38
40
|
}
|
|
@@ -40,12 +42,14 @@ const handler = async (params, context) => {
|
|
|
40
42
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.launch, {
|
|
41
43
|
renderId: params.renderId,
|
|
42
44
|
inputProps: JSON.stringify(params.inputProps),
|
|
45
|
+
isWarm,
|
|
43
46
|
});
|
|
44
47
|
return (0, launch_1.launchHandler)(params, { expectedBucketOwner: currentUserId });
|
|
45
48
|
}
|
|
46
49
|
if (params.type === constants_1.LambdaRoutines.status) {
|
|
47
50
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.status, {
|
|
48
51
|
renderId: params.renderId,
|
|
52
|
+
isWarm,
|
|
49
53
|
});
|
|
50
54
|
return (0, progress_1.progressHandler)(params, {
|
|
51
55
|
expectedBucketOwner: currentUserId,
|
|
@@ -56,16 +60,19 @@ const handler = async (params, context) => {
|
|
|
56
60
|
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
|
|
57
61
|
renderId: params.renderId,
|
|
58
62
|
chunk: String(params.chunk),
|
|
59
|
-
dumpLogs: String(
|
|
63
|
+
dumpLogs: String(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
|
|
60
64
|
inputProps: JSON.stringify(params.inputProps),
|
|
65
|
+
isWarm,
|
|
61
66
|
});
|
|
62
|
-
return (0,
|
|
67
|
+
return (0, renderer_2.rendererHandler)(params, {
|
|
63
68
|
expectedBucketOwner: currentUserId,
|
|
64
69
|
isWarm,
|
|
65
70
|
});
|
|
66
71
|
}
|
|
67
72
|
if (params.type === constants_1.LambdaRoutines.info) {
|
|
68
|
-
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {
|
|
73
|
+
(0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {
|
|
74
|
+
isWarm,
|
|
75
|
+
});
|
|
69
76
|
return (0, info_1.infoHandler)(params);
|
|
70
77
|
}
|
|
71
78
|
throw new Error(constants_1.COMMAND_NOT_FOUND);
|
package/dist/functions/info.d.ts
CHANGED
package/dist/functions/launch.js
CHANGED
|
@@ -39,6 +39,27 @@ const timer_1 = require("./helpers/timer");
|
|
|
39
39
|
const validate_composition_1 = require("./helpers/validate-composition");
|
|
40
40
|
const write_lambda_error_1 = require("./helpers/write-lambda-error");
|
|
41
41
|
const write_post_render_data_1 = require("./helpers/write-post-render-data");
|
|
42
|
+
const callFunctionWithRetry = async (payload, retries = 0) => {
|
|
43
|
+
try {
|
|
44
|
+
await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
|
|
45
|
+
FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
|
|
46
|
+
// @ts-expect-error
|
|
47
|
+
Payload: JSON.stringify(payload),
|
|
48
|
+
InvocationType: 'Event',
|
|
49
|
+
}), {});
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
if (err.name === 'ResourceConflictException') {
|
|
53
|
+
if (retries > 10) {
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
await new Promise((resolve) => {
|
|
57
|
+
setTimeout(resolve, 1000);
|
|
58
|
+
});
|
|
59
|
+
return callFunctionWithRetry(payload, retries + 1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
42
63
|
const innerLaunchHandler = async (params, options) => {
|
|
43
64
|
var _a, _b;
|
|
44
65
|
if (params.type !== constants_1.LambdaRoutines.launch) {
|
|
@@ -46,7 +67,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
46
67
|
}
|
|
47
68
|
const startedDate = Date.now();
|
|
48
69
|
const [browserInstance, optimization] = await Promise.all([
|
|
49
|
-
(0, get_browser_instance_1.getBrowserInstance)(
|
|
70
|
+
(0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
|
|
50
71
|
(0, s3_optimization_file_1.getOptimization)({
|
|
51
72
|
bucketName: params.bucketName,
|
|
52
73
|
siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
|
|
@@ -55,22 +76,30 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
55
76
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
56
77
|
}),
|
|
57
78
|
]);
|
|
79
|
+
const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
|
|
58
80
|
const comp = await (0, validate_composition_1.validateComposition)({
|
|
59
81
|
serveUrl: params.serveUrl,
|
|
60
82
|
composition: params.composition,
|
|
61
83
|
browserInstance,
|
|
62
84
|
inputProps: params.inputProps,
|
|
63
85
|
envVariables: params.envVariables,
|
|
86
|
+
ffmpegExecutable: null,
|
|
87
|
+
ffprobeExecutable: null,
|
|
88
|
+
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
89
|
+
chromiumOptions: params.chromiumOptions,
|
|
90
|
+
port: null,
|
|
91
|
+
downloadMap,
|
|
64
92
|
});
|
|
65
|
-
remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to
|
|
66
|
-
remotion_1.Internals.validateFps(comp.fps, 'passed to
|
|
67
|
-
remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to
|
|
68
|
-
remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to
|
|
93
|
+
remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
|
|
94
|
+
remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
|
|
95
|
+
remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
|
|
96
|
+
remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
|
|
97
|
+
renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
|
|
69
98
|
const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(comp.durationInFrames, params.frameRange);
|
|
70
|
-
const frameCount = renderer_1.RenderInternals.
|
|
71
|
-
const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount);
|
|
99
|
+
const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
|
|
100
|
+
const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
|
|
72
101
|
(0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
|
|
73
|
-
const chunkCount = Math.ceil(frameCount / framesPerLambda);
|
|
102
|
+
const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
|
|
74
103
|
if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
|
|
75
104
|
throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency for how this parameter is calculated.`);
|
|
76
105
|
}
|
|
@@ -78,12 +107,12 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
78
107
|
(0, validate_privacy_1.validatePrivacy)(params.privacy);
|
|
79
108
|
renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
|
|
80
109
|
const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
|
|
81
|
-
chunkCount,
|
|
82
110
|
framesPerLambda,
|
|
83
111
|
optimization,
|
|
84
112
|
// TODO: Re-enable chunk optimization later
|
|
85
113
|
shouldUseOptimization: false,
|
|
86
114
|
frameRange: realFrameRange,
|
|
115
|
+
everyNthFrame: params.everyNthFrame,
|
|
87
116
|
});
|
|
88
117
|
const sortedChunks = chunks.slice().sort((a, b) => a[0] - b[0]);
|
|
89
118
|
const invokers = Math.round(Math.sqrt(chunks.length));
|
|
@@ -105,18 +134,21 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
105
134
|
inputProps: params.inputProps,
|
|
106
135
|
renderId: params.renderId,
|
|
107
136
|
imageFormat: params.imageFormat,
|
|
108
|
-
codec: params.codec,
|
|
137
|
+
codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
|
|
109
138
|
crf: params.crf,
|
|
110
139
|
envVariables: params.envVariables,
|
|
111
140
|
pixelFormat: params.pixelFormat,
|
|
112
141
|
proResProfile: params.proResProfile,
|
|
113
142
|
quality: params.quality,
|
|
114
143
|
privacy: params.privacy,
|
|
115
|
-
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a :
|
|
144
|
+
logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
|
|
116
145
|
attempt: 1,
|
|
117
146
|
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
118
147
|
chromiumOptions: params.chromiumOptions,
|
|
119
148
|
scale: params.scale,
|
|
149
|
+
everyNthFrame: params.everyNthFrame,
|
|
150
|
+
concurrencyPerLambda: params.concurrencyPerLambda,
|
|
151
|
+
muted: params.muted,
|
|
120
152
|
};
|
|
121
153
|
return payload;
|
|
122
154
|
});
|
|
@@ -153,22 +185,18 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
153
185
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
154
186
|
privacy: 'private',
|
|
155
187
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
188
|
+
downloadBehavior: null,
|
|
156
189
|
});
|
|
157
190
|
await Promise.all(lambdaPayloads.map(async (payload, index) => {
|
|
158
191
|
const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
|
|
159
|
-
await (
|
|
160
|
-
FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
|
|
161
|
-
// @ts-expect-error
|
|
162
|
-
Payload: JSON.stringify(payload),
|
|
163
|
-
InvocationType: 'Event',
|
|
164
|
-
}), {});
|
|
192
|
+
await callFunctionWithRetry(payload);
|
|
165
193
|
callingLambdaTimer.end();
|
|
166
194
|
}));
|
|
167
195
|
reqSend.end();
|
|
168
196
|
let lastProgressUploaded = 0;
|
|
169
197
|
let encodingStop = null;
|
|
170
198
|
const onProgress = (framesEncoded, start) => {
|
|
171
|
-
const relativeProgress = framesEncoded / frameCount;
|
|
199
|
+
const relativeProgress = framesEncoded / frameCount.length;
|
|
172
200
|
const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
|
|
173
201
|
if (relativeProgress === 1) {
|
|
174
202
|
encodingStop = Date.now();
|
|
@@ -179,7 +207,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
179
207
|
lastProgressUploaded = relativeProgress;
|
|
180
208
|
const encodingProgress = {
|
|
181
209
|
framesEncoded,
|
|
182
|
-
totalFrames: frameCount,
|
|
210
|
+
totalFrames: frameCount.length,
|
|
183
211
|
doneIn: encodingStop ? encodingStop - start : null,
|
|
184
212
|
timeToInvoke: null,
|
|
185
213
|
};
|
|
@@ -190,6 +218,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
190
218
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
191
219
|
privacy: 'private',
|
|
192
220
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
221
|
+
downloadBehavior: null,
|
|
193
222
|
}).catch((err) => {
|
|
194
223
|
(0, write_lambda_error_1.writeLambdaError)({
|
|
195
224
|
bucketName: params.bucketName,
|
|
@@ -211,15 +240,18 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
211
240
|
});
|
|
212
241
|
});
|
|
213
242
|
};
|
|
243
|
+
const fps = comp.fps / params.everyNthFrame;
|
|
214
244
|
const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
|
|
215
245
|
bucket: params.bucketName,
|
|
216
246
|
expectedFiles: chunkCount,
|
|
217
247
|
onProgress,
|
|
218
|
-
numberOfFrames: frameCount,
|
|
248
|
+
numberOfFrames: frameCount.length,
|
|
219
249
|
renderId: params.renderId,
|
|
220
250
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
221
251
|
codec: params.codec,
|
|
222
252
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
253
|
+
fps,
|
|
254
|
+
numberOfGifLoops: params.numberOfGifLoops,
|
|
223
255
|
});
|
|
224
256
|
if (!encodingStop) {
|
|
225
257
|
encodingStop = Date.now();
|
|
@@ -233,6 +265,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
233
265
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
234
266
|
privacy: params.privacy,
|
|
235
267
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
268
|
+
downloadBehavior: params.downloadBehavior,
|
|
236
269
|
});
|
|
237
270
|
let chunkProm = Promise.resolve();
|
|
238
271
|
// TODO: Enable in a later release
|
|
@@ -257,6 +290,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
257
290
|
framesPerLambda,
|
|
258
291
|
lambdaVersion: constants_1.CURRENT_VERSION,
|
|
259
292
|
frameRange: realFrameRange,
|
|
293
|
+
everyNthFrame: params.everyNthFrame,
|
|
260
294
|
},
|
|
261
295
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
262
296
|
compositionId: params.composition,
|
|
@@ -275,10 +309,16 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
275
309
|
}),
|
|
276
310
|
]);
|
|
277
311
|
const finalEncodingProgress = {
|
|
278
|
-
framesEncoded: frameCount,
|
|
279
|
-
totalFrames: frameCount,
|
|
312
|
+
framesEncoded: frameCount.length,
|
|
313
|
+
totalFrames: frameCount.length,
|
|
280
314
|
doneIn: encodingStop ? encodingStop - encodingStart : null,
|
|
281
|
-
timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(
|
|
315
|
+
timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
|
|
316
|
+
contents,
|
|
317
|
+
renderId: params.renderId,
|
|
318
|
+
estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
|
|
319
|
+
checkIfAllLambdasWereInvoked: false,
|
|
320
|
+
startDate: renderMetadata.startedDate,
|
|
321
|
+
}).timeToInvokeLambdas,
|
|
282
322
|
};
|
|
283
323
|
const finalEncodingProgressProm = (0, io_1.lambdaWriteFile)({
|
|
284
324
|
bucketName: params.bucketName,
|
|
@@ -287,6 +327,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
287
327
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
288
328
|
privacy: 'private',
|
|
289
329
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
330
|
+
downloadBehavior: null,
|
|
290
331
|
});
|
|
291
332
|
const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
|
|
292
333
|
contents,
|
|
@@ -305,7 +346,7 @@ const innerLaunchHandler = async (params, options) => {
|
|
|
305
346
|
contents,
|
|
306
347
|
jobs,
|
|
307
348
|
});
|
|
308
|
-
const postRenderData =
|
|
349
|
+
const postRenderData = (0, create_post_render_data_1.createPostRenderData)({
|
|
309
350
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
310
351
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
311
352
|
renderId: params.renderId,
|
|
@@ -8,7 +8,6 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
|
8
8
|
const renderer_1 = require("@remotion/renderer");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const remotion_1 = require("remotion");
|
|
12
11
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
13
12
|
const constants_1 = require("../shared/constants");
|
|
14
13
|
const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
|
|
@@ -19,12 +18,11 @@ const get_folder_size_1 = require("./helpers/get-folder-size");
|
|
|
19
18
|
const io_1 = require("./helpers/io");
|
|
20
19
|
const write_lambda_error_1 = require("./helpers/write-lambda-error");
|
|
21
20
|
const renderHandler = async (params, options, logs) => {
|
|
22
|
-
var _a
|
|
21
|
+
var _a;
|
|
23
22
|
if (params.type !== constants_1.LambdaRoutines.renderer) {
|
|
24
23
|
throw new Error('Params must be renderer');
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
|
|
25
|
+
const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
|
|
28
26
|
const outputPath = renderer_1.RenderInternals.tmpDir('remotion-render-');
|
|
29
27
|
if (typeof params.chunk !== 'number') {
|
|
30
28
|
throw new Error('must pass chunk');
|
|
@@ -41,78 +39,89 @@ const renderHandler = async (params, options, logs) => {
|
|
|
41
39
|
};
|
|
42
40
|
const outdir = renderer_1.RenderInternals.tmpDir(constants_1.RENDERER_PATH_TOKEN);
|
|
43
41
|
const outputLocation = path_1.default.join(outdir, `localchunk-${String(params.chunk).padStart(8, '0')}.${renderer_1.RenderInternals.getFileExtensionFromCodec(params.codec, 'chunk')}`);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
chunkTimingData.timings[renderedFrames] = Date.now() - start;
|
|
65
|
-
},
|
|
66
|
-
parallelism: 1,
|
|
67
|
-
onStart: () => {
|
|
68
|
-
(0, io_1.lambdaWriteFile)({
|
|
69
|
-
privacy: 'private',
|
|
70
|
-
bucketName: params.bucketName,
|
|
71
|
-
body: JSON.stringify({
|
|
72
|
-
filesCleaned: clean_tmpdir_1.deletedFilesSize,
|
|
73
|
-
filesInTmp: fs_1.default.readdirSync('/tmp'),
|
|
74
|
-
isWarm: options.isWarm,
|
|
75
|
-
deletedFiles: clean_tmpdir_1.deletedFiles,
|
|
76
|
-
tmpSize: (0, get_folder_size_1.getFolderSizeRecursively)('/tmp'),
|
|
77
|
-
tmpDirFiles: (0, get_files_in_folder_1.getFolderFiles)('/tmp'),
|
|
78
|
-
}),
|
|
79
|
-
key: (0, constants_1.lambdaInitializedKey)({
|
|
80
|
-
renderId: params.renderId,
|
|
81
|
-
chunk: params.chunk,
|
|
82
|
-
attempt: params.attempt,
|
|
83
|
-
}),
|
|
84
|
-
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
85
|
-
expectedBucketOwner: options.expectedBucketOwner,
|
|
86
|
-
});
|
|
87
|
-
},
|
|
88
|
-
puppeteerInstance: browserInstance,
|
|
89
|
-
serveUrl: params.serveUrl,
|
|
90
|
-
quality: params.quality,
|
|
91
|
-
envVariables: params.envVariables,
|
|
92
|
-
dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
|
|
93
|
-
onBrowserLog: (log) => {
|
|
94
|
-
logs.push(log);
|
|
95
|
-
},
|
|
96
|
-
outputLocation,
|
|
97
|
-
codec: params.codec,
|
|
98
|
-
crf: (_b = params.crf) !== null && _b !== void 0 ? _b : undefined,
|
|
99
|
-
ffmpegExecutable: process.env.NODE_ENV === 'test' ? null : '/opt/bin/ffmpeg',
|
|
100
|
-
pixelFormat: params.pixelFormat,
|
|
101
|
-
proResProfile: params.proResProfile,
|
|
102
|
-
onDownload: (src) => {
|
|
103
|
-
console.log('Downloading', src);
|
|
104
|
-
return ({ percent }) => {
|
|
105
|
-
if (remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
|
|
106
|
-
console.log(`Download progress of ${src}: ${percent}`);
|
|
42
|
+
const chunkCodec = params.codec === 'gif' ? 'h264-mkv' : params.codec;
|
|
43
|
+
const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
|
|
44
|
+
await new Promise((resolve, reject) => {
|
|
45
|
+
var _a;
|
|
46
|
+
(0, renderer_1.renderMedia)({
|
|
47
|
+
composition: {
|
|
48
|
+
id: params.composition,
|
|
49
|
+
durationInFrames: params.durationInFrames,
|
|
50
|
+
fps: params.fps,
|
|
51
|
+
height: params.height,
|
|
52
|
+
width: params.width,
|
|
53
|
+
},
|
|
54
|
+
imageFormat: params.imageFormat,
|
|
55
|
+
inputProps: params.inputProps,
|
|
56
|
+
frameRange: params.frameRange,
|
|
57
|
+
onProgress: ({ renderedFrames, encodedFrames, stitchStage }) => {
|
|
58
|
+
if (renderedFrames % 10 === 0 &&
|
|
59
|
+
renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
|
|
60
|
+
console.log(`Rendered ${renderedFrames} frames, encoded ${encodedFrames} frames, stage = ${stitchStage}`);
|
|
107
61
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
62
|
+
const allFrames = renderer_1.RenderInternals.getFramesToRender(params.frameRange, params.everyNthFrame);
|
|
63
|
+
if (renderedFrames === allFrames.length) {
|
|
64
|
+
console.log('Rendered all frames!');
|
|
65
|
+
}
|
|
66
|
+
chunkTimingData.timings[renderedFrames] = Date.now() - start;
|
|
67
|
+
},
|
|
68
|
+
parallelism: params.concurrencyPerLambda,
|
|
69
|
+
onStart: () => {
|
|
70
|
+
(0, io_1.lambdaWriteFile)({
|
|
71
|
+
privacy: 'private',
|
|
72
|
+
bucketName: params.bucketName,
|
|
73
|
+
body: JSON.stringify({
|
|
74
|
+
filesCleaned: clean_tmpdir_1.deletedFilesSize,
|
|
75
|
+
filesInTmp: fs_1.default.readdirSync('/tmp'),
|
|
76
|
+
isWarm: options.isWarm,
|
|
77
|
+
deletedFiles: clean_tmpdir_1.deletedFiles,
|
|
78
|
+
tmpSize: (0, get_folder_size_1.getFolderSizeRecursively)('/tmp'),
|
|
79
|
+
tmpDirFiles: (0, get_files_in_folder_1.getFolderFiles)('/tmp'),
|
|
80
|
+
}),
|
|
81
|
+
key: (0, constants_1.lambdaInitializedKey)({
|
|
82
|
+
renderId: params.renderId,
|
|
83
|
+
chunk: params.chunk,
|
|
84
|
+
attempt: params.attempt,
|
|
85
|
+
}),
|
|
86
|
+
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
87
|
+
expectedBucketOwner: options.expectedBucketOwner,
|
|
88
|
+
downloadBehavior: null,
|
|
89
|
+
}).catch((err) => reject(err));
|
|
90
|
+
},
|
|
91
|
+
puppeteerInstance: browserInstance,
|
|
92
|
+
serveUrl: params.serveUrl,
|
|
93
|
+
quality: params.quality,
|
|
94
|
+
envVariables: params.envVariables,
|
|
95
|
+
dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
|
|
96
|
+
verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
|
|
97
|
+
onBrowserLog: (log) => {
|
|
98
|
+
logs.push(log);
|
|
99
|
+
},
|
|
100
|
+
outputLocation,
|
|
101
|
+
codec: chunkCodec,
|
|
102
|
+
crf: (_a = params.crf) !== null && _a !== void 0 ? _a : undefined,
|
|
103
|
+
ffmpegExecutable: process.env.NODE_ENV === 'test' ? null : '/opt/bin/ffmpeg',
|
|
104
|
+
pixelFormat: params.pixelFormat,
|
|
105
|
+
proResProfile: params.proResProfile,
|
|
106
|
+
onDownload: (src) => {
|
|
107
|
+
console.log('Downloading', src);
|
|
108
|
+
return () => undefined;
|
|
109
|
+
},
|
|
110
|
+
overwrite: false,
|
|
111
|
+
chromiumOptions: params.chromiumOptions,
|
|
112
|
+
scale: params.scale,
|
|
113
|
+
timeoutInMilliseconds: params.timeoutInMilliseconds,
|
|
114
|
+
port: null,
|
|
115
|
+
everyNthFrame: params.everyNthFrame,
|
|
116
|
+
numberOfGifLoops: null,
|
|
117
|
+
downloadMap,
|
|
118
|
+
muted: params.muted,
|
|
119
|
+
enforceAudioTrack: true,
|
|
120
|
+
})
|
|
121
|
+
.then(() => resolve())
|
|
122
|
+
.catch((err) => reject(err));
|
|
113
123
|
});
|
|
114
124
|
const endRendered = Date.now();
|
|
115
|
-
console.log('Adding silent audio, chunk', params.chunk);
|
|
116
125
|
const condensedTimingData = {
|
|
117
126
|
...chunkTimingData,
|
|
118
127
|
timings: Object.values(chunkTimingData.timings),
|
|
@@ -127,6 +136,7 @@ const renderHandler = async (params, options, logs) => {
|
|
|
127
136
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
128
137
|
privacy: params.privacy,
|
|
129
138
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
139
|
+
downloadBehavior: null,
|
|
130
140
|
});
|
|
131
141
|
await Promise.all([
|
|
132
142
|
fs_1.default.promises.rm(outputLocation, { recursive: true }),
|
|
@@ -134,15 +144,16 @@ const renderHandler = async (params, options, logs) => {
|
|
|
134
144
|
(0, io_1.lambdaWriteFile)({
|
|
135
145
|
bucketName: params.bucketName,
|
|
136
146
|
body: JSON.stringify(condensedTimingData, null, 2),
|
|
137
|
-
key:
|
|
147
|
+
key: (0, constants_1.lambdaTimingsKey)({
|
|
138
148
|
renderId: params.renderId,
|
|
139
149
|
chunk: params.chunk,
|
|
140
150
|
rendered: endRendered,
|
|
141
151
|
start,
|
|
142
|
-
})
|
|
152
|
+
}),
|
|
143
153
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
144
154
|
privacy: 'private',
|
|
145
155
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
156
|
+
downloadBehavior: null,
|
|
146
157
|
}),
|
|
147
158
|
]);
|
|
148
159
|
};
|