@remotion/lambda 3.0.0-wrapped.208 → 3.0.0-wrapped.209

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 (146) hide show
  1. package/dist/admin/replicate-binaries.d.ts +2 -0
  2. package/dist/admin/replicate-binaries.d.ts.map +1 -0
  3. package/dist/admin/replicate-binaries.js +50 -0
  4. package/dist/admin/replicate-binaries.js.map +1 -0
  5. package/dist/api/bundle-lambda.d.ts +2 -0
  6. package/dist/api/bundle-lambda.d.ts.map +1 -0
  7. package/dist/api/bundle-lambda.js +34 -0
  8. package/dist/api/bundle-lambda.js.map +1 -0
  9. package/dist/api/bundle-remotion.d.ts +6 -0
  10. package/dist/api/bundle-remotion.d.ts.map +1 -0
  11. package/dist/api/bundle-remotion.js +12 -0
  12. package/dist/api/bundle-remotion.js.map +1 -0
  13. package/dist/api/deploy-lambda.d.ts +7 -0
  14. package/dist/api/deploy-lambda.d.ts.map +1 -0
  15. package/dist/api/deploy-lambda.js +48 -0
  16. package/dist/api/deploy-lambda.js.map +1 -0
  17. package/dist/api/deploy-project.d.ts +28 -0
  18. package/dist/api/deploy-project.d.ts.map +1 -0
  19. package/dist/api/deploy-project.js +58 -0
  20. package/dist/api/deploy-project.js.map +1 -0
  21. package/dist/api/ensure-lambda-binaries.d.ts +11 -0
  22. package/dist/api/ensure-lambda-binaries.d.ts.map +1 -0
  23. package/dist/api/ensure-lambda-binaries.js +60 -0
  24. package/dist/api/ensure-lambda-binaries.js.map +1 -0
  25. package/dist/api/get-deployed-lambdas.d.ts +10 -0
  26. package/dist/api/get-deployed-lambdas.d.ts.map +1 -0
  27. package/dist/api/get-deployed-lambdas.js +31 -0
  28. package/dist/api/get-deployed-lambdas.js.map +1 -0
  29. package/dist/api/get-function-version.d.ts +7 -0
  30. package/dist/api/get-function-version.d.ts.map +1 -0
  31. package/dist/api/get-function-version.js +27 -0
  32. package/dist/api/get-function-version.js.map +1 -0
  33. package/dist/api/iam-validation/required-permissions.d.ts +6 -0
  34. package/dist/api/iam-validation/required-permissions.d.ts.map +1 -0
  35. package/dist/api/iam-validation/required-permissions.js +68 -0
  36. package/dist/api/iam-validation/required-permissions.js.map +1 -0
  37. package/dist/benchmark.d.ts +2 -0
  38. package/dist/benchmark.d.ts.map +1 -0
  39. package/dist/benchmark.js +30 -0
  40. package/dist/benchmark.js.map +1 -0
  41. package/dist/build-render/index.js +126181 -0
  42. package/dist/chunked-upload.d.ts +2 -0
  43. package/dist/chunked-upload.d.ts.map +1 -0
  44. package/dist/chunked-upload.js +34 -0
  45. package/dist/chunked-upload.js.map +1 -0
  46. package/dist/cleanup/cleanup-lambdas.d.ts +7 -0
  47. package/dist/cleanup/cleanup-lambdas.d.ts.map +1 -0
  48. package/dist/cleanup/cleanup-lambdas.js +22 -0
  49. package/dist/cleanup/cleanup-lambdas.js.map +1 -0
  50. package/dist/cleanup/s3-buckets.d.ts +16 -0
  51. package/dist/cleanup/s3-buckets.d.ts.map +1 -0
  52. package/dist/cleanup/s3-buckets.js +59 -0
  53. package/dist/cleanup/s3-buckets.js.map +1 -0
  54. package/dist/cli/cleanup.d.ts +4 -0
  55. package/dist/cli/cleanup.d.ts.map +1 -0
  56. package/dist/cli/cleanup.js +77 -0
  57. package/dist/cli/cleanup.js.map +1 -0
  58. package/dist/cli/commands/render.d.ts +3 -0
  59. package/dist/cli/commands/render.d.ts.map +1 -0
  60. package/dist/cli/commands/render.js +75 -0
  61. package/dist/cli/commands/render.js.map +1 -0
  62. package/dist/cli/commands/sites/upload.d.ts +3 -0
  63. package/dist/cli/commands/sites/upload.d.ts.map +1 -0
  64. package/dist/cli/commands/sites/upload.js +111 -0
  65. package/dist/cli/commands/sites/upload.js.map +1 -0
  66. package/dist/cli/deploy.d.ts +3 -0
  67. package/dist/cli/deploy.d.ts.map +1 -0
  68. package/dist/cli/deploy.js +13 -0
  69. package/dist/cli/deploy.js.map +1 -0
  70. package/dist/cli/policies.d.ts +3 -0
  71. package/dist/cli/policies.d.ts.map +1 -0
  72. package/dist/cli/policies.js +59 -0
  73. package/dist/cli/policies.js.map +1 -0
  74. package/dist/cli/render.d.ts +3 -0
  75. package/dist/cli/render.d.ts.map +1 -0
  76. package/dist/cli/render.js +96 -0
  77. package/dist/cli/render.js.map +1 -0
  78. package/dist/cli/upload.d.ts +3 -0
  79. package/dist/cli/upload.d.ts.map +1 -0
  80. package/dist/cli/upload.js +112 -0
  81. package/dist/cli/upload.js.map +1 -0
  82. package/dist/functions/chunk-optimization/write-profile.d.ts +8 -0
  83. package/dist/functions/chunk-optimization/write-profile.d.ts.map +1 -0
  84. package/dist/functions/chunk-optimization/write-profile.js +18 -0
  85. package/dist/functions/chunk-optimization/write-profile.js.map +1 -0
  86. package/dist/functions/get-progress.d.ts +27 -0
  87. package/dist/functions/get-progress.d.ts.map +1 -0
  88. package/dist/functions/get-progress.js +161 -0
  89. package/dist/functions/get-progress.js.map +1 -0
  90. package/dist/functions/helpers/is-fatal-error.d.ts +3 -0
  91. package/dist/functions/helpers/is-fatal-error.d.ts.map +1 -0
  92. package/dist/functions/helpers/is-fatal-error.js +8 -0
  93. package/dist/functions/helpers/is-fatal-error.js.map +1 -0
  94. package/dist/functions/helpers/upload-browser-logs.d.ts +11 -0
  95. package/dist/functions/helpers/upload-browser-logs.d.ts.map +1 -0
  96. package/dist/functions/helpers/upload-browser-logs.js +18 -0
  97. package/dist/functions/helpers/upload-browser-logs.js.map +1 -0
  98. package/dist/rendering/chunked-concatenation.d.ts +3 -0
  99. package/dist/rendering/chunked-concatenation.d.ts.map +1 -0
  100. package/dist/rendering/chunked-concatenation.js +38 -0
  101. package/dist/rendering/chunked-concatenation.js.map +1 -0
  102. package/dist/rendering/create-named-pipe.d.ts +8 -0
  103. package/dist/rendering/create-named-pipe.d.ts.map +1 -0
  104. package/dist/rendering/create-named-pipe.js +41 -0
  105. package/dist/rendering/create-named-pipe.js.map +1 -0
  106. package/dist/rendering/mount-tmp-fs.d.ts +2 -0
  107. package/dist/rendering/mount-tmp-fs.d.ts.map +1 -0
  108. package/dist/rendering/mount-tmp-fs.js +19 -0
  109. package/dist/rendering/mount-tmp-fs.js.map +1 -0
  110. package/dist/run.d.ts +2 -0
  111. package/dist/run.d.ts.map +1 -0
  112. package/dist/run.js +104 -0
  113. package/dist/run.js.map +1 -0
  114. package/dist/scripts2.d.ts +1 -0
  115. package/dist/scripts2.d.ts.map +1 -0
  116. package/dist/scripts2.js +2 -0
  117. package/dist/scripts2.js.map +1 -0
  118. package/dist/shared/aws-clients.d.ts.map +1 -1
  119. package/dist/shared/aws-clients.js +4 -1
  120. package/dist/shared/aws-clients.js.map +1 -1
  121. package/dist/shared/download-with-progress.d.ts +1 -0
  122. package/dist/shared/download-with-progress.d.ts.map +1 -0
  123. package/dist/shared/download-with-progress.js +2 -0
  124. package/dist/shared/download-with-progress.js.map +1 -0
  125. package/dist/shared/get-file-extension-from-codec.d.ts +3 -0
  126. package/dist/shared/get-file-extension-from-codec.d.ts.map +1 -0
  127. package/dist/shared/get-file-extension-from-codec.js +33 -0
  128. package/dist/shared/get-file-extension-from-codec.js.map +1 -0
  129. package/dist/shared/is-in-lambda.d.ts +2 -0
  130. package/dist/shared/is-in-lambda.d.ts.map +1 -0
  131. package/dist/shared/is-in-lambda.js +5 -0
  132. package/dist/shared/is-in-lambda.js.map +1 -0
  133. package/dist/shared/parse-chunk-timing-key.d.ts +7 -0
  134. package/dist/shared/parse-chunk-timing-key.d.ts.map +1 -0
  135. package/dist/shared/parse-chunk-timing-key.js +17 -0
  136. package/dist/shared/parse-chunk-timing-key.js.map +1 -0
  137. package/dist/shared/tmpdir.d.ts +3 -0
  138. package/dist/shared/tmpdir.d.ts.map +1 -0
  139. package/dist/shared/tmpdir.js +23 -0
  140. package/dist/shared/tmpdir.js.map +1 -0
  141. package/package.json +6 -6
  142. package/remotionlambda.zip +0 -0
  143. package/dist/api/convert-to-serve-url.d.ts +0 -2
  144. package/dist/api/convert-to-serve-url.d.ts.map +0 -1
  145. package/dist/api/convert-to-serve-url.js +0 -13
  146. package/dist/api/convert-to-serve-url.js.map +0 -1
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderCommand = exports.RENDER_COMMAND = void 0;
4
+ const cli_1 = require("@remotion/cli");
5
+ const get_functions_1 = require("../api/get-functions");
6
+ const get_render_progress_1 = require("../api/get-render-progress");
7
+ const render_video_on_lambda_1 = require("../api/render-video-on-lambda");
8
+ const constants_1 = require("../shared/constants");
9
+ const sleep_1 = require("../shared/sleep");
10
+ const cleanup_1 = require("./cleanup");
11
+ const functions_1 = require("./commands/functions");
12
+ const deploy_1 = require("./commands/functions/deploy");
13
+ const get_aws_region_1 = require("./get-aws-region");
14
+ const log_1 = require("./log");
15
+ exports.RENDER_COMMAND = 'render';
16
+ const renderCommand = async (args) => {
17
+ var _a;
18
+ const serveUrl = args[0];
19
+ if (!serveUrl) {
20
+ log_1.Log.error('No serve URL passed.');
21
+ log_1.Log.info('Pass an additional argument specifying a URL where your Remotion project is hosted.');
22
+ log_1.Log.info();
23
+ log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.RENDER_COMMAND} <serve-url> <composition-id>`);
24
+ process.exit(1);
25
+ }
26
+ const composition = args[1];
27
+ if (!composition) {
28
+ log_1.Log.error('No composition ID passed.');
29
+ log_1.Log.info('Pass an additional argument specifying the composition ID.');
30
+ log_1.Log.info();
31
+ // TODO: Rename serveURL
32
+ log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.RENDER_COMMAND} <serve-url> <composition-id>`);
33
+ process.exit(1);
34
+ }
35
+ // TODO: Further validate serveUrl
36
+ const remotionLambdas = await get_functions_1.getFunctions({
37
+ region: get_aws_region_1.getAwsRegion(),
38
+ compatibleOnly: false,
39
+ });
40
+ const lambdasWithMatchingVersion = remotionLambdas.filter((l) => l.version === constants_1.CURRENT_VERSION);
41
+ if (lambdasWithMatchingVersion.length === 0) {
42
+ log_1.Log.error(`No lambda functions with version ${constants_1.CURRENT_VERSION} found in your account.`);
43
+ if (remotionLambdas.length > 0) {
44
+ log_1.Log.error('Other functions were found, but are not compatible with this version of the CLI.');
45
+ }
46
+ log_1.Log.info('Run');
47
+ log_1.Log.info(` npx ${constants_1.BINARY_NAME} ${functions_1.FUNCTIONS_COMMAND} ${deploy_1.FUNCTIONS_DEPLOY_SUBCOMMAND}`);
48
+ log_1.Log.info(`to deploy a new lambda function.`);
49
+ process.exit(1);
50
+ }
51
+ if (lambdasWithMatchingVersion.length > 1) {
52
+ log_1.Log.error('More than 1 lambda function found in your account. This is an error.');
53
+ log_1.Log.info(`Delete extraneous lambda functions in your AWS console or run`);
54
+ log_1.Log.info(` npx ${constants_1.BINARY_NAME} ${cleanup_1.CLEANUP_COMMAND} ${cleanup_1.CLEANUP_LAMBDAS_SUBCOMMAND}`);
55
+ log_1.Log.info('to delete all lambda functions.');
56
+ process.exit(1);
57
+ }
58
+ const { functionName } = lambdasWithMatchingVersion[0];
59
+ const cliOptions = await cli_1.CliInternals.getCliOptions({ isLambda: true });
60
+ const res = await render_video_on_lambda_1.renderVideoOnLambda({
61
+ functionName,
62
+ serveUrl,
63
+ inputProps: cliOptions.inputProps,
64
+ codec: cliOptions.codec,
65
+ imageFormat: cliOptions.imageFormat,
66
+ crf: (_a = cliOptions.crf) !== null && _a !== void 0 ? _a : undefined,
67
+ envVariables: cliOptions.envVariables,
68
+ pixelFormat: cliOptions.pixelFormat,
69
+ proResProfile: cliOptions.proResProfile,
70
+ quality: cliOptions.quality,
71
+ region: get_aws_region_1.getAwsRegion(),
72
+ // TODO: Unhardcode retries
73
+ maxRetries: 3,
74
+ composition,
75
+ });
76
+ for (let i = 0; i < 3000; i++) {
77
+ await sleep_1.sleep(1000);
78
+ const status = await get_render_progress_1.getRenderProgress({
79
+ functionName,
80
+ bucketName: res.bucketName,
81
+ renderId: res.renderId,
82
+ region: get_aws_region_1.getAwsRegion(),
83
+ });
84
+ log_1.Log.info(status);
85
+ if (status.done) {
86
+ log_1.Log.info('Done! ' + res.bucketName);
87
+ process.exit(0);
88
+ }
89
+ if (status.fatalErrorEncountered) {
90
+ log_1.Log.error('Fatal error encountered. Exiting.');
91
+ process.exit(1);
92
+ }
93
+ }
94
+ };
95
+ exports.renderCommand = renderCommand;
96
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const UPLOAD_COMMAND = "upload";
2
+ export declare const uploadCommand: () => Promise<void>;
3
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/cli/upload.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,eAAO,MAAM,aAAa,qBAmHzB,CAAC"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.uploadCommand = exports.UPLOAD_COMMAND = void 0;
7
+ const cli_1 = require("@remotion/cli");
8
+ const fs_1 = require("fs");
9
+ const path_1 = __importDefault(require("path"));
10
+ const deploy_project_1 = require("../api/deploy-project");
11
+ const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
12
+ const constants_1 = require("../shared/constants");
13
+ const args_1 = require("./args");
14
+ const get_aws_region_1 = require("./get-aws-region");
15
+ const progress_bar_1 = require("./helpers/progress-bar");
16
+ const log_1 = require("./log");
17
+ exports.UPLOAD_COMMAND = 'upload';
18
+ const uploadCommand = async () => {
19
+ const fileName = args_1.parsedLambdaCli._[1];
20
+ if (!fileName) {
21
+ log_1.Log.error('No entry file passed.');
22
+ log_1.Log.info('Pass an additional argument specifying the entry file of your Remotion project:');
23
+ log_1.Log.info();
24
+ log_1.Log.info(`${constants_1.BINARY_NAME} deploy <entry-file.ts>`);
25
+ process.exit(1);
26
+ }
27
+ const absoluteFile = path_1.default.join(process.cwd(), fileName);
28
+ if (!fs_1.existsSync(absoluteFile)) {
29
+ log_1.Log.error(`No file exists at ${absoluteFile}. Make sure the path exists and try again.`);
30
+ process.exit(1);
31
+ }
32
+ if (fs_1.lstatSync(absoluteFile).isDirectory()) {
33
+ log_1.Log.error(`You passed a path ${absoluteFile} but it is a directory. Pass a file instead.`);
34
+ process.exit(1);
35
+ }
36
+ const progressBar = cli_1.CliInternals.createOverwriteableCliOutput();
37
+ const multiProgress = {
38
+ bundleProgress: {
39
+ doneIn: null,
40
+ progress: 0,
41
+ },
42
+ bucketProgress: {
43
+ bucketCreated: false,
44
+ doneIn: null,
45
+ websiteEnabled: false,
46
+ },
47
+ deployProgress: {
48
+ doneIn: null,
49
+ totalSize: null,
50
+ sizeUploaded: 0,
51
+ },
52
+ };
53
+ const updateProgress = () => {
54
+ progressBar.update([
55
+ progress_bar_1.makeBundleProgress(multiProgress.bundleProgress),
56
+ progress_bar_1.makeBucketProgress(multiProgress.bucketProgress),
57
+ progress_bar_1.makeDeployProgressBar(multiProgress.deployProgress),
58
+ ].join('\n'));
59
+ };
60
+ const bucketName = await get_or_create_bucket_1.getOrCreateBucket({ region: get_aws_region_1.getAwsRegion() });
61
+ multiProgress.bucketProgress = {
62
+ bucketCreated: true,
63
+ doneIn: null,
64
+ websiteEnabled: false,
65
+ };
66
+ updateProgress();
67
+ const bundleStart = Date.now();
68
+ const bucketStart = Date.now();
69
+ const uploadStart = Date.now();
70
+ const { url } = await deploy_project_1.deployProject({
71
+ entryPoint: absoluteFile,
72
+ bucketName,
73
+ options: {
74
+ onBundleProgress: (progress) => {
75
+ multiProgress.bundleProgress = {
76
+ progress,
77
+ doneIn: progress === 100 ? Date.now() - bundleStart : null,
78
+ };
79
+ },
80
+ onUploadProgress: (p) => {
81
+ multiProgress.deployProgress = {
82
+ sizeUploaded: p.sizeUploaded,
83
+ totalSize: p.totalSize,
84
+ doneIn: null,
85
+ };
86
+ updateProgress();
87
+ },
88
+ onWebsiteActivated: () => {
89
+ multiProgress.bucketProgress = {
90
+ bucketCreated: true,
91
+ doneIn: Date.now() - bucketStart,
92
+ websiteEnabled: true,
93
+ };
94
+ updateProgress();
95
+ },
96
+ },
97
+ region: get_aws_region_1.getAwsRegion(),
98
+ });
99
+ const uploadDuration = Date.now() - uploadStart;
100
+ multiProgress.deployProgress = {
101
+ sizeUploaded: 1,
102
+ totalSize: 1,
103
+ doneIn: uploadDuration,
104
+ };
105
+ updateProgress();
106
+ log_1.Log.info();
107
+ log_1.Log.info();
108
+ log_1.Log.info('Deployed to S3!');
109
+ log_1.Log.info(url);
110
+ };
111
+ exports.uploadCommand = uploadCommand;
112
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/cli/upload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { TimingProfile } from './types';
2
+ export declare const writeTimingProfile: ({ data, bucketName, renderId, expectedBucketOwner, }: {
3
+ data: TimingProfile;
4
+ bucketName: string;
5
+ renderId: string;
6
+ expectedBucketOwner: string;
7
+ }) => Promise<void>;
8
+ //# sourceMappingURL=write-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-profile.d.ts","sourceRoot":"","sources":["../../../src/functions/chunk-optimization/write-profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,kBAAkB;;gBAOlB,MAAM;cACR,MAAM;yBACK,MAAM;mBAU3B,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeTimingProfile = void 0;
4
+ const constants_1 = require("../../shared/constants");
5
+ const get_current_region_1 = require("../helpers/get-current-region");
6
+ const io_1 = require("../helpers/io");
7
+ const writeTimingProfile = async ({ data, bucketName, renderId, expectedBucketOwner, }) => {
8
+ await io_1.lambdaWriteFile({
9
+ bucketName,
10
+ body: JSON.stringify(data),
11
+ key: constants_1.timingProfileName(renderId) + Date.now() + '.json',
12
+ region: get_current_region_1.getCurrentRegion(),
13
+ acl: 'private',
14
+ expectedBucketOwner,
15
+ });
16
+ };
17
+ exports.writeTimingProfile = writeTimingProfile;
18
+ //# sourceMappingURL=write-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-profile.js","sourceRoot":"","sources":["../../../src/functions/chunk-optimization/write-profile.ts"],"names":[],"mappings":";;;AAAA,sDAAyD;AACzD,sEAA+D;AAC/D,sCAA8C;AAGvC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACxC,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,mBAAmB,GAMnB,EAAE,EAAE;IACJ,MAAM,oBAAe,CAAC;QACrB,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,GAAG,EAAE,6BAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;QACvD,MAAM,EAAE,qCAAgB,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,mBAAmB;KACnB,CAAC,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
@@ -0,0 +1,27 @@
1
+ import { EncodingProgress, LambdaPayload, RenderMetadata } from '../shared/constants';
2
+ declare type Options = {
3
+ expectedBucketOwner: string;
4
+ };
5
+ export declare const progressHandler: (lambdaParams: LambdaPayload, options: Options) => Promise<{
6
+ chunks: number;
7
+ done: boolean;
8
+ encodingStatus: EncodingProgress | null;
9
+ costs: {
10
+ accruedSoFar: number;
11
+ displayCost: string;
12
+ currency: string;
13
+ disclaimer: string;
14
+ };
15
+ renderId: string;
16
+ renderMetadata: RenderMetadata | null;
17
+ bucket: string;
18
+ outputFile: string | null;
19
+ timeToFinish: number | null;
20
+ errors: import("./helpers/write-lambda-error").EnhancedErrorInfo[];
21
+ fatalErrorEncountered: boolean;
22
+ currentTime: number;
23
+ bucketSize: number;
24
+ lambdasInvoked: number;
25
+ }>;
26
+ export {};
27
+ //# sourceMappingURL=get-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-progress.d.ts","sourceRoot":"","sources":["../../src/functions/get-progress.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,gBAAgB,EAIhB,aAAa,EAGb,cAAc,EAGd,MAAM,qBAAqB,CAAC;AAO7B,aAAK,OAAO,GAAG;IACd,mBAAmB,EAAE,MAAM,CAAC;CAC5B,CAAC;AA2GF,eAAO,MAAM,eAAe,iBACb,aAAa,WAClB,OAAO;;;;;;;;;;;;;;;;;;;;EAoIhB,CAAC"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.progressHandler = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const calculate_price_1 = require("../pricing/calculate-price");
6
+ const constants_1 = require("../shared/constants");
7
+ const stream_to_string_1 = require("../shared/stream-to-string");
8
+ const get_current_region_1 = require("./helpers/get-current-region");
9
+ const inspect_errors_1 = require("./helpers/inspect-errors");
10
+ const io_1 = require("./helpers/io");
11
+ const is_fatal_error_1 = require("./helpers/is-fatal-error");
12
+ const getFinalEncodingStatus = ({ encodingStatus: encodingProgress, renderMetadata, outputFileExists, }) => {
13
+ if (!renderMetadata) {
14
+ return null;
15
+ }
16
+ if (outputFileExists) {
17
+ return {
18
+ framesEncoded: renderMetadata.totalFrames,
19
+ };
20
+ }
21
+ return encodingProgress;
22
+ };
23
+ const getEncodingMetadata = async ({ exists, bucketName, renderId, region, }) => {
24
+ if (!exists) {
25
+ return null;
26
+ }
27
+ const Body = await io_1.lambdaReadFile({
28
+ bucketName,
29
+ key: constants_1.encodingProgressKey(renderId),
30
+ region,
31
+ });
32
+ try {
33
+ const encodingProgress = JSON.parse(await stream_to_string_1.streamToString(Body));
34
+ return encodingProgress;
35
+ }
36
+ catch (err) {
37
+ // The file may not yet have been fully written
38
+ return null;
39
+ }
40
+ };
41
+ const getRenderMetadata = async ({ exists, bucketName, renderId, region, }) => {
42
+ if (!exists) {
43
+ return null;
44
+ }
45
+ const Body = await io_1.lambdaReadFile({
46
+ bucketName,
47
+ key: constants_1.renderMetadataKey(renderId),
48
+ region,
49
+ });
50
+ const renderMetadataResponse = JSON.parse(await stream_to_string_1.streamToString(Body));
51
+ return renderMetadataResponse;
52
+ };
53
+ const getTimeToFinish = ({ renderMetadata, output, }) => {
54
+ if (!output) {
55
+ return null;
56
+ }
57
+ if (!output.LastModified) {
58
+ return null;
59
+ }
60
+ if (!renderMetadata) {
61
+ return null;
62
+ }
63
+ return output.LastModified.getTime() - renderMetadata.startedDate;
64
+ };
65
+ const progressHandler = async (lambdaParams, options) => {
66
+ var _a, _b, _c;
67
+ if (lambdaParams.type !== constants_1.LambdaRoutines.status) {
68
+ throw new TypeError('Expected status type');
69
+ }
70
+ const contents = await io_1.lambdaLs({
71
+ bucketName: lambdaParams.bucketName,
72
+ prefix: constants_1.rendersPrefix(lambdaParams.renderId),
73
+ region: get_current_region_1.getCurrentRegion(),
74
+ expectedBucketOwner: options.expectedBucketOwner,
75
+ });
76
+ if (!contents) {
77
+ throw new Error('Could not get list contents');
78
+ }
79
+ const bucketSize = contents
80
+ .map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
81
+ .reduce((a, b) => a + b, 0);
82
+ const chunks = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.chunkKey(lambdaParams.renderId)); });
83
+ const lambdasInvoked = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.lambdaInitializedKey(lambdaParams.renderId)); }).length;
84
+ const errors = contents
85
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.getErrorKeyPrefix(lambdaParams.renderId)); })
86
+ .map((c) => c.Key)
87
+ .filter(remotion_1.Internals.truthy);
88
+ const [encodingStatus, renderMetadata, errorExplanations] = await Promise.all([
89
+ getEncodingMetadata({
90
+ exists: Boolean(contents.find((c) => c.Key === constants_1.encodingProgressKey(lambdaParams.renderId))),
91
+ bucketName: lambdaParams.bucketName,
92
+ renderId: lambdaParams.renderId,
93
+ region: get_current_region_1.getCurrentRegion(),
94
+ }),
95
+ getRenderMetadata({
96
+ exists: Boolean(contents.find((c) => c.Key === constants_1.renderMetadataKey(lambdaParams.renderId))),
97
+ bucketName: lambdaParams.bucketName,
98
+ renderId: lambdaParams.renderId,
99
+ region: get_current_region_1.getCurrentRegion(),
100
+ }),
101
+ inspect_errors_1.inspectErrors({
102
+ errs: errors,
103
+ bucket: lambdaParams.bucketName,
104
+ region: get_current_region_1.getCurrentRegion(),
105
+ }),
106
+ ]);
107
+ const output = renderMetadata
108
+ ? (_a = contents.find((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.includes(constants_1.outName(lambdaParams.renderId, renderMetadata.codec)); })) !== null && _a !== void 0 ? _a : null
109
+ : null;
110
+ const timeToFinish = getTimeToFinish({
111
+ output,
112
+ renderMetadata,
113
+ });
114
+ const elapsedTime = timeToFinish === null
115
+ ? Date.now() - ((_b = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.startedDate) !== null && _b !== void 0 ? _b : 0)
116
+ : timeToFinish;
117
+ const accruedSoFar = Number((calculate_price_1.calculatePrice({
118
+ region: get_current_region_1.getCurrentRegion(),
119
+ durationInMiliseconds: elapsedTime,
120
+ memorySize: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
121
+ }) * ((_c = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedLambdaInvokations) !== null && _c !== void 0 ? _c : 0)).toPrecision(5));
122
+ const outputFile = () => {
123
+ if (!output) {
124
+ return null;
125
+ }
126
+ if (!renderMetadata) {
127
+ throw new Error('unexpectedly did not get renderMetadata');
128
+ }
129
+ return `https://s3.${process.env.AWS_REGION}.amazonaws.com/${lambdaParams.bucketName}/${constants_1.outName(lambdaParams.renderId, renderMetadata.codec)}`;
130
+ };
131
+ return {
132
+ chunks: chunks.length,
133
+ done: Boolean(output),
134
+ encodingStatus: getFinalEncodingStatus({
135
+ encodingStatus,
136
+ outputFileExists: Boolean(output),
137
+ renderMetadata,
138
+ }),
139
+ costs: {
140
+ accruedSoFar,
141
+ displayCost: new Intl.NumberFormat('en-US', {
142
+ currency: 'USD',
143
+ currencyDisplay: 'narrowSymbol',
144
+ }).format(accruedSoFar),
145
+ currency: 'USD',
146
+ disclaimer: 'Estimated cost only. Does not include charges for other AWS services.',
147
+ },
148
+ renderId: lambdaParams.renderId,
149
+ renderMetadata,
150
+ bucket: lambdaParams.bucketName,
151
+ outputFile: outputFile(),
152
+ timeToFinish,
153
+ errors: errorExplanations,
154
+ fatalErrorEncountered: errorExplanations.some(is_fatal_error_1.isFatalError),
155
+ currentTime: Date.now(),
156
+ bucketSize,
157
+ lambdasInvoked,
158
+ };
159
+ };
160
+ exports.progressHandler = progressHandler;
161
+ //# sourceMappingURL=get-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-progress.js","sourceRoot":"","sources":["../../src/functions/get-progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { LambdaErrorInfo } from './write-lambda-error';
2
+ export declare const isFatalError: (err: LambdaErrorInfo) => boolean;
3
+ //# sourceMappingURL=is-fatal-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-fatal-error.d.ts","sourceRoot":"","sources":["../../../src/functions/helpers/is-fatal-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,YAAY,QAAS,eAAe,YAEhD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFatalError = void 0;
4
+ const isFatalError = (err) => {
5
+ return err.isFatal;
6
+ };
7
+ exports.isFatalError = isFatalError;
8
+ //# sourceMappingURL=is-fatal-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-fatal-error.js","sourceRoot":"","sources":["../../../src/functions/helpers/is-fatal-error.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,CAAC,GAAoB,EAAE,EAAE;IACpD,OAAO,GAAG,CAAC,OAAO,CAAC;AACpB,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
@@ -0,0 +1,11 @@
1
+ import { BrowserLog } from '@remotion/renderer';
2
+ export declare const uploadBrowserLogs: ({ bucketName, endFrame, expectedBucketOwner, logs, renderId, startFrame, chunk, }: {
3
+ bucketName: string;
4
+ logs: BrowserLog[];
5
+ expectedBucketOwner: string | null;
6
+ renderId: string;
7
+ startFrame: number;
8
+ endFrame: number;
9
+ chunk: number;
10
+ }) => Promise<void>;
11
+ //# sourceMappingURL=upload-browser-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-browser-logs.d.ts","sourceRoot":"","sources":["../../../src/functions/helpers/upload-browser-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAK9C,eAAO,MAAM,iBAAiB;gBASjB,MAAM;UACZ,UAAU,EAAE;yBACG,MAAM,GAAG,IAAI;cACxB,MAAM;gBACJ,MAAM;cACR,MAAM;WACT,MAAM;mBAUb,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadBrowserLogs = void 0;
4
+ const defaults_1 = require("../../defaults");
5
+ const get_current_region_1 = require("./get-current-region");
6
+ const io_1 = require("./io");
7
+ const uploadBrowserLogs = async ({ bucketName, endFrame, expectedBucketOwner, logs, renderId, startFrame, chunk, }) => {
8
+ await (0, io_1.lambdaWriteFile)({
9
+ bucketName,
10
+ body: JSON.stringify(logs, null, 2),
11
+ expectedBucketOwner,
12
+ key: (0, defaults_1.lambdaLogsPrefix)(renderId, chunk, startFrame, endFrame),
13
+ privacy: 'private',
14
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
15
+ });
16
+ };
17
+ exports.uploadBrowserLogs = uploadBrowserLogs;
18
+ //# sourceMappingURL=upload-browser-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-browser-logs.js","sourceRoot":"","sources":["../../../src/functions/helpers/upload-browser-logs.ts"],"names":[],"mappings":";;;AACA,6CAAgD;AAChD,6DAAgE;AAChE,6BAAqC;AAE9B,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACvC,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,KAAK,GASL,EAAE,EAAE;IACJ,MAAM,IAAA,oBAAe,EAAC;QACrB,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,mBAAmB;QACnB,GAAG,EAAE,IAAA,2BAAgB,EAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC5D,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,IAAA,+CAA0B,GAAE;KACpC,CAAC,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,iBAAiB,qBAyB5B"}
@@ -0,0 +1,3 @@
1
+ import { Readable } from 'stream';
2
+ export declare const concatenateChunked: (pipeName: string, outPipeName: string, files: string[]) => Promise<Readable>;
3
+ //# sourceMappingURL=chunked-concatenation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunked-concatenation.d.ts","sourceRoot":"","sources":["../../src/rendering/chunked-concatenation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGhC,eAAO,MAAM,kBAAkB,aACpB,MAAM,eACH,MAAM,SACZ,MAAM,EAAE,KACb,QAAQ,QAAQ,CA4BlB,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.concatenateChunked = void 0;
7
+ const execa_1 = __importDefault(require("execa"));
8
+ const fs_1 = require("fs");
9
+ const stream_1 = require("stream");
10
+ const create_named_pipe_1 = require("./create-named-pipe");
11
+ const concatenateChunked = async (pipeName, outPipeName, files) => {
12
+ var _a;
13
+ for (const file of files) {
14
+ create_named_pipe_1.writeToNamedPipe(stream_1.Readable.from(`file '${file}'\n`), pipeName);
15
+ }
16
+ const readStream = fs_1.createReadStream(create_named_pipe_1.makeNamedPipeLocation(outPipeName));
17
+ const task = execa_1.default('ffmpeg', [
18
+ '-y',
19
+ '-f',
20
+ 'concat',
21
+ '-safe',
22
+ '0',
23
+ '-i',
24
+ create_named_pipe_1.makeNamedPipeLocation(pipeName),
25
+ '-c:v',
26
+ 'copy',
27
+ '-c:a',
28
+ 'aac',
29
+ '-y',
30
+ '-f',
31
+ 'mov',
32
+ create_named_pipe_1.makeNamedPipeLocation(outPipeName),
33
+ ]);
34
+ (_a = task.stderr) === null || _a === void 0 ? void 0 : _a.pipe(process.stderr);
35
+ return readStream;
36
+ };
37
+ exports.concatenateChunked = concatenateChunked;
38
+ //# sourceMappingURL=chunked-concatenation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunked-concatenation.js","sourceRoot":"","sources":["../../src/rendering/chunked-concatenation.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2BAAoC;AACpC,mCAAgC;AAChC,2DAA4E;AAErE,MAAM,kBAAkB,GAAG,KAAK,EACtC,QAAgB,EAChB,WAAmB,EACnB,KAAe,EACK,EAAE;;IACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,oCAAgB,CAAC,iBAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9D;IAED,MAAM,UAAU,GAAG,qBAAgB,CAAC,yCAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAExE,MAAM,IAAI,GAAG,eAAK,CAAC,QAAQ,EAAE;QAC5B,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,GAAG;QACH,IAAI;QACJ,yCAAqB,CAAC,QAAQ,CAAC;QAC/B,MAAM;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,yCAAqB,CAAC,WAAW,CAAC;KAClC,CAAC,CAAC;IAEH,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAhCW,QAAA,kBAAkB,sBAgC7B"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="node" />
2
+ import { Readable } from 'stream';
3
+ export declare const makeNamedPipeLocation: (pipe: string) => string;
4
+ export declare const createNamedPipe: (name: string) => Promise<void>;
5
+ export declare const writeToNamedPipe: (content: Readable, name: string) => Promise<void>;
6
+ export declare const deleteNamedPipe: (name: string) => Promise<void>;
7
+ export declare const readFromNamedPipe: (name: string, onData: (data: string | Buffer) => void) => Promise<void>;
8
+ //# sourceMappingURL=create-named-pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-named-pipe.d.ts","sourceRoot":"","sources":["../../src/rendering/create-named-pipe.ts"],"names":[],"mappings":";AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,qBAAqB,SAAU,MAAM,WAEjD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,MAAM,kBAEjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAmB,QAAQ,QAAQ,MAAM,kBAErE,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,MAAM,kBAIjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,SACvB,MAAM,iBACG,MAAM,GAAG,MAAM,KAAK,IAAI,kBAUvC,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readFromNamedPipe = exports.deleteNamedPipe = exports.writeToNamedPipe = exports.createNamedPipe = exports.makeNamedPipeLocation = void 0;
7
+ const execa_1 = __importDefault(require("execa"));
8
+ const fs_1 = require("fs");
9
+ const path_1 = __importDefault(require("path"));
10
+ const tmpdir_1 = require("../shared/tmpdir");
11
+ const namedPipeFolder = tmpdir_1.tmpDir('named-pipes');
12
+ const makeNamedPipeLocation = (pipe) => {
13
+ return path_1.default.join(namedPipeFolder, pipe);
14
+ };
15
+ exports.makeNamedPipeLocation = makeNamedPipeLocation;
16
+ const createNamedPipe = async (name) => {
17
+ await execa_1.default('mkfifo', [exports.makeNamedPipeLocation(name)]);
18
+ };
19
+ exports.createNamedPipe = createNamedPipe;
20
+ const writeToNamedPipe = async (content, name) => {
21
+ content.pipe(fs_1.createWriteStream(exports.makeNamedPipeLocation(name)));
22
+ };
23
+ exports.writeToNamedPipe = writeToNamedPipe;
24
+ const deleteNamedPipe = async (name) => {
25
+ if (fs_1.existsSync(exports.makeNamedPipeLocation(name))) {
26
+ await execa_1.default('rm', [exports.makeNamedPipeLocation(name)]);
27
+ }
28
+ };
29
+ exports.deleteNamedPipe = deleteNamedPipe;
30
+ const readFromNamedPipe = async (name, onData) => {
31
+ return new Promise((resolve, reject) => {
32
+ fs_1.createReadStream(exports.makeNamedPipeLocation(name))
33
+ .on('data', onData)
34
+ .on('error', (err) => reject(err))
35
+ .on('end', () => {
36
+ resolve();
37
+ });
38
+ });
39
+ };
40
+ exports.readFromNamedPipe = readFromNamedPipe;
41
+ //# sourceMappingURL=create-named-pipe.js.map