@remotion/renderer 4.0.260 → 4.0.261
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.js +0 -2
- package/dist/index.d.ts +8 -7
- package/dist/index.js +0 -2
- package/dist/logger.d.ts +5 -5
- package/dist/open-browser.js +0 -2
- package/dist/prespawn-ffmpeg.js +2 -0
- package/dist/render-media.js +2 -0
- package/dist/repro.d.ts +1 -1
- package/dist/stitch-frames-to-video.js +2 -0
- package/dist/validate-even-dimensions-with-codec.d.ts +4 -1
- package/dist/validate-even-dimensions-with-codec.js +14 -3
- package/package.json +12 -12
- package/dist/browser-instances.d.ts +0 -4
- package/dist/browser-instances.js +0 -21
package/dist/browser/Browser.js
CHANGED
|
@@ -28,7 +28,6 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
28
28
|
var _HeadlessBrowser_instances, _HeadlessBrowser_defaultViewport, _HeadlessBrowser_defaultContext, _HeadlessBrowser_contexts, _HeadlessBrowser_targets, _HeadlessBrowser_targetCreated, _HeadlessBrowser_targetDestroyed, _HeadlessBrowser_targetInfoChanged, _BrowserContext_browser;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.BrowserContext = exports.HeadlessBrowser = void 0;
|
|
31
|
-
const browser_instances_1 = require("../browser-instances");
|
|
32
31
|
const assert_1 = require("./assert");
|
|
33
32
|
const BrowserRunner_1 = require("./BrowserRunner");
|
|
34
33
|
const EventEmitter_1 = require("./EventEmitter");
|
|
@@ -151,7 +150,6 @@ class HeadlessBrowser extends EventEmitter_1.EventEmitter {
|
|
|
151
150
|
});
|
|
152
151
|
this.disconnect();
|
|
153
152
|
this.emit(silent ? "closed-silent" /* BrowserEmittedEvents.ClosedSilent */ : "closed" /* BrowserEmittedEvents.Closed */);
|
|
154
|
-
(0, browser_instances_1.removeHeadlessBrowser)(this);
|
|
155
153
|
}
|
|
156
154
|
disconnect() {
|
|
157
155
|
this.connection.dispose();
|
package/dist/index.d.ts
CHANGED
|
@@ -65,12 +65,14 @@ export declare const RenderInternals: {
|
|
|
65
65
|
close: () => Promise<void>;
|
|
66
66
|
compositor: import("./compositor/compositor").Compositor;
|
|
67
67
|
}>;
|
|
68
|
-
validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, }: {
|
|
68
|
+
validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, indent, logLevel, }: {
|
|
69
69
|
width: number;
|
|
70
70
|
height: number;
|
|
71
71
|
scale: number;
|
|
72
72
|
codec: import("./codec").Codec;
|
|
73
73
|
wantsImageSequence: boolean;
|
|
74
|
+
indent: boolean;
|
|
75
|
+
logLevel: import("./log-level").LogLevel;
|
|
74
76
|
}) => void;
|
|
75
77
|
getFileExtensionFromCodec: <T extends import("./codec").Codec>(codec: T, audioCodec: AudioCodec | null) => import("./file-extensions").FileExtension;
|
|
76
78
|
tmpDir: (str: string) => string;
|
|
@@ -93,7 +95,6 @@ export declare const RenderInternals: {
|
|
|
93
95
|
sizeInBytes: number;
|
|
94
96
|
to: string;
|
|
95
97
|
}>;
|
|
96
|
-
killAllBrowsers: () => Promise<void>;
|
|
97
98
|
parseStack: (stack: string[]) => import("./parse-browser-error-stack").UnsymbolicatedStackFrame[];
|
|
98
99
|
symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<import("./error-handling/handle-javascript-exception").ErrorWithStackFrame>;
|
|
99
100
|
SymbolicateableError: typeof SymbolicateableError;
|
|
@@ -409,15 +410,15 @@ export declare const RenderInternals: {
|
|
|
409
410
|
Log: {
|
|
410
411
|
trace: (options: import("./logger").LogOptions & {
|
|
411
412
|
tag?: string;
|
|
412
|
-
},
|
|
413
|
+
}, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
413
414
|
verbose: (options: import("./logger").LogOptions & {
|
|
414
415
|
tag?: string;
|
|
415
|
-
},
|
|
416
|
-
info: (options: import("./logger").LogOptions,
|
|
417
|
-
warn: (options: import("./logger").LogOptions,
|
|
416
|
+
}, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
417
|
+
info: (options: import("./logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
418
|
+
warn: (options: import("./logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
418
419
|
error: (options: import("./logger").LogOptions & {
|
|
419
420
|
tag?: string;
|
|
420
|
-
},
|
|
421
|
+
}, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
421
422
|
};
|
|
422
423
|
INDENT_TOKEN: string;
|
|
423
424
|
isColorSupported: () => boolean;
|
package/dist/index.js
CHANGED
|
@@ -109,7 +109,6 @@ Object.defineProperty(exports, "stitchFramesToVideo", { enumerable: true, get: f
|
|
|
109
109
|
var validate_output_filename_1 = require("./validate-output-filename");
|
|
110
110
|
Object.defineProperty(exports, "validateOutputFilename", { enumerable: true, get: function () { return validate_output_filename_1.validateOutputFilename; } });
|
|
111
111
|
const download_map_1 = require("./assets/download-map");
|
|
112
|
-
const browser_instances_1 = require("./browser-instances");
|
|
113
112
|
const codec_supports_media_1 = require("./codec-supports-media");
|
|
114
113
|
const make_file_executable_1 = require("./compositor/make-file-executable");
|
|
115
114
|
const ensure_browser_2 = require("./ensure-browser");
|
|
@@ -132,7 +131,6 @@ exports.RenderInternals = {
|
|
|
132
131
|
getRealFrameRange: get_frame_to_render_1.getRealFrameRange,
|
|
133
132
|
validatePuppeteerTimeout: validate_puppeteer_timeout_1.validatePuppeteerTimeout,
|
|
134
133
|
downloadFile: download_file_1.downloadFile,
|
|
135
|
-
killAllBrowsers: browser_instances_1.killAllBrowsers,
|
|
136
134
|
parseStack: parse_browser_error_stack_1.parseStack,
|
|
137
135
|
symbolicateError: symbolicate_error_1.symbolicateError,
|
|
138
136
|
SymbolicateableError: symbolicateable_error_1.SymbolicateableError,
|
package/dist/logger.d.ts
CHANGED
|
@@ -10,10 +10,10 @@ type VerboseLogOptions = LogOptions & {
|
|
|
10
10
|
export declare const verboseTag: (str: string) => string;
|
|
11
11
|
export declare const secondverboseTag: (str: string) => string;
|
|
12
12
|
export declare const Log: {
|
|
13
|
-
trace: (options: VerboseLogOptions,
|
|
14
|
-
verbose: (options: VerboseLogOptions,
|
|
15
|
-
info: (options: LogOptions,
|
|
16
|
-
warn: (options: LogOptions,
|
|
17
|
-
error: (options: VerboseLogOptions,
|
|
13
|
+
trace: (options: VerboseLogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
14
|
+
verbose: (options: VerboseLogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
15
|
+
info: (options: LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
16
|
+
warn: (options: LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
17
|
+
error: (options: VerboseLogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
package/dist/open-browser.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.openBrowser = exports.internalOpenBrowser = void 0;
|
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const node_os_1 = __importDefault(require("node:os"));
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
-
const browser_instances_1 = require("./browser-instances");
|
|
11
10
|
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
12
11
|
const Launcher_1 = require("./browser/Launcher");
|
|
13
12
|
const ensure_browser_1 = require("./ensure-browser");
|
|
@@ -167,7 +166,6 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
167
166
|
});
|
|
168
167
|
const pages = await browserInstance.pages();
|
|
169
168
|
await ((_d = pages[0]) === null || _d === void 0 ? void 0 : _d.close());
|
|
170
|
-
(0, browser_instances_1.addHeadlessBrowser)(browserInstance);
|
|
171
169
|
return browserInstance;
|
|
172
170
|
};
|
|
173
171
|
exports.internalOpenBrowser = internalOpenBrowser;
|
package/dist/prespawn-ffmpeg.js
CHANGED
|
@@ -22,6 +22,8 @@ const prespawnFfmpeg = (options) => {
|
|
|
22
22
|
codec,
|
|
23
23
|
scale: 1,
|
|
24
24
|
wantsImageSequence: false,
|
|
25
|
+
indent: options.indent,
|
|
26
|
+
logLevel: options.logLevel,
|
|
25
27
|
});
|
|
26
28
|
const pixelFormat = (_b = options.pixelFormat) !== null && _b !== void 0 ? _b : pixel_format_1.DEFAULT_PIXEL_FORMAT;
|
|
27
29
|
const proResProfileName = (0, get_prores_profile_name_1.getProResProfileName)(codec, options.proResProfile);
|
package/dist/render-media.js
CHANGED
|
@@ -177,6 +177,8 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
177
177
|
scale,
|
|
178
178
|
width: composition.width,
|
|
179
179
|
wantsImageSequence: false,
|
|
180
|
+
indent,
|
|
181
|
+
logLevel,
|
|
180
182
|
});
|
|
181
183
|
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
182
184
|
const totalFramesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame).length;
|
package/dist/repro.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ type ReproWriter = {
|
|
|
13
13
|
}) => Promise<void>;
|
|
14
14
|
};
|
|
15
15
|
export declare const getReproWriter: () => ReproWriter;
|
|
16
|
-
export declare const writeInRepro: (level: string,
|
|
16
|
+
export declare const writeInRepro: (level: string, ...args: Parameters<typeof console.log>) => void;
|
|
17
17
|
export declare const enableRepro: ({ serveUrl, compositionName, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, }: {
|
|
18
18
|
serveUrl: string;
|
|
19
19
|
compositionName: string;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
|
-
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
3
|
+
export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, indent, logLevel, }: {
|
|
3
4
|
width: number;
|
|
4
5
|
height: number;
|
|
5
6
|
scale: number;
|
|
6
7
|
codec: Codec;
|
|
7
8
|
wantsImageSequence: boolean;
|
|
9
|
+
indent: boolean;
|
|
10
|
+
logLevel: LogLevel;
|
|
8
11
|
}) => void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateEvenDimensionsWithCodec = void 0;
|
|
4
|
+
const logger_1 = require("./logger");
|
|
4
5
|
const truthy_1 = require("./truthy");
|
|
5
|
-
const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, wantsImageSequence, }) => {
|
|
6
|
+
const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, wantsImageSequence, indent, logLevel, }) => {
|
|
6
7
|
if (wantsImageSequence) {
|
|
7
8
|
return;
|
|
8
9
|
}
|
|
@@ -12,8 +13,18 @@ const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, wantsIma
|
|
|
12
13
|
codec !== 'h264-ts') {
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
let actualWidth = width * scale;
|
|
17
|
+
let actualHeight = height * scale;
|
|
18
|
+
if (actualWidth % 1 !== 0 &&
|
|
19
|
+
(actualWidth % 1 < 0.005 || actualWidth % 1 > 0.005)) {
|
|
20
|
+
logger_1.Log.verbose({ indent, logLevel }, `Rounding width to an even number from ${actualWidth} to ${Math.round(actualWidth)}`);
|
|
21
|
+
actualWidth = Math.round(actualWidth);
|
|
22
|
+
}
|
|
23
|
+
if (actualHeight % 1 !== 0 &&
|
|
24
|
+
(actualHeight % 1 < 0.005 || actualHeight % 1 > 0.005)) {
|
|
25
|
+
logger_1.Log.verbose({ indent, logLevel }, `Rounding height to an even number from ${actualHeight} to ${Math.round(actualHeight)}`);
|
|
26
|
+
actualHeight = Math.round(actualHeight);
|
|
27
|
+
}
|
|
17
28
|
const displayName = codec === 'h265' ? 'H265' : 'H264';
|
|
18
29
|
if (actualWidth % 2 !== 0) {
|
|
19
30
|
const message = [
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.261",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.17.1",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/streaming": "4.0.
|
|
21
|
+
"remotion": "4.0.261",
|
|
22
|
+
"@remotion/streaming": "4.0.261"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"react-dom": "19.0.0",
|
|
34
34
|
"@types/ws": "8.5.10",
|
|
35
35
|
"eslint": "9.19.0",
|
|
36
|
-
"@remotion/
|
|
37
|
-
"@remotion/
|
|
36
|
+
"@remotion/eslint-config-internal": "4.0.261",
|
|
37
|
+
"@remotion/example-videos": "4.0.261"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
41
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
42
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
43
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
44
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
45
|
-
"@remotion/compositor-
|
|
46
|
-
"@remotion/compositor-
|
|
40
|
+
"@remotion/compositor-darwin-arm64": "4.0.261",
|
|
41
|
+
"@remotion/compositor-darwin-x64": "4.0.261",
|
|
42
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.261",
|
|
43
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.261",
|
|
44
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.261",
|
|
45
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.261",
|
|
46
|
+
"@remotion/compositor-linux-x64-musl": "4.0.261"
|
|
47
47
|
},
|
|
48
48
|
"keywords": [
|
|
49
49
|
"remotion",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { HeadlessBrowser } from './browser/Browser';
|
|
2
|
-
export declare const killAllBrowsers: () => Promise<void>;
|
|
3
|
-
export declare const addHeadlessBrowser: (browser: HeadlessBrowser) => void;
|
|
4
|
-
export declare const removeHeadlessBrowser: (browser: HeadlessBrowser) => void;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeHeadlessBrowser = exports.addHeadlessBrowser = exports.killAllBrowsers = void 0;
|
|
4
|
-
const browserInstances = [];
|
|
5
|
-
const killAllBrowsers = async () => {
|
|
6
|
-
for (const browser of browserInstances) {
|
|
7
|
-
try {
|
|
8
|
-
await browser.close({ silent: true });
|
|
9
|
-
}
|
|
10
|
-
catch (_a) { }
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
exports.killAllBrowsers = killAllBrowsers;
|
|
14
|
-
const addHeadlessBrowser = (browser) => {
|
|
15
|
-
browserInstances.push(browser);
|
|
16
|
-
};
|
|
17
|
-
exports.addHeadlessBrowser = addHeadlessBrowser;
|
|
18
|
-
const removeHeadlessBrowser = (browser) => {
|
|
19
|
-
browserInstances.splice(browserInstances.indexOf(browser), 1);
|
|
20
|
-
};
|
|
21
|
-
exports.removeHeadlessBrowser = removeHeadlessBrowser;
|