@revideo/renderer 0.2.11-alpha.936 → 0.2.12

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.
@@ -10,4 +10,4 @@ declare global {
10
10
  * @param project - The project to render.
11
11
  * @param range - The range of frames to render.
12
12
  */
13
- export declare const render: (project: Project, workerId: number, totalNumOfWorkers: number) => Promise<void>;
13
+ export declare const render: (project: Project, workerId: number, totalNumOfWorkers: number, startInSeconds: number, endInSeconds: number) => Promise<void>;
@@ -4,22 +4,18 @@ import { Renderer } from '@revideo/core';
4
4
  * @param project - The project to render.
5
5
  * @param range - The range of frames to render.
6
6
  */
7
- export const render = async (project, workerId, totalNumOfWorkers) => {
7
+ export const render = async (project, workerId, totalNumOfWorkers, startInSeconds, endInSeconds) => {
8
8
  try {
9
9
  const renderer = new Renderer(project);
10
- const settings = {
11
- ...project.meta.getFullRenderingSettings(),
12
- name: project.name,
13
- };
14
- const frames = await renderer.getNumberOfFrames(settings);
15
- // Get the range of frames to render (there can't be any overlap between workers)
16
- const framesPerWorker = Math.ceil(frames / totalNumOfWorkers);
17
- const startFrame = framesPerWorker * workerId;
18
- const endFrame = Math.min(startFrame + framesPerWorker, frames);
10
+ const { firstGlobalFrame, lastGlobalFrame } = await getGlobalFirstAndLastFrame(project, renderer, startInSeconds, endInSeconds);
11
+ const { firstWorkerFrame, lastWorkerFrame } = await getWorkerFirstAndLastFrame(firstGlobalFrame, lastGlobalFrame, workerId, totalNumOfWorkers);
19
12
  await renderer.render({
20
13
  ...project.meta.getFullRenderingSettings(),
21
14
  name: project.name,
22
- range: [renderer.frameToTime(startFrame), renderer.frameToTime(endFrame)],
15
+ range: [
16
+ renderer.frameToTime(firstWorkerFrame),
17
+ renderer.frameToTime(lastWorkerFrame),
18
+ ],
23
19
  });
24
20
  window.onRenderComplete();
25
21
  }
@@ -27,4 +23,31 @@ export const render = async (project, workerId, totalNumOfWorkers) => {
27
23
  window.onRenderFailed(e.message);
28
24
  }
29
25
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY2xpZW50L3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBU3ZDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixPQUFnQixFQUNoQixRQUFnQixFQUNoQixpQkFBeUIsRUFDekIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHO1lBQ2YsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQzFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtTQUNuQixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUQsaUZBQWlGO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFaEUsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3BCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDLENBQUMifQ==
26
+ /**
27
+ * Calculate the first and last "global" frame, i.e. frame independent of worker
28
+ */
29
+ async function getGlobalFirstAndLastFrame(project, renderer, startSecondFromUser, endSecondFromUser) {
30
+ const firstGlobalFrame = renderer.timeToFrame(startSecondFromUser);
31
+ let lastGlobalFrame;
32
+ // If end value is provided by user, lastFrame can be obtained.
33
+ if (isFinite(endSecondFromUser)) {
34
+ lastGlobalFrame = renderer.timeToFrame(endSecondFromUser);
35
+ }
36
+ else {
37
+ // Otherwise, endSecondFromUser is infinity, so lastGlobalFrame is the duration of the video.
38
+ const settings = {
39
+ ...project.meta.getFullRenderingSettings(),
40
+ name: project.name,
41
+ };
42
+ lastGlobalFrame = await renderer.getNumberOfFrames(settings);
43
+ }
44
+ return { firstGlobalFrame, lastGlobalFrame };
45
+ }
46
+ async function getWorkerFirstAndLastFrame(firstGlobalFrame, lastGlobalFrame, workerId, totalNumOfWorkers) {
47
+ const videoDurationInFrames = lastGlobalFrame - firstGlobalFrame + 1;
48
+ const framesPerWorker = Math.ceil(videoDurationInFrames / totalNumOfWorkers);
49
+ const firstWorkerFrame = firstGlobalFrame + framesPerWorker * workerId;
50
+ const lastWorkerFrame = Math.min(firstWorkerFrame + framesPerWorker, lastGlobalFrame);
51
+ return { firstWorkerFrame, lastWorkerFrame };
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY2xpZW50L3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBU3ZDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixPQUFnQixFQUNoQixRQUFnQixFQUNoQixpQkFBeUIsRUFDekIsY0FBc0IsRUFDdEIsWUFBb0IsRUFDcEIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsR0FDdkMsTUFBTSwwQkFBMEIsQ0FDOUIsT0FBTyxFQUNQLFFBQVEsRUFDUixjQUFjLEVBQ2QsWUFBWSxDQUNiLENBQUM7UUFDSixNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLEdBQ3ZDLE1BQU0sMEJBQTBCLENBQzlCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsUUFBUSxFQUNSLGlCQUFpQixDQUNsQixDQUFDO1FBRUosTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3BCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFO2dCQUNMLFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3RDLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsS0FBSyxVQUFVLDBCQUEwQixDQUN2QyxPQUFnQixFQUNoQixRQUFrQixFQUNsQixtQkFBMkIsRUFDM0IsaUJBQXlCO0lBRXpCLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25FLElBQUksZUFBdUIsQ0FBQztJQUU1QiwrREFBK0Q7SUFDL0QsSUFBSSxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ2hDLGVBQWUsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQztTQUFNLENBQUM7UUFDTiw2RkFBNkY7UUFDN0YsTUFBTSxRQUFRLEdBQUc7WUFDZixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDMUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQ25CLENBQUM7UUFDRixlQUFlLEdBQUcsTUFBTSxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsS0FBSyxVQUFVLDBCQUEwQixDQUN2QyxnQkFBd0IsRUFDeEIsZUFBdUIsRUFDdkIsUUFBZ0IsRUFDaEIsaUJBQXlCO0lBRXpCLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxHQUFHLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFFN0UsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlLEdBQUcsUUFBUSxDQUFDO0lBQ3ZFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQzlCLGdCQUFnQixHQUFHLGVBQWUsRUFDbEMsZUFBZSxDQUNoQixDQUFDO0lBRUYsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxDQUFDO0FBQzdDLENBQUMifQ==
package/dist/main.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { BrowserLaunchArgumentOptions } from 'puppeteer';
2
2
  interface RenderVideoSettings {
3
3
  name?: string;
4
+ range?: [number, number];
4
5
  puppeteer?: BrowserLaunchArgumentOptions;
5
6
  }
6
7
  export declare const renderVideo: (configFile: string, params?: Record<string, unknown>, settings?: RenderVideoSettings) => Promise<void[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../server/main.ts"],"names":[],"mappings":"AACA,OAAkB,EAAC,4BAA4B,EAAC,MAAM,WAAW,CAAC;AAmElE,UAAU,mBAAmB;IAE3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC1C;AAED,eAAO,MAAM,WAAW,eACV,MAAM,WACT,OAAO,MAAM,EAAE,OAAO,CAAC,aACtB,mBAAmB,oBA2B9B,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../server/main.ts"],"names":[],"mappings":"AACA,OAAkB,EAAC,4BAA4B,EAAC,MAAM,WAAW,CAAC;AAkFlE,UAAU,mBAAmB;IAE3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzB,SAAS,CAAC,EAAE,4BAA4B,CAAC;CAC1C;AAED,eAAO,MAAM,WAAW,eACV,MAAM,WACT,OAAO,MAAM,EAAE,OAAO,CAAC,aACtB,mBAAmB,oBAiC9B,CAAC"}
package/dist/main.js CHANGED
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderVideo = void 0;
4
4
  const path = require("path");
5
5
  const puppeteer_1 = require("puppeteer");
6
+ const readline = require("readline");
6
7
  const vite_1 = require("vite");
7
8
  const plugin_1 = require("./plugin");
8
- function buildUrl(port, fileName, workerId, totalNumOfWorkers) {
9
- return `http://localhost:${port}/render?fileName=${fileName}&workerId=${workerId}&totalNumOfWorkers=${totalNumOfWorkers}`;
9
+ function buildUrl(port, fileName, workerId, totalNumOfWorkers, range = [0, Infinity]) {
10
+ return `http://localhost:${port}/render?fileName=${fileName}&workerId=${workerId}&totalNumOfWorkers=${totalNumOfWorkers}&startInSeconds=${range[0]}&endInSeconds=${range[1]}`;
10
11
  }
11
12
  async function renderWorker(fixedPort, resolvedConfigPath, url, params, puppeteerOptions) {
12
13
  const [browser, server] = await Promise.all([
@@ -34,10 +35,19 @@ async function renderWorker(fixedPort, resolvedConfigPath, url, params, puppetee
34
35
  console.log(`${port}: ${msg.args()[i]}`);
35
36
  }
36
37
  });
38
+ page.exposeFunction('logProgress', (progress) => {
39
+ const percentage = Math.floor(progress * 100);
40
+ const barLength = 20;
41
+ const filledLength = Math.floor((percentage / 100) * barLength);
42
+ const bar = '█'.repeat(filledLength) + '-'.repeat(barLength - filledLength);
43
+ const consoleLine = process.stdout.rows + port - 9000;
44
+ readline.cursorTo(process.stdout, 0, consoleLine);
45
+ readline.clearLine(process.stdout, 0);
46
+ process.stdout.write(`Progress for worker on port ${port}: [${bar}] ${percentage}%`);
47
+ });
37
48
  const renderingComplete = new Promise((resolve, reject) => {
38
49
  page.exposeFunction('onRenderComplete', async () => {
39
50
  await Promise.all([browser.close(), server.close()]);
40
- console.log('Rendering complete.');
41
51
  resolve();
42
52
  });
43
53
  page.exposeFunction('onRenderFailed', async (errorMessage) => {
@@ -59,10 +69,10 @@ const renderVideo = async (configFile, params, settings = {}) => {
59
69
  const numOfWorkers = 1;
60
70
  const promises = [];
61
71
  for (let i = 0; i < numOfWorkers; i++) {
62
- const url = buildUrl(9000 + i, settings.name ?? 'project', i, numOfWorkers);
72
+ const url = buildUrl(9000 + i, settings.name ?? 'project', i, numOfWorkers, settings.range);
63
73
  promises.push(renderWorker(9000 + i, resolvedConfigPath, url, params, settings.puppeteer));
64
74
  }
65
75
  return Promise.all(promises);
66
76
  };
67
77
  exports.renderVideo = renderVideo;
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NlcnZlci9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3Qix5Q0FBa0U7QUFDbEUsK0JBQWtDO0FBQ2xDLHFDQUF3QztBQUV4QyxTQUFTLFFBQVEsQ0FDZixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsaUJBQXlCO0lBRXpCLE9BQU8sb0JBQW9CLElBQUksb0JBQW9CLFFBQVEsYUFBYSxRQUFRLHNCQUFzQixpQkFBaUIsRUFBRSxDQUFDO0FBQzVILENBQUM7QUFFRCxLQUFLLFVBQVUsWUFBWSxDQUN6QixTQUFpQixFQUNqQixrQkFBMEIsRUFDMUIsR0FBVyxFQUNYLE1BQWdDLEVBQ2hDLGdCQUErQztJQUUvQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMxQyxtQkFBUyxDQUFDLE1BQU0sQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxnQkFBZ0IsRUFBQyxDQUFDO1FBQ3ZELElBQUEsbUJBQVksRUFBQztZQUNYLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBQSx1QkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDbkMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sT0FB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
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NlcnZlci9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3Qix5Q0FBa0U7QUFDbEUscUNBQXFDO0FBQ3JDLCtCQUFrQztBQUNsQyxxQ0FBd0M7QUFFeEMsU0FBUyxRQUFRLENBQ2YsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLGlCQUF5QixFQUN6QixRQUEwQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUM7SUFFdkMsT0FBTyxvQkFBb0IsSUFBSSxvQkFBb0IsUUFBUSxhQUFhLFFBQVEsc0JBQXNCLGlCQUFpQixtQkFBbUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDaEwsQ0FBQztBQUVELEtBQUssVUFBVSxZQUFZLENBQ3pCLFNBQWlCLEVBQ2pCLGtCQUEwQixFQUMxQixHQUFXLEVBQ1gsTUFBZ0MsRUFDaEMsZ0JBQStDO0lBRS9DLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFDLG1CQUFTLENBQUMsTUFBTSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLGdCQUFnQixFQUFDLENBQUM7UUFDdkQsSUFBQSxtQkFBWSxFQUFDO1lBQ1gsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFBLHVCQUFjLEVBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNy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
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../server/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAU5B,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAmCvE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../server/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAU5B,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAqCvE"}
package/dist/plugin.js CHANGED
@@ -27,11 +27,13 @@ function rendererPlugin(params) {
27
27
  const fileName = url.searchParams.get('fileName');
28
28
  const workerId = url.searchParams.get('workerId');
29
29
  const totalNumOfWorkers = url.searchParams.get('totalNumOfWorkers');
30
+ const startInSeconds = parseFloat(url.searchParams.get('startInSeconds'));
31
+ const endInSeconds = parseFloat(url.searchParams.get('endInSeconds'));
30
32
 
31
33
  // Overwrite project name so that the rendered videos don't overwrite each other
32
34
  project.name = fileName;
33
35
 
34
- render(project, workerId, totalNumOfWorkers);
36
+ render(project, workerId, totalNumOfWorkers, startInSeconds, endInSeconds);
35
37
  `;
36
38
  }
37
39
  },
@@ -44,4 +46,4 @@ function rendererPlugin(params) {
44
46
  };
45
47
  }
46
48
  exports.rendererPlugin = rendererPlugin;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc2VydmVyL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFekQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsTUFBZ0M7SUFDN0QsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFFL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTzs7Ozs7a0NBS21CLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsbUJBQW1COzs7Ozs7Ozs7Ozs7O2FBYS9GLENBQUM7WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELGVBQWUsQ0FBQyxNQUFNO1lBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDOUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQW5DRCx3Q0FtQ0MifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc2VydmVyL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFekQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsTUFBZ0M7SUFDN0QsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFFL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTzs7Ozs7a0NBS21CLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7YUFlL0YsQ0FBQztZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsZUFBZSxDQUFDLE1BQU07WUFDcEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUM5QyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDM0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBckNELHdDQXFDQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revideo/renderer",
3
- "version": "0.2.11-alpha.936+6189ae9",
3
+ "version": "0.2.12",
4
4
  "description": "A headless renderer for revideo",
5
5
  "main": "dist/index.js",
6
6
  "author": "revideo",
@@ -20,11 +20,12 @@
20
20
  "types"
21
21
  ],
22
22
  "dependencies": {
23
- "puppeteer": "^22.6.0"
23
+ "puppeteer": "^22.6.0",
24
+ "readline": "^1.3.0"
24
25
  },
25
26
  "devDependencies": {
26
- "@revideo/core": "^0.2.11-alpha.936+6189ae9",
27
+ "@revideo/core": "0.2.12",
27
28
  "ncp": "^2.0.0"
28
29
  },
29
- "gitHead": "6189ae92723e6db22ee8d07177c9a6f0b0188508"
30
+ "gitHead": "8c24fc243405dfa760e754ed6fe33c5d4239aaa7"
30
31
  }