@remotion/lambda 4.0.0-tts.8 → 4.0.0-umungobongo.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/admin/bundle-lambda.js +1 -0
  2. package/dist/admin/make-layer-public.js +2 -2
  3. package/dist/api/bucket-exists.d.ts +1 -1
  4. package/dist/api/clean-items.d.ts +1 -1
  5. package/dist/api/create-bucket.d.ts +1 -1
  6. package/dist/api/create-function.d.ts +2 -2
  7. package/dist/api/delete-function.d.ts +1 -1
  8. package/dist/api/delete-site.d.ts +1 -1
  9. package/dist/api/deploy-function.d.ts +2 -2
  10. package/dist/api/deploy-site.d.ts +3 -3
  11. package/dist/api/deploy-site.js +2 -3
  12. package/dist/api/download-media.d.ts +2 -2
  13. package/dist/api/enable-s3-website.d.ts +1 -1
  14. package/dist/api/estimate-price.d.ts +2 -2
  15. package/dist/api/get-aws-client.d.ts +2 -2
  16. package/dist/api/get-buckets.d.ts +1 -1
  17. package/dist/api/get-function-info.d.ts +2 -2
  18. package/dist/api/get-functions.d.ts +2 -2
  19. package/dist/api/get-or-create-bucket.d.ts +1 -1
  20. package/dist/api/get-regions.d.ts +1 -1
  21. package/dist/api/get-render-progress.d.ts +2 -2
  22. package/dist/api/get-sites.d.ts +2 -2
  23. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  24. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  25. package/dist/api/iam-validation/simulate.d.ts +2 -2
  26. package/dist/api/mock-functions.d.ts +3 -3
  27. package/dist/api/presign-url.d.ts +3 -2
  28. package/dist/api/render-media-on-lambda.d.ts +13 -8
  29. package/dist/api/render-media-on-lambda.js +12 -5
  30. package/dist/api/render-still-on-lambda.d.ts +8 -7
  31. package/dist/api/render-still-on-lambda.js +4 -4
  32. package/dist/api/upload-dir.d.ts +2 -2
  33. package/dist/api/upload-dir.js +5 -1
  34. package/dist/cli/args.d.ts +4 -3
  35. package/dist/cli/commands/render/progress.d.ts +4 -4
  36. package/dist/cli/commands/render/progress.js +11 -3
  37. package/dist/cli/commands/render/render.js +13 -3
  38. package/dist/cli/commands/sites/create.js +2 -3
  39. package/dist/cli/commands/sites/ls.js +1 -2
  40. package/dist/cli/commands/sites/rm.js +2 -3
  41. package/dist/cli/commands/sites/rmall.js +2 -3
  42. package/dist/cli/commands/still.js +1 -2
  43. package/dist/cli/get-aws-region.d.ts +1 -1
  44. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
  45. package/dist/cli/helpers/progress-bar.js +1 -2
  46. package/dist/cli/index.js +1 -1
  47. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
  48. package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
  49. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +1 -1
  50. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
  51. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
  52. package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
  53. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
  54. package/dist/functions/chunk-optimization/optimize-profile.d.ts +1 -1
  55. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +3 -3
  56. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
  57. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
  58. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  59. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +1 -1
  60. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
  61. package/dist/functions/chunk-optimization/types.d.ts +2 -1
  62. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  63. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  64. package/dist/functions/helpers/concat-videos.d.ts +5 -4
  65. package/dist/functions/helpers/concat-videos.js +2 -1
  66. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  67. package/dist/functions/helpers/create-post-render-data.js +12 -7
  68. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  69. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  70. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
  71. package/dist/functions/helpers/find-output-file-in-bucket.js +4 -0
  72. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  73. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  74. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  75. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  76. package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
  77. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
  78. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
  79. package/dist/functions/helpers/get-lambdas-invoked-stats.js +7 -7
  80. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
  81. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  82. package/dist/functions/helpers/get-progress.d.ts +2 -2
  83. package/dist/functions/helpers/get-progress.js +18 -10
  84. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  85. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  86. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  87. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  88. package/dist/functions/helpers/io.d.ts +8 -6
  89. package/dist/functions/helpers/io.js +8 -2
  90. package/dist/functions/helpers/min-max.d.ts +1 -1
  91. package/dist/functions/helpers/min-max.js +1 -1
  92. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  93. package/dist/functions/helpers/read-with-progress.d.ts +3 -2
  94. package/dist/functions/helpers/read-with-progress.js +13 -1
  95. package/dist/functions/helpers/validate-composition.d.ts +5 -4
  96. package/dist/functions/helpers/validate-composition.js +2 -1
  97. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  98. package/dist/functions/helpers/write-lambda-error.js +1 -0
  99. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  100. package/dist/functions/helpers/write-post-render-data.js +1 -0
  101. package/dist/functions/index.d.ts +3 -2
  102. package/dist/functions/index.js +12 -5
  103. package/dist/functions/info.d.ts +1 -1
  104. package/dist/functions/launch.d.ts +1 -1
  105. package/dist/functions/launch.js +37 -19
  106. package/dist/functions/progress.d.ts +1 -1
  107. package/dist/functions/renderer.d.ts +1 -1
  108. package/dist/functions/renderer.js +18 -11
  109. package/dist/functions/start.d.ts +1 -1
  110. package/dist/functions/start.js +5 -2
  111. package/dist/functions/still.d.ts +1 -1
  112. package/dist/functions/still.js +12 -6
  113. package/dist/index.d.ts +33 -18
  114. package/dist/pricing/price-per-1-s.d.ts +1 -1
  115. package/dist/shared/aws-clients.d.ts +1 -1
  116. package/dist/shared/bundle-site.d.ts +1 -6
  117. package/dist/shared/call-lambda.d.ts +3 -3
  118. package/dist/shared/check-credentials.js +2 -2
  119. package/dist/shared/constants.d.ts +29 -13
  120. package/dist/shared/constants.js +2 -2
  121. package/dist/shared/content-disposition-header.d.ts +7 -0
  122. package/dist/shared/content-disposition-header.js +19 -0
  123. package/dist/shared/convert-to-serve-url.d.ts +1 -1
  124. package/dist/shared/get-account-id.d.ts +1 -1
  125. package/dist/shared/get-function-version.d.ts +2 -2
  126. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  127. package/dist/shared/get-most-expensive-chunks.js +25 -0
  128. package/dist/shared/hosted-layers.d.ts +2 -2
  129. package/dist/shared/hosted-layers.js +60 -60
  130. package/dist/shared/make-s3-url.d.ts +1 -1
  131. package/dist/shared/return-values.d.ts +7 -7
  132. package/dist/shared/return-values.js +0 -1
  133. package/dist/shared/stream-to-string.d.ts +1 -1
  134. package/dist/shared/truthy.d.ts +3 -0
  135. package/dist/shared/truthy.js +7 -0
  136. package/dist/shared/validate-aws-region.d.ts +1 -1
  137. package/dist/shared/validate-download-behavior.d.ts +1 -0
  138. package/dist/shared/validate-download-behavior.js +21 -0
  139. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  140. package/dist/shared/validate-lambda-codec.js +30 -0
  141. package/dist/shared/validate-outname.d.ts +1 -1
  142. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  143. package/dist/shared/validate-presign-expiration.js +7 -7
  144. package/dist/shared/validate-privacy.d.ts +1 -1
  145. package/dist/shared/validate-privacy.js +2 -2
  146. package/package.json +8 -10
  147. package/remotionlambda.zip +0 -0
  148. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  149. package/dist/cli/helpers/format-bytes.js +0 -103
  150. package/dist/shared/chunk.d.ts +0 -1
  151. package/dist/shared/chunk.js +0 -11
@@ -25,6 +25,7 @@ const bundleLambda = async () => {
25
25
  bundle: true,
26
26
  outfile,
27
27
  entryPoints: [template],
28
+ treeShaking: true,
28
29
  });
29
30
  await zl.archiveFolder(outdir, function_zip_path_1.FUNCTION_ZIP);
30
31
  fs_1.default.unlinkSync(outfile);
@@ -43,11 +43,11 @@ const makeLayerPublic = async () => {
43
43
  const { Version, LayerArn } = await (0, aws_clients_1.getLambdaClient)(region).send(new client_lambda_1.PublishLayerVersionCommand({
44
44
  Content: {
45
45
  S3Bucket: 'remotionlambda-binaries-' + region,
46
- S3Key: `remotion-layer-${layer}-v6-${architecture}.zip`,
46
+ S3Key: `remotion-layer-${layer}-v7-${architecture}.zip`,
47
47
  },
48
48
  LayerName: layerName,
49
49
  LicenseInfo: layer === 'chromium'
50
- ? 'Chromium 101, compiled from source. Read Chromium License: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/LICENSE'
50
+ ? 'Chromium 104, compiled from source. Read Chromium License: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/LICENSE'
51
51
  : layer === 'ffmpeg'
52
52
  ? 'Compiled from FFMPEG source. Read FFMPEG license: https://ffmpeg.org/legal.html'
53
53
  : 'Contains Noto Sans font. Read Noto Sans License: https://fonts.google.com/noto/specimen/Noto+Sans/about',
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const bucketExistsInRegion: ({ bucketName, region, expectedBucketOwner, }: {
3
3
  bucketName: string;
4
4
  region: AwsRegion;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const cleanItems: ({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, list, }: {
3
3
  bucket: string;
4
4
  region: AwsRegion;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const createBucket: ({ region, bucketName, }: {
3
3
  region: AwsRegion;
4
4
  bucketName: string;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaArchitecture } from '../shared/validate-architecture';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaArchitecture } from '../shared/validate-architecture';
3
3
  export declare const createFunction: ({ createCloudWatchLogGroup, region, zipFile, functionName, accountId, memorySizeInMb, timeoutInSeconds, alreadyCreated, retentionInDays, architecture, ephemerealStorageInMb, customRoleArn, }: {
4
4
  createCloudWatchLogGroup: boolean;
5
5
  region: AwsRegion;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type DeleteFunctionInput = {
3
3
  region: AwsRegion;
4
4
  functionName: string;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type DeleteSiteInput = {
3
3
  bucketName: string;
4
4
  siteName: string;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaArchitecture } from '../shared/validate-architecture';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaArchitecture } from '../shared/validate-architecture';
3
3
  export declare type DeployFunctionInput = {
4
4
  createCloudWatchLogGroup: boolean;
5
5
  cloudWatchLogRetentionPeriodInDays?: number;
@@ -1,6 +1,6 @@
1
- import { WebpackOverrideFn } from 'remotion';
2
- import { AwsRegion } from '../pricing/aws-regions';
3
- import { UploadDirProgress } from './upload-dir';
1
+ import type { WebpackOverrideFn } from 'remotion';
2
+ import type { AwsRegion } from '../pricing/aws-regions';
3
+ import type { UploadDirProgress } from './upload-dir';
4
4
  export declare type DeploySiteInput = {
5
5
  entryPoint: string;
6
6
  bucketName: string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deploySite = void 0;
4
- const remotion_1 = require("remotion");
5
4
  const delete_site_1 = require("../api/delete-site");
6
5
  const bundle_site_1 = require("../shared/bundle-site");
7
6
  const constants_1 = require("../shared/constants");
@@ -46,8 +45,8 @@ const deploySite = async ({ bucketName, entryPoint, siteName, options, region, }
46
45
  });
47
46
  const bundled = await (0, bundle_site_1.bundleSite)(entryPoint, (_a = options === null || options === void 0 ? void 0 : options.onBundleProgress) !== null && _a !== void 0 ? _a : (() => undefined), {
48
47
  publicPath: `/${subFolder}/`,
49
- webpackOverride: (_b = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _b !== void 0 ? _b : remotion_1.Internals.getWebpackOverrideFn(),
50
- enableCaching: (_c = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _c !== void 0 ? _c : remotion_1.Internals.getWebpackCaching(),
48
+ webpackOverride: (_b = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _b !== void 0 ? _b : ((f) => f),
49
+ enableCaching: (_c = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _c !== void 0 ? _c : true,
51
50
  });
52
51
  await Promise.all([
53
52
  (0, upload_dir_1.uploadDir)({
@@ -1,5 +1,5 @@
1
- import { LambdaReadFileProgress } from '../functions/helpers/read-with-progress';
2
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { LambdaReadFileProgress } from '../functions/helpers/read-with-progress';
2
+ import type { AwsRegion } from '../pricing/aws-regions';
3
3
  export declare type DownloadMediaInput = {
4
4
  region: AwsRegion;
5
5
  bucketName: string;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const enableS3Website: ({ region, bucketName, }: {
3
3
  region: AwsRegion;
4
4
  bucketName: string;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaArchitecture } from '../shared/validate-architecture';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaArchitecture } from '../shared/validate-architecture';
3
3
  export declare type EstimatePriceInput = {
4
4
  region: AwsRegion;
5
5
  durationInMiliseconds: number;
@@ -3,8 +3,8 @@ import * as IamSdk from '@aws-sdk/client-iam';
3
3
  import * as LambdaSDK from '@aws-sdk/client-lambda';
4
4
  import * as S3SDK from '@aws-sdk/client-s3';
5
5
  import * as ServiceQuotasSDK from '@aws-sdk/client-service-quotas';
6
- import { AwsRegion } from '../client';
7
- import { ServiceMapping } from '../shared/aws-clients';
6
+ import type { AwsRegion } from '../client';
7
+ import type { ServiceMapping } from '../shared/aws-clients';
8
8
  export declare type GetAwsClientInput<T extends keyof ServiceMapping> = {
9
9
  region: AwsRegion;
10
10
  service: T;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type BucketWithLocation = {
3
3
  name: string;
4
4
  creationDate: number;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from '../shared/constants';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaVersions } from '../shared/constants';
3
3
  export declare type FunctionInfo = {
4
4
  functionName: string;
5
5
  timeoutInSeconds: number;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { FunctionInfo } from './get-function-info';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { FunctionInfo } from './get-function-info';
3
3
  export declare type GetFunctionsInput = {
4
4
  region: AwsRegion;
5
5
  compatibleOnly: boolean;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type GetOrCreateBucketInput = {
3
3
  region: AwsRegion;
4
4
  onBucketEnsured?: () => void;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  /**
3
3
  * @description Gets an array of all supported AWS regions of this release of Remotion Lambda.
4
4
  * @link https://remotion.dev/docs/lambda/getregions
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { RenderProgress } from '../shared/constants';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { RenderProgress } from '../shared/constants';
3
3
  export declare type GetRenderInput = {
4
4
  functionName: string;
5
5
  bucketName: string;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { BucketWithLocation } from './get-buckets';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { BucketWithLocation } from './get-buckets';
3
3
  declare type Site = {
4
4
  sizeInBytes: number;
5
5
  lastModified: number | null;
@@ -1,4 +1,5 @@
1
- import { iam, lambda, logs, s3 } from 'aws-policies';
1
+ import type { iam } from 'aws-policies';
2
+ import { lambda, logs, s3 } from 'aws-policies';
2
3
  export declare const rolePermissions: {
3
4
  actions: (s3 | iam | lambda | logs)[];
4
5
  resource: string[];
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
2
  export declare type EvalDecision = 'allowed' | 'explicitDeny' | 'implicitDeny';
3
3
  export declare type SimulationResult = {
4
4
  decision: EvalDecision;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
2
- import { SimulationResult } from './simulate-rule';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { SimulationResult } from './simulate-rule';
3
3
  export declare const logPermissionOutput: (output: SimulationResult) => string;
4
4
  export declare type SimulatePermissionsInput = {
5
5
  region: AwsRegion;
@@ -1,6 +1,6 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from '../shared/constants';
3
- import { FunctionInfo } from './get-function-info';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaVersions } from '../shared/constants';
3
+ import type { FunctionInfo } from './get-function-info';
4
4
  export declare let mockFunctionsStore: (FunctionInfo & {
5
5
  region: AwsRegion;
6
6
  version: LambdaVersions;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- export declare type PresignURLInput = {
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ declare type PresignURLInput = {
3
3
  region: AwsRegion;
4
4
  bucketName: string;
5
5
  objectKey: string;
@@ -17,3 +17,4 @@ export declare type PresignURLInput = {
17
17
  * @returns {Promise<string | null>} The public url of an object or `null` if `checkIfObjectExists=true` & object does not exist.
18
18
  */
19
19
  export declare const presignUrl: ({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, }: PresignURLInput) => Promise<string | null>;
20
+ export {};
@@ -1,14 +1,15 @@
1
- import type { ChromiumOptions } from '@remotion/renderer';
2
- import { FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from 'remotion';
3
- import { AwsRegion } from '../pricing/aws-regions';
4
- import { Privacy } from '../shared/constants';
1
+ import type { ChromiumOptions, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
2
+ import type { AwsRegion } from '../pricing/aws-regions';
3
+ import type { OutNameInput, Privacy } from '../shared/constants';
4
+ import type { DownloadBehavior } from '../shared/content-disposition-header';
5
+ import type { LambdaCodec } from '../shared/validate-lambda-codec';
5
6
  export declare type RenderMediaOnLambdaInput = {
6
7
  region: AwsRegion;
7
8
  functionName: string;
8
9
  serveUrl: string;
9
10
  composition: string;
10
11
  inputProps: unknown;
11
- codec: 'h264-mkv' | 'mp3' | 'aac' | 'wav';
12
+ codec: LambdaCodec;
12
13
  imageFormat: ImageFormat;
13
14
  crf?: number | undefined;
14
15
  envVariables?: Record<string, string>;
@@ -20,10 +21,14 @@ export declare type RenderMediaOnLambdaInput = {
20
21
  framesPerLambda?: number;
21
22
  logLevel?: LogLevel;
22
23
  frameRange?: FrameRange;
23
- outName?: string;
24
+ outName?: OutNameInput;
24
25
  timeoutInMilliseconds?: number;
25
26
  chromiumOptions?: ChromiumOptions;
26
27
  scale?: number;
28
+ everyNthFrame?: number;
29
+ numberOfGifLoops?: number | null;
30
+ concurrencyPerLambda?: number;
31
+ downloadBehavior?: DownloadBehavior | null;
27
32
  };
28
33
  export declare type RenderMediaOnLambdaOutput = {
29
34
  renderId: string;
@@ -47,8 +52,8 @@ export declare type RenderMediaOnLambdaOutput = {
47
52
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
48
53
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
49
54
  */
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>;
55
+ 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, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
51
56
  /**
52
57
  * @deprecated Renamed to renderMediaOnLambda()
53
58
  */
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>;
59
+ 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, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderVideoOnLambda = exports.renderMediaOnLambda = void 0;
4
- const remotion_1 = require("remotion");
5
4
  const call_lambda_1 = require("../shared/call-lambda");
6
5
  const constants_1 = require("../shared/constants");
7
6
  const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
7
+ const validate_download_behavior_1 = require("../shared/validate-download-behavior");
8
8
  const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
9
+ const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
9
10
  const validate_serveurl_1 = require("../shared/validate-serveurl");
10
11
  /**
11
12
  * @description Triggers a render on a lambda given a composition and a lambda function.
@@ -25,9 +26,11 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
25
26
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
26
27
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
27
28
  */
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, }) => {
29
+ 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, }) => {
30
+ const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
29
31
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
30
32
  (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null);
33
+ (0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
31
34
  const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
32
35
  const res = await (0, call_lambda_1.callLambda)({
33
36
  functionName,
@@ -37,7 +40,7 @@ const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec,
37
40
  composition,
38
41
  serveUrl: realServeUrl,
39
42
  inputProps,
40
- codec,
43
+ codec: actualCodec,
41
44
  imageFormat,
42
45
  crf,
43
46
  envVariables,
@@ -46,12 +49,16 @@ const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec,
46
49
  quality,
47
50
  maxRetries,
48
51
  privacy,
49
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
52
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
50
53
  frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
51
54
  outName: outName !== null && outName !== void 0 ? outName : null,
52
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : remotion_1.Internals.DEFAULT_PUPPETEER_TIMEOUT,
55
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
53
56
  chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
54
57
  scale: scale !== null && scale !== void 0 ? scale : 1,
58
+ everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
59
+ numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
60
+ concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
61
+ downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
55
62
  },
56
63
  region,
57
64
  });
@@ -1,7 +1,7 @@
1
- import { ChromiumOptions } from '@remotion/renderer';
2
- import { LogLevel, StillImageFormat } from 'remotion';
3
- import { AwsRegion } from '../pricing/aws-regions';
4
- import { CostsInfo } from '../shared/constants';
1
+ import type { ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
2
+ import type { AwsRegion } from '../pricing/aws-regions';
3
+ import type { CostsInfo, OutNameInput, Privacy } from '../shared/constants';
4
+ import type { DownloadBehavior } from '../shared/content-disposition-header';
5
5
  export declare type RenderStillOnLambdaInput = {
6
6
  region: AwsRegion;
7
7
  functionName: string;
@@ -9,16 +9,17 @@ export declare type RenderStillOnLambdaInput = {
9
9
  composition: string;
10
10
  inputProps: unknown;
11
11
  imageFormat: StillImageFormat;
12
- privacy: 'private' | 'public';
12
+ privacy: Privacy;
13
13
  maxRetries?: number;
14
14
  envVariables?: Record<string, string>;
15
15
  quality?: number;
16
16
  frame?: number;
17
17
  logLevel?: LogLevel;
18
- outName?: string;
18
+ outName?: OutNameInput;
19
19
  timeoutInMilliseconds?: number;
20
20
  chromiumOptions?: ChromiumOptions;
21
21
  scale?: number;
22
+ downloadBehavior?: DownloadBehavior;
22
23
  };
23
24
  export declare type RenderStillOnLambdaOutput = {
24
25
  estimatedPrice: CostsInfo;
@@ -43,4 +44,4 @@ export declare type RenderStillOnLambdaOutput = {
43
44
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
44
45
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
45
46
  */
46
- export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
47
+ export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderStillOnLambda = void 0;
4
- const remotion_1 = require("remotion");
5
4
  const call_lambda_1 = require("../shared/call-lambda");
6
5
  const constants_1 = require("../shared/constants");
7
6
  const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
@@ -21,7 +20,7 @@ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
21
20
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
22
21
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
23
22
  */
24
- const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, }) => {
23
+ const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, }) => {
25
24
  const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
26
25
  const res = await (0, call_lambda_1.callLambda)({
27
26
  functionName,
@@ -37,11 +36,12 @@ const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFo
37
36
  frame: frame !== null && frame !== void 0 ? frame : 0,
38
37
  privacy,
39
38
  attempt: 1,
40
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
39
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
41
40
  outName: outName !== null && outName !== void 0 ? outName : null,
42
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : remotion_1.Internals.DEFAULT_PUPPETEER_TIMEOUT,
41
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
43
42
  chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
44
43
  scale: scale !== null && scale !== void 0 ? scale : 1,
44
+ downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
45
45
  },
46
46
  region,
47
47
  });
@@ -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;
@@ -42,7 +42,11 @@ const uploadDir = async ({ bucket, region, dir, onProgress, folder, privacy, })
42
42
  const Key = (0, make_s3_key_1.makeS3Key)(folder, dir, filePath.name);
43
43
  const Body = (0, fs_1.createReadStream)(filePath.name);
44
44
  const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
45
- const ACL = privacy === 'private' ? 'private' : 'public-read';
45
+ const ACL = privacy === 'no-acl'
46
+ ? undefined
47
+ : privacy === 'private'
48
+ ? 'private'
49
+ : 'public-read';
46
50
  if (filePath.size > 5 * 1024 * 1024) {
47
51
  const paralellUploads3 = new lib_storage_1.Upload({
48
52
  client,
@@ -1,7 +1,7 @@
1
1
  import minimist from 'minimist';
2
- import { AwsRegion } from '../pricing/aws-regions';
3
- import { Privacy } from '../shared/constants';
4
- import { LambdaArchitecture } from '../shared/validate-architecture';
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;
@@ -19,6 +19,7 @@ declare type LambdaCommandLineOptions = {
19
19
  ['disable-cloudwatch']: boolean;
20
20
  ['max-retries']: number;
21
21
  ['frames-per-lambda']: number;
22
+ ['concurrency-per-lambda']: number;
22
23
  ['out-name']: string | undefined;
23
24
  ['architecture']: LambdaArchitecture;
24
25
  ['custom-role-arn']: string | undefined;
@@ -1,5 +1,5 @@
1
- import { CleanupInfo, EncodingProgress, RenderProgress } from '../../../defaults';
2
- import { ChunkRetry } from '../../../functions/helpers/get-retry-stats';
1
+ import type { CleanupInfo, EncodingProgress, RenderProgress } from '../../../defaults';
2
+ import type { ChunkRetry } from '../../../functions/helpers/get-retry-stats';
3
3
  declare type LambdaInvokeProgress = {
4
4
  totalLambdas: number | null;
5
5
  lambdasInvoked: number;
@@ -10,7 +10,7 @@ declare type ChunkProgress = {
10
10
  chunksInvoked: number;
11
11
  doneIn: number | null;
12
12
  };
13
- export declare type MultiRenderProgress = {
13
+ declare type MultiRenderProgress = {
14
14
  lambdaInvokeProgress: LambdaInvokeProgress;
15
15
  chunkProgress: ChunkProgress;
16
16
  encodingProgress: EncodingProgress;
@@ -18,7 +18,7 @@ export declare type MultiRenderProgress = {
18
18
  };
19
19
  export declare const makeMultiProgressFromStatus: (status: RenderProgress) => MultiRenderProgress;
20
20
  declare type DownloadedInfo = {
21
- totalSize: number;
21
+ totalSize: number | null;
22
22
  downloaded: number;
23
23
  doneIn: number | null;
24
24
  };
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeProgressString = exports.makeMultiProgressFromStatus = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const remotion_1 = require("remotion");
6
- const format_bytes_1 = require("../../helpers/format-bytes");
7
6
  const makeInvokeProgress = (invokeProgress, totalSteps, retriesInfo) => {
8
7
  const { lambdasInvoked, totalLambdas, doneIn } = invokeProgress;
9
8
  const progress = doneIn
@@ -78,10 +77,19 @@ const makeDownloadProgress = (downloadInfo, totalSteps) => {
78
77
  return [
79
78
  '💾',
80
79
  `(5/${totalSteps})`,
81
- cli_1.CliInternals.makeProgressBar(downloadInfo.downloaded / downloadInfo.totalSize),
80
+ downloadInfo.totalSize === null
81
+ ? cli_1.CliInternals.getFileSizeDownloadBar(downloadInfo.downloaded)
82
+ : cli_1.CliInternals.makeProgressBar(downloadInfo.downloaded / downloadInfo.totalSize),
82
83
  `${downloadInfo.doneIn === null ? 'Downloading' : 'Downloaded'} video`,
83
84
  downloadInfo.doneIn === null
84
- ? `${(0, format_bytes_1.formatBytes)(downloadInfo.downloaded)}/${(0, format_bytes_1.formatBytes)(downloadInfo.totalSize)}`
85
+ ? [
86
+ `${cli_1.CliInternals.formatBytes(downloadInfo.downloaded)}`,
87
+ downloadInfo.totalSize === null
88
+ ? null
89
+ : `${cli_1.CliInternals.formatBytes(downloadInfo.totalSize)}`,
90
+ ]
91
+ .filter(remotion_1.Internals.truthy)
92
+ .join('/')
85
93
  : cli_1.CliInternals.chalk.gray(`${downloadInfo.doneIn}ms`),
86
94
  ].join(' ');
87
95
  };
@@ -14,7 +14,6 @@ const validate_retries_1 = require("../../../shared/validate-retries");
14
14
  const args_1 = require("../../args");
15
15
  const get_aws_region_1 = require("../../get-aws-region");
16
16
  const find_function_name_1 = require("../../helpers/find-function-name");
17
- const format_bytes_1 = require("../../helpers/format-bytes");
18
17
  const get_cloudwatch_stream_url_1 = require("../../helpers/get-cloudwatch-stream-url");
19
18
  const quit_1 = require("../../helpers/quit");
20
19
  const log_1 = require("../../log");
@@ -39,7 +38,7 @@ const renderCommand = async (args) => {
39
38
  (0, quit_1.quit)(1);
40
39
  }
41
40
  const outName = (_a = args[2]) !== null && _a !== void 0 ? _a : null;
42
- const { chromiumOptions, codec, crf, envVariables, frameRange, imageFormat, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, quality, scale, } = await cli_1.CliInternals.getCliOptions({
41
+ const { chromiumOptions, codec, crf, envVariables, frameRange, imageFormat, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, quality, scale, everyNthFrame, numberOfGifLoops, } = await cli_1.CliInternals.getCliOptions({
43
42
  type: 'series',
44
43
  isLambda: true,
45
44
  });
@@ -73,6 +72,9 @@ const renderCommand = async (args) => {
73
72
  timeoutInMilliseconds: puppeteerTimeout,
74
73
  chromiumOptions,
75
74
  scale,
75
+ numberOfGifLoops,
76
+ everyNthFrame,
77
+ concurrencyPerLambda: args_1.parsedLambdaCli['concurrency-per-lambda'],
76
78
  });
77
79
  const totalSteps = outName ? 5 : 4;
78
80
  const progressBar = cli_1.CliInternals.createOverwriteableCliOutput(cli_1.CliInternals.quietFlagProvided());
@@ -151,7 +153,7 @@ const renderCommand = async (args) => {
151
153
  }));
152
154
  log_1.Log.info();
153
155
  log_1.Log.info();
154
- log_1.Log.info('Done!', outputPath, (0, format_bytes_1.formatBytes)(sizeInBytes));
156
+ log_1.Log.info('Done!', outputPath, cli_1.CliInternals.formatBytes(sizeInBytes));
155
157
  }
156
158
  else {
157
159
  log_1.Log.info();
@@ -169,6 +171,14 @@ const renderCommand = async (args) => {
169
171
  ]
170
172
  .filter(Boolean)
171
173
  .join(', '));
174
+ if (newStatus.mostExpensiveFrameRanges) {
175
+ log_1.Log.verbose('Most expensive frame ranges:');
176
+ log_1.Log.verbose(newStatus.mostExpensiveFrameRanges
177
+ .map((f) => {
178
+ return `${f.frameRange[0]}-${f.frameRange[1]} (${f.timeInMilliseconds}ms)`;
179
+ })
180
+ .join(', '));
181
+ }
172
182
  (0, quit_1.quit)(0);
173
183
  }
174
184
  if (newStatus.fatalErrorEncountered) {
@@ -7,7 +7,6 @@ exports.sitesCreateSubcommand = exports.SITES_CREATE_SUBCOMMAND = void 0;
7
7
  const cli_1 = require("@remotion/cli");
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
10
- const remotion_1 = require("remotion");
11
10
  const deploy_site_1 = require("../../../api/deploy-site");
12
11
  const get_or_create_bucket_1 = require("../../../api/get-or-create-bucket");
13
12
  const constants_1 = require("../../../shared/constants");
@@ -97,8 +96,8 @@ const sitesCreateSubcommand = async (args) => {
97
96
  };
98
97
  updateProgress();
99
98
  },
100
- enableCaching: remotion_1.Internals.getWebpackCaching(),
101
- webpackOverride: (_b = remotion_1.Internals.getWebpackOverrideFn()) !== null && _b !== void 0 ? _b : remotion_1.Internals.defaultOverrideFunction,
99
+ enableCaching: cli_1.ConfigInternals.getWebpackCaching(),
100
+ webpackOverride: (_b = cli_1.ConfigInternals.getWebpackOverrideFn()) !== null && _b !== void 0 ? _b : ((f) => f),
102
101
  },
103
102
  region: (0, get_aws_region_1.getAwsRegion)(),
104
103
  });
@@ -6,7 +6,6 @@ const log_1 = require("@remotion/cli/dist/log");
6
6
  const get_sites_1 = require("../../../api/get-sites");
7
7
  const get_aws_region_1 = require("../../get-aws-region");
8
8
  const date_string_1 = require("../../helpers/date-string");
9
- const format_bytes_1 = require("../../helpers/format-bytes");
10
9
  exports.SITES_LS_SUBCOMMAND = 'ls';
11
10
  const COLS = [20, 30, 10, 15];
12
11
  const logRow = (data) => {
@@ -40,7 +39,7 @@ const sitesLsSubcommand = async () => {
40
39
  log_1.Log.info(logRow([
41
40
  site.id,
42
41
  site.bucketName,
43
- (0, format_bytes_1.formatBytes)(site.sizeInBytes),
42
+ cli_1.CliInternals.formatBytes(site.sizeInBytes),
44
43
  site.lastModified ? (0, date_string_1.dateString)(new Date(site.lastModified)) : 'n/a',
45
44
  ]));
46
45
  log_1.Log.info(site.serveUrl);