@remotion/renderer 4.1.0-alpha3 → 4.1.0-alpha5
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/browser/Browser.d.ts +7 -6
- package/dist/browser/Browser.js +13 -13
- package/dist/browser/BrowserPage.d.ts +13 -2
- package/dist/browser/BrowserPage.js +45 -13
- package/dist/browser/BrowserRunner.js +2 -2
- package/dist/browser/Connection.d.ts +9 -3
- package/dist/browser/Connection.js +11 -3
- package/dist/browser/ConsoleMessage.d.ts +8 -1
- package/dist/browser/ConsoleMessage.js +2 -1
- package/dist/browser/ExecutionContext.js +4 -4
- package/dist/browser/FrameManager.js +2 -2
- package/dist/browser/LaunchOptions.d.ts +2 -0
- package/dist/browser/Launcher.js +2 -1
- package/dist/browser/NetworkManager.d.ts +4 -1
- package/dist/browser/Target.d.ts +2 -1
- package/dist/browser/Target.js +3 -1
- package/dist/browser/devtools-types.d.ts +59 -0
- package/dist/browser/should-log-message.js +8 -0
- package/dist/chalk/index.d.ts +2 -1
- package/dist/chalk/index.js +3 -8
- package/dist/chalk/is-color-supported.d.ts +1 -1
- package/dist/chalk/is-color-supported.js +18 -10
- package/dist/compositor/compositor.d.ts +3 -2
- package/dist/compositor/compositor.js +6 -5
- package/dist/create-ffmpeg-merge-filter.js +1 -2
- package/dist/cycle-browser-tabs.d.ts +2 -1
- package/dist/cycle-browser-tabs.js +2 -2
- package/dist/format-logs.d.ts +3 -0
- package/dist/format-logs.js +201 -0
- package/dist/get-browser-instance.d.ts +3 -2
- package/dist/get-browser-instance.js +5 -5
- package/dist/get-compositions.d.ts +6 -5
- package/dist/get-compositions.js +7 -6
- package/dist/index.d.ts +21 -19
- package/dist/logger.d.ts +1 -2
- package/dist/logger.js +7 -12
- package/dist/offthread-video-server.d.ts +3 -2
- package/dist/offthread-video-server.js +4 -3
- package/dist/open-browser.d.ts +3 -2
- package/dist/open-browser.js +7 -5
- package/dist/perf.js +4 -2
- package/dist/prepare-server.d.ts +3 -2
- package/dist/prepare-server.js +4 -4
- package/dist/prespawn-ffmpeg.d.ts +2 -1
- package/dist/prespawn-ffmpeg.js +2 -30
- package/dist/puppeteer-evaluate.d.ts +4 -1
- package/dist/puppeteer-evaluate.js +5 -5
- package/dist/render-frames.d.ts +14 -7
- package/dist/render-frames.js +18 -14
- package/dist/render-media.d.ts +14 -7
- package/dist/render-media.js +12 -14
- package/dist/render-still.d.ts +11 -5
- package/dist/render-still.js +11 -11
- package/dist/replace-browser.d.ts +2 -1
- package/dist/replace-browser.js +2 -2
- package/dist/screenshot-task.js +4 -2
- package/dist/seek-to-frame.js +1 -1
- package/dist/select-composition.d.ts +9 -4
- package/dist/select-composition.js +15 -14
- package/dist/serve-static.d.ts +2 -1
- package/dist/serve-static.js +1 -1
- package/dist/set-props-and-env.js +5 -5
- package/dist/stitch-frames-to-video.d.ts +2 -1
- package/dist/stitch-frames-to-video.js +12 -22
- package/dist/take-frame-and-compose.js +1 -1
- package/package.json +9 -9
package/dist/logger.js
CHANGED
|
@@ -7,11 +7,11 @@ const log_level_1 = require("./log-level");
|
|
|
7
7
|
const truthy_1 = require("./truthy");
|
|
8
8
|
exports.INDENT_TOKEN = chalk_1.chalk.gray('│');
|
|
9
9
|
const verboseTag = (str) => {
|
|
10
|
-
return is_color_supported_1.isColorSupported ? chalk_1.chalk.bgBlack(` ${str} `) : `[${str}]`;
|
|
10
|
+
return (0, is_color_supported_1.isColorSupported)() ? chalk_1.chalk.bgBlack(` ${str} `) : `[${str}]`;
|
|
11
11
|
};
|
|
12
12
|
exports.verboseTag = verboseTag;
|
|
13
13
|
const secondverboseTag = (str) => {
|
|
14
|
-
return is_color_supported_1.isColorSupported ? chalk_1.chalk.bgWhite(` ${str} `) : `[${str}]`;
|
|
14
|
+
return (0, is_color_supported_1.isColorSupported)() ? chalk_1.chalk.bgWhite(` ${str} `) : `[${str}]`;
|
|
15
15
|
};
|
|
16
16
|
exports.secondverboseTag = secondverboseTag;
|
|
17
17
|
exports.Log = {
|
|
@@ -22,12 +22,7 @@ exports.Log = {
|
|
|
22
22
|
if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'verbose')) {
|
|
23
23
|
return console.log(...[
|
|
24
24
|
options.indent ? exports.INDENT_TOKEN : null,
|
|
25
|
-
|
|
26
|
-
options.tag ? (0, exports.verboseTag)(options.tag) : null,
|
|
27
|
-
options.secondTag ? (0, exports.secondverboseTag)(options.secondTag) : null,
|
|
28
|
-
]
|
|
29
|
-
.filter(truthy_1.truthy)
|
|
30
|
-
.join(''),
|
|
25
|
+
options.tag ? (0, exports.verboseTag)(options.tag) : null,
|
|
31
26
|
...args.map((a) => chalk_1.chalk.gray(a)),
|
|
32
27
|
].filter(truthy_1.truthy));
|
|
33
28
|
}
|
|
@@ -36,12 +31,12 @@ exports.Log = {
|
|
|
36
31
|
exports.Log.infoAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
|
|
37
32
|
},
|
|
38
33
|
infoAdvanced: (options, ...args) => {
|
|
39
|
-
|
|
40
|
-
return console.log(...[options.indent ? exports.INDENT_TOKEN : null, ...args].filter(truthy_1.truthy));
|
|
41
|
-
}
|
|
34
|
+
return console.log(...[options.indent ? exports.INDENT_TOKEN : null, ...args].filter(truthy_1.truthy));
|
|
42
35
|
},
|
|
43
36
|
warn: (...args) => {
|
|
44
|
-
|
|
37
|
+
if ((0, log_level_1.isEqualOrBelowLogLevel)((0, exports.getLogLevel)(), 'warn')) {
|
|
38
|
+
exports.Log.warnAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
|
|
39
|
+
}
|
|
45
40
|
},
|
|
46
41
|
warnAdvanced: (options, ...args) => {
|
|
47
42
|
if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'warn')) {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { RequestListener } from 'node:http';
|
|
2
2
|
import type { DownloadMap } from './assets/download-map';
|
|
3
3
|
import type { Compositor } from './compositor/compositor';
|
|
4
|
+
import type { LogLevel } from './log-level';
|
|
4
5
|
export declare const extractUrlAndSourceFromUrl: (url: string) => {
|
|
5
6
|
src: string;
|
|
6
7
|
time: number;
|
|
7
8
|
transparent: boolean;
|
|
8
9
|
};
|
|
9
|
-
export declare const startOffthreadVideoServer: ({ downloadMap, concurrency,
|
|
10
|
+
export declare const startOffthreadVideoServer: ({ downloadMap, concurrency, logLevel, indent, }: {
|
|
10
11
|
downloadMap: DownloadMap;
|
|
11
12
|
concurrency: number;
|
|
12
|
-
|
|
13
|
+
logLevel: LogLevel;
|
|
13
14
|
indent: boolean;
|
|
14
15
|
}) => {
|
|
15
16
|
listener: RequestListener;
|
|
@@ -4,6 +4,7 @@ exports.OffthreadVideoServerEmitter = exports.startOffthreadVideoServer = export
|
|
|
4
4
|
const node_url_1 = require("node:url");
|
|
5
5
|
const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
|
|
6
6
|
const compositor_1 = require("./compositor/compositor");
|
|
7
|
+
const log_level_1 = require("./log-level");
|
|
7
8
|
const extractUrlAndSourceFromUrl = (url) => {
|
|
8
9
|
const parsed = new URL(url, 'http://localhost');
|
|
9
10
|
const query = parsed.search;
|
|
@@ -27,13 +28,13 @@ const extractUrlAndSourceFromUrl = (url) => {
|
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
exports.extractUrlAndSourceFromUrl = extractUrlAndSourceFromUrl;
|
|
30
|
-
const startOffthreadVideoServer = ({ downloadMap, concurrency,
|
|
31
|
+
const startOffthreadVideoServer = ({ downloadMap, concurrency, logLevel, indent, }) => {
|
|
31
32
|
const events = new OffthreadVideoServerEmitter();
|
|
32
33
|
const compositor = (0, compositor_1.startCompositor)('StartLongRunningProcess', {
|
|
33
34
|
concurrency,
|
|
34
35
|
maximum_frame_cache_items: (0, compositor_1.getIdealMaximumFrameCacheItems)(),
|
|
35
|
-
verbose,
|
|
36
|
-
}, indent);
|
|
36
|
+
verbose: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
|
|
37
|
+
}, logLevel, indent);
|
|
37
38
|
return {
|
|
38
39
|
close: () => {
|
|
39
40
|
compositor.finishCommands();
|
package/dist/open-browser.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Browser } from './browser';
|
|
2
2
|
import type { HeadlessBrowser } from './browser/Browser';
|
|
3
3
|
import type { Viewport } from './browser/PuppeteerViewport';
|
|
4
|
+
import { type LogLevel } from './log-level';
|
|
4
5
|
declare const validRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
|
|
5
6
|
type OpenGlRenderer = typeof validRenderers[number];
|
|
6
7
|
export type ChromiumOptions = {
|
|
@@ -12,13 +13,13 @@ export type ChromiumOptions = {
|
|
|
12
13
|
};
|
|
13
14
|
export declare const killAllBrowsers: () => Promise<void>;
|
|
14
15
|
type InternalOpenBrowserOptions = {
|
|
15
|
-
shouldDumpIo: boolean;
|
|
16
16
|
browserExecutable: string | null;
|
|
17
17
|
chromiumOptions: ChromiumOptions;
|
|
18
18
|
forceDeviceScaleFactor: number | undefined;
|
|
19
19
|
viewport: Viewport | null;
|
|
20
20
|
indent: boolean;
|
|
21
21
|
browser: Browser;
|
|
22
|
+
logLevel: LogLevel;
|
|
22
23
|
};
|
|
23
24
|
export type OpenBrowserOptions = {
|
|
24
25
|
shouldDumpIo?: boolean;
|
|
@@ -26,7 +27,7 @@ export type OpenBrowserOptions = {
|
|
|
26
27
|
chromiumOptions?: ChromiumOptions;
|
|
27
28
|
forceDeviceScaleFactor?: number;
|
|
28
29
|
};
|
|
29
|
-
export declare const internalOpenBrowser: ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent,
|
|
30
|
+
export declare const internalOpenBrowser: ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, }: InternalOpenBrowserOptions) => Promise<HeadlessBrowser>;
|
|
30
31
|
/**
|
|
31
32
|
* @description Opens a Chrome or Chromium browser instance.
|
|
32
33
|
* @see [Documentation](https://www.remotion.dev/docs/renderer/open-browser)
|
package/dist/open-browser.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.openBrowser = exports.internalOpenBrowser = exports.killAllBrowsers = vo
|
|
|
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");
|
|
7
|
+
const log_level_1 = require("./log-level");
|
|
7
8
|
const validate_opengl_renderer_1 = require("./validate-opengl-renderer");
|
|
8
9
|
const validRenderers = ['swangle', 'angle', 'egl', 'swiftshader'];
|
|
9
10
|
const getOpenGlRenderer = (option) => {
|
|
@@ -21,13 +22,13 @@ const browserInstances = [];
|
|
|
21
22
|
const killAllBrowsers = async () => {
|
|
22
23
|
for (const browser of browserInstances) {
|
|
23
24
|
try {
|
|
24
|
-
await browser.close(true);
|
|
25
|
+
await browser.close(true, 'info', false);
|
|
25
26
|
}
|
|
26
27
|
catch (err) { }
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
exports.killAllBrowsers = killAllBrowsers;
|
|
30
|
-
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent,
|
|
31
|
+
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, }) => {
|
|
31
32
|
var _a, _b;
|
|
32
33
|
if (browser === 'firefox') {
|
|
33
34
|
throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
|
|
@@ -38,7 +39,8 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
38
39
|
const browserInstance = await node_1.puppeteer.launch({
|
|
39
40
|
executablePath,
|
|
40
41
|
product: browser,
|
|
41
|
-
dumpio:
|
|
42
|
+
dumpio: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
|
|
43
|
+
logLevel,
|
|
42
44
|
indent,
|
|
43
45
|
args: [
|
|
44
46
|
'about:blank',
|
|
@@ -109,7 +111,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
109
111
|
deviceScaleFactor: 1,
|
|
110
112
|
},
|
|
111
113
|
});
|
|
112
|
-
const pages = await browserInstance.pages();
|
|
114
|
+
const pages = await browserInstance.pages(logLevel, indent);
|
|
113
115
|
await pages[0].close();
|
|
114
116
|
browserInstances.push(browserInstance);
|
|
115
117
|
return browserInstance;
|
|
@@ -127,8 +129,8 @@ const openBrowser = (browser, options) => {
|
|
|
127
129
|
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
128
130
|
forceDeviceScaleFactor,
|
|
129
131
|
indent: false,
|
|
130
|
-
shouldDumpIo: shouldDumpIo !== null && shouldDumpIo !== void 0 ? shouldDumpIo : false,
|
|
131
132
|
viewport: null,
|
|
133
|
+
logLevel: shouldDumpIo ? 'verbose' : 'info',
|
|
132
134
|
});
|
|
133
135
|
};
|
|
134
136
|
exports.openBrowser = openBrowser;
|
package/dist/perf.js
CHANGED
|
@@ -29,8 +29,10 @@ exports.stopPerfMeasure = stopPerfMeasure;
|
|
|
29
29
|
const getPerf = () => {
|
|
30
30
|
return [
|
|
31
31
|
'Render performance:',
|
|
32
|
-
...Object.keys(perf)
|
|
33
|
-
|
|
32
|
+
...Object.keys(perf)
|
|
33
|
+
.filter((p) => perf[p].length)
|
|
34
|
+
.map((p) => {
|
|
35
|
+
return ` ${p} => ${perf[p].reduce((a, b) => a + b, 0) / perf[p].length}ms (n = ${perf[p].length})`;
|
|
34
36
|
}),
|
|
35
37
|
];
|
|
36
38
|
};
|
package/dist/prepare-server.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ 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
5
|
import type { AnySourceMapConsumer } from './symbolicate-stacktrace';
|
|
6
|
+
import type { LogLevel } from './log-level';
|
|
6
7
|
export type RemotionServer = {
|
|
7
8
|
serveUrl: string;
|
|
8
9
|
closeServer: (force: boolean) => Promise<unknown>;
|
|
@@ -17,10 +18,10 @@ type PrepareServerOptions = {
|
|
|
17
18
|
port: number | null;
|
|
18
19
|
remotionRoot: string;
|
|
19
20
|
concurrency: number;
|
|
20
|
-
|
|
21
|
+
logLevel: LogLevel;
|
|
21
22
|
indent: boolean;
|
|
22
23
|
};
|
|
23
|
-
export declare const prepareServer: ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency,
|
|
24
|
+
export declare const prepareServer: ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency, logLevel, indent, }: PrepareServerOptions) => Promise<RemotionServer>;
|
|
24
25
|
export declare const makeOrReuseServer: (server: RemotionServer | undefined, config: PrepareServerOptions, { onDownload, onError, }: {
|
|
25
26
|
onError: (err: Error) => void;
|
|
26
27
|
onDownload: RenderMediaOnDownload | null;
|
package/dist/prepare-server.js
CHANGED
|
@@ -14,16 +14,16 @@ const logger_1 = require("./logger");
|
|
|
14
14
|
const serve_static_1 = require("./serve-static");
|
|
15
15
|
const symbolicate_stacktrace_1 = require("./symbolicate-stacktrace");
|
|
16
16
|
const wait_for_symbolication_error_to_be_done_1 = require("./wait-for-symbolication-error-to-be-done");
|
|
17
|
-
const prepareServer = async ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency,
|
|
17
|
+
const prepareServer = async ({ webpackConfigOrServeUrl, port, remotionRoot, concurrency, logLevel, indent, }) => {
|
|
18
18
|
const downloadMap = (0, download_map_1.makeDownloadMap)();
|
|
19
|
-
logger_1.Log.verboseAdvanced({ indent, logLevel
|
|
19
|
+
logger_1.Log.verboseAdvanced({ indent, logLevel }, 'Created directory for temporary files', downloadMap.assetDir);
|
|
20
20
|
if ((0, is_serve_url_1.isServeUrl)(webpackConfigOrServeUrl)) {
|
|
21
21
|
const { port: offthreadPort, close: closeProxy, compositor: comp, events, } = await (0, serve_static_1.serveStatic)(null, {
|
|
22
22
|
port,
|
|
23
23
|
downloadMap,
|
|
24
24
|
remotionRoot,
|
|
25
25
|
concurrency,
|
|
26
|
-
|
|
26
|
+
logLevel,
|
|
27
27
|
indent,
|
|
28
28
|
});
|
|
29
29
|
return Promise.resolve({
|
|
@@ -51,7 +51,7 @@ const prepareServer = async ({ webpackConfigOrServeUrl, port, remotionRoot, conc
|
|
|
51
51
|
downloadMap,
|
|
52
52
|
remotionRoot,
|
|
53
53
|
concurrency,
|
|
54
|
-
|
|
54
|
+
logLevel,
|
|
55
55
|
indent,
|
|
56
56
|
});
|
|
57
57
|
return Promise.resolve({
|
|
@@ -4,6 +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
|
+
import type { LogLevel } from './log-level';
|
|
7
8
|
type RunningStatus = {
|
|
8
9
|
type: 'running';
|
|
9
10
|
} | {
|
|
@@ -24,7 +25,7 @@ type PreStitcherOptions = {
|
|
|
24
25
|
crf: number | null | undefined;
|
|
25
26
|
onProgress: (progress: number) => void;
|
|
26
27
|
proResProfile: ProResProfile | undefined;
|
|
27
|
-
|
|
28
|
+
logLevel: LogLevel;
|
|
28
29
|
imageFormat: VideoImageFormat;
|
|
29
30
|
ffmpegOverride: FfmpegOverrideFn;
|
|
30
31
|
signal: CancelSignal;
|
package/dist/prespawn-ffmpeg.js
CHANGED
|
@@ -29,34 +29,6 @@ const prespawnFfmpeg = (options) => {
|
|
|
29
29
|
if (encoderName === null) {
|
|
30
30
|
throw new TypeError('encoderName is null: ' + JSON.stringify(options));
|
|
31
31
|
}
|
|
32
|
-
const supportsCrf = codec !== 'prores';
|
|
33
|
-
logger_1.Log.verboseAdvanced({
|
|
34
|
-
indent: options.indent,
|
|
35
|
-
logLevel: options.verbose ? 'verbose' : 'info',
|
|
36
|
-
tag: 'prespawnFfmpeg()',
|
|
37
|
-
}, 'encoder', encoderName);
|
|
38
|
-
logger_1.Log.verboseAdvanced({
|
|
39
|
-
indent: options.indent,
|
|
40
|
-
logLevel: options.verbose ? 'verbose' : 'info',
|
|
41
|
-
tag: 'prespawnFfmpeg()',
|
|
42
|
-
}, 'pixelFormat', pixelFormat);
|
|
43
|
-
if (supportsCrf) {
|
|
44
|
-
logger_1.Log.verboseAdvanced({
|
|
45
|
-
indent: options.indent,
|
|
46
|
-
logLevel: options.verbose ? 'verbose' : 'info',
|
|
47
|
-
tag: 'prespawnFfmpeg()',
|
|
48
|
-
}, 'pixelFormat', options.crf);
|
|
49
|
-
}
|
|
50
|
-
logger_1.Log.verboseAdvanced({
|
|
51
|
-
indent: options.indent,
|
|
52
|
-
logLevel: options.verbose ? 'verbose' : 'info',
|
|
53
|
-
tag: 'prespawnFfmpeg()',
|
|
54
|
-
}, 'codec', codec);
|
|
55
|
-
logger_1.Log.verboseAdvanced({
|
|
56
|
-
indent: options.indent,
|
|
57
|
-
logLevel: options.verbose ? 'verbose' : 'info',
|
|
58
|
-
tag: 'prespawnFfmpeg()',
|
|
59
|
-
}, 'proResProfileName', proResProfileName);
|
|
60
32
|
(0, pixel_format_1.validateSelectedPixelFormatAndCodecCombination)(pixelFormat, codec);
|
|
61
33
|
const ffmpegArgs = [
|
|
62
34
|
['-r', options.fps.toFixed(2)],
|
|
@@ -86,12 +58,12 @@ const prespawnFfmpeg = (options) => {
|
|
|
86
58
|
];
|
|
87
59
|
logger_1.Log.verboseAdvanced({
|
|
88
60
|
indent: options.indent,
|
|
89
|
-
logLevel: options.
|
|
61
|
+
logLevel: options.logLevel,
|
|
90
62
|
tag: 'prespawnFfmpeg()',
|
|
91
63
|
}, 'Generated FFMPEG command:');
|
|
92
64
|
logger_1.Log.verboseAdvanced({
|
|
93
65
|
indent: options.indent,
|
|
94
|
-
logLevel: options.
|
|
66
|
+
logLevel: options.logLevel,
|
|
95
67
|
tag: 'prespawnFfmpeg()',
|
|
96
68
|
}, ffmpegArgs.join(' '));
|
|
97
69
|
const ffmpegString = ffmpegArgs.flat(2).filter(Boolean);
|
|
@@ -39,13 +39,13 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
39
39
|
const expressionWithSourceUrl = SOURCE_URL_REGEX.test(expression)
|
|
40
40
|
? expression
|
|
41
41
|
: expression + '\n' + suffix;
|
|
42
|
-
const { exceptionDetails: exceptDetails, result: remotObject } =
|
|
42
|
+
const { value: { exceptionDetails: exceptDetails, result: remotObject }, size, } = await client.send('Runtime.evaluate', {
|
|
43
43
|
expression: expressionWithSourceUrl,
|
|
44
44
|
contextId,
|
|
45
45
|
returnByValue: true,
|
|
46
46
|
awaitPromise: true,
|
|
47
47
|
userGesture: true,
|
|
48
|
-
})
|
|
48
|
+
});
|
|
49
49
|
if (exceptDetails === null || exceptDetails === void 0 ? void 0 : exceptDetails.exception) {
|
|
50
50
|
const err = new symbolicateable_error_1.SymbolicateableError({
|
|
51
51
|
stack: exceptDetails.exception.description,
|
|
@@ -56,7 +56,7 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
56
56
|
});
|
|
57
57
|
throw err;
|
|
58
58
|
}
|
|
59
|
-
return valueFromRemoteObject(remotObject);
|
|
59
|
+
return { value: valueFromRemoteObject(remotObject), size };
|
|
60
60
|
}
|
|
61
61
|
if (typeof pageFunction !== 'function')
|
|
62
62
|
throw new Error(`Expected to get |string| or |function| as the first argument, but got "${pageFunction}" instead.`);
|
|
@@ -100,7 +100,7 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
100
100
|
throw error;
|
|
101
101
|
}
|
|
102
102
|
try {
|
|
103
|
-
const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise;
|
|
103
|
+
const { value: { exceptionDetails, result: remoteObject }, size, } = await callFunctionOnPromise;
|
|
104
104
|
if (exceptionDetails) {
|
|
105
105
|
const err = new symbolicateable_error_1.SymbolicateableError({
|
|
106
106
|
stack: (_c = exceptionDetails.exception) === null || _c === void 0 ? void 0 : _c.description,
|
|
@@ -111,7 +111,7 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
111
111
|
});
|
|
112
112
|
throw err;
|
|
113
113
|
}
|
|
114
|
-
return valueFromRemoteObject(remoteObject);
|
|
114
|
+
return { size, value: valueFromRemoteObject(remoteObject) };
|
|
115
115
|
}
|
|
116
116
|
catch (error) {
|
|
117
117
|
if ((_h = error === null || error === void 0 ? void 0 : error.originalMessage) === null || _h === void 0 ? void 0 : _h.startsWith("Object couldn't be returned by value")) {
|
package/dist/render-frames.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type {
|
|
2
|
+
import type { VideoConfig } from 'remotion';
|
|
3
3
|
import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
4
4
|
import type { BrowserExecutable } from './browser-executable';
|
|
5
5
|
import type { BrowserLog } from './browser-log';
|
|
@@ -10,6 +10,7 @@ import type { CancelSignal } from './make-cancel-signal';
|
|
|
10
10
|
import type { ChromiumOptions } from './open-browser';
|
|
11
11
|
import type { RemotionServer } from './prepare-server';
|
|
12
12
|
import type { OnStartData, RenderFramesOutput } from './types';
|
|
13
|
+
import { type LogLevel } from './log-level';
|
|
13
14
|
export type InternalRenderFramesOptions = {
|
|
14
15
|
onStart: null | ((data: OnStartData) => void);
|
|
15
16
|
onFrameUpdate: null | ((framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void);
|
|
@@ -20,7 +21,6 @@ export type InternalRenderFramesOptions = {
|
|
|
20
21
|
jpegQuality: number;
|
|
21
22
|
frameRange: FrameRange | null;
|
|
22
23
|
everyNthFrame: number;
|
|
23
|
-
dumpBrowserLogs: boolean;
|
|
24
24
|
puppeteerInstance: HeadlessBrowser | undefined;
|
|
25
25
|
browserExecutable: BrowserExecutable | null;
|
|
26
26
|
onBrowserLog: null | ((log: BrowserLog) => void);
|
|
@@ -31,13 +31,13 @@ export type InternalRenderFramesOptions = {
|
|
|
31
31
|
scale: number;
|
|
32
32
|
port: number | null;
|
|
33
33
|
cancelSignal: CancelSignal | undefined;
|
|
34
|
-
composition:
|
|
34
|
+
composition: VideoConfig;
|
|
35
35
|
indent: boolean;
|
|
36
36
|
server: RemotionServer | undefined;
|
|
37
37
|
muted: boolean;
|
|
38
38
|
concurrency: number | string | null;
|
|
39
39
|
webpackBundleOrServeUrl: string;
|
|
40
|
-
|
|
40
|
+
logLevel: LogLevel;
|
|
41
41
|
};
|
|
42
42
|
export type RenderFramesOptions = {
|
|
43
43
|
onStart: (data: OnStartData) => void;
|
|
@@ -53,7 +53,15 @@ export type RenderFramesOptions = {
|
|
|
53
53
|
jpegQuality?: number;
|
|
54
54
|
frameRange?: FrameRange | null;
|
|
55
55
|
everyNthFrame?: number;
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated Use "logLevel": "verbose" instead
|
|
58
|
+
*/
|
|
56
59
|
dumpBrowserLogs?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @deprecated Use "logLevel" instead
|
|
62
|
+
*/
|
|
63
|
+
verbose?: boolean;
|
|
64
|
+
logLevel?: LogLevel;
|
|
57
65
|
puppeteerInstance?: HeadlessBrowser;
|
|
58
66
|
browserExecutable?: BrowserExecutable;
|
|
59
67
|
onBrowserLog?: (log: BrowserLog) => void;
|
|
@@ -64,13 +72,12 @@ export type RenderFramesOptions = {
|
|
|
64
72
|
scale?: number;
|
|
65
73
|
port?: number | null;
|
|
66
74
|
cancelSignal?: CancelSignal;
|
|
67
|
-
composition:
|
|
75
|
+
composition: VideoConfig;
|
|
68
76
|
muted?: boolean;
|
|
69
77
|
concurrency?: number | string | null;
|
|
70
78
|
serveUrl: string;
|
|
71
|
-
verbose?: boolean;
|
|
72
79
|
};
|
|
73
|
-
export declare const internalRenderFrames: ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency,
|
|
80
|
+
export declare const internalRenderFrames: ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency, envVariables, everyNthFrame, frameRange, imageFormat, indent, inputProps, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, onFrameUpdate, onStart, outputDir, port, puppeteerInstance, scale, server, timeoutInMilliseconds, logLevel, webpackBundleOrServeUrl, }: InternalRenderFramesOptions) => Promise<RenderFramesOutput>;
|
|
74
81
|
/**
|
|
75
82
|
* @description Renders a series of images using Puppeteer and computes information for mixing audio.
|
|
76
83
|
* @see [Documentation](https://www.remotion.dev/docs/renderer/render-frames)
|
package/dist/render-frames.js
CHANGED
|
@@ -33,8 +33,9 @@ const set_props_and_env_1 = require("./set-props-and-env");
|
|
|
33
33
|
const take_frame_and_compose_1 = require("./take-frame-and-compose");
|
|
34
34
|
const truthy_1 = require("./truthy");
|
|
35
35
|
const validate_scale_1 = require("./validate-scale");
|
|
36
|
+
const logger_1 = require("./logger");
|
|
36
37
|
const MAX_RETRIES_PER_FRAME = 1;
|
|
37
|
-
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourcemapContext, }) => {
|
|
38
|
+
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourcemapContext, logLevel, indent, }) => {
|
|
38
39
|
if (outputDir) {
|
|
39
40
|
if (!node_fs_1.default.existsSync(outputDir)) {
|
|
40
41
|
node_fs_1.default.mkdirSync(outputDir, {
|
|
@@ -47,7 +48,9 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps
|
|
|
47
48
|
const framesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame);
|
|
48
49
|
const lastFrame = framesToRender[framesToRender.length - 1];
|
|
49
50
|
const makePage = async (context) => {
|
|
50
|
-
const page = await browserReplacer
|
|
51
|
+
const page = await browserReplacer
|
|
52
|
+
.getBrowser()
|
|
53
|
+
.newPage(context, logLevel, indent);
|
|
51
54
|
pagesArray.push(page);
|
|
52
55
|
await page.setViewport({
|
|
53
56
|
width: composition.width,
|
|
@@ -79,11 +82,11 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps
|
|
|
79
82
|
});
|
|
80
83
|
await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
|
|
81
84
|
// eslint-disable-next-line max-params
|
|
82
|
-
pageFunction: (id,
|
|
85
|
+
pageFunction: (id, props, durationInFrames, fps, height, width) => {
|
|
83
86
|
window.remotion_setBundleMode({
|
|
84
87
|
type: 'composition',
|
|
85
88
|
compositionName: id,
|
|
86
|
-
|
|
89
|
+
props,
|
|
87
90
|
compositionDurationInFrames: durationInFrames,
|
|
88
91
|
compositionFps: fps,
|
|
89
92
|
compositionHeight: height,
|
|
@@ -92,7 +95,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps
|
|
|
92
95
|
},
|
|
93
96
|
args: [
|
|
94
97
|
composition.id,
|
|
95
|
-
composition.
|
|
98
|
+
composition.props,
|
|
96
99
|
composition.durationInFrames,
|
|
97
100
|
composition.fps,
|
|
98
101
|
composition.height,
|
|
@@ -283,7 +286,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, inputProps
|
|
|
283
286
|
await Promise.all(downloadPromises);
|
|
284
287
|
return result;
|
|
285
288
|
};
|
|
286
|
-
const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency,
|
|
289
|
+
const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions, composition, concurrency, envVariables, everyNthFrame, frameRange, imageFormat, indent, inputProps, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, onFrameUpdate, onStart, outputDir, port, puppeteerInstance, scale, server, timeoutInMilliseconds, logLevel, webpackBundleOrServeUrl, }) => {
|
|
287
290
|
remotion_1.Internals.validateDimension(composition.height, 'height', 'in the `config` object passed to `renderFrames()`');
|
|
288
291
|
remotion_1.Internals.validateDimension(composition.width, 'width', 'in the `config` object passed to `renderFrames()`');
|
|
289
292
|
remotion_1.Internals.validateFps(composition.fps, 'in the `config` object of `renderFrames()`', false);
|
|
@@ -296,12 +299,12 @@ const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions
|
|
|
296
299
|
(0, validate_scale_1.validateScale)(scale);
|
|
297
300
|
const makeBrowser = () => (0, open_browser_1.internalOpenBrowser)({
|
|
298
301
|
browser: browser_1.DEFAULT_BROWSER,
|
|
299
|
-
shouldDumpIo: dumpBrowserLogs,
|
|
300
302
|
browserExecutable,
|
|
301
303
|
chromiumOptions,
|
|
302
304
|
forceDeviceScaleFactor: scale,
|
|
303
305
|
indent,
|
|
304
306
|
viewport: null,
|
|
307
|
+
logLevel,
|
|
305
308
|
});
|
|
306
309
|
const browserInstance = puppeteerInstance !== null && puppeteerInstance !== void 0 ? puppeteerInstance : makeBrowser();
|
|
307
310
|
const actualConcurrency = (0, get_concurrency_1.getActualConcurrency)(concurrency);
|
|
@@ -323,7 +326,7 @@ const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions
|
|
|
323
326
|
port,
|
|
324
327
|
remotionRoot: (0, find_closest_package_json_1.findRemotionRoot)(),
|
|
325
328
|
concurrency: actualConcurrency,
|
|
326
|
-
|
|
329
|
+
logLevel,
|
|
327
330
|
indent,
|
|
328
331
|
}, {
|
|
329
332
|
onDownload,
|
|
@@ -331,8 +334,8 @@ const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions
|
|
|
331
334
|
}),
|
|
332
335
|
browserInstance,
|
|
333
336
|
]).then(([{ server: { serveUrl, offthreadPort, compositor, sourceMap, downloadMap, }, cleanupServer, }, pInstance,]) => {
|
|
334
|
-
const browserReplacer = (0, replace_browser_1.handleBrowserCrash)(pInstance);
|
|
335
|
-
cleanup.push((0, cycle_browser_tabs_1.cycleBrowserTabs)(browserReplacer, actualConcurrency).stopCycling);
|
|
337
|
+
const browserReplacer = (0, replace_browser_1.handleBrowserCrash)(pInstance, logLevel, indent);
|
|
338
|
+
cleanup.push((0, cycle_browser_tabs_1.cycleBrowserTabs)(browserReplacer, actualConcurrency, logLevel, indent).stopCycling);
|
|
336
339
|
cleanup.push(() => cleanupServer(false));
|
|
337
340
|
return innerRenderFrames({
|
|
338
341
|
onError,
|
|
@@ -362,6 +365,8 @@ const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions
|
|
|
362
365
|
outputDir,
|
|
363
366
|
scale,
|
|
364
367
|
timeoutInMilliseconds,
|
|
368
|
+
logLevel,
|
|
369
|
+
indent,
|
|
365
370
|
});
|
|
366
371
|
}),
|
|
367
372
|
])
|
|
@@ -384,7 +389,7 @@ const internalRenderFrames = ({ browserExecutable, cancelSignal, chromiumOptions
|
|
|
384
389
|
else {
|
|
385
390
|
Promise.resolve(browserInstance)
|
|
386
391
|
.then((instance) => {
|
|
387
|
-
return instance.close(true);
|
|
392
|
+
return instance.close(true, logLevel, indent);
|
|
388
393
|
})
|
|
389
394
|
.catch((err) => {
|
|
390
395
|
if (!(err === null || err === void 0 ? void 0 : err.message.includes('Target closed'))) {
|
|
@@ -405,7 +410,7 @@ exports.internalRenderFrames = internalRenderFrames;
|
|
|
405
410
|
* @see [Documentation](https://www.remotion.dev/docs/renderer/render-frames)
|
|
406
411
|
*/
|
|
407
412
|
const renderFrames = (options) => {
|
|
408
|
-
const { composition, inputProps, onFrameUpdate, onStart, outputDir, serveUrl, browserExecutable, cancelSignal, chromiumOptions, concurrency, dumpBrowserLogs, envVariables, everyNthFrame, frameRange, imageFormat, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, port, puppeteerInstance, scale, timeoutInMilliseconds, verbose, quality, } = options;
|
|
413
|
+
const { composition, inputProps, onFrameUpdate, onStart, outputDir, serveUrl, browserExecutable, cancelSignal, chromiumOptions, concurrency, dumpBrowserLogs, envVariables, everyNthFrame, frameRange, imageFormat, jpegQuality, muted, onBrowserLog, onDownload, onFrameBuffer, port, puppeteerInstance, scale, timeoutInMilliseconds, verbose, quality, logLevel, } = options;
|
|
409
414
|
if (!composition) {
|
|
410
415
|
throw new Error('No `composition` option has been specified for renderFrames()');
|
|
411
416
|
}
|
|
@@ -421,7 +426,6 @@ const renderFrames = (options) => {
|
|
|
421
426
|
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
422
427
|
composition,
|
|
423
428
|
concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : null,
|
|
424
|
-
dumpBrowserLogs: dumpBrowserLogs !== null && dumpBrowserLogs !== void 0 ? dumpBrowserLogs : false,
|
|
425
429
|
envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
|
|
426
430
|
everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
|
|
427
431
|
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
@@ -439,7 +443,7 @@ const renderFrames = (options) => {
|
|
|
439
443
|
outputDir,
|
|
440
444
|
port: port !== null && port !== void 0 ? port : null,
|
|
441
445
|
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
442
|
-
|
|
446
|
+
logLevel: verbose || dumpBrowserLogs ? 'verbose' : logLevel !== null && logLevel !== void 0 ? logLevel : (0, logger_1.getLogLevel)(),
|
|
443
447
|
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT,
|
|
444
448
|
webpackBundleOrServeUrl: serveUrl,
|
|
445
449
|
server: undefined,
|
package/dist/render-media.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type {
|
|
2
|
+
import type { VideoConfig } from 'remotion';
|
|
3
3
|
import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
4
4
|
import type { AudioCodec } from './audio-codec';
|
|
5
5
|
import type { BrowserExecutable } from './browser-executable';
|
|
@@ -15,6 +15,7 @@ import type { PixelFormat } from './pixel-format';
|
|
|
15
15
|
import type { RemotionServer } from './prepare-server';
|
|
16
16
|
import type { ProResProfile } from './prores-profile';
|
|
17
17
|
import type { OnStartData } from './types';
|
|
18
|
+
import { type LogLevel } from './log-level';
|
|
18
19
|
export type StitchingState = 'encoding' | 'muxing';
|
|
19
20
|
export type SlowFrame = {
|
|
20
21
|
frame: number;
|
|
@@ -31,7 +32,7 @@ export type RenderMediaOnProgress = (progress: {
|
|
|
31
32
|
export type InternalRenderMediaOptions = {
|
|
32
33
|
outputLocation: string | null;
|
|
33
34
|
codec: Codec;
|
|
34
|
-
composition:
|
|
35
|
+
composition: VideoConfig;
|
|
35
36
|
inputProps: Record<string, unknown>;
|
|
36
37
|
crf: number | null;
|
|
37
38
|
imageFormat: VideoImageFormat;
|
|
@@ -46,7 +47,6 @@ export type InternalRenderMediaOptions = {
|
|
|
46
47
|
onProgress: RenderMediaOnProgress;
|
|
47
48
|
onDownload: RenderMediaOnDownload;
|
|
48
49
|
proResProfile: ProResProfile | undefined;
|
|
49
|
-
dumpBrowserLogs: boolean;
|
|
50
50
|
onBrowserLog: ((log: BrowserLog) => void) | null;
|
|
51
51
|
onStart: (data: OnStartData) => void;
|
|
52
52
|
timeoutInMilliseconds: number;
|
|
@@ -55,7 +55,7 @@ export type InternalRenderMediaOptions = {
|
|
|
55
55
|
port: number | null;
|
|
56
56
|
cancelSignal: CancelSignal | undefined;
|
|
57
57
|
browserExecutable: BrowserExecutable | null;
|
|
58
|
-
|
|
58
|
+
logLevel: LogLevel;
|
|
59
59
|
onCtrlCExit: (fn: () => void) => void;
|
|
60
60
|
indent: boolean;
|
|
61
61
|
server: RemotionServer | undefined;
|
|
@@ -73,7 +73,7 @@ export type InternalRenderMediaOptions = {
|
|
|
73
73
|
export type RenderMediaOptions = {
|
|
74
74
|
outputLocation?: string | null;
|
|
75
75
|
codec: Codec;
|
|
76
|
-
composition:
|
|
76
|
+
composition: VideoConfig;
|
|
77
77
|
inputProps?: Record<string, unknown>;
|
|
78
78
|
crf?: number | null;
|
|
79
79
|
imageFormat?: VideoImageFormat;
|
|
@@ -92,6 +92,9 @@ export type RenderMediaOptions = {
|
|
|
92
92
|
onProgress?: RenderMediaOnProgress;
|
|
93
93
|
onDownload?: RenderMediaOnDownload;
|
|
94
94
|
proResProfile?: ProResProfile;
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated Use "logLevel": "verbose" instead
|
|
97
|
+
*/
|
|
95
98
|
dumpBrowserLogs?: boolean;
|
|
96
99
|
onBrowserLog?: ((log: BrowserLog) => void) | undefined;
|
|
97
100
|
onStart?: (data: OnStartData) => void;
|
|
@@ -101,6 +104,9 @@ export type RenderMediaOptions = {
|
|
|
101
104
|
port?: number | null;
|
|
102
105
|
cancelSignal?: CancelSignal;
|
|
103
106
|
browserExecutable?: BrowserExecutable;
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated Use "logLevel" instead
|
|
109
|
+
*/
|
|
104
110
|
verbose?: boolean;
|
|
105
111
|
preferLossless?: boolean;
|
|
106
112
|
muted?: boolean;
|
|
@@ -112,16 +118,17 @@ export type RenderMediaOptions = {
|
|
|
112
118
|
audioCodec?: AudioCodec | null;
|
|
113
119
|
serveUrl: string;
|
|
114
120
|
concurrency?: number | string | null;
|
|
121
|
+
logLevel?: LogLevel;
|
|
115
122
|
};
|
|
116
123
|
type RenderMediaResult = {
|
|
117
124
|
buffer: Buffer | null;
|
|
118
125
|
slowestFrames: SlowFrame[];
|
|
119
126
|
};
|
|
120
|
-
export declare const internalRenderMedia: ({ proResProfile, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload,
|
|
127
|
+
export declare const internalRenderMedia: ({ proResProfile, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, audioCodec, concurrency, disallowParallelEncoding, everyNthFrame, imageFormat: provisionalImageFormat, indent, jpegQuality, numberOfGifLoops, onCtrlCExit, preferLossless, serveUrl, server: reusedServer, logLevel, }: InternalRenderMediaOptions) => Promise<RenderMediaResult>;
|
|
121
128
|
/**
|
|
122
129
|
*
|
|
123
130
|
* @description Render a video from a composition
|
|
124
131
|
* @see [Documentation](https://www.remotion.dev/docs/renderer/render-media)
|
|
125
132
|
*/
|
|
126
|
-
export declare const renderMedia: ({ proResProfile, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload,
|
|
133
|
+
export declare const renderMedia: ({ proResProfile, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, audioCodec, jpegQuality, concurrency, serveUrl, disallowParallelEncoding, everyNthFrame, imageFormat, numberOfGifLoops, dumpBrowserLogs, preferLossless, verbose, quality, logLevel, }: RenderMediaOptions) => Promise<RenderMediaResult>;
|
|
127
134
|
export {};
|