@remotion/renderer 3.3.5 → 3.3.7
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/get-video-stream-duration.d.ts +1 -1
- package/dist/browser/ScreenshotOptions.d.ts +0 -14
- package/dist/browser/ScreenshotOptions.js +0 -1
- package/dist/combine-videos.d.ts +2 -2
- package/dist/convert-to-pcm.d.ts +1 -1
- package/dist/create-silent-audio.d.ts +1 -1
- package/dist/ensure-presentation-timestamp.d.ts +1 -1
- package/dist/extract-frame-from-video.d.ts +2 -3
- package/dist/ffmpeg-flags.d.ts +4 -4
- package/dist/ffmpeg-flags.js +25 -22
- package/dist/get-audio-codec-name.d.ts +1 -2
- package/dist/get-frame-of-video-slow.d.ts +4 -2
- package/dist/guess-extension-for-media.d.ts +1 -1
- package/dist/offthread-video-server.d.ts +1 -1
- package/dist/provide-screenshot.d.ts +3 -1
- package/dist/provide-screenshot.js +3 -1
- package/dist/puppeteer-screenshot.d.ts +9 -2
- package/dist/puppeteer-screenshot.js +10 -14
- package/dist/render-frames.js +13 -3
- package/dist/render-still.js +3 -1
- package/dist/screenshot-dom-element.d.ts +3 -1
- package/dist/screenshot-dom-element.js +5 -2
- package/dist/screenshot-task.d.ts +9 -2
- package/dist/screenshot-task.js +12 -6
- package/dist/try-to-extract-frame-of-video-fast.d.ts +1 -2
- package/dist/validate-ffmpeg.d.ts +1 -1
- package/package.json +3 -3
|
@@ -5,5 +5,5 @@ export declare function getVideoStreamDurationwithoutCache({ src, ffprobeExecuta
|
|
|
5
5
|
src: string;
|
|
6
6
|
ffprobeExecutable: FfmpegExecutable;
|
|
7
7
|
remotionRoot: string;
|
|
8
|
-
}):
|
|
8
|
+
}): unknown;
|
|
9
9
|
export declare const getVideoStreamDuration: (downloadMap: DownloadMap, src: string, ffprobeExecutable: FfmpegExecutable, remotionRoot: string) => Promise<VideoDurationResult>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
interface ScreenshotClip {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
}
|
|
7
|
-
export interface ScreenshotOptions {
|
|
8
|
-
type: 'png' | 'jpeg';
|
|
9
|
-
path?: string;
|
|
10
|
-
clip?: ScreenshotClip;
|
|
11
|
-
quality?: number;
|
|
12
|
-
omitBackground: boolean;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
package/dist/combine-videos.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
3
|
-
|
|
3
|
+
type Options = {
|
|
4
4
|
files: string[];
|
|
5
5
|
filelistDir: string;
|
|
6
6
|
output: string;
|
|
@@ -12,5 +12,5 @@ declare type Options = {
|
|
|
12
12
|
remotionRoot: string;
|
|
13
13
|
ffmpegExecutable: FfmpegExecutable;
|
|
14
14
|
};
|
|
15
|
-
export declare const combineVideos: (options: Options) =>
|
|
15
|
+
export declare const combineVideos: (options: Options) => any;
|
|
16
16
|
export {};
|
package/dist/convert-to-pcm.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const ensurePresentationTimestampWithoutCache: ({ src, remotionRo
|
|
|
5
5
|
remotionRoot: string;
|
|
6
6
|
ffmpegExecutable: FfmpegExecutable;
|
|
7
7
|
ffprobeExecutable: FfmpegExecutable;
|
|
8
|
-
}) =>
|
|
8
|
+
}) => unknown;
|
|
9
9
|
export declare const ensurePresentationTimestamps: ({ downloadMap, src, remotionRoot, ffmpegExecutable, ffprobeExecutable, }: {
|
|
10
10
|
downloadMap: DownloadMap;
|
|
11
11
|
src: string;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { OffthreadVideoImageFormat } from 'remotion';
|
|
3
2
|
import type { DownloadMap } from './assets/download-map';
|
|
4
3
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
5
4
|
import type { LastFrameOptions } from './last-frame-from-video-cache';
|
|
6
5
|
export declare const getLastFrameOfVideo: (options: LastFrameOptions) => Promise<Buffer>;
|
|
7
|
-
|
|
6
|
+
type Options = {
|
|
8
7
|
time: number;
|
|
9
8
|
src: string;
|
|
10
9
|
ffmpegExecutable: FfmpegExecutable;
|
|
@@ -13,5 +12,5 @@ declare type Options = {
|
|
|
13
12
|
downloadMap: DownloadMap;
|
|
14
13
|
remotionRoot: string;
|
|
15
14
|
};
|
|
16
|
-
export declare const extractFrameFromVideo: (options: Options) =>
|
|
15
|
+
export declare const extractFrameFromVideo: (options: Options) => unknown;
|
|
17
16
|
export {};
|
package/dist/ffmpeg-flags.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
2
|
-
export
|
|
2
|
+
export type FfmpegVersion = [number, number, number] | null;
|
|
3
3
|
export declare const getFfmpegBuildInfo: (options: {
|
|
4
4
|
ffmpegExecutable: string | null;
|
|
5
5
|
remotionRoot: string;
|
|
6
|
-
}) =>
|
|
6
|
+
}) => unknown;
|
|
7
7
|
export declare const ffmpegInNodeModules: (remotionRoot: string, binary: 'ffmpeg' | 'ffprobe') => string | null;
|
|
8
8
|
export declare const ffmpegHasFeature: ({ ffmpegExecutable, feature, remotionRoot, }: {
|
|
9
9
|
ffmpegExecutable: string | null;
|
|
10
10
|
feature: 'enable-gpl' | 'enable-libx265' | 'enable-libvpx';
|
|
11
11
|
remotionRoot: string;
|
|
12
|
-
}) =>
|
|
12
|
+
}) => unknown;
|
|
13
13
|
export declare const parseFfmpegVersion: (buildconf: string) => FfmpegVersion;
|
|
14
14
|
export declare const getFfmpegVersion: (options: {
|
|
15
15
|
ffmpegExecutable: string | null;
|
|
@@ -20,7 +20,7 @@ export declare const lambdaFfmpegPaths: {
|
|
|
20
20
|
readonly ffmpeg: "/opt/bin/ffmpeg";
|
|
21
21
|
readonly ffprobe: "/opt/bin/ffprobe";
|
|
22
22
|
};
|
|
23
|
-
export declare const getExecutableBinary: (ffmpegExecutable: FfmpegExecutable, remotionRoot: string, binary: 'ffmpeg' | 'ffprobe') =>
|
|
23
|
+
export declare const getExecutableBinary: (ffmpegExecutable: FfmpegExecutable, remotionRoot: string, binary: 'ffmpeg' | 'ffprobe') => any;
|
|
24
24
|
export declare const getBinaryDownloadUrl: (binary: 'ffmpeg' | 'ffprobe') => {
|
|
25
25
|
url: string;
|
|
26
26
|
contentLength: number;
|
package/dist/ffmpeg-flags.js
CHANGED
|
@@ -160,7 +160,7 @@ function toMegabytes(bytes) {
|
|
|
160
160
|
return `${Math.round(mb * 10) / 10} Mb`;
|
|
161
161
|
}
|
|
162
162
|
const getBinaryDownloadUrl = (binary) => {
|
|
163
|
-
if (os_1.default.platform() === 'win32') {
|
|
163
|
+
if (os_1.default.platform() === 'win32' && process.arch === 'x64') {
|
|
164
164
|
return binary === 'ffmpeg'
|
|
165
165
|
? {
|
|
166
166
|
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffmpeg-win-x86.exe',
|
|
@@ -171,18 +171,18 @@ const getBinaryDownloadUrl = (binary) => {
|
|
|
171
171
|
contentLength: 127425536,
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
|
-
if (os_1.default.platform() === 'darwin') {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
174
|
+
if (os_1.default.platform() === 'darwin' && process.arch === 'arm64') {
|
|
175
|
+
return binary === 'ffmpeg'
|
|
176
|
+
? {
|
|
177
|
+
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffmpeg-macos-arm64',
|
|
178
|
+
contentLength: 42093320,
|
|
179
|
+
}
|
|
180
|
+
: {
|
|
181
|
+
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffprobe-macos-arm64',
|
|
182
|
+
contentLength: 46192536,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
if (os_1.default.platform() === 'darwin' && process.arch === 'x64') {
|
|
186
186
|
return binary === 'ffmpeg'
|
|
187
187
|
? {
|
|
188
188
|
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffmpeg-macos-x86',
|
|
@@ -193,15 +193,18 @@ const getBinaryDownloadUrl = (binary) => {
|
|
|
193
193
|
contentLength: 77364284,
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
196
|
+
if (os_1.default.platform() === 'linux' && process.arch === 'x64') {
|
|
197
|
+
return binary === 'ffmpeg'
|
|
198
|
+
? {
|
|
199
|
+
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffmpeg-linux-amd64',
|
|
200
|
+
contentLength: 78502560,
|
|
201
|
+
}
|
|
202
|
+
: {
|
|
203
|
+
url: 'https://remotion-ffmpeg-binaries.s3.eu-central-1.amazonaws.com/ffprobe-linux-amd64',
|
|
204
|
+
contentLength: 78400704,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
205
208
|
};
|
|
206
209
|
exports.getBinaryDownloadUrl = getBinaryDownloadUrl;
|
|
207
210
|
const printMessage = (ffmpegVersion) => {
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const getAudioCodecName: (codec: Codec) => string | null;
|
|
1
|
+
export declare const getAudioCodecName: (codec: any) => string | null;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { OffthreadVideoImageFormat } from 'remotion';
|
|
3
2
|
import type { SpecialVCodecForTransparency } from './assets/download-map';
|
|
4
3
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
@@ -8,7 +7,10 @@ export declare const getFrameOfVideoSlow: ({ src, duration, ffmpegExecutable, im
|
|
|
8
7
|
duration: number;
|
|
9
8
|
imageFormat: OffthreadVideoImageFormat;
|
|
10
9
|
specialVCodecForTransparency: SpecialVCodecForTransparency;
|
|
11
|
-
needsResize: [
|
|
10
|
+
needsResize: [
|
|
11
|
+
number,
|
|
12
|
+
number
|
|
13
|
+
] | null;
|
|
12
14
|
offset: number;
|
|
13
15
|
fps: number | null;
|
|
14
16
|
remotionRoot: string;
|
|
@@ -5,7 +5,7 @@ import type { DownloadMap } from './assets/download-map';
|
|
|
5
5
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
6
6
|
export declare const extractUrlAndSourceFromUrl: (url: string) => {
|
|
7
7
|
src: string;
|
|
8
|
-
time:
|
|
8
|
+
time: any;
|
|
9
9
|
imageFormat: OffthreadVideoImageFormat;
|
|
10
10
|
};
|
|
11
11
|
export declare const startOffthreadVideoServer: ({ ffmpegExecutable, ffprobeExecutable, onDownload, onError, downloadMap, remotionRoot, }: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Page } from './browser/BrowserPage';
|
|
3
3
|
import type { ImageFormat } from './image-format';
|
|
4
|
-
export declare const provideScreenshot: ({ page, imageFormat, options, quality, }: {
|
|
4
|
+
export declare const provideScreenshot: ({ page, imageFormat, options, quality, height, width, }: {
|
|
5
5
|
page: Page;
|
|
6
6
|
imageFormat: ImageFormat;
|
|
7
7
|
quality: number | undefined;
|
|
@@ -9,4 +9,6 @@ export declare const provideScreenshot: ({ page, imageFormat, options, quality,
|
|
|
9
9
|
frame: number;
|
|
10
10
|
output: string | null;
|
|
11
11
|
};
|
|
12
|
+
height: number;
|
|
13
|
+
width: number;
|
|
12
14
|
}) => Promise<Buffer>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.provideScreenshot = void 0;
|
|
4
4
|
const screenshot_dom_element_1 = require("./screenshot-dom-element");
|
|
5
|
-
const provideScreenshot = ({ page, imageFormat, options, quality, }) => {
|
|
5
|
+
const provideScreenshot = ({ page, imageFormat, options, quality, height, width, }) => {
|
|
6
6
|
return (0, screenshot_dom_element_1.screenshotDOMElement)({
|
|
7
7
|
page,
|
|
8
8
|
opts: {
|
|
@@ -10,6 +10,8 @@ const provideScreenshot = ({ page, imageFormat, options, quality, }) => {
|
|
|
10
10
|
},
|
|
11
11
|
imageFormat,
|
|
12
12
|
quality,
|
|
13
|
+
height,
|
|
14
|
+
width,
|
|
13
15
|
});
|
|
14
16
|
};
|
|
15
17
|
exports.provideScreenshot = provideScreenshot;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Page } from './browser/BrowserPage';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export declare const screenshot: (options: {
|
|
4
|
+
page: Page;
|
|
5
|
+
type: 'png' | 'jpeg';
|
|
6
|
+
path?: string;
|
|
7
|
+
quality?: number;
|
|
8
|
+
omitBackground: boolean;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}) => Promise<Buffer | string | void>;
|
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.screenshot = void 0;
|
|
27
27
|
const assert = __importStar(require("assert"));
|
|
28
28
|
const screenshot_task_1 = require("./screenshot-task");
|
|
29
|
-
const screenshot = (
|
|
29
|
+
const screenshot = (options) => {
|
|
30
30
|
let screenshotType = null;
|
|
31
31
|
// options.type takes precedence over inferring the type from options.path
|
|
32
32
|
// because it may be a 0-length file with no extension created beforehand
|
|
@@ -58,18 +58,14 @@ const screenshot = (page, options) => {
|
|
|
58
58
|
assert.ok(options.quality >= 0 && options.quality <= 100, 'Expected options.quality to be between 0 and 100 (inclusive), got ' +
|
|
59
59
|
options.quality);
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
assert.ok(options.clip.width !== 0, 'Expected options.clip.width not to be 0.');
|
|
71
|
-
assert.ok(options.clip.height !== 0, 'Expected options.clip.height not to be 0.');
|
|
72
|
-
}
|
|
73
|
-
return page.screenshotTaskQueue.postTask(() => (0, screenshot_task_1.screenshotTask)(page, screenshotType, options));
|
|
61
|
+
return options.page.screenshotTaskQueue.postTask(() => (0, screenshot_task_1.screenshotTask)({
|
|
62
|
+
page: options.page,
|
|
63
|
+
format: screenshotType,
|
|
64
|
+
height: options.height,
|
|
65
|
+
width: options.width,
|
|
66
|
+
omitBackground: options.omitBackground,
|
|
67
|
+
path: options.path,
|
|
68
|
+
quality: options.quality,
|
|
69
|
+
}));
|
|
74
70
|
};
|
|
75
71
|
exports.screenshot = screenshot;
|
package/dist/render-frames.js
CHANGED
|
@@ -52,7 +52,7 @@ const getConcurrency = (others) => {
|
|
|
52
52
|
}
|
|
53
53
|
return undefined;
|
|
54
54
|
};
|
|
55
|
-
const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, quality, imageFormat = image_format_1.DEFAULT_IMAGE_FORMAT, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency, everyNthFrame = 1, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, }) => {
|
|
55
|
+
const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, quality, imageFormat = image_format_1.DEFAULT_IMAGE_FORMAT, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale = 1, actualConcurrency, everyNthFrame = 1, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, }) => {
|
|
56
56
|
if (outputDir) {
|
|
57
57
|
if (!fs_1.default.existsSync(outputDir)) {
|
|
58
58
|
fs_1.default.mkdirSync(outputDir, {
|
|
@@ -146,7 +146,7 @@ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, qual
|
|
|
146
146
|
cancelSignal === null || cancelSignal === void 0 ? void 0 : cancelSignal(() => {
|
|
147
147
|
stopped = true;
|
|
148
148
|
});
|
|
149
|
-
const renderFrameWithOptionToReject = async (frame, index, reject) => {
|
|
149
|
+
const renderFrameWithOptionToReject = async ({ frame, index, reject, width, height, }) => {
|
|
150
150
|
const pool = await poolPromise;
|
|
151
151
|
const freePage = await pool.acquire();
|
|
152
152
|
if (stopped) {
|
|
@@ -174,6 +174,8 @@ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, qual
|
|
|
174
174
|
frame,
|
|
175
175
|
output: null,
|
|
176
176
|
},
|
|
177
|
+
height: composition.height,
|
|
178
|
+
width: composition.width,
|
|
177
179
|
});
|
|
178
180
|
(0, perf_1.stopPerfMeasure)(id);
|
|
179
181
|
onFrameBuffer(buffer, frame);
|
|
@@ -198,6 +200,8 @@ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, qual
|
|
|
198
200
|
frame,
|
|
199
201
|
output,
|
|
200
202
|
},
|
|
203
|
+
height,
|
|
204
|
+
width,
|
|
201
205
|
});
|
|
202
206
|
}
|
|
203
207
|
}
|
|
@@ -228,7 +232,13 @@ const innerRenderFrames = ({ onFrameUpdate, outputDir, onStart, inputProps, qual
|
|
|
228
232
|
};
|
|
229
233
|
const renderFrame = (frame, index) => {
|
|
230
234
|
return new Promise((resolve, reject) => {
|
|
231
|
-
renderFrameWithOptionToReject(
|
|
235
|
+
renderFrameWithOptionToReject({
|
|
236
|
+
frame,
|
|
237
|
+
index,
|
|
238
|
+
reject,
|
|
239
|
+
width: composition.width,
|
|
240
|
+
height: composition.height,
|
|
241
|
+
})
|
|
232
242
|
.then(() => {
|
|
233
243
|
resolve();
|
|
234
244
|
})
|
package/dist/render-still.js
CHANGED
|
@@ -48,7 +48,7 @@ const set_props_and_env_1 = require("./set-props-and-env");
|
|
|
48
48
|
const validate_frame_1 = require("./validate-frame");
|
|
49
49
|
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
50
50
|
const validate_scale_1 = require("./validate-scale");
|
|
51
|
-
const innerRenderStill = async ({ composition, quality, imageFormat = 'png', serveUrl, puppeteerInstance, dumpBrowserLogs = false, onError, inputProps, envVariables, output, frame = 0, overwrite = true, browserExecutable, timeoutInMilliseconds, chromiumOptions, scale, proxyPort, cancelSignal, }) => {
|
|
51
|
+
const innerRenderStill = async ({ composition, quality, imageFormat = 'png', serveUrl, puppeteerInstance, dumpBrowserLogs = false, onError, inputProps, envVariables, output, frame = 0, overwrite = true, browserExecutable, timeoutInMilliseconds, chromiumOptions, scale = 1, proxyPort, cancelSignal, }) => {
|
|
52
52
|
remotion_1.Internals.validateDimension(composition.height, 'height', 'in the `config` object passed to `renderStill()`');
|
|
53
53
|
remotion_1.Internals.validateDimension(composition.width, 'width', 'in the `config` object passed to `renderStill()`');
|
|
54
54
|
remotion_1.Internals.validateFps(composition.fps, 'in the `config` object of `renderStill()`', false);
|
|
@@ -159,6 +159,8 @@ const innerRenderStill = async ({ composition, quality, imageFormat = 'png', ser
|
|
|
159
159
|
frame: stillFrame,
|
|
160
160
|
output,
|
|
161
161
|
},
|
|
162
|
+
height: composition.height,
|
|
163
|
+
width: composition.width,
|
|
162
164
|
});
|
|
163
165
|
await cleanup();
|
|
164
166
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Page } from './browser/BrowserPage';
|
|
3
3
|
import type { ImageFormat } from './image-format';
|
|
4
|
-
export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, }: {
|
|
4
|
+
export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, height, width, }: {
|
|
5
5
|
page: Page;
|
|
6
6
|
imageFormat: ImageFormat;
|
|
7
7
|
quality: number | undefined;
|
|
8
8
|
opts: {
|
|
9
9
|
path: string | null;
|
|
10
10
|
};
|
|
11
|
+
height: number;
|
|
12
|
+
width: number;
|
|
11
13
|
}) => Promise<Buffer>;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.screenshotDOMElement = void 0;
|
|
4
4
|
const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
|
|
5
5
|
const puppeteer_screenshot_1 = require("./puppeteer-screenshot");
|
|
6
|
-
const screenshotDOMElement = async ({ page, imageFormat, quality, opts, }) => {
|
|
6
|
+
const screenshotDOMElement = async ({ page, imageFormat, quality, opts, height, width, }) => {
|
|
7
7
|
const { path } = opts;
|
|
8
8
|
if (imageFormat === 'png') {
|
|
9
9
|
await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
|
|
@@ -28,11 +28,14 @@ const screenshotDOMElement = async ({ page, imageFormat, quality, opts, }) => {
|
|
|
28
28
|
if (imageFormat === 'none') {
|
|
29
29
|
throw new TypeError('Tried to make a screenshot with format "none"');
|
|
30
30
|
}
|
|
31
|
-
return (0, puppeteer_screenshot_1.screenshot)(
|
|
31
|
+
return (0, puppeteer_screenshot_1.screenshot)({
|
|
32
|
+
page,
|
|
32
33
|
omitBackground: imageFormat === 'png',
|
|
33
34
|
path: path !== null && path !== void 0 ? path : undefined,
|
|
34
35
|
type: imageFormat,
|
|
35
36
|
quality,
|
|
37
|
+
width,
|
|
38
|
+
height,
|
|
36
39
|
});
|
|
37
40
|
};
|
|
38
41
|
exports.screenshotDOMElement = screenshotDOMElement;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Page } from './browser/BrowserPage';
|
|
3
|
-
import type { ScreenshotOptions } from './browser/ScreenshotOptions';
|
|
4
3
|
import type { StillImageFormat } from './image-format';
|
|
5
|
-
export declare const screenshotTask: (
|
|
4
|
+
export declare const screenshotTask: ({ format, height, omitBackground, page, width, path, quality, }: {
|
|
5
|
+
page: Page;
|
|
6
|
+
format: StillImageFormat;
|
|
7
|
+
path?: string | undefined;
|
|
8
|
+
quality?: number | undefined;
|
|
9
|
+
omitBackground: boolean;
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
}) => Promise<Buffer | string>;
|
package/dist/screenshot-task.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.screenshotTask = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const perf_1 = require("./perf");
|
|
9
|
-
const screenshotTask = async (page,
|
|
9
|
+
const screenshotTask = async ({ format, height, omitBackground, page, width, path, quality, }) => {
|
|
10
10
|
var _a;
|
|
11
11
|
const client = page._client();
|
|
12
12
|
const target = page.target();
|
|
@@ -15,7 +15,7 @@ const screenshotTask = async (page, format, options) => {
|
|
|
15
15
|
targetId: target._targetId,
|
|
16
16
|
});
|
|
17
17
|
(0, perf_1.stopPerfMeasure)(perfTarget);
|
|
18
|
-
const shouldSetDefaultBackground =
|
|
18
|
+
const shouldSetDefaultBackground = omitBackground && format === 'png';
|
|
19
19
|
if (shouldSetDefaultBackground)
|
|
20
20
|
await client.send('Emulation.setDefaultBackgroundColorOverride', {
|
|
21
21
|
color: { r: 0, g: 0, b: 0, a: 0 },
|
|
@@ -24,8 +24,14 @@ const screenshotTask = async (page, format, options) => {
|
|
|
24
24
|
try {
|
|
25
25
|
const result = await client.send('Page.captureScreenshot', {
|
|
26
26
|
format,
|
|
27
|
-
quality
|
|
28
|
-
clip:
|
|
27
|
+
quality,
|
|
28
|
+
clip: {
|
|
29
|
+
x: 0,
|
|
30
|
+
y: 0,
|
|
31
|
+
height,
|
|
32
|
+
scale: 1,
|
|
33
|
+
width,
|
|
34
|
+
},
|
|
29
35
|
captureBeyondViewport: true,
|
|
30
36
|
});
|
|
31
37
|
(0, perf_1.stopPerfMeasure)(cap);
|
|
@@ -33,8 +39,8 @@ const screenshotTask = async (page, format, options) => {
|
|
|
33
39
|
await client.send('Emulation.setDefaultBackgroundColorOverride');
|
|
34
40
|
const saveMarker = (0, perf_1.startPerfMeasure)('save');
|
|
35
41
|
const buffer = Buffer.from(result.data, 'base64');
|
|
36
|
-
if (
|
|
37
|
-
await fs_1.default.promises.writeFile(
|
|
42
|
+
if (path)
|
|
43
|
+
await fs_1.default.promises.writeFile(path, buffer);
|
|
38
44
|
(0, perf_1.stopPerfMeasure)(saveMarker);
|
|
39
45
|
return buffer;
|
|
40
46
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { OffthreadVideoImageFormat } from 'remotion';
|
|
3
2
|
import type { NeedsResize, SpecialVCodecForTransparency } from './assets/download-map';
|
|
4
3
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
@@ -10,4 +9,4 @@ export declare const tryToExtractFrameOfVideoFast: ({ ffmpegExecutable, remotion
|
|
|
10
9
|
src: string;
|
|
11
10
|
specialVCodecForTransparency: SpecialVCodecForTransparency;
|
|
12
11
|
actualOffset: string;
|
|
13
|
-
}) =>
|
|
12
|
+
}) => unknown;
|
|
@@ -3,5 +3,5 @@ export declare const binaryExists: (name: 'ffmpeg' | 'ffprobe') => boolean;
|
|
|
3
3
|
export declare const checkAndValidateFfmpegVersion: (options: {
|
|
4
4
|
ffmpegExecutable: string | null;
|
|
5
5
|
remotionRoot: string;
|
|
6
|
-
}) =>
|
|
6
|
+
}) => any;
|
|
7
7
|
export declare const validateFfmpeg: (customFfmpegBinary: string | null, remotionRoot: string, binary: 'ffmpeg' | 'ffprobe') => Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.7",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"execa": "5.1.1",
|
|
24
24
|
"extract-zip": "2.0.1",
|
|
25
|
-
"remotion": "3.3.
|
|
25
|
+
"remotion": "3.3.7",
|
|
26
26
|
"source-map": "^0.8.0-beta.0",
|
|
27
27
|
"ws": "8.7.0"
|
|
28
28
|
},
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "5a9310dd3db431e7a3e2eb2e2b3c508bbc7b258a"
|
|
61
61
|
}
|