@remotion/renderer 4.0.0-alpha13 → 4.0.0-alpha16
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/assets/download-and-map-assets-to-file.d.ts +6 -4
- package/dist/assets/download-and-map-assets-to-file.js +30 -6
- package/dist/assets/download-file.d.ts +2 -2
- package/dist/assets/download-map.d.ts +3 -3
- package/dist/assets/ffmpeg-volume-expression.d.ts +2 -2
- package/dist/assets/get-audio-channels.d.ts +1 -0
- package/dist/assets/get-audio-channels.js +10 -5
- package/dist/assets/read-file.js +1 -1
- package/dist/assets/types.d.ts +4 -4
- package/dist/audio-codec.d.ts +2 -2
- package/dist/browser/Browser.d.ts +9 -9
- package/dist/browser/Browser.js +26 -32
- package/dist/browser/BrowserFetcher.d.ts +1 -1
- package/dist/browser/BrowserPage.d.ts +11 -2
- package/dist/browser/BrowserPage.js +47 -12
- package/dist/browser/BrowserRunner.js +19 -2
- package/dist/browser/ConsoleMessage.d.ts +1 -1
- package/dist/browser/DOMWorld.js +8 -8
- package/dist/browser/EvalTypes.d.ts +7 -7
- package/dist/browser/FrameManager.js +11 -11
- package/dist/browser/JSHandle.js +14 -14
- package/dist/browser/LaunchOptions.d.ts +1 -1
- package/dist/browser/Launcher.js +0 -1
- package/dist/browser/LifecycleWatcher.d.ts +1 -1
- package/dist/browser/NetworkEventManager.d.ts +4 -4
- package/dist/browser/NodeWebSocketTransport.js +16 -16
- package/dist/browser/Product.d.ts +1 -1
- package/dist/browser/Target.d.ts +2 -1
- package/dist/browser/Target.js +8 -2
- package/dist/browser/devtools-types.d.ts +10 -10
- package/dist/browser/mitt/index.d.ts +6 -6
- package/dist/browser/revisions.d.ts +1 -1
- package/dist/browser/should-log-message.d.ts +24 -0
- package/dist/browser/should-log-message.js +72 -0
- package/dist/browser-executable.d.ts +1 -1
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/chalk/index.d.ts +4 -4
- package/dist/codec-supports-media.d.ts +1 -1
- package/dist/codec.d.ts +2 -2
- package/dist/combine-videos.d.ts +1 -1
- package/dist/compositor/compose.d.ts +11 -2
- package/dist/compositor/compose.js +15 -4
- package/dist/compositor/compositor.d.ts +1 -1
- package/dist/compositor/compositor.js +19 -7
- package/dist/compositor/payloads.d.ts +5 -5
- package/dist/crf.d.ts +1 -1
- package/dist/error-handling/symbolicate-error.js +4 -2
- package/dist/ffmpeg-override.d.ts +1 -1
- package/dist/file-extensions.d.ts +1 -1
- package/dist/frame-range.d.ts +1 -1
- package/dist/get-browser-instance.d.ts +6 -1
- package/dist/get-browser-instance.js +9 -4
- package/dist/get-compositions.d.ts +18 -11
- package/dist/get-compositions.js +66 -49
- package/dist/get-frame-padded-index.d.ts +1 -1
- package/dist/image-format.d.ts +3 -3
- package/dist/index.d.ts +106 -16
- package/dist/index.js +25 -13
- package/dist/jpeg-quality.d.ts +1 -0
- package/dist/jpeg-quality.js +2 -1
- package/dist/log-level.d.ts +1 -1
- package/dist/logger.d.ts +5 -3
- package/dist/logger.js +12 -5
- package/dist/make-cancel-signal.d.ts +2 -2
- package/dist/merge-audio-track.d.ts +1 -1
- package/dist/mime-types.js +1 -1
- package/dist/offthread-video-server.d.ts +36 -4
- package/dist/offthread-video-server.js +48 -4
- package/dist/open-browser.d.ts +19 -10
- package/dist/open-browser.js +34 -21
- package/dist/options/option.d.ts +1 -1
- package/dist/parse-browser-error-stack.d.ts +1 -1
- package/dist/perf.d.ts +1 -1
- package/dist/pixel-format.d.ts +1 -1
- package/dist/prepare-server.d.ts +20 -8
- package/dist/prepare-server.js +52 -8
- package/dist/preprocess-audio-track.d.ts +2 -2
- package/dist/prespawn-ffmpeg.d.ts +1 -1
- package/dist/prespawn-ffmpeg.js +7 -7
- package/dist/prores-profile.d.ts +1 -1
- package/dist/puppeteer-screenshot.js +1 -2
- package/dist/render-frames.d.ts +32 -11
- package/dist/render-frames.js +112 -77
- package/dist/render-media.d.ts +50 -21
- package/dist/render-media.js +249 -197
- package/dist/render-still.d.ts +33 -18
- package/dist/render-still.js +71 -43
- package/dist/replace-browser.d.ts +1 -1
- package/dist/select-composition.d.ts +19 -11
- package/dist/select-composition.js +79 -42
- package/dist/serve-static.d.ts +2 -3
- package/dist/serve-static.js +2 -4
- package/dist/set-props-and-env.d.ts +1 -1
- package/dist/stitch-frames-to-video.d.ts +32 -10
- package/dist/stitch-frames-to-video.js +121 -99
- package/dist/stringify-ffmpeg-filter.d.ts +2 -2
- package/dist/symbolicate-stacktrace.d.ts +16 -3
- package/dist/symbolicate-stacktrace.js +49 -24
- package/dist/truthy.d.ts +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/validate-opengl-renderer.d.ts +1 -1
- package/package.json +11 -11
package/dist/open-browser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openBrowser = exports.killAllBrowsers = void 0;
|
|
3
|
+
exports.openBrowser = exports.internalOpenBrowser = exports.killAllBrowsers = void 0;
|
|
4
4
|
const node_1 = require("./browser/node");
|
|
5
5
|
const get_local_browser_executable_1 = require("./get-local-browser-executable");
|
|
6
6
|
const get_video_threads_flag_1 = require("./get-video-threads-flag");
|
|
@@ -27,23 +27,19 @@ const killAllBrowsers = async () => {
|
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
exports.killAllBrowsers = killAllBrowsers;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* @see [Documentation](https://www.remotion.dev/docs/renderer/open-browser)
|
|
33
|
-
*/
|
|
34
|
-
const openBrowser = async (browser, options) => {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
30
|
+
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, shouldDumpIo, viewport, }) => {
|
|
31
|
+
var _a, _b;
|
|
36
32
|
if (browser === 'firefox') {
|
|
37
33
|
throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
|
|
38
34
|
}
|
|
39
|
-
await (0, get_local_browser_executable_1.ensureLocalBrowser)(browser,
|
|
40
|
-
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browser,
|
|
41
|
-
const customGlRenderer = getOpenGlRenderer((
|
|
35
|
+
await (0, get_local_browser_executable_1.ensureLocalBrowser)(browser, browserExecutable);
|
|
36
|
+
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browser, browserExecutable);
|
|
37
|
+
const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
|
|
42
38
|
const browserInstance = await node_1.puppeteer.launch({
|
|
43
39
|
executablePath,
|
|
44
40
|
product: browser,
|
|
45
|
-
dumpio:
|
|
46
|
-
indent
|
|
41
|
+
dumpio: shouldDumpIo,
|
|
42
|
+
indent,
|
|
47
43
|
args: [
|
|
48
44
|
'about:blank',
|
|
49
45
|
'--allow-pre-commit-input',
|
|
@@ -76,7 +72,7 @@ const openBrowser = async (browser, options) => {
|
|
|
76
72
|
'--enable-blink-features=IdleDetection',
|
|
77
73
|
'--export-tagged-pdf',
|
|
78
74
|
'--intensive-wake-up-throttling-policy=0',
|
|
79
|
-
((
|
|
75
|
+
((_b = chromiumOptions.headless) !== null && _b !== void 0 ? _b : true) ? '--headless' : null,
|
|
80
76
|
'--no-sandbox',
|
|
81
77
|
'--disable-setuid-sandbox',
|
|
82
78
|
...customGlRenderer,
|
|
@@ -94,20 +90,20 @@ const openBrowser = async (browser, options) => {
|
|
|
94
90
|
'--no-pings',
|
|
95
91
|
'--font-render-hinting=none',
|
|
96
92
|
'--no-zygote',
|
|
97
|
-
|
|
98
|
-
?
|
|
99
|
-
:
|
|
100
|
-
|
|
93
|
+
typeof forceDeviceScaleFactor === 'undefined'
|
|
94
|
+
? null
|
|
95
|
+
: `--force-device-scale-factor=${forceDeviceScaleFactor}`,
|
|
96
|
+
chromiumOptions.ignoreCertificateErrors
|
|
101
97
|
? '--ignore-certificate-errors'
|
|
102
98
|
: null,
|
|
103
|
-
...((
|
|
99
|
+
...((chromiumOptions === null || chromiumOptions === void 0 ? void 0 : chromiumOptions.disableWebSecurity)
|
|
104
100
|
? ['--disable-web-security']
|
|
105
101
|
: []),
|
|
106
|
-
(
|
|
107
|
-
? `--user-agent="${
|
|
102
|
+
(chromiumOptions === null || chromiumOptions === void 0 ? void 0 : chromiumOptions.userAgent)
|
|
103
|
+
? `--user-agent="${chromiumOptions.userAgent}"`
|
|
108
104
|
: null,
|
|
109
105
|
].filter(Boolean),
|
|
110
|
-
defaultViewport:
|
|
106
|
+
defaultViewport: viewport !== null && viewport !== void 0 ? viewport : {
|
|
111
107
|
height: 720,
|
|
112
108
|
width: 1280,
|
|
113
109
|
deviceScaleFactor: 1,
|
|
@@ -118,4 +114,21 @@ const openBrowser = async (browser, options) => {
|
|
|
118
114
|
browserInstances.push(browserInstance);
|
|
119
115
|
return browserInstance;
|
|
120
116
|
};
|
|
117
|
+
exports.internalOpenBrowser = internalOpenBrowser;
|
|
118
|
+
/**
|
|
119
|
+
* @description Opens a Chrome or Chromium browser instance.
|
|
120
|
+
* @see [Documentation](https://www.remotion.dev/docs/renderer/open-browser)
|
|
121
|
+
*/
|
|
122
|
+
const openBrowser = (browser, options) => {
|
|
123
|
+
const { browserExecutable, chromiumOptions, forceDeviceScaleFactor, shouldDumpIo, } = options !== null && options !== void 0 ? options : {};
|
|
124
|
+
return (0, exports.internalOpenBrowser)({
|
|
125
|
+
browser,
|
|
126
|
+
browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
|
|
127
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
128
|
+
forceDeviceScaleFactor,
|
|
129
|
+
indent: false,
|
|
130
|
+
shouldDumpIo: shouldDumpIo !== null && shouldDumpIo !== void 0 ? shouldDumpIo : false,
|
|
131
|
+
viewport: null,
|
|
132
|
+
});
|
|
133
|
+
};
|
|
121
134
|
exports.openBrowser = openBrowser;
|
package/dist/options/option.d.ts
CHANGED
package/dist/perf.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type PerfId = 'activate-target' | 'capture' | 'save' | 'extract-frame' | 'piping';
|
|
2
2
|
export declare const startPerfMeasure: (marker: PerfId) => number;
|
|
3
3
|
export declare const stopPerfMeasure: (id: number) => void;
|
|
4
4
|
export declare const getPerf: () => string[];
|
package/dist/pixel-format.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
3
|
-
export
|
|
3
|
+
export type PixelFormat = typeof validPixelFormats[number];
|
|
4
4
|
export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
|
|
5
5
|
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
|
package/dist/prepare-server.d.ts
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
2
2
|
import type { DownloadMap } from './assets/download-map';
|
|
3
3
|
import type { Compositor } from './compositor/compositor';
|
|
4
|
-
|
|
4
|
+
import type { OffthreadVideoServerEmitter } from './offthread-video-server';
|
|
5
|
+
import type { AnySourceMapConsumer } from './symbolicate-stacktrace';
|
|
6
|
+
export type RemotionServer = {
|
|
7
|
+
serveUrl: string;
|
|
8
|
+
closeServer: (force: boolean) => Promise<unknown>;
|
|
9
|
+
offthreadPort: number;
|
|
10
|
+
compositor: Compositor;
|
|
11
|
+
sourceMap: AnySourceMapConsumer | null;
|
|
12
|
+
events: OffthreadVideoServerEmitter;
|
|
13
|
+
downloadMap: DownloadMap;
|
|
14
|
+
};
|
|
15
|
+
type PrepareServerOptions = {
|
|
5
16
|
webpackConfigOrServeUrl: string;
|
|
6
|
-
onDownload: RenderMediaOnDownload;
|
|
7
|
-
onError: (err: Error) => void;
|
|
8
17
|
port: number | null;
|
|
9
|
-
downloadMap: DownloadMap;
|
|
10
18
|
remotionRoot: string;
|
|
11
19
|
concurrency: number;
|
|
12
20
|
verbose: boolean;
|
|
13
21
|
indent: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare const prepareServer: ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency, verbose, indent, }: PrepareServerOptions) => Promise<RemotionServer>;
|
|
24
|
+
export declare const makeOrReuseServer: (server: RemotionServer | undefined, config: PrepareServerOptions, { onDownload, onError, }: {
|
|
25
|
+
onError: (err: Error) => void;
|
|
26
|
+
onDownload: RenderMediaOnDownload | null;
|
|
14
27
|
}) => Promise<{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
offthreadPort: number;
|
|
18
|
-
compositor: Compositor;
|
|
28
|
+
server: RemotionServer;
|
|
29
|
+
cleanupServer: (force: boolean) => Promise<unknown>;
|
|
19
30
|
}>;
|
|
31
|
+
export {};
|
package/dist/prepare-server.js
CHANGED
|
@@ -3,17 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prepareServer = void 0;
|
|
6
|
+
exports.makeOrReuseServer = exports.prepareServer = void 0;
|
|
7
7
|
const node_fs_1 = require("node:fs");
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const remotion_1 = require("remotion");
|
|
10
|
+
const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
|
|
11
|
+
const download_map_1 = require("./assets/download-map");
|
|
9
12
|
const is_serve_url_1 = require("./is-serve-url");
|
|
13
|
+
const logger_1 = require("./logger");
|
|
10
14
|
const serve_static_1 = require("./serve-static");
|
|
15
|
+
const symbolicate_stacktrace_1 = require("./symbolicate-stacktrace");
|
|
11
16
|
const wait_for_symbolication_error_to_be_done_1 = require("./wait-for-symbolication-error-to-be-done");
|
|
12
|
-
const prepareServer = async ({
|
|
17
|
+
const prepareServer = async ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency, verbose, indent, }) => {
|
|
18
|
+
const downloadMap = (0, download_map_1.makeDownloadMap)();
|
|
19
|
+
logger_1.Log.verboseAdvanced({ indent, logLevel: verbose ? 'verbose' : 'info' }, 'Created directory for temporary files', downloadMap.assetDir);
|
|
13
20
|
if ((0, is_serve_url_1.isServeUrl)(webpackConfigOrServeUrl)) {
|
|
14
|
-
const { port: offthreadPort, close: closeProxy, compositor: comp, } = await (0, serve_static_1.serveStatic)(null, {
|
|
15
|
-
onDownload,
|
|
16
|
-
onError,
|
|
21
|
+
const { port: offthreadPort, close: closeProxy, compositor: comp, events, } = await (0, serve_static_1.serveStatic)(null, {
|
|
17
22
|
port,
|
|
18
23
|
downloadMap,
|
|
19
24
|
remotionRoot,
|
|
@@ -24,10 +29,14 @@ const prepareServer = async ({ onDownload, onError, webpackConfigOrServeUrl, por
|
|
|
24
29
|
return Promise.resolve({
|
|
25
30
|
serveUrl: webpackConfigOrServeUrl,
|
|
26
31
|
closeServer: () => {
|
|
32
|
+
(0, download_map_1.cleanDownloadMap)(downloadMap);
|
|
27
33
|
return closeProxy();
|
|
28
34
|
},
|
|
29
35
|
offthreadPort,
|
|
30
36
|
compositor: comp,
|
|
37
|
+
sourceMap: null,
|
|
38
|
+
events,
|
|
39
|
+
downloadMap,
|
|
31
40
|
});
|
|
32
41
|
}
|
|
33
42
|
// Check if the path has a `index.html` file
|
|
@@ -36,9 +45,8 @@ const prepareServer = async ({ onDownload, onError, webpackConfigOrServeUrl, por
|
|
|
36
45
|
if (!exists) {
|
|
37
46
|
throw new Error(`Tried to serve the Webpack bundle on a HTTP server, but the file ${indexFile} does not exist. Is this a valid path to a Webpack bundle?`);
|
|
38
47
|
}
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
onError,
|
|
48
|
+
const sourceMap = (0, symbolicate_stacktrace_1.getSourceMapFromLocalFile)(node_path_1.default.join(webpackConfigOrServeUrl, remotion_1.Internals.bundleName));
|
|
49
|
+
const { port: serverPort, close, compositor, events: newEvents, } = await (0, serve_static_1.serveStatic)(webpackConfigOrServeUrl, {
|
|
42
50
|
port,
|
|
43
51
|
downloadMap,
|
|
44
52
|
remotionRoot,
|
|
@@ -48,6 +56,8 @@ const prepareServer = async ({ onDownload, onError, webpackConfigOrServeUrl, por
|
|
|
48
56
|
});
|
|
49
57
|
return Promise.resolve({
|
|
50
58
|
closeServer: async (force) => {
|
|
59
|
+
sourceMap.then((s) => s === null || s === void 0 ? void 0 : s.destroy());
|
|
60
|
+
(0, download_map_1.cleanDownloadMap)(downloadMap);
|
|
51
61
|
if (!force) {
|
|
52
62
|
await (0, wait_for_symbolication_error_to_be_done_1.waitForSymbolicationToBeDone)();
|
|
53
63
|
}
|
|
@@ -56,6 +66,40 @@ const prepareServer = async ({ onDownload, onError, webpackConfigOrServeUrl, por
|
|
|
56
66
|
serveUrl: `http://localhost:${serverPort}`,
|
|
57
67
|
offthreadPort: serverPort,
|
|
58
68
|
compositor,
|
|
69
|
+
sourceMap: await sourceMap,
|
|
70
|
+
events: newEvents,
|
|
71
|
+
downloadMap,
|
|
59
72
|
});
|
|
60
73
|
};
|
|
61
74
|
exports.prepareServer = prepareServer;
|
|
75
|
+
const makeOrReuseServer = async (server, config, { onDownload, onError, }) => {
|
|
76
|
+
if (server) {
|
|
77
|
+
const cleanupOnDownload = (0, download_and_map_assets_to_file_1.attachDownloadListenerToEmitter)(server.events, onDownload);
|
|
78
|
+
const cleanupError = server.events.addEventListener('error', ({ detail: { error } }) => {
|
|
79
|
+
onError(error);
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
server,
|
|
83
|
+
cleanupServer: () => {
|
|
84
|
+
cleanupOnDownload();
|
|
85
|
+
cleanupError();
|
|
86
|
+
return Promise.resolve();
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const newServer = await (0, exports.prepareServer)(config);
|
|
91
|
+
const cleanupOnDownloadNew = (0, download_and_map_assets_to_file_1.attachDownloadListenerToEmitter)(newServer.events, onDownload);
|
|
92
|
+
const cleanupErrorNew = newServer.events.addEventListener('error', ({ detail: { error } }) => {
|
|
93
|
+
onError(error);
|
|
94
|
+
});
|
|
95
|
+
return {
|
|
96
|
+
server: newServer,
|
|
97
|
+
cleanupServer: (force) => {
|
|
98
|
+
newServer.closeServer(force);
|
|
99
|
+
cleanupOnDownloadNew();
|
|
100
|
+
cleanupErrorNew();
|
|
101
|
+
return Promise.resolve();
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
exports.makeOrReuseServer = makeOrReuseServer;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { DownloadMap } from './assets/download-map';
|
|
2
2
|
import type { MediaAsset } from './assets/types';
|
|
3
3
|
import type { ProcessedTrack } from './stringify-ffmpeg-filter';
|
|
4
|
-
|
|
4
|
+
type Options = {
|
|
5
5
|
outName: string;
|
|
6
6
|
asset: MediaAsset;
|
|
7
7
|
expectedFrames: number;
|
|
8
8
|
fps: number;
|
|
9
9
|
downloadMap: DownloadMap;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type PreprocessedAudioTrack = {
|
|
12
12
|
outName: string;
|
|
13
13
|
filter: ProcessedTrack;
|
|
14
14
|
};
|
|
@@ -4,7 +4,7 @@ import type { VideoImageFormat } from './image-format';
|
|
|
4
4
|
import type { CancelSignal } from './make-cancel-signal';
|
|
5
5
|
import type { PixelFormat } from './pixel-format';
|
|
6
6
|
import type { ProResProfile } from './prores-profile';
|
|
7
|
-
|
|
7
|
+
type PreStitcherOptions = {
|
|
8
8
|
fps: number;
|
|
9
9
|
width: number;
|
|
10
10
|
height: number;
|
package/dist/prespawn-ffmpeg.js
CHANGED
|
@@ -33,29 +33,29 @@ const prespawnFfmpeg = (options) => {
|
|
|
33
33
|
logger_1.Log.verboseAdvanced({
|
|
34
34
|
indent: options.indent,
|
|
35
35
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
36
|
-
tag: '
|
|
36
|
+
tag: 'prespawnFfmpeg()',
|
|
37
37
|
}, 'encoder', encoderName);
|
|
38
38
|
logger_1.Log.verboseAdvanced({
|
|
39
39
|
indent: options.indent,
|
|
40
40
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
41
|
-
tag: '
|
|
41
|
+
tag: 'prespawnFfmpeg()',
|
|
42
42
|
}, 'pixelFormat', pixelFormat);
|
|
43
43
|
if (supportsCrf) {
|
|
44
44
|
logger_1.Log.verboseAdvanced({
|
|
45
45
|
indent: options.indent,
|
|
46
46
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
47
|
-
tag: '
|
|
47
|
+
tag: 'prespawnFfmpeg()',
|
|
48
48
|
}, 'pixelFormat', options.crf);
|
|
49
49
|
}
|
|
50
50
|
logger_1.Log.verboseAdvanced({
|
|
51
51
|
indent: options.indent,
|
|
52
52
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
53
|
-
tag: '
|
|
53
|
+
tag: 'prespawnFfmpeg()',
|
|
54
54
|
}, 'codec', codec);
|
|
55
55
|
logger_1.Log.verboseAdvanced({
|
|
56
56
|
indent: options.indent,
|
|
57
57
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
58
|
-
tag: '
|
|
58
|
+
tag: 'prespawnFfmpeg()',
|
|
59
59
|
}, 'proResProfileName', proResProfileName);
|
|
60
60
|
(0, pixel_format_1.validateSelectedPixelFormatAndCodecCombination)(pixelFormat, codec);
|
|
61
61
|
const ffmpegArgs = [
|
|
@@ -87,12 +87,12 @@ const prespawnFfmpeg = (options) => {
|
|
|
87
87
|
logger_1.Log.verboseAdvanced({
|
|
88
88
|
indent: options.indent,
|
|
89
89
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
90
|
-
tag: '
|
|
90
|
+
tag: 'prespawnFfmpeg()',
|
|
91
91
|
}, 'Generated FFMPEG command:');
|
|
92
92
|
logger_1.Log.verboseAdvanced({
|
|
93
93
|
indent: options.indent,
|
|
94
94
|
logLevel: options.verbose ? 'verbose' : 'info',
|
|
95
|
-
tag: '
|
|
95
|
+
tag: 'prespawnFfmpeg()',
|
|
96
96
|
}, ffmpegArgs.join(' '));
|
|
97
97
|
const ffmpegString = ffmpegArgs.flat(2).filter(Boolean);
|
|
98
98
|
const finalFfmpegString = options.ffmpegOverride
|
package/dist/prores-profile.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
export declare const proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
|
|
3
|
-
export
|
|
3
|
+
export type ProResProfile = typeof proResProfileOptions[number];
|
|
4
4
|
export declare const validateSelectedCodecAndProResCombination: ({ codec, proResProfile, }: {
|
|
5
5
|
codec: Codec;
|
|
6
6
|
proResProfile: ProResProfile | undefined;
|
|
@@ -28,7 +28,6 @@ const assert = __importStar(require("node:assert"));
|
|
|
28
28
|
const screenshot_task_1 = require("./screenshot-task");
|
|
29
29
|
const screenshot = (options) => {
|
|
30
30
|
if (options.jpegQuality) {
|
|
31
|
-
assert.ok(options.type === 'jpeg', `options.quality is unsupported for the ${options.type} screenshots`);
|
|
32
31
|
assert.ok(typeof options.jpegQuality === 'number', 'Expected options.quality to be a number but found ' +
|
|
33
32
|
typeof options.jpegQuality);
|
|
34
33
|
assert.ok(Number.isInteger(options.jpegQuality), 'Expected options.quality to be an integer');
|
|
@@ -42,7 +41,7 @@ const screenshot = (options) => {
|
|
|
42
41
|
width: options.width,
|
|
43
42
|
omitBackground: options.omitBackground,
|
|
44
43
|
path: options.path,
|
|
45
|
-
jpegQuality: options.jpegQuality,
|
|
44
|
+
jpegQuality: options.type === 'jpeg' ? options.jpegQuality : undefined,
|
|
46
45
|
clipRegion: options.clipRegion,
|
|
47
46
|
}));
|
|
48
47
|
};
|
package/dist/render-frames.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { AnySmallCompMetadata } from 'remotion';
|
|
3
3
|
import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
4
|
-
import type { DownloadMap } from './assets/download-map';
|
|
5
4
|
import type { BrowserExecutable } from './browser-executable';
|
|
6
5
|
import type { BrowserLog } from './browser-log';
|
|
7
6
|
import type { HeadlessBrowser } from './browser/Browser';
|
|
@@ -9,8 +8,38 @@ import type { FrameRange } from './frame-range';
|
|
|
9
8
|
import type { VideoImageFormat } from './image-format';
|
|
10
9
|
import type { CancelSignal } from './make-cancel-signal';
|
|
11
10
|
import type { ChromiumOptions } from './open-browser';
|
|
11
|
+
import type { RemotionServer } from './prepare-server';
|
|
12
12
|
import type { OnStartData, RenderFramesOutput } from './types';
|
|
13
|
-
|
|
13
|
+
export type InternalRenderFramesOptions = {
|
|
14
|
+
onStart: null | ((data: OnStartData) => void);
|
|
15
|
+
onFrameUpdate: null | ((framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void);
|
|
16
|
+
outputDir: string | null;
|
|
17
|
+
inputProps: Record<string, unknown>;
|
|
18
|
+
envVariables: Record<string, string>;
|
|
19
|
+
imageFormat: VideoImageFormat;
|
|
20
|
+
jpegQuality: number;
|
|
21
|
+
frameRange: FrameRange | null;
|
|
22
|
+
everyNthFrame: number;
|
|
23
|
+
dumpBrowserLogs: boolean;
|
|
24
|
+
puppeteerInstance: HeadlessBrowser | undefined;
|
|
25
|
+
browserExecutable: BrowserExecutable | null;
|
|
26
|
+
onBrowserLog: null | ((log: BrowserLog) => void);
|
|
27
|
+
onFrameBuffer: null | ((buffer: Buffer, frame: number) => void);
|
|
28
|
+
onDownload: RenderMediaOnDownload | null;
|
|
29
|
+
timeoutInMilliseconds: number;
|
|
30
|
+
chromiumOptions: ChromiumOptions;
|
|
31
|
+
scale: number;
|
|
32
|
+
port: number | null;
|
|
33
|
+
cancelSignal: CancelSignal | undefined;
|
|
34
|
+
composition: AnySmallCompMetadata;
|
|
35
|
+
indent: boolean;
|
|
36
|
+
server: RemotionServer | undefined;
|
|
37
|
+
muted: boolean;
|
|
38
|
+
concurrency: number | string | null;
|
|
39
|
+
webpackBundleOrServeUrl: string;
|
|
40
|
+
verbose: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type RenderFramesOptions = {
|
|
14
43
|
onStart: (data: OnStartData) => void;
|
|
15
44
|
onFrameUpdate: (framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void;
|
|
16
45
|
outputDir: string | null;
|
|
@@ -36,22 +65,14 @@ declare type RenderFramesOptions = {
|
|
|
36
65
|
port?: number | null;
|
|
37
66
|
cancelSignal?: CancelSignal;
|
|
38
67
|
composition: AnySmallCompMetadata;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Only for Remotion internal usage
|
|
41
|
-
*/
|
|
42
|
-
downloadMap?: DownloadMap;
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Only for Remotion internal usage
|
|
45
|
-
*/
|
|
46
|
-
indent?: boolean;
|
|
47
68
|
muted?: boolean;
|
|
48
69
|
concurrency?: number | string | null;
|
|
49
70
|
serveUrl: string;
|
|
50
71
|
verbose?: boolean;
|
|
51
72
|
};
|
|
73
|
+
export declare const internalRenderFrames: ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency, dumpBrowserLogs, envVariables, everyNthFrame, frameRange, imageFormat, indent, inputProps, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, onFrameUpdate, onStart, outputDir, port, puppeteerInstance, scale, server, timeoutInMilliseconds, verbose, webpackBundleOrServeUrl, }: InternalRenderFramesOptions) => Promise<RenderFramesOutput>;
|
|
52
74
|
/**
|
|
53
75
|
* @description Renders a series of images using Puppeteer and computes information for mixing audio.
|
|
54
76
|
* @see [Documentation](https://www.remotion.dev/docs/renderer/render-frames)
|
|
55
77
|
*/
|
|
56
78
|
export declare const renderFrames: (options: RenderFramesOptions) => Promise<RenderFramesOutput>;
|
|
57
|
-
export {};
|