@run-cloud/sdk 0.21.0 → 0.22.0
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/README.md +9 -10
- package/dist/compat/remotion-lambda.d.ts +2 -1
- package/dist/compat/remotion-lambda.js +3 -0
- package/dist/compat/remotion-lambda.js.map +1 -1
- package/dist/remotion.d.ts +5 -4
- package/dist/remotion.js +101 -41
- package/dist/remotion.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -345,9 +345,9 @@ inside one sandbox.
|
|
|
345
345
|
|
|
346
346
|
To split one video across multiple sandboxes, add a customer-owned temporary
|
|
347
347
|
chunk location. `concurrency` chooses the target maximum sandbox count, while
|
|
348
|
-
`framesPerLambda` can derive it after the SDK selects the composition.
|
|
349
|
-
|
|
350
|
-
|
|
348
|
+
`framesPerLambda` can derive it after the SDK selects the composition. Each
|
|
349
|
+
allocated sandbox renders one frame range. For a sufficiently long video,
|
|
350
|
+
`concurrency: 8` creates up to eight sandboxes:
|
|
351
351
|
|
|
352
352
|
```ts
|
|
353
353
|
const render = await renderMediaOnLambda({
|
|
@@ -379,19 +379,18 @@ console.log(render.sandboxCount); // exact number actually allocated
|
|
|
379
379
|
```
|
|
380
380
|
|
|
381
381
|
`presignTemporaryObject()` returns `{uploadUrl, downloadUrl, headers?,
|
|
382
|
-
contentType?}`. Both URLs point to the same temporary object.
|
|
383
|
-
|
|
384
|
-
customer S3
|
|
385
|
-
|
|
386
|
-
rule for the temporary prefix.
|
|
382
|
+
contentType?}`. Both URLs point to the same temporary object. Signed URLs stay
|
|
383
|
+
out of shell commands, and the temporary objects are used to produce the final
|
|
384
|
+
artifact in customer S3. Configure an S3 lifecycle rule for the temporary
|
|
385
|
+
prefix.
|
|
387
386
|
|
|
388
387
|
Chunks must be equal-sized except for the last one, so very short or awkwardly
|
|
389
388
|
divisible compositions can use fewer sandboxes than the target. run.cloud still
|
|
390
389
|
does not create or host an S3 bucket, deploy the Remotion site,
|
|
391
390
|
store render metadata, or add a queue/webhook layer. `render.sandboxCount` and
|
|
392
391
|
`progress.runCloud.sandboxCount` report the exact fan-out. `deleteRender()` or
|
|
393
|
-
`cloud.remotion.cancel()` destroys every sandbox
|
|
394
|
-
|
|
392
|
+
`cloud.remotion.cancel()` destroys every sandbox associated with the render;
|
|
393
|
+
finite sandbox timeouts remain the cleanup backstop.
|
|
395
394
|
|
|
396
395
|
`cloud.assets.upload(blob, options)` verifies the uploaded size and MD5 before
|
|
397
396
|
returning a ready asset. Re-uploading the same bytes reuses the verified object.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { RemotionCodec, RemotionDistributedOptions, RemotionRenderOptions, RemotionRenderProgress, RemotionS3Output } from "../remotion.js";
|
|
2
2
|
import { type CompatibilityClientOptions } from "./common.js";
|
|
3
|
-
export interface LambdaCompatibleS3Output extends RemotionS3Output {
|
|
3
|
+
export interface LambdaCompatibleS3Output extends Omit<RemotionS3Output, "downloadUrl"> {
|
|
4
4
|
/** Returned as bucketName for code that persists the Lambda render handle. */
|
|
5
5
|
bucketName: string;
|
|
6
|
+
downloadUrl: string;
|
|
6
7
|
}
|
|
7
8
|
export interface RenderMediaOnLambdaInput extends CompatibilityClientOptions {
|
|
8
9
|
/** Accepted for source compatibility. Compute runs in run.cloud, not this AWS region. */
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { compatibilityClient, } from "./common.js";
|
|
2
2
|
export async function renderMediaOnLambda(input) {
|
|
3
|
+
if (!input.s3Output?.downloadUrl) {
|
|
4
|
+
throw new TypeError("s3Output.downloadUrl is required");
|
|
5
|
+
}
|
|
3
6
|
const client = compatibilityClient(input);
|
|
4
7
|
const runCloud = input.runCloud ?? {};
|
|
5
8
|
const distributed = runCloud.distributed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remotion-lambda.js","sourceRoot":"","sources":["../../src/compat/remotion-lambda.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,GAEpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"remotion-lambda.js","sourceRoot":"","sources":["../../src/compat/remotion-lambda.ts"],"names":[],"mappings":"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"}
|
package/dist/remotion.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface RemotionS3Output {
|
|
|
13
13
|
contentType?: string;
|
|
14
14
|
}
|
|
15
15
|
export interface RemotionS3ChunkOutput extends Omit<RemotionS3Output, "downloadUrl"> {
|
|
16
|
-
/** Presigned GET URL used
|
|
16
|
+
/** Presigned GET URL used to retrieve this chunk after it is uploaded. */
|
|
17
17
|
downloadUrl: string;
|
|
18
18
|
/** Optional headers required by the signed GET. */
|
|
19
19
|
downloadHeaders?: Record<string, string>;
|
|
@@ -37,7 +37,7 @@ export interface RemotionDistributedOptions {
|
|
|
37
37
|
framesPerSandbox?: number;
|
|
38
38
|
/** Called once per planned chunk so the customer can presign temporary objects in their own S3. */
|
|
39
39
|
createChunkOutput(plan: RemotionDistributedChunkPlan): RemotionDistributedChunkOutput | Promise<RemotionDistributedChunkOutput>;
|
|
40
|
-
/** How long
|
|
40
|
+
/** How long to wait for each temporary chunk to become readable. */
|
|
41
41
|
downloadTimeoutSeconds?: number;
|
|
42
42
|
}
|
|
43
43
|
export interface RemotionRenderOptions {
|
|
@@ -67,12 +67,12 @@ export interface RemotionRenderOptions {
|
|
|
67
67
|
muted?: boolean;
|
|
68
68
|
audioCodec?: string;
|
|
69
69
|
metadata?: Record<string, string>;
|
|
70
|
-
/** Split one video across multiple run.cloud sandboxes and combine
|
|
70
|
+
/** Split one video across multiple run.cloud sandboxes and combine the frame ranges. */
|
|
71
71
|
distributed?: RemotionDistributedOptions;
|
|
72
72
|
}
|
|
73
73
|
export interface RemotionRenderHandle {
|
|
74
74
|
renderId: string;
|
|
75
|
-
/**
|
|
75
|
+
/** Primary sandbox. Kept for compatibility with single-sandbox callers. */
|
|
76
76
|
sandboxId: string;
|
|
77
77
|
/** Every sandbox allocated to this render. */
|
|
78
78
|
sandboxIds: string[];
|
|
@@ -116,6 +116,7 @@ export declare class RemotionClient {
|
|
|
116
116
|
* calls cancel(), or until the finite sandbox timeouts expire.
|
|
117
117
|
*/
|
|
118
118
|
start(options: RemotionRenderOptions): Promise<RemotionRenderHandle>;
|
|
119
|
+
private startWithSignal;
|
|
119
120
|
private createSandbox;
|
|
120
121
|
private startDistributed;
|
|
121
122
|
getProgress(render: string | RemotionRenderHandle): Promise<RemotionRenderProgress>;
|
package/dist/remotion.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
1
2
|
import { createHash } from "node:crypto";
|
|
2
3
|
export const REMOTION_IMAGE_REGISTRY = "us-docker.pkg.dev/remotion-dev/production/render";
|
|
3
4
|
const REMOTION_DIR = "/tmp/runcloud-remotion";
|
|
@@ -18,20 +19,27 @@ export class RemotionClient {
|
|
|
18
19
|
* calls cancel(), or until the finite sandbox timeouts expire.
|
|
19
20
|
*/
|
|
20
21
|
async start(options) {
|
|
22
|
+
return this.startWithSignal(options);
|
|
23
|
+
}
|
|
24
|
+
async startWithSignal(options, signal) {
|
|
21
25
|
const job = renderJob(options);
|
|
22
26
|
const image = resolveRemotionImage(options);
|
|
27
|
+
throwIfAborted(signal);
|
|
23
28
|
if (options.distributed) {
|
|
24
|
-
return this.startDistributed(options, job, image);
|
|
29
|
+
return this.startDistributed(options, job, image, signal);
|
|
25
30
|
}
|
|
26
|
-
const
|
|
27
|
-
const handle = handleForSandboxes([sandbox.id]);
|
|
31
|
+
const created = [];
|
|
28
32
|
try {
|
|
29
|
-
await
|
|
30
|
-
|
|
33
|
+
const sandbox = await this.createSandbox(options, image);
|
|
34
|
+
created.push(sandbox);
|
|
35
|
+
throwIfAborted(signal);
|
|
36
|
+
const handle = handleForSandboxes([sandbox.id]);
|
|
37
|
+
await prepareSandbox(this.sandboxes, sandbox, options.startupTimeoutSeconds ?? 15 * 60, signal);
|
|
38
|
+
await startGuestJob(this.sandboxes, sandbox.id, job, REMOTION_RUNNER_SOURCE, signal);
|
|
31
39
|
return handle;
|
|
32
40
|
}
|
|
33
41
|
catch (error) {
|
|
34
|
-
return destroyAfterFailure(this.sandboxes,
|
|
42
|
+
return destroyAfterFailure(this.sandboxes, created.map((sandbox) => sandbox.id), error, "Remotion render setup");
|
|
35
43
|
}
|
|
36
44
|
}
|
|
37
45
|
createSandbox(options, image, index) {
|
|
@@ -50,32 +58,39 @@ export class RemotionClient {
|
|
|
50
58
|
: options.idempotencyKey,
|
|
51
59
|
});
|
|
52
60
|
}
|
|
53
|
-
async startDistributed(options, baseJob, image) {
|
|
61
|
+
async startDistributed(options, baseJob, image, signal) {
|
|
54
62
|
const distributed = validateDistributedOptions(options.distributed);
|
|
55
63
|
const created = [];
|
|
56
64
|
try {
|
|
65
|
+
throwIfAborted(signal);
|
|
57
66
|
const coordinator = await this.createSandbox(options, image, 0);
|
|
58
67
|
created.push(coordinator);
|
|
59
|
-
|
|
60
|
-
|
|
68
|
+
throwIfAborted(signal);
|
|
69
|
+
await prepareSandbox(this.sandboxes, coordinator, options.startupTimeoutSeconds ?? 15 * 60, signal);
|
|
70
|
+
const plan = await planComposition(this.sandboxes, coordinator.id, baseJob, signal);
|
|
61
71
|
const chunkRanges = distributeFrames(plan.durationInFrames, distributed);
|
|
62
|
-
|
|
72
|
+
for (let index = 1; index < chunkRanges.length; index += 1) {
|
|
73
|
+
throwIfAborted(signal);
|
|
74
|
+
created.push(await this.createSandbox(options, image, index));
|
|
75
|
+
throwIfAborted(signal);
|
|
76
|
+
}
|
|
77
|
+
await Promise.all(created.slice(1).map((sandbox) => prepareSandbox(this.sandboxes, sandbox, options.startupTimeoutSeconds ?? 15 * 60, signal)));
|
|
78
|
+
const handle = handleForSandboxes(created.map((sandbox) => sandbox.id));
|
|
63
79
|
const chunkOutputs = await Promise.all(chunkRanges.map(async (frameRange, index) => {
|
|
80
|
+
throwIfAborted(signal);
|
|
64
81
|
const output = await distributed.createChunkOutput({
|
|
65
|
-
renderId:
|
|
82
|
+
renderId: handle.renderId,
|
|
66
83
|
index,
|
|
67
84
|
frameRange,
|
|
68
85
|
sandboxCount: chunkRanges.length,
|
|
69
86
|
});
|
|
87
|
+
throwIfAborted(signal);
|
|
70
88
|
validateChunkOutput(output, baseJob.codec, baseJob.renderOptions.muted === true, index);
|
|
71
89
|
return output;
|
|
72
90
|
}));
|
|
73
|
-
|
|
74
|
-
created.push(await this.createSandbox(options, image, index));
|
|
75
|
-
}
|
|
76
|
-
await Promise.all(created.slice(1).map((sandbox) => prepareSandbox(this.sandboxes, sandbox, options.startupTimeoutSeconds ?? 15 * 60)));
|
|
77
|
-
const handle = handleForSandboxes(created.map((sandbox) => sandbox.id));
|
|
91
|
+
throwIfAborted(signal);
|
|
78
92
|
await this.sandboxes.writeFile(coordinator.id, MANIFEST_PATH, new TextEncoder().encode(JSON.stringify({ sandboxIds: handle.sandboxIds })), { mode: 0o600 });
|
|
93
|
+
throwIfAborted(signal);
|
|
79
94
|
const framesPerChunk = chunkRanges[0][1] - chunkRanges[0][0] + 1;
|
|
80
95
|
const chunkJobs = chunkRanges.map((frameRange, index) => {
|
|
81
96
|
const media = chunkMediaPlan(baseJob.codec, baseJob.renderOptions.audioCodec, baseJob.renderOptions.muted === true, framesPerChunk);
|
|
@@ -112,9 +127,9 @@ export class RemotionClient {
|
|
|
112
127
|
} : {}),
|
|
113
128
|
};
|
|
114
129
|
});
|
|
115
|
-
await Promise.all(created.map((sandbox, index) => writeGuestJob(this.sandboxes, sandbox.id, chunkJobs[index], REMOTION_DISTRIBUTED_RUNNER_SOURCE)));
|
|
116
|
-
await Promise.all(created.slice(1).map((sandbox, offset) => launchGuestJob(this.sandboxes, sandbox.id, chunkJobs[offset + 1])));
|
|
117
|
-
await launchGuestJob(this.sandboxes, coordinator.id, chunkJobs[0]);
|
|
130
|
+
await Promise.all(created.map((sandbox, index) => writeGuestJob(this.sandboxes, sandbox.id, chunkJobs[index], REMOTION_DISTRIBUTED_RUNNER_SOURCE, signal)));
|
|
131
|
+
await Promise.all(created.slice(1).map((sandbox, offset) => launchGuestJob(this.sandboxes, sandbox.id, chunkJobs[offset + 1], signal)));
|
|
132
|
+
await launchGuestJob(this.sandboxes, coordinator.id, chunkJobs[0], signal);
|
|
118
133
|
return handle;
|
|
119
134
|
}
|
|
120
135
|
catch (error) {
|
|
@@ -173,7 +188,7 @@ export class RemotionClient {
|
|
|
173
188
|
}
|
|
174
189
|
/** Wait for a render and always stop billing when it reaches a terminal state. */
|
|
175
190
|
async render(options, waitOptions = {}) {
|
|
176
|
-
const handle = await this.
|
|
191
|
+
const handle = await this.startWithSignal(options, waitOptions.signal);
|
|
177
192
|
let renderError;
|
|
178
193
|
try {
|
|
179
194
|
for (;;) {
|
|
@@ -228,22 +243,28 @@ function resolveRemotionImage(options) {
|
|
|
228
243
|
}
|
|
229
244
|
return remotionImageForVersion(options.remotionVersion);
|
|
230
245
|
}
|
|
231
|
-
async function prepareSandbox(sandboxes, sandbox, startupTimeoutSeconds) {
|
|
232
|
-
await waitForSandboxReady(sandboxes, sandbox, startupTimeoutSeconds);
|
|
233
|
-
|
|
246
|
+
async function prepareSandbox(sandboxes, sandbox, startupTimeoutSeconds, signal) {
|
|
247
|
+
await waitForSandboxReady(sandboxes, sandbox, startupTimeoutSeconds, signal);
|
|
248
|
+
throwIfAborted(signal);
|
|
249
|
+
const prepare = await sandboxes.exec(sandbox.id, ["/bin/mkdir", "-p", REMOTION_DIR], { signal });
|
|
250
|
+
throwIfAborted(signal);
|
|
234
251
|
if (prepare.exitCode !== 0) {
|
|
235
252
|
throw new Error(`failed to prepare Remotion render: ${prepare.stderr || `exit ${prepare.exitCode}`}`);
|
|
236
253
|
}
|
|
237
254
|
}
|
|
238
|
-
async function writeGuestJob(sandboxes, sandboxId, job, runnerSource) {
|
|
255
|
+
async function writeGuestJob(sandboxes, sandboxId, job, runnerSource, signal) {
|
|
256
|
+
throwIfAborted(signal);
|
|
239
257
|
const encodedJob = new TextEncoder().encode(JSON.stringify(job));
|
|
240
258
|
const jobHash = createHash("sha256").update(encodedJob).digest("hex");
|
|
241
259
|
const jobPath = `${REMOTION_DIR}/job-${jobHash}.json`;
|
|
242
260
|
await sandboxes.writeFile(sandboxId, RUNNER_PATH, new TextEncoder().encode(runnerSource), { mode: 0o700 });
|
|
261
|
+
throwIfAborted(signal);
|
|
243
262
|
await sandboxes.writeFile(sandboxId, jobPath, encodedJob, { mode: 0o600 });
|
|
263
|
+
throwIfAborted(signal);
|
|
244
264
|
return jobPath;
|
|
245
265
|
}
|
|
246
|
-
async function launchGuestJob(sandboxes, sandboxId, job) {
|
|
266
|
+
async function launchGuestJob(sandboxes, sandboxId, job, signal) {
|
|
267
|
+
throwIfAborted(signal);
|
|
247
268
|
const encodedJob = new TextEncoder().encode(JSON.stringify(job));
|
|
248
269
|
const jobHash = createHash("sha256").update(encodedJob).digest("hex");
|
|
249
270
|
const jobPath = `${REMOTION_DIR}/job-${jobHash}.json`;
|
|
@@ -251,17 +272,20 @@ async function launchGuestJob(sandboxes, sandboxId, job) {
|
|
|
251
272
|
"/bin/sh",
|
|
252
273
|
"-c",
|
|
253
274
|
`mkdir -p ${REMOTION_DIR} && if (set -C; : > ${STARTED_PATH}) 2>/dev/null; then nohup node ${RUNNER_PATH} ${jobPath} >${LOG_PATH} 2>&1 </dev/null & fi`,
|
|
254
|
-
]);
|
|
275
|
+
], { signal });
|
|
276
|
+
throwIfAborted(signal);
|
|
255
277
|
if (start.exitCode !== 0) {
|
|
256
278
|
throw new Error(`failed to start Remotion render: ${start.stderr || `exit ${start.exitCode}`}`);
|
|
257
279
|
}
|
|
258
280
|
}
|
|
259
|
-
async function startGuestJob(sandboxes, sandboxId, job, runnerSource) {
|
|
260
|
-
await writeGuestJob(sandboxes, sandboxId, job, runnerSource);
|
|
261
|
-
await launchGuestJob(sandboxes, sandboxId, job);
|
|
281
|
+
async function startGuestJob(sandboxes, sandboxId, job, runnerSource, signal) {
|
|
282
|
+
await writeGuestJob(sandboxes, sandboxId, job, runnerSource, signal);
|
|
283
|
+
await launchGuestJob(sandboxes, sandboxId, job, signal);
|
|
262
284
|
}
|
|
263
|
-
async function planComposition(sandboxes, sandboxId, job) {
|
|
285
|
+
async function planComposition(sandboxes, sandboxId, job, signal) {
|
|
286
|
+
throwIfAborted(signal);
|
|
264
287
|
await sandboxes.writeFile(sandboxId, PLANNER_PATH, new TextEncoder().encode(REMOTION_PLANNER_SOURCE), { mode: 0o700 });
|
|
288
|
+
throwIfAborted(signal);
|
|
265
289
|
const planJob = new TextEncoder().encode(JSON.stringify({
|
|
266
290
|
serveUrl: job.serveUrl,
|
|
267
291
|
composition: job.composition,
|
|
@@ -270,11 +294,14 @@ async function planComposition(sandboxes, sandboxId, job) {
|
|
|
270
294
|
planPath: PLAN_PATH,
|
|
271
295
|
}));
|
|
272
296
|
await sandboxes.writeFile(sandboxId, `${REMOTION_DIR}/plan-job.json`, planJob, { mode: 0o600 });
|
|
273
|
-
|
|
297
|
+
throwIfAborted(signal);
|
|
298
|
+
const result = await sandboxes.exec(sandboxId, ["node", PLANNER_PATH, `${REMOTION_DIR}/plan-job.json`], { signal });
|
|
274
299
|
if (result.exitCode !== 0) {
|
|
275
300
|
throw new Error(`failed to plan Remotion render: ${result.stderr || `exit ${result.exitCode}`}`);
|
|
276
301
|
}
|
|
302
|
+
throwIfAborted(signal);
|
|
277
303
|
const raw = JSON.parse(new TextDecoder().decode(await sandboxes.readFile(sandboxId, PLAN_PATH)));
|
|
304
|
+
throwIfAborted(signal);
|
|
278
305
|
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
279
306
|
throw new Error("Remotion composition plan is invalid");
|
|
280
307
|
}
|
|
@@ -338,7 +365,7 @@ export function distributeFrames(durationInFrames, options) {
|
|
|
338
365
|
}
|
|
339
366
|
function validateChunkOutput(output, codec, muted, index) {
|
|
340
367
|
const hasVideo = !isAudioCodec(codec);
|
|
341
|
-
const hasAudio =
|
|
368
|
+
const hasAudio = hasAudioOutput(codec, muted);
|
|
342
369
|
if (hasVideo)
|
|
343
370
|
validateChunkLocation(output?.video, `distributed chunk ${index} video`);
|
|
344
371
|
if (hasAudio)
|
|
@@ -353,9 +380,12 @@ function validateChunkLocation(output, name) {
|
|
|
353
380
|
function isAudioCodec(codec) {
|
|
354
381
|
return codec === "mp3" || codec === "aac" || codec === "wav";
|
|
355
382
|
}
|
|
383
|
+
function hasAudioOutput(codec, muted) {
|
|
384
|
+
return isAudioCodec(codec) || (!muted && codec !== "gif");
|
|
385
|
+
}
|
|
356
386
|
function chunkMediaPlan(codec, requestedAudioCodec, muted, framesPerChunk) {
|
|
357
387
|
const hasVideo = !isAudioCodec(codec);
|
|
358
|
-
const hasAudio =
|
|
388
|
+
const hasAudio = hasAudioOutput(codec, muted);
|
|
359
389
|
if (!hasVideo) {
|
|
360
390
|
return {
|
|
361
391
|
hasVideo: false,
|
|
@@ -404,7 +434,7 @@ async function destroyAfterFailure(sandboxes, sandboxIds, error, context) {
|
|
|
404
434
|
}
|
|
405
435
|
throw error;
|
|
406
436
|
}
|
|
407
|
-
async function waitForSandboxReady(sandboxes, initial, timeoutSeconds) {
|
|
437
|
+
async function waitForSandboxReady(sandboxes, initial, timeoutSeconds, signal) {
|
|
408
438
|
if (!Number.isFinite(timeoutSeconds) || timeoutSeconds <= 0) {
|
|
409
439
|
throw new RangeError("startupTimeoutSeconds must be a positive number");
|
|
410
440
|
}
|
|
@@ -412,6 +442,7 @@ async function waitForSandboxReady(sandboxes, initial, timeoutSeconds) {
|
|
|
412
442
|
let sandbox = initial;
|
|
413
443
|
let hasPolled = false;
|
|
414
444
|
for (;;) {
|
|
445
|
+
throwIfAborted(signal);
|
|
415
446
|
if (sandbox.state === "running")
|
|
416
447
|
return;
|
|
417
448
|
if (["interrupted", "destroying", "destroyed", "stopped"].includes(sandbox.state)) {
|
|
@@ -424,8 +455,9 @@ async function waitForSandboxReady(sandboxes, initial, timeoutSeconds) {
|
|
|
424
455
|
throw new Error(`Remotion sandbox did not become ready within ${timeoutSeconds} seconds`);
|
|
425
456
|
}
|
|
426
457
|
if (hasPolled)
|
|
427
|
-
await abortableDelay(1_000);
|
|
458
|
+
await abortableDelay(1_000, signal);
|
|
428
459
|
sandbox = await sandboxes.get(sandbox.id);
|
|
460
|
+
throwIfAborted(signal);
|
|
429
461
|
hasPolled = true;
|
|
430
462
|
}
|
|
431
463
|
}
|
|
@@ -448,6 +480,9 @@ function renderJob(options) {
|
|
|
448
480
|
assertJson(options.envVariables ?? {}, "envVariables");
|
|
449
481
|
validateHeaders(options.output.headers ?? {});
|
|
450
482
|
const codec = options.codec ?? "h264";
|
|
483
|
+
if (isAudioCodec(codec) && options.muted === true) {
|
|
484
|
+
throw new TypeError("muted cannot be true for audio-only codecs");
|
|
485
|
+
}
|
|
451
486
|
const contentType = options.output.contentType ?? contentTypeForCodec(codec);
|
|
452
487
|
return {
|
|
453
488
|
serveUrl: options.serveUrl,
|
|
@@ -535,13 +570,34 @@ function handleForSandboxes(sandboxIds) {
|
|
|
535
570
|
if (!sandboxId)
|
|
536
571
|
throw new TypeError("at least one Remotion sandbox is required");
|
|
537
572
|
return {
|
|
538
|
-
renderId:
|
|
573
|
+
renderId: sandboxIds.length === 1
|
|
574
|
+
? `render_${sandboxId}`
|
|
575
|
+
: `render_group_${Buffer.from(JSON.stringify(sandboxIds)).toString("base64url")}`,
|
|
539
576
|
sandboxId,
|
|
540
577
|
sandboxIds,
|
|
541
578
|
sandboxCount: sandboxIds.length,
|
|
542
579
|
};
|
|
543
580
|
}
|
|
544
581
|
function handleForRenderId(renderId) {
|
|
582
|
+
if (renderId.startsWith("render_group_")) {
|
|
583
|
+
try {
|
|
584
|
+
const encoded = renderId.slice("render_group_".length);
|
|
585
|
+
const sandboxIds = JSON.parse(Buffer.from(encoded, "base64url").toString("utf8"));
|
|
586
|
+
if (!Array.isArray(sandboxIds) ||
|
|
587
|
+
sandboxIds.length < 2 ||
|
|
588
|
+
sandboxIds.length > 200 ||
|
|
589
|
+
sandboxIds.some((id) => typeof id !== "string" || id.length === 0) ||
|
|
590
|
+
new Set(sandboxIds).size !== sandboxIds.length) {
|
|
591
|
+
throw new TypeError("invalid run.cloud distributed Remotion renderId");
|
|
592
|
+
}
|
|
593
|
+
return handleForSandboxes(sandboxIds);
|
|
594
|
+
}
|
|
595
|
+
catch (error) {
|
|
596
|
+
if (error instanceof TypeError && error.message.startsWith("invalid run.cloud"))
|
|
597
|
+
throw error;
|
|
598
|
+
throw new TypeError("invalid run.cloud distributed Remotion renderId");
|
|
599
|
+
}
|
|
600
|
+
}
|
|
545
601
|
if (!renderId.startsWith("render_") || renderId.length === "render_".length) {
|
|
546
602
|
throw new TypeError("invalid run.cloud Remotion renderId");
|
|
547
603
|
}
|
|
@@ -557,6 +613,8 @@ async function resolveRenderHandle(sandboxes, render) {
|
|
|
557
613
|
sandboxIds: render.sandboxIds ?? [render.sandboxId],
|
|
558
614
|
sandboxCount: render.sandboxCount ?? render.sandboxIds?.length ?? 1,
|
|
559
615
|
};
|
|
616
|
+
if (handle.sandboxIds.length > 1)
|
|
617
|
+
return handle;
|
|
560
618
|
try {
|
|
561
619
|
const raw = JSON.parse(new TextDecoder().decode(await sandboxes.readFile(handle.sandboxId, MANIFEST_PATH)));
|
|
562
620
|
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
@@ -645,8 +703,7 @@ function progressPayload(handle, raw) {
|
|
|
645
703
|
};
|
|
646
704
|
}
|
|
647
705
|
async function abortableDelay(milliseconds, signal) {
|
|
648
|
-
|
|
649
|
-
throw signal.reason ?? new Error("render aborted");
|
|
706
|
+
throwIfAborted(signal);
|
|
650
707
|
await new Promise((resolve, reject) => {
|
|
651
708
|
const onAbort = () => {
|
|
652
709
|
clearTimeout(timeout);
|
|
@@ -659,6 +716,10 @@ async function abortableDelay(milliseconds, signal) {
|
|
|
659
716
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
660
717
|
});
|
|
661
718
|
}
|
|
719
|
+
function throwIfAborted(signal) {
|
|
720
|
+
if (signal?.aborted)
|
|
721
|
+
throw signal.reason ?? new Error("render aborted");
|
|
722
|
+
}
|
|
662
723
|
/**
|
|
663
724
|
* Self-contained guest runner written into the sandbox by the SDK. The image
|
|
664
725
|
* supplies @remotion/renderer and its native browser/FFmpeg dependencies.
|
|
@@ -717,8 +778,6 @@ const loadRenderer = async () => {
|
|
|
717
778
|
}
|
|
718
779
|
};
|
|
719
780
|
|
|
720
|
-
const {selectComposition, renderMedia} = await loadRenderer();
|
|
721
|
-
|
|
722
781
|
const jobPath = process.argv[2];
|
|
723
782
|
if (!jobPath) throw new Error('render job path is required');
|
|
724
783
|
const job = JSON.parse(await readFile(jobPath, 'utf8'));
|
|
@@ -746,6 +805,7 @@ const persist = async (patch) => {
|
|
|
746
805
|
|
|
747
806
|
try {
|
|
748
807
|
await persist({stage: 'selecting-composition'});
|
|
808
|
+
const {selectComposition, renderMedia} = await loadRenderer();
|
|
749
809
|
const composition = await selectComposition({
|
|
750
810
|
serveUrl: job.serveUrl,
|
|
751
811
|
id: job.composition,
|
|
@@ -820,7 +880,6 @@ const loadRenderer = async () => {
|
|
|
820
880
|
}
|
|
821
881
|
};
|
|
822
882
|
|
|
823
|
-
const {selectComposition, renderMedia, combineChunks} = await loadRenderer();
|
|
824
883
|
const jobPath = process.argv[2];
|
|
825
884
|
if (!jobPath) throw new Error('distributed render job path is required');
|
|
826
885
|
const job = JSON.parse(await readFile(jobPath, 'utf8'));
|
|
@@ -885,6 +944,7 @@ const download = async (source, destination, deadline) => {
|
|
|
885
944
|
|
|
886
945
|
try {
|
|
887
946
|
await persist({stage: 'selecting-composition'});
|
|
947
|
+
const {selectComposition, renderMedia, combineChunks} = await loadRenderer();
|
|
888
948
|
const composition = await selectComposition({
|
|
889
949
|
serveUrl: job.serveUrl,
|
|
890
950
|
id: job.composition,
|
package/dist/remotion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remotion.js","sourceRoot":"","sources":["../src/remotion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remotion.js","sourceRoot":"","sources":["../src/remotion.ts"],"names":[],"mappings":"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"}
|