@remotion/renderer 3.0.0-lambda.85 → 3.0.0-pnpm.295
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-silent-audio-if-necessary.d.ts +1 -1
- package/dist/add-silent-audio-if-necessary.d.ts.map +1 -1
- package/dist/add-silent-audio-if-necessary.js +6 -2
- package/dist/add-silent-audio-if-necessary.js.map +1 -1
- package/dist/assets/calculate-asset-positions.d.ts.map +1 -1
- package/dist/assets/calculate-asset-positions.js +3 -2
- package/dist/assets/calculate-asset-positions.js.map +1 -1
- package/dist/assets/convert-assets-to-file-urls.d.ts +3 -3
- package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -1
- package/dist/assets/convert-assets-to-file-urls.js +2 -3
- package/dist/assets/convert-assets-to-file-urls.js.map +1 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts +8 -7
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -1
- package/dist/assets/download-and-map-assets-to-file.js +84 -31
- package/dist/assets/download-and-map-assets-to-file.js.map +1 -1
- package/dist/assets/get-asset-audio-details.d.ts +0 -1
- package/dist/assets/get-asset-audio-details.d.ts.map +1 -1
- package/dist/assets/get-asset-audio-details.js +1 -3
- package/dist/assets/get-asset-audio-details.js.map +1 -1
- package/dist/assets/sanitize-filename.d.ts +2 -0
- package/dist/assets/sanitize-filename.d.ts.map +1 -0
- package/dist/assets/sanitize-filename.js +59 -0
- package/dist/assets/sanitize-filename.js.map +1 -0
- package/dist/assets/sanitize-filepath.d.ts +2 -0
- package/dist/assets/sanitize-filepath.d.ts.map +1 -0
- package/dist/assets/sanitize-filepath.js +16 -0
- package/dist/assets/sanitize-filepath.js.map +1 -0
- package/dist/assets/truncate-utf8-bytes.d.ts +2 -0
- package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
- package/dist/assets/truncate-utf8-bytes.js +38 -0
- package/dist/assets/truncate-utf8-bytes.js.map +1 -0
- package/dist/assets/types.d.ts +1 -0
- package/dist/assets/types.d.ts.map +1 -1
- package/dist/assets/types.js +19 -0
- package/dist/assets/types.js.map +1 -1
- package/dist/create-ffmpeg-complex-filter.d.ts +4 -1
- package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -1
- package/dist/create-ffmpeg-complex-filter.js +2 -2
- package/dist/create-ffmpeg-complex-filter.js.map +1 -1
- package/dist/cycle-browser-tabs.d.ts +1 -1
- package/dist/cycle-browser-tabs.d.ts.map +1 -1
- package/dist/cycle-browser-tabs.js +27 -14
- package/dist/cycle-browser-tabs.js.map +1 -1
- package/dist/delete-directory.d.ts +2 -0
- package/dist/delete-directory.d.ts.map +1 -0
- package/dist/delete-directory.js +28 -0
- package/dist/delete-directory.js.map +1 -0
- package/dist/ensure-frames-in-order.d.ts +6 -0
- package/dist/ensure-frames-in-order.d.ts.map +1 -0
- package/dist/ensure-frames-in-order.js +39 -0
- package/dist/ensure-frames-in-order.js.map +1 -0
- package/dist/ensure-output-directory.d.ts +2 -0
- package/dist/ensure-output-directory.d.ts.map +1 -0
- package/dist/ensure-output-directory.js +18 -0
- package/dist/ensure-output-directory.js.map +1 -0
- package/dist/get-browser-instance.d.ts +10 -0
- package/dist/get-browser-instance.d.ts.map +1 -0
- package/dist/get-browser-instance.js +35 -0
- package/dist/get-browser-instance.js.map +1 -0
- package/dist/get-compositions.d.ts +5 -5
- package/dist/get-compositions.d.ts.map +1 -1
- package/dist/get-compositions.js +19 -40
- package/dist/get-compositions.js.map +1 -1
- package/dist/get-extension-from-codec.d.ts +3 -0
- package/dist/get-extension-from-codec.d.ts.map +1 -0
- package/dist/get-extension-from-codec.js +33 -0
- package/dist/get-extension-from-codec.js.map +1 -0
- package/dist/get-frame-to-render.d.ts +1 -1
- package/dist/get-frame-to-render.d.ts.map +1 -1
- package/dist/get-frame-to-render.js +13 -7
- package/dist/get-frame-to-render.js.map +1 -1
- package/dist/index.d.ts +22 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -8
- package/dist/index.js.map +1 -1
- package/dist/is-serve-url.d.ts +2 -0
- package/dist/is-serve-url.d.ts.map +1 -0
- package/dist/is-serve-url.js +13 -0
- package/dist/is-serve-url.js.map +1 -0
- package/dist/legacy-webpack-config.d.ts +10 -0
- package/dist/legacy-webpack-config.d.ts.map +1 -0
- package/dist/legacy-webpack-config.js +14 -0
- package/dist/legacy-webpack-config.js.map +1 -0
- package/dist/make-assets-download-dir.d.ts +2 -0
- package/dist/make-assets-download-dir.d.ts.map +1 -0
- package/dist/make-assets-download-dir.js +9 -0
- package/dist/make-assets-download-dir.js.map +1 -0
- package/dist/open-browser.d.ts.map +1 -1
- package/dist/open-browser.js +4 -2
- package/dist/open-browser.js.map +1 -1
- package/dist/prepare-server.d.ts +5 -0
- package/dist/prepare-server.d.ts.map +1 -0
- package/dist/prepare-server.js +20 -0
- package/dist/prepare-server.js.map +1 -0
- package/dist/provide-screenshot.d.ts +2 -2
- package/dist/provide-screenshot.d.ts.map +1 -1
- package/dist/provide-screenshot.js +1 -1
- package/dist/provide-screenshot.js.map +1 -1
- package/dist/puppeteer-screenshot.d.ts +0 -1
- package/dist/puppeteer-screenshot.d.ts.map +1 -1
- package/dist/render-media.d.ts +39 -0
- package/dist/render-media.d.ts.map +1 -0
- package/dist/render-media.js +146 -0
- package/dist/render-media.js.map +1 -0
- package/dist/render-still.d.ts +5 -4
- package/dist/render-still.d.ts.map +1 -1
- package/dist/render-still.js +20 -8
- package/dist/render-still.js.map +1 -1
- package/dist/render-video.d.ts +39 -0
- package/dist/render-video.d.ts.map +1 -0
- package/dist/render-video.js +138 -0
- package/dist/render-video.js.map +1 -0
- package/dist/render.d.ts +23 -9
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +132 -53
- package/dist/render.js.map +1 -1
- package/dist/sample-rate.d.ts +2 -0
- package/dist/sample-rate.d.ts.map +1 -0
- package/dist/sample-rate.js +5 -0
- package/dist/sample-rate.js.map +1 -0
- package/dist/screenshot-dom-element.d.ts +0 -1
- package/dist/screenshot-dom-element.d.ts.map +1 -1
- package/dist/screenshot-dom-element.js +6 -3
- package/dist/screenshot-dom-element.js.map +1 -1
- package/dist/screenshot-task.d.ts +0 -1
- package/dist/screenshot-task.d.ts.map +1 -1
- package/dist/set-props-and-env.d.ts +2 -1
- package/dist/set-props-and-env.d.ts.map +1 -1
- package/dist/set-props-and-env.js +22 -16
- package/dist/set-props-and-env.js.map +1 -1
- package/dist/stitcher.d.ts +21 -17
- package/dist/stitcher.d.ts.map +1 -1
- package/dist/stitcher.js +96 -81
- package/dist/stitcher.js.map +1 -1
- package/dist/stringify-ffmpeg-filter.d.ts.map +1 -1
- package/dist/stringify-ffmpeg-filter.js +0 -2
- package/dist/stringify-ffmpeg-filter.js.map +1 -1
- package/dist/tmp-dir.d.ts +2 -0
- package/dist/tmp-dir.d.ts.map +1 -0
- package/dist/tmp-dir.js +31 -0
- package/dist/tmp-dir.js.map +1 -0
- package/dist/validate-puppeteer-timeout.d.ts +2 -0
- package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
- package/dist/validate-puppeteer-timeout.js +25 -0
- package/dist/validate-puppeteer-timeout.js.map +1 -0
- package/package.json +5 -7
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createFfmpegComplexFilter = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const os_1 = __importDefault(require("os"));
|
|
9
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const tmp_dir_1 = require("./tmp-dir");
|
|
10
10
|
const createMix = (filters) => {
|
|
11
11
|
const baseFilter = filters
|
|
12
12
|
.map((asset) => {
|
|
@@ -31,7 +31,7 @@ const createFfmpegComplexFilter = async (filters) => {
|
|
|
31
31
|
...filters.map((f) => f.filter),
|
|
32
32
|
createMix(filters),
|
|
33
33
|
].join(';');
|
|
34
|
-
const tempPath =
|
|
34
|
+
const tempPath = (0, tmp_dir_1.tmpDir)('remotion-complex-filter');
|
|
35
35
|
const filterFile = path_1.default.join(tempPath, 'complex-filter.txt');
|
|
36
36
|
await fs_1.default.promises.writeFile(filterFile, complexFilter);
|
|
37
37
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ffmpeg-complex-filter.js","sourceRoot":"","sources":["../src/create-ffmpeg-complex-filter.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,
|
|
1
|
+
{"version":3,"file":"create-ffmpeg-complex-filter.js","sourceRoot":"","sources":["../src/create-ffmpeg-complex-filter.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,uCAAiC;AAEjC,MAAM,SAAS,GAAG,CAAC,OAAkC,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,OAAO;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,OAAO,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,OAAO,GAAG;QACf,uCAAuC;QACvC,UAAU,OAAO,CAAC,MAAM,EAAE;QAC1B,qDAAqD;QACrD,sBAAsB;QACtB,8CAA8C;QAC9C,kBAAkB;KAClB,CAAC;IACF,OAAO,GAAG,UAAU,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC7C,OAAkC,EAIhC,EAAE;IACJ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAC,CAAC;KAC3D;IAED,MAAM,aAAa,GAAG;QACrB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,SAAS,CAAC,OAAO,CAAC;KAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAG,IAAA,gBAAM,EAAC,yBAAyB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC7D,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAEvD,OAAO;QACN,iBAAiB,EAAE,CAAC,wBAAwB,EAAE,UAAU,CAAC;QACzD,OAAO,EAAE,GAAG,EAAE;;YACb,CAAC,MAAA,YAAE,CAAC,QAAQ,CAAC,EAAE,mCAAI,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;gBAC/C,SAAS,EAAE,IAAI;aACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AA9BW,QAAA,yBAAyB,6BA8BpC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { openBrowser } from './open-browser';
|
|
2
2
|
declare type Await<T> = T extends PromiseLike<infer U> ? U : T;
|
|
3
|
-
export declare const cycleBrowserTabs: (
|
|
3
|
+
export declare const cycleBrowserTabs: (puppeteerInstance: Await<ReturnType<typeof openBrowser>>) => {
|
|
4
4
|
stopCycling: () => void;
|
|
5
5
|
};
|
|
6
6
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycle-browser-tabs.d.ts","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvD,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"cycle-browser-tabs.d.ts","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvD,eAAO,MAAM,gBAAgB,sBACT,MAAM,WAAW,kBAAkB,CAAC,CAAC;;CAiCxD,CAAC"}
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cycleBrowserTabs = void 0;
|
|
4
|
-
const cycleBrowserTabs = (
|
|
4
|
+
const cycleBrowserTabs = (puppeteerInstance) => {
|
|
5
|
+
let interval = null;
|
|
5
6
|
let i = 0;
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
const set = () => {
|
|
8
|
+
interval = setTimeout(() => {
|
|
9
|
+
puppeteerInstance
|
|
10
|
+
.pages()
|
|
11
|
+
.then((pages) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const currentPage = pages[i % pages.length];
|
|
14
|
+
i++;
|
|
15
|
+
if (!((_b = (_a = currentPage === null || currentPage === void 0 ? void 0 : currentPage.isClosed) === null || _a === void 0 ? void 0 : _a.call(currentPage)) !== null && _b !== void 0 ? _b : true)) {
|
|
16
|
+
return currentPage.bringToFront();
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
.then(() => {
|
|
20
|
+
set();
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => console.log(err));
|
|
23
|
+
}, 200);
|
|
24
|
+
};
|
|
25
|
+
set();
|
|
18
26
|
return {
|
|
19
|
-
stopCycling: () =>
|
|
27
|
+
stopCycling: () => {
|
|
28
|
+
if (!interval) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
return clearInterval(interval);
|
|
32
|
+
},
|
|
20
33
|
};
|
|
21
34
|
};
|
|
22
35
|
exports.cycleBrowserTabs = cycleBrowserTabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycle-browser-tabs.js","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":";;;AAIO,MAAM,gBAAgB,GAAG,CAC/B,
|
|
1
|
+
{"version":3,"file":"cycle-browser-tabs.js","sourceRoot":"","sources":["../src/cycle-browser-tabs.ts"],"names":[],"mappings":";;;AAIO,MAAM,gBAAgB,GAAG,CAC/B,iBAAwD,EACvD,EAAE;IACH,IAAI,QAAQ,GAA0B,IAAI,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,GAAG,GAAG,EAAE;QAChB,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,iBAAiB;iBACf,KAAK,EAAE;iBACP,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;;gBACf,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,+CAArB,WAAW,CAAc,mCAAI,IAAI,CAAC,EAAE;oBACzC,OAAO,WAAW,CAAC,YAAY,EAAE,CAAC;iBAClC;YACF,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,EAAE,CAAC;YACP,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC,CAAC;IAEF,GAAG,EAAE,CAAC;IAEN,OAAO;QACN,WAAW,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE;gBACd,OAAO;aACP;YAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,gBAAgB,oBAkC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-directory.d.ts","sourceRoot":"","sources":["../src/delete-directory.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,cAAqB,MAAM,KAAG,QAAQ,IAAI,CAerE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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.deleteDirectory = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const execa_1 = __importDefault(require("execa"));
|
|
9
|
+
const is_serve_url_1 = require("./is-serve-url");
|
|
10
|
+
const deleteDirectory = async (directory) => {
|
|
11
|
+
var _a;
|
|
12
|
+
if ((0, is_serve_url_1.isServeUrl)(directory)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (process.platform === 'win32') {
|
|
16
|
+
// We use del before to remove all files inside the directories otherwise
|
|
17
|
+
// rmdir will throw an error.
|
|
18
|
+
await (0, execa_1.default)('cmd', ['/c', 'del', '/f', '/s', '/q', directory]);
|
|
19
|
+
await (0, execa_1.default)('cmd', ['/c', 'rmdir', '/s', '/q', directory]);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
await ((_a = fs_1.default.promises.rm) !== null && _a !== void 0 ? _a : fs_1.default.promises.rmdir)(directory, {
|
|
23
|
+
recursive: true,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.deleteDirectory = deleteDirectory;
|
|
28
|
+
//# sourceMappingURL=delete-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-directory.js","sourceRoot":"","sources":["../src/delete-directory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,iDAA0C;AAEnC,MAAM,eAAe,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;;IACzE,IAAI,IAAA,yBAAU,EAAC,SAAS,CAAC,EAAE;QAC1B,OAAO;KACP;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QACjC,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;KAC3D;SAAM;QACN,MAAM,CAAC,MAAA,YAAE,CAAC,QAAQ,CAAC,EAAE,mCAAI,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE;YACtD,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const ensureFramesInOrder: (frameRange: [number, number]) => {
|
|
2
|
+
waitForRightTimeOfFrameToBeInserted: (frameToBe: number) => Promise<void>;
|
|
3
|
+
setFrameToStitch: (f: number) => void;
|
|
4
|
+
waitForFinish: () => Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=ensure-frames-in-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-frames-in-order.d.ts","sourceRoot":"","sources":["../src/ensure-frames-in-order.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,eAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;qDAcD,MAAM;0BAWvC,MAAM;;CAcnC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureFramesInOrder = void 0;
|
|
4
|
+
const ensureFramesInOrder = (frameRange) => {
|
|
5
|
+
let [frameToStitch, finalFrame] = frameRange;
|
|
6
|
+
let waiters = [];
|
|
7
|
+
const resolveWaiters = () => {
|
|
8
|
+
for (const waiter of waiters.slice(0)) {
|
|
9
|
+
if (frameToStitch === waiter.forFrame) {
|
|
10
|
+
waiter.resolve();
|
|
11
|
+
waiters = waiters.filter((w) => w.id !== waiter.id);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const waitForRightTimeOfFrameToBeInserted = async (frameToBe) => {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
waiters.push({
|
|
18
|
+
id: String(Math.random()),
|
|
19
|
+
forFrame: frameToBe,
|
|
20
|
+
resolve,
|
|
21
|
+
});
|
|
22
|
+
resolveWaiters();
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const setFrameToStitch = (f) => {
|
|
26
|
+
frameToStitch = f;
|
|
27
|
+
resolveWaiters();
|
|
28
|
+
};
|
|
29
|
+
const waitForFinish = async () => {
|
|
30
|
+
await waitForRightTimeOfFrameToBeInserted(finalFrame + 1);
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
waitForRightTimeOfFrameToBeInserted,
|
|
34
|
+
setFrameToStitch,
|
|
35
|
+
waitForFinish,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.ensureFramesInOrder = ensureFramesInOrder;
|
|
39
|
+
//# sourceMappingURL=ensure-frames-in-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-frames-in-order.js","sourceRoot":"","sources":["../src/ensure-frames-in-order.ts"],"names":[],"mappings":";;;AAMO,MAAM,mBAAmB,GAAG,CAAC,UAA4B,EAAE,EAAE;IACnE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC;IAE7C,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,aAAa,KAAK,MAAM,CAAC,QAAQ,EAAE;gBACtC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;aACpD;SACD;IACF,CAAC,CAAC;IAEF,MAAM,mCAAmC,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;QACvE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,QAAQ,EAAE,SAAS;gBACnB,OAAO;aACP,CAAC,CAAC;YACH,cAAc,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;QACtC,aAAa,GAAG,CAAC,CAAC;QAClB,cAAc,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,mCAAmC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO;QACN,mCAAmC;QACnC,gBAAgB;QAChB,aAAa;KACb,CAAC;AACH,CAAC,CAAC;AAvCW,QAAA,mBAAmB,uBAuC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-output-directory.d.ts","sourceRoot":"","sources":["../src/ensure-output-directory.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,mBAAoB,MAAM,SAQ3D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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.ensureOutputDirectory = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const ensureOutputDirectory = (outputLocation) => {
|
|
10
|
+
const dirName = path_1.default.dirname(outputLocation);
|
|
11
|
+
if (!fs_1.default.existsSync(dirName)) {
|
|
12
|
+
fs_1.default.mkdirSync(dirName, {
|
|
13
|
+
recursive: true,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.ensureOutputDirectory = ensureOutputDirectory;
|
|
18
|
+
//# sourceMappingURL=ensure-output-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-output-directory.js","sourceRoot":"","sources":["../src/ensure-output-directory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAEjB,MAAM,qBAAqB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Browser, Page } from 'puppeteer-core';
|
|
2
|
+
import { BrowserExecutable } from 'remotion';
|
|
3
|
+
export declare const getPageAndCleanupFn: ({ passedInInstance, browserExecutable, }: {
|
|
4
|
+
passedInInstance: Browser | undefined;
|
|
5
|
+
browserExecutable: BrowserExecutable | null;
|
|
6
|
+
}) => Promise<{
|
|
7
|
+
cleanup: () => void;
|
|
8
|
+
page: Page;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=get-browser-instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-browser-instance.d.ts","sourceRoot":"","sources":["../src/get-browser-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAY,MAAM,UAAU,CAAC;AAGtD,eAAO,MAAM,mBAAmB;sBAIb,OAAO,GAAG,SAAS;uBAClB,iBAAiB,GAAG,IAAI;MACxC,QAAQ;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACX,CA6BA,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPageAndCleanupFn = void 0;
|
|
4
|
+
const remotion_1 = require("remotion");
|
|
5
|
+
const open_browser_1 = require("./open-browser");
|
|
6
|
+
const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, }) => {
|
|
7
|
+
if (passedInInstance) {
|
|
8
|
+
const page = await passedInInstance.newPage();
|
|
9
|
+
return {
|
|
10
|
+
page,
|
|
11
|
+
cleanup: () => {
|
|
12
|
+
// Close puppeteer page and don't wait for it to finish.
|
|
13
|
+
// Keep browser open.
|
|
14
|
+
page.close().catch((err) => {
|
|
15
|
+
console.error('Was not able to close puppeteer page', err);
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const browserInstance = await (0, open_browser_1.openBrowser)(remotion_1.Internals.DEFAULT_BROWSER, {
|
|
21
|
+
browserExecutable,
|
|
22
|
+
});
|
|
23
|
+
const browserPage = await browserInstance.newPage();
|
|
24
|
+
return {
|
|
25
|
+
page: browserPage,
|
|
26
|
+
cleanup: () => {
|
|
27
|
+
// Close whole browser that was just created and don't wait for it to finish.
|
|
28
|
+
browserInstance.close().catch((err) => {
|
|
29
|
+
console.error('Was not able to close puppeteer page', err);
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.getPageAndCleanupFn = getPageAndCleanupFn;
|
|
35
|
+
//# sourceMappingURL=get-browser-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-browser-instance.js","sourceRoot":"","sources":["../src/get-browser-instance.ts"],"names":[],"mappings":";;;AACA,uCAAsD;AACtD,iDAA2C;AAEpC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACzC,gBAAgB,EAChB,iBAAiB,GAIjB,EAGE,EAAE;IACJ,IAAI,gBAAgB,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,GAAG,EAAE;gBACb,wDAAwD;gBACxD,qBAAqB;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;KACF;IAED,MAAM,eAAe,GAAG,MAAM,IAAA,0BAAW,EAAC,oBAAS,CAAC,eAAe,EAAE;QACpE,iBAAiB;KACjB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;IAEpD,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,GAAG,EAAE;YACb,6EAA6E;YAC7E,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAtCW,QAAA,mBAAmB,uBAsC9B"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Browser
|
|
2
|
-
import {
|
|
1
|
+
import { Browser } from 'puppeteer-core';
|
|
2
|
+
import { BrowserExecutable, TCompMetadata } from 'remotion';
|
|
3
3
|
import { BrowserLog } from './browser-log';
|
|
4
4
|
declare type GetCompositionsConfig = {
|
|
5
|
-
browser?: Browser;
|
|
6
5
|
inputProps?: object | null;
|
|
7
6
|
envVariables?: Record<string, string>;
|
|
8
|
-
|
|
7
|
+
puppeteerInstance?: Browser;
|
|
9
8
|
onBrowserLog?: (log: BrowserLog) => void;
|
|
10
9
|
browserExecutable?: BrowserExecutable;
|
|
10
|
+
timeoutInMilliseconds?: number;
|
|
11
11
|
};
|
|
12
|
-
export declare const getCompositions: (
|
|
12
|
+
export declare const getCompositions: (serveUrlOrWebpackUrl: string, config?: GetCompositionsConfig | undefined) => Promise<TCompMetadata[]>;
|
|
13
13
|
export {};
|
|
14
14
|
//# sourceMappingURL=get-compositions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-compositions.d.ts","sourceRoot":"","sources":["../src/get-compositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"get-compositions.d.ts","sourceRoot":"","sources":["../src/get-compositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAO,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAOzC,aAAK,qBAAqB,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AA2DF,eAAO,MAAM,eAAe,yBACL,MAAM,yEA0B5B,CAAC"}
|
package/dist/get-compositions.js
CHANGED
|
@@ -1,45 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCompositions = void 0;
|
|
4
|
-
const
|
|
4
|
+
const get_browser_instance_1 = require("./get-browser-instance");
|
|
5
5
|
const normalize_serve_url_1 = require("./normalize-serve-url");
|
|
6
|
-
const
|
|
6
|
+
const prepare_server_1 = require("./prepare-server");
|
|
7
7
|
const set_props_and_env_1 = require("./set-props-and-env");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const page = await passedInInstance.newPage();
|
|
11
|
-
return {
|
|
12
|
-
page,
|
|
13
|
-
cleanup: () => {
|
|
14
|
-
// Close puppeteer page and don't wait for it to finish.
|
|
15
|
-
// Keep browser open.
|
|
16
|
-
page.close().catch((err) => {
|
|
17
|
-
console.error('Was not able to close puppeteer page', err);
|
|
18
|
-
});
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
const browserInstance = await (0, open_browser_1.openBrowser)(browser || remotion_1.Internals.DEFAULT_BROWSER, {
|
|
23
|
-
browserExecutable,
|
|
24
|
-
});
|
|
25
|
-
const browserPage = await browserInstance.newPage();
|
|
26
|
-
return {
|
|
27
|
-
page: browserPage,
|
|
28
|
-
cleanup: () => {
|
|
29
|
-
// Close whole browser that was just created and don't wait for it to finish.
|
|
30
|
-
browserInstance.close().catch((err) => {
|
|
31
|
-
console.error('Was not able to close puppeteer page', err);
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
const innerGetCompositions = async (serveUrl, config) => {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
const { page, cleanup } = await getPageAndCleanupFn({
|
|
39
|
-
passedInInstance: config === null || config === void 0 ? void 0 : config.browserInstance,
|
|
40
|
-
browser: (_a = config === null || config === void 0 ? void 0 : config.browser) !== null && _a !== void 0 ? _a : remotion_1.Internals.DEFAULT_BROWSER,
|
|
41
|
-
browserExecutable: (_b = config === null || config === void 0 ? void 0 : config.browserExecutable) !== null && _b !== void 0 ? _b : null,
|
|
42
|
-
});
|
|
8
|
+
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
9
|
+
const innerGetCompositions = async (serveUrl, page, config) => {
|
|
43
10
|
page.on('error', (err) => {
|
|
44
11
|
console.log(err);
|
|
45
12
|
config.onError(err);
|
|
@@ -58,12 +25,14 @@ const innerGetCompositions = async (serveUrl, config) => {
|
|
|
58
25
|
});
|
|
59
26
|
});
|
|
60
27
|
}
|
|
28
|
+
(0, validate_puppeteer_timeout_1.validatePuppeteerTimeout)(config === null || config === void 0 ? void 0 : config.timeoutInMilliseconds);
|
|
61
29
|
await (0, set_props_and_env_1.setPropsAndEnv)({
|
|
62
30
|
inputProps: config === null || config === void 0 ? void 0 : config.inputProps,
|
|
63
31
|
envVariables: config === null || config === void 0 ? void 0 : config.envVariables,
|
|
64
32
|
page,
|
|
65
33
|
serveUrl,
|
|
66
34
|
initialFrame: 0,
|
|
35
|
+
timeoutInMilliseconds: config === null || config === void 0 ? void 0 : config.timeoutInMilliseconds,
|
|
67
36
|
});
|
|
68
37
|
const urlToVisit = `${(0, normalize_serve_url_1.normalizeServeUrl)(serveUrl)}?evaluation=true`;
|
|
69
38
|
const pageRes = await page.goto(urlToVisit);
|
|
@@ -76,12 +45,18 @@ const innerGetCompositions = async (serveUrl, config) => {
|
|
|
76
45
|
}
|
|
77
46
|
await page.waitForFunction('window.ready === true');
|
|
78
47
|
const result = await page.evaluate('window.getStaticCompositions()');
|
|
79
|
-
cleanup();
|
|
80
48
|
return result;
|
|
81
49
|
};
|
|
82
|
-
const getCompositions = (
|
|
50
|
+
const getCompositions = async (serveUrlOrWebpackUrl, config) => {
|
|
51
|
+
var _a;
|
|
52
|
+
const { serveUrl, closeServer } = await (0, prepare_server_1.prepareServer)(serveUrlOrWebpackUrl);
|
|
53
|
+
const { page, cleanup } = await (0, get_browser_instance_1.getPageAndCleanupFn)({
|
|
54
|
+
passedInInstance: config === null || config === void 0 ? void 0 : config.puppeteerInstance,
|
|
55
|
+
browserExecutable: (_a = config === null || config === void 0 ? void 0 : config.browserExecutable) !== null && _a !== void 0 ? _a : null,
|
|
56
|
+
});
|
|
83
57
|
return new Promise((resolve, reject) => {
|
|
84
|
-
|
|
58
|
+
// eslint-disable-next-line promise/catch-or-return
|
|
59
|
+
innerGetCompositions(serveUrl, page, {
|
|
85
60
|
...(config !== null && config !== void 0 ? config : {}),
|
|
86
61
|
onError: (err) => {
|
|
87
62
|
reject(err);
|
|
@@ -90,6 +65,10 @@ const getCompositions = (serveUrl, config) => {
|
|
|
90
65
|
.then((comp) => resolve(comp))
|
|
91
66
|
.catch((err) => {
|
|
92
67
|
reject(err);
|
|
68
|
+
})
|
|
69
|
+
.finally(() => {
|
|
70
|
+
cleanup();
|
|
71
|
+
closeServer();
|
|
93
72
|
});
|
|
94
73
|
});
|
|
95
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-compositions.js","sourceRoot":"","sources":["../src/get-compositions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"get-compositions.js","sourceRoot":"","sources":["../src/get-compositions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-extension-from-codec.d.ts","sourceRoot":"","sources":["../src/get-extension-from-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAE/B,eAAO,MAAM,yBAAyB,UAC9B,KAAK,QACN,OAAO,GAAG,OAAO,2DAgCvB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFileExtensionFromCodec = void 0;
|
|
4
|
+
const getFileExtensionFromCodec = (codec, type) => {
|
|
5
|
+
switch (codec) {
|
|
6
|
+
case 'aac':
|
|
7
|
+
return 'aac';
|
|
8
|
+
case 'h264':
|
|
9
|
+
return 'mp4';
|
|
10
|
+
// The chunks will be rendered as mkv, but the final output will still be MP4
|
|
11
|
+
case 'h264-mkv':
|
|
12
|
+
if (type === 'chunk') {
|
|
13
|
+
return 'mkv';
|
|
14
|
+
}
|
|
15
|
+
return 'mp4';
|
|
16
|
+
case 'h265':
|
|
17
|
+
return 'mp4';
|
|
18
|
+
case 'mp3':
|
|
19
|
+
return 'mp3';
|
|
20
|
+
case 'prores':
|
|
21
|
+
return 'mov';
|
|
22
|
+
case 'vp8':
|
|
23
|
+
return 'webm';
|
|
24
|
+
case 'vp9':
|
|
25
|
+
return 'webm';
|
|
26
|
+
case 'wav':
|
|
27
|
+
return 'wav';
|
|
28
|
+
default:
|
|
29
|
+
throw new Error("Don't know which file extension to use for codec " + codec);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.getFileExtensionFromCodec = getFileExtensionFromCodec;
|
|
33
|
+
//# sourceMappingURL=get-extension-from-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-extension-from-codec.js","sourceRoot":"","sources":["../src/get-extension-from-codec.ts"],"names":[],"mappings":";;;AAEO,MAAM,yBAAyB,GAAG,CACxC,KAAY,EACZ,IAAuB,EACtB,EAAE;IACH,QAAQ,KAAK,EAAE;QACd,KAAK,KAAK;YACT,OAAO,KAAK,CAAC;QACd,KAAK,MAAM;YACV,OAAO,KAAK,CAAC;QACd,6EAA6E;QAC7E,KAAK,UAAU;YACd,IAAI,IAAI,KAAK,OAAO,EAAE;gBACrB,OAAO,KAAK,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QAEd,KAAK,MAAM;YACV,OAAO,KAAK,CAAC;QACd,KAAK,KAAK;YACT,OAAO,KAAK,CAAC;QACd,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC;QACd,KAAK,KAAK;YACT,OAAO,MAAM,CAAC;QACf,KAAK,KAAK;YACT,OAAO,MAAM,CAAC;QACf,KAAK,KAAK;YACT,OAAO,KAAK,CAAC;QACd;YACC,MAAM,IAAI,KAAK,CACd,mDAAmD,GAAG,KAAK,CAC3D,CAAC;KACH;AACF,CAAC,CAAC;AAlCW,QAAA,yBAAyB,6BAkCpC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FrameRange } from 'remotion';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getRealFrameRange: (durationInFrames: number, frameRange: FrameRange | null) => [number, number];
|
|
3
3
|
//# sourceMappingURL=get-frame-to-render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-frame-to-render.d.ts","sourceRoot":"","sources":["../src/get-frame-to-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"get-frame-to-render.d.ts","sourceRoot":"","sources":["../src/get-frame-to-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,iBAAiB,qBACX,MAAM,cACZ,UAAU,GAAG,IAAI,KAC3B,CAAC,MAAM,EAAE,MAAM,CA0BjB,CAAC"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
if (
|
|
6
|
-
return
|
|
3
|
+
exports.getRealFrameRange = void 0;
|
|
4
|
+
const getRealFrameRange = (durationInFrames, frameRange) => {
|
|
5
|
+
if (frameRange === null) {
|
|
6
|
+
return [0, durationInFrames - 1];
|
|
7
7
|
}
|
|
8
8
|
if (typeof frameRange === 'number') {
|
|
9
|
-
|
|
9
|
+
if (frameRange < 0 || frameRange >= durationInFrames) {
|
|
10
|
+
throw new Error(`Frame number is out of range, must be between 0 and ${durationInFrames - 1} but got ${frameRange}`);
|
|
11
|
+
}
|
|
12
|
+
return [frameRange, frameRange];
|
|
10
13
|
}
|
|
11
|
-
|
|
14
|
+
if (frameRange[1] >= durationInFrames || frameRange[0] < 0) {
|
|
15
|
+
throw new Error(`Frame range ${frameRange.join('-')} is not in between 0-${durationInFrames - 1}`);
|
|
16
|
+
}
|
|
17
|
+
return frameRange;
|
|
12
18
|
};
|
|
13
|
-
exports.
|
|
19
|
+
exports.getRealFrameRange = getRealFrameRange;
|
|
14
20
|
//# sourceMappingURL=get-frame-to-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-frame-to-render.js","sourceRoot":"","sources":["../src/get-frame-to-render.ts"],"names":[],"mappings":";;;AAEO,MAAM,
|
|
1
|
+
{"version":3,"file":"get-frame-to-render.js","sourceRoot":"","sources":["../src/get-frame-to-render.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG,CAChC,gBAAwB,EACxB,UAA6B,EACV,EAAE;IACrB,IAAI,UAAU,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;KACjC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACnC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,gBAAgB,EAAE;YACrD,MAAM,IAAI,KAAK,CACd,uDACC,gBAAgB,GAAG,CACpB,YAAY,UAAU,EAAE,CACxB,CAAC;SACF;QAED,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KAChC;IAED,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CACd,eAAe,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,wBAClC,gBAAgB,GAAG,CACpB,EAAE,CACF,CAAC;KACF;IAED,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AA7BW,QAAA,iBAAiB,qBA6B5B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,14 +7,17 @@ declare global {
|
|
|
7
7
|
remotion_collectAssets: () => TAsset[];
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
export { renderMedia, RenderMediaOnProgress, StitchingState, RenderMediaOptions, } from './render-media';
|
|
11
|
+
export type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
10
12
|
export { combineVideos } from './combine-videos';
|
|
11
13
|
export { FfmpegVersion } from './ffmpeg-flags';
|
|
12
14
|
export { getCompositions } from './get-compositions';
|
|
13
15
|
export { renderFrames } from './render';
|
|
14
16
|
export { renderStill } from './render-still';
|
|
15
|
-
export { stitchFramesToVideo } from './stitcher';
|
|
17
|
+
export { stitchFramesToVideo, StitcherOptions } from './stitcher';
|
|
16
18
|
export { OnStartData, RenderFramesOutput } from './types';
|
|
17
19
|
export { BrowserLog } from './browser-log';
|
|
20
|
+
export { openBrowser } from './open-browser';
|
|
18
21
|
export declare const RenderInternals: {
|
|
19
22
|
ensureLocalBrowser: (browser: import("remotion").Browser, preferredBrowserExecutable: import("remotion").BrowserExecutable) => Promise<void>;
|
|
20
23
|
ffmpegHasFeature: ({ ffmpegExecutable, feature, isLambda, }: {
|
|
@@ -26,10 +29,6 @@ export declare const RenderInternals: {
|
|
|
26
29
|
getFfmpegVersion: (options: {
|
|
27
30
|
ffmpegExecutable: string | null;
|
|
28
31
|
}) => Promise<import("./ffmpeg-flags").FfmpegVersion>;
|
|
29
|
-
openBrowser: (browser: import("remotion").Browser, options?: {
|
|
30
|
-
shouldDumpIo?: boolean | undefined;
|
|
31
|
-
browserExecutable?: string | null | undefined;
|
|
32
|
-
} | undefined) => Promise<import("puppeteer-core").Browser>;
|
|
33
32
|
validateFfmpeg: (customFfmpegBinary: string | null) => Promise<void>;
|
|
34
33
|
binaryExists: (name: "ffmpeg" | "brew", localFFmpeg: string | null) => Promise<boolean>;
|
|
35
34
|
getFfmpegBuildInfo: (options: {
|
|
@@ -41,14 +40,29 @@ export declare const RenderInternals: {
|
|
|
41
40
|
port: number;
|
|
42
41
|
close: () => Promise<void>;
|
|
43
42
|
}>;
|
|
44
|
-
addSilentAudioIfNecessary: (videoFile: string) => Promise<void>;
|
|
43
|
+
addSilentAudioIfNecessary: (videoFile: string, durationInFrames: number, fps: number) => Promise<void>;
|
|
45
44
|
validateEvenDimensionsWithCodec: ({ width, height, codec, }: {
|
|
46
45
|
width: number;
|
|
47
46
|
height: number;
|
|
48
47
|
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv";
|
|
49
48
|
}) => void;
|
|
50
|
-
min: (arr: number[]) => number;
|
|
51
|
-
max: (arr: number[]) => number;
|
|
52
49
|
normalizeServeUrl: (unnormalized: string) => string;
|
|
50
|
+
spawnFfmpeg: (options: import("./stitcher").StitcherOptions) => Promise<{
|
|
51
|
+
task: import("execa").ExecaChildProcess<string>;
|
|
52
|
+
cleanup: (() => void) | undefined;
|
|
53
|
+
}>;
|
|
54
|
+
getFileExtensionFromCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
|
|
55
|
+
makeAssetsDownloadTmpDir: () => string;
|
|
56
|
+
tmpDir: (str: string) => string;
|
|
57
|
+
deleteDirectory: (directory: string) => Promise<void>;
|
|
58
|
+
prepareServer: (webpackConfigOrServeUrl: string) => Promise<{
|
|
59
|
+
serveUrl: string;
|
|
60
|
+
closeServer: () => Promise<void>;
|
|
61
|
+
}>;
|
|
62
|
+
isServeUrl: (potentialUrl: string) => boolean;
|
|
63
|
+
ensureOutputDirectory: (outputLocation: string) => void;
|
|
64
|
+
gotStream: import("got/dist/source").GotStream;
|
|
65
|
+
getRealFrameRange: (durationInFrames: number, frameRange: import("remotion").FrameRange | null) => [number, number];
|
|
66
|
+
validatePuppeteerTimeout: (timeoutInMilliseconds: unknown) => void;
|
|
53
67
|
};
|
|
54
68
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAyB/C,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,KAAK,EAAE,OAAO,CAAC;QACf,qBAAqB,EAAE,MAAM,aAAa,EAAE,CAAC;QAC7C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC3C,sBAAsB,EAAE,MAAM,MAAM,EAAE,CAAC;KACvC;CACD;AAED,OAAO,EACN,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAC,qBAAqB,EAAC,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAChE,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAC"}
|