@remotion/renderer 4.0.137 → 4.0.138
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/read-file.d.ts +1 -0
- package/dist/browser/BrowserPage.d.ts +1 -1
- package/dist/browser/BrowserPage.js +1 -1
- package/dist/browser/BrowserRunner.js +2 -2
- package/dist/browser/NodeWebSocketTransport.js +1 -1
- package/dist/browser/should-log-message.js +6 -0
- package/dist/client.d.ts +15 -15
- package/dist/combine-video-streams.js +6 -2
- package/dist/ensure-browser.js +1 -1
- package/dist/get-compositions.js +1 -1
- package/dist/get-local-browser.js +1 -1
- package/dist/index.d.ts +18 -16
- package/dist/offthread-video-server.d.ts +1 -0
- package/dist/open-browser.js +11 -11
- package/dist/options/gl.d.ts +3 -3
- package/dist/options/index.d.ts +6 -6
- package/dist/options/options-map.d.ts +9 -9
- package/dist/options/x264-preset.d.ts +2 -2
- package/dist/port-config.d.ts +1 -0
- package/dist/render-frames.js +1 -1
- package/dist/render-media.js +1 -1
- package/dist/render-still.js +1 -1
- package/dist/screenshot-task.js +2 -2
- package/dist/select-composition.js +1 -1
- package/dist/serve-handler/index.d.ts +1 -0
- package/dist/stitch-frames-to-video.d.ts +1 -0
- package/dist/ws/ws-types.d.ts +2 -0
- package/dist/ws/ws-types.js +0 -3
- package/package.json +14 -13
- package/dist/audio-codec.d.ts +0 -28
- package/dist/audio-codec.js +0 -88
- package/dist/calculate-ffmpeg-filters.d.ts +0 -12
- package/dist/calculate-ffmpeg-filters.js +0 -24
- package/dist/check-apple-silicon.d.ts +0 -1
- package/dist/check-apple-silicon.js +0 -12
- package/dist/create-combined-video.d.ts +0 -18
- package/dist/create-combined-video.js +0 -27
- package/dist/does-have-m2-bug.d.ts +0 -3
- package/dist/does-have-m2-bug.js +0 -12
- package/dist/get-extension-from-audio-codec.d.ts +0 -2
- package/dist/get-extension-from-audio-codec.js +0 -19
- package/dist/is-audio-codec.d.ts +0 -2
- package/dist/is-audio-codec.js +0 -7
- package/dist/options/prores-profile.d.ts +0 -0
- package/dist/options/prores-profile.js +0 -1
- package/dist/x264-preset.d.ts +0 -22
- package/dist/x264-preset.js +0 -54
|
@@ -8,9 +8,9 @@ import type { Frame } from './FrameManager';
|
|
|
8
8
|
import type { HTTPResponse } from './HTTPResponse';
|
|
9
9
|
import type { JSHandle } from './JSHandle';
|
|
10
10
|
import type { Viewport } from './PuppeteerViewport';
|
|
11
|
-
import type { SourceMapGetter } from './source-map-getter';
|
|
12
11
|
import type { Target } from './Target';
|
|
13
12
|
import { TaskQueue } from './TaskQueue';
|
|
13
|
+
import type { SourceMapGetter } from './source-map-getter';
|
|
14
14
|
interface WaitForOptions {
|
|
15
15
|
timeout?: number;
|
|
16
16
|
}
|
|
@@ -32,13 +32,13 @@ const no_react_1 = require("remotion/no-react");
|
|
|
32
32
|
const format_logs_1 = require("../format-logs");
|
|
33
33
|
const logger_1 = require("../logger");
|
|
34
34
|
const truthy_1 = require("../truthy");
|
|
35
|
-
const assert_1 = require("./assert");
|
|
36
35
|
const ConsoleMessage_1 = require("./ConsoleMessage");
|
|
37
36
|
const EventEmitter_1 = require("./EventEmitter");
|
|
38
37
|
const FrameManager_1 = require("./FrameManager");
|
|
39
38
|
const JSHandle_1 = require("./JSHandle");
|
|
40
39
|
const TaskQueue_1 = require("./TaskQueue");
|
|
41
40
|
const TimeoutSettings_1 = require("./TimeoutSettings");
|
|
41
|
+
const assert_1 = require("./assert");
|
|
42
42
|
const util_1 = require("./util");
|
|
43
43
|
const shouldHideWarning = (log) => {
|
|
44
44
|
// Mixed Content warnings caused by localhost should not be displayed
|
|
@@ -57,10 +57,10 @@ const readline = __importStar(require("readline"));
|
|
|
57
57
|
const delete_directory_1 = require("../delete-directory");
|
|
58
58
|
const logger_1 = require("../logger");
|
|
59
59
|
const truthy_1 = require("../truthy");
|
|
60
|
-
const assert_1 = require("./assert");
|
|
61
60
|
const Connection_1 = require("./Connection");
|
|
62
61
|
const Errors_1 = require("./Errors");
|
|
63
62
|
const NodeWebSocketTransport_1 = require("./NodeWebSocketTransport");
|
|
63
|
+
const assert_1 = require("./assert");
|
|
64
64
|
const should_log_message_1 = require("./should-log-message");
|
|
65
65
|
const util_1 = require("./util");
|
|
66
66
|
const PROCESS_ERROR_EXPLANATION = `Puppeteer was unable to kill the process which ran the browser binary.
|
|
@@ -115,7 +115,7 @@ class BrowserRunner {
|
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
const { output, tag } = formatted;
|
|
118
|
-
logger_1.Log.
|
|
118
|
+
logger_1.Log.error({ indent: options.indent, logLevel: options.logLevel, tag }, output);
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
}
|
|
@@ -37,7 +37,7 @@ class NodeWebSocketTransport {
|
|
|
37
37
|
const ws = new ws_types_1.ws(url, [], {
|
|
38
38
|
followRedirects: true,
|
|
39
39
|
perMessageDeflate: false,
|
|
40
|
-
maxPayload: 1024 * 1024 * 1024,
|
|
40
|
+
maxPayload: 1024 * 1024 * 1024, // 1024Mb
|
|
41
41
|
headers: {
|
|
42
42
|
'User-Agent': `Remotion CLI`,
|
|
43
43
|
},
|
|
@@ -24,6 +24,12 @@ const shouldLogBrowserMessage = (message) => {
|
|
|
24
24
|
if (message.includes('Fontconfig error: No writable cache directories')) {
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
|
+
if (message.includes('AttributionReportingCrossAppWeb cannot be enabled in this configuration')) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
if (message.includes('Received HEADERS for invalid stream')) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
27
33
|
return true;
|
|
28
34
|
};
|
|
29
35
|
exports.shouldLogBrowserMessage = shouldLogBrowserMessage;
|
package/dist/client.d.ts
CHANGED
|
@@ -464,19 +464,19 @@ export declare const BrowserSafeApis: {
|
|
|
464
464
|
cliFlag: "gl";
|
|
465
465
|
docLink: string;
|
|
466
466
|
name: string;
|
|
467
|
-
type: "
|
|
467
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
468
468
|
ssrName: string;
|
|
469
469
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
470
470
|
getValue: ({ commandLine }: {
|
|
471
471
|
commandLine: Record<string, unknown>;
|
|
472
472
|
}) => {
|
|
473
|
-
value: "
|
|
473
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
474
474
|
source: string;
|
|
475
475
|
} | {
|
|
476
476
|
value: null;
|
|
477
477
|
source: string;
|
|
478
478
|
};
|
|
479
|
-
setConfig: (value: "
|
|
479
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
480
480
|
};
|
|
481
481
|
enableLambdaInsights: {
|
|
482
482
|
name: string;
|
|
@@ -601,17 +601,17 @@ export declare const BrowserSafeApis: {
|
|
|
601
601
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
602
602
|
ssrName: "x264Preset";
|
|
603
603
|
docLink: string;
|
|
604
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
604
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
605
605
|
getValue: ({ commandLine }: {
|
|
606
606
|
commandLine: Record<string, unknown>;
|
|
607
607
|
}) => {
|
|
608
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
608
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
609
609
|
source: string;
|
|
610
610
|
} | {
|
|
611
611
|
value: null;
|
|
612
612
|
source: string;
|
|
613
613
|
};
|
|
614
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
614
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
615
615
|
};
|
|
616
616
|
logLevelOption: {
|
|
617
617
|
cliFlag: "log";
|
|
@@ -846,17 +846,17 @@ export declare const BrowserSafeApis: {
|
|
|
846
846
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
847
847
|
ssrName: "x264Preset";
|
|
848
848
|
docLink: string;
|
|
849
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
849
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
850
850
|
getValue: ({ commandLine }: {
|
|
851
851
|
commandLine: Record<string, unknown>;
|
|
852
852
|
}) => {
|
|
853
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
853
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
854
854
|
source: string;
|
|
855
855
|
} | {
|
|
856
856
|
value: null;
|
|
857
857
|
source: string;
|
|
858
858
|
};
|
|
859
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
859
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
860
860
|
};
|
|
861
861
|
readonly audioBitrate: {
|
|
862
862
|
name: string;
|
|
@@ -1568,17 +1568,17 @@ export declare const BrowserSafeApis: {
|
|
|
1568
1568
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1569
1569
|
ssrName: "x264Preset";
|
|
1570
1570
|
docLink: string;
|
|
1571
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1571
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1572
1572
|
getValue: ({ commandLine }: {
|
|
1573
1573
|
commandLine: Record<string, unknown>;
|
|
1574
1574
|
}) => {
|
|
1575
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1575
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1576
1576
|
source: string;
|
|
1577
1577
|
} | {
|
|
1578
1578
|
value: null;
|
|
1579
1579
|
source: string;
|
|
1580
1580
|
};
|
|
1581
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1581
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1582
1582
|
};
|
|
1583
1583
|
readonly encodingMaxRate: {
|
|
1584
1584
|
name: string;
|
|
@@ -1934,17 +1934,17 @@ export declare const BrowserSafeApis: {
|
|
|
1934
1934
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1935
1935
|
ssrName: "x264Preset";
|
|
1936
1936
|
docLink: string;
|
|
1937
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1937
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1938
1938
|
getValue: ({ commandLine }: {
|
|
1939
1939
|
commandLine: Record<string, unknown>;
|
|
1940
1940
|
}) => {
|
|
1941
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1941
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1942
1942
|
source: string;
|
|
1943
1943
|
} | {
|
|
1944
1944
|
value: null;
|
|
1945
1945
|
source: string;
|
|
1946
1946
|
};
|
|
1947
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1947
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1948
1948
|
};
|
|
1949
1949
|
readonly encodingMaxRate: {
|
|
1950
1950
|
name: string;
|
|
@@ -14,6 +14,7 @@ const combineVideoStreams = async ({ fps, codec, filelistDir, numberOfGifLoops,
|
|
|
14
14
|
const fileList = files.map((p) => `file '${p}'`).join('\n');
|
|
15
15
|
const fileListTxt = (0, path_1.join)(filelistDir, 'video-files.txt');
|
|
16
16
|
(0, fs_1.writeFileSync)(fileListTxt, fileList);
|
|
17
|
+
const encoder = codec === 'gif' ? 'gif' : 'copy';
|
|
17
18
|
const command = [
|
|
18
19
|
'-hide_banner',
|
|
19
20
|
'-r',
|
|
@@ -30,7 +31,9 @@ const combineVideoStreams = async ({ fps, codec, filelistDir, numberOfGifLoops,
|
|
|
30
31
|
: (0, convert_number_of_gif_loops_to_ffmpeg_1.convertNumberOfGifLoopsToFfmpegSyntax)(numberOfGifLoops),
|
|
31
32
|
'-an',
|
|
32
33
|
'-c:v',
|
|
33
|
-
|
|
34
|
+
encoder,
|
|
35
|
+
encoder === 'gif' ? '-filter_complex' : null,
|
|
36
|
+
encoder === 'gif' ? 'split[v],palettegen,[v]paletteuse' : null,
|
|
34
37
|
codec === 'h264' ? '-movflags' : null,
|
|
35
38
|
codec === 'h264' ? 'faststart' : null,
|
|
36
39
|
addRemotionMetadata ? `-metadata` : null,
|
|
@@ -38,8 +41,9 @@ const combineVideoStreams = async ({ fps, codec, filelistDir, numberOfGifLoops,
|
|
|
38
41
|
'-y',
|
|
39
42
|
output,
|
|
40
43
|
].filter(truthy_1.truthy);
|
|
44
|
+
const doesReencode = encoder !== 'copy';
|
|
41
45
|
const startTime = Date.now();
|
|
42
|
-
logger_1.Log.verbose({ indent, logLevel }, `Combining video without
|
|
46
|
+
logger_1.Log.verbose({ indent, logLevel }, `Combining video ${doesReencode ? 'with reencoding' : 'without reencoding'}, command: ${command.join(' ')}`);
|
|
43
47
|
try {
|
|
44
48
|
const task = (0, call_ffmpeg_1.callFf)({
|
|
45
49
|
args: command,
|
package/dist/ensure-browser.js
CHANGED
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ensureBrowser = exports.internalEnsureBrowser = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
9
8
|
const BrowserFetcher_1 = require("./browser/BrowserFetcher");
|
|
9
|
+
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
10
10
|
const get_local_browser_1 = require("./get-local-browser");
|
|
11
11
|
const internalEnsureBrowser = async ({ indent, logLevel, browserExecutable, onBrowserDownload, }) => {
|
|
12
12
|
const status = getBrowserStatus(browserExecutable);
|
package/dist/get-compositions.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCompositions = exports.internalGetCompositions = void 0;
|
|
4
4
|
const no_react_1 = require("remotion/no-react");
|
|
5
|
-
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
6
5
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
6
|
+
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
7
7
|
const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
|
8
8
|
const find_closest_package_json_1 = require("./find-closest-package-json");
|
|
9
9
|
const get_browser_instance_1 = require("./get-browser-instance");
|
|
@@ -15,7 +15,7 @@ const getSearchPathsForProduct = () => {
|
|
|
15
15
|
: null,
|
|
16
16
|
process.platform === 'linux' ? '/usr/bin/google-chrome' : null,
|
|
17
17
|
process.platform === 'linux' ? '/usr/bin/chromium-browser' : null,
|
|
18
|
-
process.platform === 'linux' ? '/usr/bin/chromium' : null,
|
|
18
|
+
process.platform === 'linux' ? '/usr/bin/chromium' : null, // Debian
|
|
19
19
|
process.platform === 'linux'
|
|
20
20
|
? '/app/.apt/usr/bin/google-chrome-stable'
|
|
21
21
|
: null,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
1
3
|
import execa from 'execa';
|
|
2
4
|
import { HeadlessBrowser } from './browser/Browser';
|
|
3
5
|
import { SymbolicateableError } from './error-handling/symbolicateable-error';
|
|
@@ -10,16 +12,16 @@ export { BrowserLog } from './browser-log';
|
|
|
10
12
|
export type { HeadlessBrowser } from './browser/Browser';
|
|
11
13
|
export { Codec, CodecOrUndefined } from './codec';
|
|
12
14
|
export { Crf } from './crf';
|
|
13
|
-
export {
|
|
15
|
+
export { EnsureBrowserOptions, ensureBrowser } from './ensure-browser';
|
|
14
16
|
export { ErrorWithStackFrame } from './error-handling/handle-javascript-exception';
|
|
15
17
|
export { extractAudio } from './extract-audio';
|
|
16
18
|
export type { FfmpegOverrideFn } from './ffmpeg-override';
|
|
17
19
|
export { FileExtension } from './file-extensions';
|
|
18
20
|
export { FrameRange } from './frame-range';
|
|
19
|
-
export {
|
|
21
|
+
export { GetCompositionsOptions, getCompositions } from './get-compositions';
|
|
20
22
|
export { getSilentParts } from './get-silent-parts';
|
|
21
|
-
export {
|
|
22
|
-
export { ImageFormat, StillImageFormat,
|
|
23
|
+
export { VideoMetadata, getVideoMetadata } from './get-video-metadata';
|
|
24
|
+
export { ImageFormat, StillImageFormat, VideoImageFormat, validateSelectedPixelFormatAndImageFormatCombination, } from './image-format';
|
|
23
25
|
export type { LogLevel } from './log-level';
|
|
24
26
|
export { LogOptions } from './logger';
|
|
25
27
|
export { CancelSignal, makeCancelSignal } from './make-cancel-signal';
|
|
@@ -35,11 +37,11 @@ export { X264Preset } from './options/x264-preset';
|
|
|
35
37
|
export { PixelFormat } from './pixel-format';
|
|
36
38
|
export { RemotionServer } from './prepare-server';
|
|
37
39
|
export { ProResProfile } from './prores-profile';
|
|
38
|
-
export {
|
|
39
|
-
export { InternalRenderMediaOptions,
|
|
40
|
-
export {
|
|
41
|
-
export {
|
|
42
|
-
export {
|
|
40
|
+
export { RenderFramesOptions, renderFrames } from './render-frames';
|
|
41
|
+
export { InternalRenderMediaOptions, RenderMediaOnProgress, RenderMediaOptions, SlowFrame, StitchingState, renderMedia, } from './render-media';
|
|
42
|
+
export { RenderStillOptions, renderStill } from './render-still';
|
|
43
|
+
export { SelectCompositionOptions, selectComposition, } from './select-composition';
|
|
44
|
+
export { StitchFramesToVideoOptions, stitchFramesToVideo, } from './stitch-frames-to-video';
|
|
43
45
|
export { SymbolicatedStackFrame } from './symbolicate-stacktrace';
|
|
44
46
|
export { OnStartData, RenderFramesOutput } from './types';
|
|
45
47
|
export { validateOutputFilename } from './validate-output-filename';
|
|
@@ -138,8 +140,8 @@ export declare const RenderInternals: {
|
|
|
138
140
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
139
141
|
DEFAULT_BROWSER: "chrome";
|
|
140
142
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
141
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
142
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
143
|
+
DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
144
|
+
validateOpenGlRenderer: (option: unknown) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
143
145
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
144
146
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
145
147
|
validateJpegQuality: (q: unknown) => void;
|
|
@@ -334,7 +336,7 @@ export declare const RenderInternals: {
|
|
|
334
336
|
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
335
337
|
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
|
|
336
338
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
337
|
-
type: "
|
|
339
|
+
type: "compositor" | "ffmpeg" | "ffprobe";
|
|
338
340
|
indent: boolean;
|
|
339
341
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
340
342
|
binariesDirectory: string | null;
|
|
@@ -350,8 +352,8 @@ export declare const RenderInternals: {
|
|
|
350
352
|
}) => execa.ExecaChildProcess<string>;
|
|
351
353
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
352
354
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
353
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
354
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
355
|
+
DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
|
|
356
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
|
|
355
357
|
DEFAULT_JPEG_QUALITY: number;
|
|
356
358
|
chalk: {
|
|
357
359
|
enabled: () => boolean;
|
|
@@ -450,7 +452,7 @@ export declare const RenderInternals: {
|
|
|
450
452
|
frame: number;
|
|
451
453
|
serializedInputPropsWithCustomSchema: string;
|
|
452
454
|
serializedResolvedPropsWithCustomSchema: string;
|
|
453
|
-
imageFormat: "
|
|
455
|
+
imageFormat: "jpeg" | "png" | "webp" | "pdf";
|
|
454
456
|
jpegQuality: number;
|
|
455
457
|
puppeteerInstance: HeadlessBrowser | null;
|
|
456
458
|
envVariables: Record<string, string>;
|
|
@@ -781,7 +783,7 @@ export declare const RenderInternals: {
|
|
|
781
783
|
assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
|
|
782
784
|
enforceAudioTrack: boolean;
|
|
783
785
|
muted: boolean;
|
|
784
|
-
}) => "
|
|
786
|
+
}) => "no" | "yes" | "maybe";
|
|
785
787
|
codecSupportsMedia: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => {
|
|
786
788
|
video: boolean;
|
|
787
789
|
audio: boolean;
|
package/dist/open-browser.js
CHANGED
|
@@ -108,18 +108,18 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
108
108
|
!enableMultiProcessOnLinux
|
|
109
109
|
? '--single-process'
|
|
110
110
|
: null,
|
|
111
|
-
'--allow-running-insecure-content',
|
|
112
|
-
'--disable-component-update',
|
|
113
|
-
'--disable-domain-reliability',
|
|
114
|
-
'--disable-features=AudioServiceOutOfProcess,IsolateOrigins,site-per-process,Translate,BackForwardCache,AvoidUnnecessaryBeforeUnloadCheckSync,IntensiveWakeUpThrottling',
|
|
115
|
-
'--disable-print-preview',
|
|
116
|
-
'--disable-site-isolation-trials',
|
|
117
|
-
'--disk-cache-size=268435456',
|
|
118
|
-
'--hide-scrollbars',
|
|
119
|
-
'--no-default-browser-check',
|
|
120
|
-
'--no-pings',
|
|
111
|
+
'--allow-running-insecure-content', // https://source.chromium.org/search?q=lang:cpp+symbol:kAllowRunningInsecureContent&ss=chromium
|
|
112
|
+
'--disable-component-update', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableComponentUpdate&ss=chromium
|
|
113
|
+
'--disable-domain-reliability', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableDomainReliability&ss=chromium
|
|
114
|
+
'--disable-features=AudioServiceOutOfProcess,IsolateOrigins,site-per-process,Translate,BackForwardCache,AvoidUnnecessaryBeforeUnloadCheckSync,IntensiveWakeUpThrottling', // https://source.chromium.org/search?q=file:content_features.cc&ss=chromium
|
|
115
|
+
'--disable-print-preview', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisablePrintPreview&ss=chromium
|
|
116
|
+
'--disable-site-isolation-trials', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSiteIsolation&ss=chromium
|
|
117
|
+
'--disk-cache-size=268435456', // https://source.chromium.org/search?q=lang:cpp+symbol:kDiskCacheSize&ss=chromium
|
|
118
|
+
'--hide-scrollbars', // https://source.chromium.org/search?q=lang:cpp+symbol:kHideScrollbars&ss=chromium
|
|
119
|
+
'--no-default-browser-check', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoDefaultBrowserCheck&ss=chromium
|
|
120
|
+
'--no-pings', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoPings&ss=chromium
|
|
121
121
|
'--font-render-hinting=none',
|
|
122
|
-
'--no-zygote',
|
|
122
|
+
'--no-zygote', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoZygote&ss=chromium,
|
|
123
123
|
typeof forceDeviceScaleFactor === 'undefined'
|
|
124
124
|
? null
|
|
125
125
|
: `--force-device-scale-factor=${forceDeviceScaleFactor}`,
|
package/dist/options/gl.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
2
2
|
export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
|
|
3
3
|
export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
|
|
4
|
-
export declare const getChromiumOpenGlRenderer: () => "
|
|
4
|
+
export declare const getChromiumOpenGlRenderer: () => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
5
5
|
export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
|
|
6
6
|
export declare const glOption: {
|
|
7
7
|
cliFlag: "gl";
|
|
8
8
|
docLink: string;
|
|
9
9
|
name: string;
|
|
10
|
-
type: "
|
|
10
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
11
11
|
ssrName: string;
|
|
12
12
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
getValue: ({ commandLine }: {
|
|
14
14
|
commandLine: Record<string, unknown>;
|
|
15
15
|
}) => {
|
|
16
|
-
value: "
|
|
16
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
17
17
|
source: string;
|
|
18
18
|
} | {
|
|
19
19
|
value: null;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -245,19 +245,19 @@ export declare const allOptions: {
|
|
|
245
245
|
cliFlag: "gl";
|
|
246
246
|
docLink: string;
|
|
247
247
|
name: string;
|
|
248
|
-
type: "
|
|
248
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
249
249
|
ssrName: string;
|
|
250
250
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
251
251
|
getValue: ({ commandLine }: {
|
|
252
252
|
commandLine: Record<string, unknown>;
|
|
253
253
|
}) => {
|
|
254
|
-
value: "
|
|
254
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
255
255
|
source: string;
|
|
256
256
|
} | {
|
|
257
257
|
value: null;
|
|
258
258
|
source: string;
|
|
259
259
|
};
|
|
260
|
-
setConfig: (value: "
|
|
260
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
261
261
|
};
|
|
262
262
|
enableLambdaInsights: {
|
|
263
263
|
name: string;
|
|
@@ -382,17 +382,17 @@ export declare const allOptions: {
|
|
|
382
382
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
383
383
|
ssrName: "x264Preset";
|
|
384
384
|
docLink: string;
|
|
385
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
385
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
386
386
|
getValue: ({ commandLine }: {
|
|
387
387
|
commandLine: Record<string, unknown>;
|
|
388
388
|
}) => {
|
|
389
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
389
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
390
390
|
source: string;
|
|
391
391
|
} | {
|
|
392
392
|
value: null;
|
|
393
393
|
source: string;
|
|
394
394
|
};
|
|
395
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
395
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
396
396
|
};
|
|
397
397
|
logLevelOption: {
|
|
398
398
|
cliFlag: "log";
|
|
@@ -72,17 +72,17 @@ export declare const optionsMap: {
|
|
|
72
72
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
73
73
|
ssrName: "x264Preset";
|
|
74
74
|
docLink: string;
|
|
75
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
75
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
76
76
|
getValue: ({ commandLine }: {
|
|
77
77
|
commandLine: Record<string, unknown>;
|
|
78
78
|
}) => {
|
|
79
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
79
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
80
80
|
source: string;
|
|
81
81
|
} | {
|
|
82
82
|
value: null;
|
|
83
83
|
source: string;
|
|
84
84
|
};
|
|
85
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
85
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
86
86
|
};
|
|
87
87
|
readonly audioBitrate: {
|
|
88
88
|
name: string;
|
|
@@ -794,17 +794,17 @@ export declare const optionsMap: {
|
|
|
794
794
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
795
795
|
ssrName: "x264Preset";
|
|
796
796
|
docLink: string;
|
|
797
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
797
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
798
798
|
getValue: ({ commandLine }: {
|
|
799
799
|
commandLine: Record<string, unknown>;
|
|
800
800
|
}) => {
|
|
801
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
801
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
802
802
|
source: string;
|
|
803
803
|
} | {
|
|
804
804
|
value: null;
|
|
805
805
|
source: string;
|
|
806
806
|
};
|
|
807
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
807
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
808
808
|
};
|
|
809
809
|
readonly encodingMaxRate: {
|
|
810
810
|
name: string;
|
|
@@ -1160,17 +1160,17 @@ export declare const optionsMap: {
|
|
|
1160
1160
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1161
1161
|
ssrName: "x264Preset";
|
|
1162
1162
|
docLink: string;
|
|
1163
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1163
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1164
1164
|
getValue: ({ commandLine }: {
|
|
1165
1165
|
commandLine: Record<string, unknown>;
|
|
1166
1166
|
}) => {
|
|
1167
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1167
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1168
1168
|
source: string;
|
|
1169
1169
|
} | {
|
|
1170
1170
|
value: null;
|
|
1171
1171
|
source: string;
|
|
1172
1172
|
};
|
|
1173
|
-
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
1173
|
+
setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1174
1174
|
};
|
|
1175
1175
|
readonly encodingMaxRate: {
|
|
1176
1176
|
name: string;
|
|
@@ -11,11 +11,11 @@ export declare const x264Option: {
|
|
|
11
11
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
ssrName: "x264Preset";
|
|
13
13
|
docLink: string;
|
|
14
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
14
|
+
type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
15
15
|
getValue: ({ commandLine }: {
|
|
16
16
|
commandLine: Record<string, unknown>;
|
|
17
17
|
}) => {
|
|
18
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "
|
|
18
|
+
value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
|
|
19
19
|
source: string;
|
|
20
20
|
} | {
|
|
21
21
|
value: null;
|
package/dist/port-config.d.ts
CHANGED
package/dist/render-frames.js
CHANGED
|
@@ -10,9 +10,9 @@ const perf_hooks_1 = require("perf_hooks");
|
|
|
10
10
|
const no_react_1 = require("remotion/no-react");
|
|
11
11
|
const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
|
|
12
12
|
const browser_1 = require("./browser");
|
|
13
|
+
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
13
14
|
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
14
15
|
const is_target_closed_err_1 = require("./browser/is-target-closed-err");
|
|
15
|
-
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
16
16
|
const compress_assets_1 = require("./compress-assets");
|
|
17
17
|
const cycle_browser_tabs_1 = require("./cycle-browser-tabs");
|
|
18
18
|
const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
package/dist/render-media.js
CHANGED
|
@@ -8,8 +8,8 @@ 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
10
|
const no_react_1 = require("remotion/no-react");
|
|
11
|
-
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
12
11
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
12
|
+
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
13
13
|
const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
|
|
14
14
|
const codec_supports_media_1 = require("./codec-supports-media");
|
|
15
15
|
const crf_1 = require("./crf");
|
package/dist/render-still.js
CHANGED
|
@@ -31,8 +31,8 @@ const node_fs_1 = __importStar(require("node:fs"));
|
|
|
31
31
|
const node_path_1 = __importDefault(require("node:path"));
|
|
32
32
|
const no_react_1 = require("remotion/no-react");
|
|
33
33
|
const browser_1 = require("./browser");
|
|
34
|
-
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
35
34
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
35
|
+
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
36
36
|
const convert_to_positive_frame_index_1 = require("./convert-to-positive-frame-index");
|
|
37
37
|
const ensure_output_directory_1 = require("./ensure-output-directory");
|
|
38
38
|
const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
package/dist/screenshot-task.js
CHANGED
|
@@ -25,8 +25,8 @@ const screenshotTask = async ({ format, height, omitBackground, page, width, pat
|
|
|
25
25
|
let result;
|
|
26
26
|
if (format === 'pdf') {
|
|
27
27
|
const res = await client.send('Page.printToPDF', {
|
|
28
|
-
paperWidth: width / 96,
|
|
29
|
-
paperHeight: height / 96,
|
|
28
|
+
paperWidth: width / 96, // Convert to Inch
|
|
29
|
+
paperHeight: height / 96, // Convert to Inch
|
|
30
30
|
marginTop: 0,
|
|
31
31
|
marginBottom: 0,
|
|
32
32
|
marginLeft: 0,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.selectComposition = exports.internalSelectComposition = exports.internalSelectCompositionRaw = void 0;
|
|
4
4
|
const no_react_1 = require("remotion/no-react");
|
|
5
|
-
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
6
5
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
6
|
+
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
7
7
|
const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
|
8
8
|
const find_closest_package_json_1 = require("./find-closest-package-json");
|
|
9
9
|
const get_browser_instance_1 = require("./get-browser-instance");
|
package/dist/ws/ws-types.d.ts
CHANGED
package/dist/ws/ws-types.js
CHANGED
|
@@ -4,8 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ws = void 0;
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error
|
|
9
|
-
// @ts-ignore
|
|
10
7
|
const ws_1 = __importDefault(require("ws"));
|
|
11
8
|
exports.ws = ws_1.default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.138",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,35 +18,36 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.7.0",
|
|
21
|
-
"remotion": "4.0.
|
|
21
|
+
"remotion": "4.0.138"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
25
25
|
"react-dom": ">=16.8.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@jonny/eslint-config": "3.0.
|
|
28
|
+
"@jonny/eslint-config": "3.0.281",
|
|
29
29
|
"@testing-library/dom": "^8.16.0",
|
|
30
30
|
"@testing-library/react": "13.3.0",
|
|
31
31
|
"@types/node": "18.14.6",
|
|
32
32
|
"@types/progress": "2.0.5",
|
|
33
33
|
"@types/react": "18.2.48",
|
|
34
34
|
"@types/react-dom": "18.2.18",
|
|
35
|
-
"eslint": "8.
|
|
36
|
-
"prettier": "3.
|
|
35
|
+
"eslint": "8.56.0",
|
|
36
|
+
"prettier": "3.2.5",
|
|
37
37
|
"prettier-plugin-organize-imports": "3.2.4",
|
|
38
38
|
"react": "18.2.0",
|
|
39
39
|
"react-dom": "18.2.0",
|
|
40
|
-
"vitest": "0.31.1"
|
|
40
|
+
"vitest": "0.31.1",
|
|
41
|
+
"@types/ws": "8.5.10"
|
|
41
42
|
},
|
|
42
43
|
"optionalDependencies": {
|
|
43
|
-
"@remotion/compositor-linux-arm64-
|
|
44
|
-
"@remotion/compositor-darwin-
|
|
45
|
-
"@remotion/compositor-
|
|
46
|
-
"@remotion/compositor-linux-
|
|
47
|
-
"@remotion/compositor-linux-
|
|
48
|
-
"@remotion/compositor-
|
|
49
|
-
"@remotion/compositor-
|
|
44
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.138",
|
|
45
|
+
"@remotion/compositor-darwin-arm64": "4.0.138",
|
|
46
|
+
"@remotion/compositor-darwin-x64": "4.0.138",
|
|
47
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.138",
|
|
48
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.138",
|
|
49
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.138",
|
|
50
|
+
"@remotion/compositor-linux-x64-musl": "4.0.138"
|
|
50
51
|
},
|
|
51
52
|
"keywords": [
|
|
52
53
|
"remotion",
|
package/dist/audio-codec.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Codec } from './codec';
|
|
2
|
-
export declare const validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
3
|
-
export type AudioCodec = (typeof validAudioCodecs)[number];
|
|
4
|
-
export declare const supportedAudioCodecs: {
|
|
5
|
-
readonly h264: readonly ["aac", "pcm-16", "mp3"];
|
|
6
|
-
readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
|
|
7
|
-
readonly aac: readonly ["aac", "pcm-16"];
|
|
8
|
-
readonly gif: readonly [];
|
|
9
|
-
readonly h265: readonly ["aac", "pcm-16"];
|
|
10
|
-
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
11
|
-
readonly prores: readonly ["aac", "pcm-16"];
|
|
12
|
-
readonly vp8: readonly ["opus", "pcm-16"];
|
|
13
|
-
readonly vp9: readonly ["opus", "pcm-16"];
|
|
14
|
-
readonly wav: readonly ["pcm-16"];
|
|
15
|
-
};
|
|
16
|
-
declare const audioCodecNames: readonly ["pcm_s16le", "libfdk_aac", "libmp3lame", "libopus"];
|
|
17
|
-
type FfmpegAudioCodecName = (typeof audioCodecNames)[number];
|
|
18
|
-
export declare const mapAudioCodecToFfmpegAudioCodecName: (audioCodec: AudioCodec) => FfmpegAudioCodecName;
|
|
19
|
-
export declare const defaultAudioCodecs: {
|
|
20
|
-
[key in Codec]: {
|
|
21
|
-
[k in 'compressed' | 'lossless']: (typeof supportedAudioCodecs)[key][number] | null;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
25
|
-
codec: Codec;
|
|
26
|
-
preferLossless: boolean;
|
|
27
|
-
}) => AudioCodec | null;
|
|
28
|
-
export {};
|
package/dist/audio-codec.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefaultAudioCodec = exports.defaultAudioCodecs = exports.mapAudioCodecToFfmpegAudioCodecName = exports.supportedAudioCodecs = exports.validAudioCodecs = void 0;
|
|
4
|
-
exports.validAudioCodecs = ['pcm-16', 'aac', 'mp3', 'opus'];
|
|
5
|
-
exports.supportedAudioCodecs = {
|
|
6
|
-
h264: ['aac', 'pcm-16', 'mp3'],
|
|
7
|
-
'h264-mkv': ['pcm-16', 'mp3'],
|
|
8
|
-
aac: ['aac', 'pcm-16'],
|
|
9
|
-
gif: [],
|
|
10
|
-
h265: ['aac', 'pcm-16'],
|
|
11
|
-
mp3: ['mp3', 'pcm-16'],
|
|
12
|
-
prores: ['aac', 'pcm-16'],
|
|
13
|
-
vp8: ['opus', 'pcm-16'],
|
|
14
|
-
vp9: ['opus', 'pcm-16'],
|
|
15
|
-
wav: ['pcm-16'],
|
|
16
|
-
};
|
|
17
|
-
const _satisfies = exports.supportedAudioCodecs;
|
|
18
|
-
if (_satisfies) {
|
|
19
|
-
// Just for type checking
|
|
20
|
-
}
|
|
21
|
-
const audioCodecNames = [
|
|
22
|
-
'pcm_s16le',
|
|
23
|
-
'libfdk_aac',
|
|
24
|
-
'libmp3lame',
|
|
25
|
-
'libopus',
|
|
26
|
-
];
|
|
27
|
-
const mapAudioCodecToFfmpegAudioCodecName = (audioCodec) => {
|
|
28
|
-
if (audioCodec === 'aac') {
|
|
29
|
-
return 'libfdk_aac';
|
|
30
|
-
}
|
|
31
|
-
if (audioCodec === 'mp3') {
|
|
32
|
-
return 'libmp3lame';
|
|
33
|
-
}
|
|
34
|
-
if (audioCodec === 'opus') {
|
|
35
|
-
return 'libopus';
|
|
36
|
-
}
|
|
37
|
-
if (audioCodec === 'pcm-16') {
|
|
38
|
-
return 'pcm_s16le';
|
|
39
|
-
}
|
|
40
|
-
throw new Error('unknown audio codec: ' + audioCodec);
|
|
41
|
-
};
|
|
42
|
-
exports.mapAudioCodecToFfmpegAudioCodecName = mapAudioCodecToFfmpegAudioCodecName;
|
|
43
|
-
exports.defaultAudioCodecs = {
|
|
44
|
-
'h264-mkv': {
|
|
45
|
-
lossless: 'pcm-16',
|
|
46
|
-
compressed: 'pcm-16',
|
|
47
|
-
},
|
|
48
|
-
aac: {
|
|
49
|
-
lossless: 'pcm-16',
|
|
50
|
-
compressed: 'aac',
|
|
51
|
-
},
|
|
52
|
-
gif: {
|
|
53
|
-
lossless: null,
|
|
54
|
-
compressed: null,
|
|
55
|
-
},
|
|
56
|
-
h264: {
|
|
57
|
-
lossless: 'pcm-16',
|
|
58
|
-
compressed: 'aac',
|
|
59
|
-
},
|
|
60
|
-
h265: {
|
|
61
|
-
lossless: 'pcm-16',
|
|
62
|
-
compressed: 'aac',
|
|
63
|
-
},
|
|
64
|
-
mp3: {
|
|
65
|
-
lossless: 'pcm-16',
|
|
66
|
-
compressed: 'mp3',
|
|
67
|
-
},
|
|
68
|
-
prores: {
|
|
69
|
-
lossless: 'pcm-16',
|
|
70
|
-
compressed: 'pcm-16',
|
|
71
|
-
},
|
|
72
|
-
vp8: {
|
|
73
|
-
lossless: 'pcm-16',
|
|
74
|
-
compressed: 'opus',
|
|
75
|
-
},
|
|
76
|
-
vp9: {
|
|
77
|
-
lossless: 'pcm-16',
|
|
78
|
-
compressed: 'opus',
|
|
79
|
-
},
|
|
80
|
-
wav: {
|
|
81
|
-
lossless: 'pcm-16',
|
|
82
|
-
compressed: 'pcm-16',
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
const getDefaultAudioCodec = ({ codec, preferLossless, }) => {
|
|
86
|
-
return exports.defaultAudioCodecs[codec][preferLossless ? 'lossless' : 'compressed'];
|
|
87
|
-
};
|
|
88
|
-
exports.getDefaultAudioCodec = getDefaultAudioCodec;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { MediaAsset } from './assets/types';
|
|
2
|
-
import type { FilterWithoutPaddingApplied } from './stringify-ffmpeg-filter';
|
|
3
|
-
export declare const calculateFfmpegFilter: ({ asset, fps, channels, assetDuration, trimLeftOffset, trimRightOffset, chunkLengthInSeconds, forSeamlessAacConcatenation, }: {
|
|
4
|
-
asset: MediaAsset;
|
|
5
|
-
fps: number;
|
|
6
|
-
channels: number;
|
|
7
|
-
assetDuration: number | null;
|
|
8
|
-
trimLeftOffset: number;
|
|
9
|
-
trimRightOffset: number;
|
|
10
|
-
chunkLengthInSeconds: number;
|
|
11
|
-
forSeamlessAacConcatenation: boolean;
|
|
12
|
-
}) => FilterWithoutPaddingApplied | null;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateFfmpegFilter = void 0;
|
|
4
|
-
const flatten_volume_array_1 = require("./assets/flatten-volume-array");
|
|
5
|
-
const stringify_ffmpeg_filter_1 = require("./stringify-ffmpeg-filter");
|
|
6
|
-
const calculateFfmpegFilter = ({ asset, fps, channels, assetDuration, trimLeftOffset, trimRightOffset, chunkLengthInSeconds, forSeamlessAacConcatenation, }) => {
|
|
7
|
-
// TODO: Don't need this wrapper function anymore
|
|
8
|
-
return (0, stringify_ffmpeg_filter_1.stringifyFfmpegFilter)({
|
|
9
|
-
channels,
|
|
10
|
-
startInVideo: asset.startInVideo,
|
|
11
|
-
volume: (0, flatten_volume_array_1.flattenVolumeArray)(asset.volume),
|
|
12
|
-
fps,
|
|
13
|
-
playbackRate: asset.playbackRate,
|
|
14
|
-
assetDuration,
|
|
15
|
-
allowAmplificationDuringRender: asset.allowAmplificationDuringRender,
|
|
16
|
-
toneFrequency: asset.toneFrequency,
|
|
17
|
-
chunkLengthInSeconds,
|
|
18
|
-
forSeamlessAacConcatenation,
|
|
19
|
-
trimLeftOffset,
|
|
20
|
-
trimRightOffset,
|
|
21
|
-
asset,
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
exports.calculateFfmpegFilter = calculateFfmpegFilter;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const checkNodeVersionAndWarnAboutRosetta: () => void;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkNodeVersionAndWarnAboutRosetta = void 0;
|
|
4
|
-
const checkNodeVersionAndWarnAboutRosetta = () => {
|
|
5
|
-
const version = process.version.replace('v', '').split('.');
|
|
6
|
-
const majorVersion = Number(version[0]);
|
|
7
|
-
const requiredNodeVersion = 16;
|
|
8
|
-
if (majorVersion < 16) {
|
|
9
|
-
throw new Error(`Remotion requires at least Node ${requiredNodeVersion}. You currently have ${process.version}. Update your node version to ${requiredNodeVersion} to use Remotion.`);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
exports.checkNodeVersionAndWarnAboutRosetta = checkNodeVersionAndWarnAboutRosetta;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Codec } from './codec';
|
|
2
|
-
import type { LogLevel } from './log-level';
|
|
3
|
-
import type { CancelSignal } from './make-cancel-signal';
|
|
4
|
-
export declare const createCombinedVideo: ({ addRemotionMetadata, binariesDirectory, cancelSignal, codec, filelistDir, files, fps, indent, logLevel, numberOfGifLoops, onProgress, output, seamless, }: {
|
|
5
|
-
fps: number;
|
|
6
|
-
codec: Codec;
|
|
7
|
-
filelistDir: string;
|
|
8
|
-
numberOfGifLoops: number | null;
|
|
9
|
-
output: string;
|
|
10
|
-
indent: boolean;
|
|
11
|
-
logLevel: LogLevel;
|
|
12
|
-
onProgress: (p: number) => void;
|
|
13
|
-
files: string[];
|
|
14
|
-
addRemotionMetadata: boolean;
|
|
15
|
-
binariesDirectory: string | null;
|
|
16
|
-
cancelSignal: CancelSignal | undefined;
|
|
17
|
-
seamless: boolean;
|
|
18
|
-
}) => Promise<string | undefined>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createCombinedVideo = void 0;
|
|
4
|
-
const combine_video_streams_1 = require("./combine-video-streams");
|
|
5
|
-
const combine_video_streams_seamlessly_1 = require("./combine-video-streams-seamlessly");
|
|
6
|
-
const createCombinedVideo = async ({ addRemotionMetadata, binariesDirectory, cancelSignal, codec, filelistDir, files, fps, indent, logLevel, numberOfGifLoops, onProgress, output, seamless, }) => {
|
|
7
|
-
if (seamless) {
|
|
8
|
-
return (0, combine_video_streams_seamlessly_1.combineVideoStreamsSeamlessly)({
|
|
9
|
-
files,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
await (0, combine_video_streams_1.combineVideoStreams)({
|
|
13
|
-
addRemotionMetadata,
|
|
14
|
-
binariesDirectory,
|
|
15
|
-
cancelSignal,
|
|
16
|
-
codec,
|
|
17
|
-
filelistDir,
|
|
18
|
-
files,
|
|
19
|
-
fps,
|
|
20
|
-
indent,
|
|
21
|
-
logLevel,
|
|
22
|
-
numberOfGifLoops,
|
|
23
|
-
onProgress,
|
|
24
|
-
output,
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
exports.createCombinedVideo = createCombinedVideo;
|
package/dist/does-have-m2-bug.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.warnAboutM2Bug = void 0;
|
|
4
|
-
const node_os_1 = require("node:os");
|
|
5
|
-
const warnAboutM2Bug = (codec, pixelFormat) => {
|
|
6
|
-
const isM2 = (0, node_os_1.cpus)().find((c) => c.model.includes('Apple M2'));
|
|
7
|
-
if (codec === 'prores' && pixelFormat === 'yuv422p10le' && isM2) {
|
|
8
|
-
console.warn();
|
|
9
|
-
console.warn('⚠️ Known issue: Apple M2 CPUs currently suffer from a bug where transparent ProRes videos have flickering. https://github.com/remotion-dev/remotion/issues/1929');
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
exports.warnAboutM2Bug = warnAboutM2Bug;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getExtensionFromAudioCodec = void 0;
|
|
4
|
-
const getExtensionFromAudioCodec = (audioCodec) => {
|
|
5
|
-
if (audioCodec === 'aac') {
|
|
6
|
-
return 'aac';
|
|
7
|
-
}
|
|
8
|
-
if (audioCodec === 'opus') {
|
|
9
|
-
return 'opus';
|
|
10
|
-
}
|
|
11
|
-
if (audioCodec === 'mp3') {
|
|
12
|
-
return 'mp3';
|
|
13
|
-
}
|
|
14
|
-
if (audioCodec === 'pcm-16') {
|
|
15
|
-
return 'wav';
|
|
16
|
-
}
|
|
17
|
-
throw new Error(`Unsupported audio codec: ${audioCodec}`);
|
|
18
|
-
};
|
|
19
|
-
exports.getExtensionFromAudioCodec = getExtensionFromAudioCodec;
|
package/dist/is-audio-codec.d.ts
DELETED
package/dist/is-audio-codec.js
DELETED
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/dist/x264-preset.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Codec } from './codec';
|
|
2
|
-
export declare const x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
|
|
3
|
-
export type X264Preset = (typeof x264PresetOptions)[number];
|
|
4
|
-
export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Preset, }: {
|
|
5
|
-
codec: Codec;
|
|
6
|
-
x264Preset: X264Preset | undefined;
|
|
7
|
-
}) => void;
|
|
8
|
-
export declare const x264Option: {
|
|
9
|
-
name: string;
|
|
10
|
-
cliFlag: "x264-preset";
|
|
11
|
-
description: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
ssrName: "x264Preset";
|
|
13
|
-
docLink: string;
|
|
14
|
-
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
15
|
-
getValue: ({ commandLine }: {
|
|
16
|
-
commandLine: Record<string, unknown>;
|
|
17
|
-
}) => {
|
|
18
|
-
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
19
|
-
source: string;
|
|
20
|
-
};
|
|
21
|
-
setConfig: (profile: X264Preset | undefined) => void;
|
|
22
|
-
};
|
package/dist/x264-preset.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.x264Option = exports.validateSelectedCodecAndPresetCombination = exports.x264PresetOptions = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
exports.x264PresetOptions = [
|
|
6
|
-
'ultrafast',
|
|
7
|
-
'superfast',
|
|
8
|
-
'veryfast',
|
|
9
|
-
'faster',
|
|
10
|
-
'fast',
|
|
11
|
-
'medium',
|
|
12
|
-
'slow',
|
|
13
|
-
'slower',
|
|
14
|
-
'veryslow',
|
|
15
|
-
'placebo',
|
|
16
|
-
];
|
|
17
|
-
let preset;
|
|
18
|
-
const validateSelectedCodecAndPresetCombination = ({ codec, x264Preset, }) => {
|
|
19
|
-
if (typeof x264Preset !== 'undefined' &&
|
|
20
|
-
codec !== 'h264' &&
|
|
21
|
-
codec !== 'h264-mkv') {
|
|
22
|
-
throw new TypeError(`You have set a x264 preset but the codec is "${codec}". Set the codec to "h264" or remove the Preset profile.`);
|
|
23
|
-
}
|
|
24
|
-
if (x264Preset !== undefined &&
|
|
25
|
-
!exports.x264PresetOptions.includes(x264Preset)) {
|
|
26
|
-
throw new TypeError(`The Preset profile "${x264Preset}" is not valid. Valid options are ${exports.x264PresetOptions
|
|
27
|
-
.map((p) => `"${p}"`)
|
|
28
|
-
.join(', ')}`);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
exports.validateSelectedCodecAndPresetCombination = validateSelectedCodecAndPresetCombination;
|
|
32
|
-
const cliFlag = 'x264-preset';
|
|
33
|
-
const DEFAULT_PRESET = 'medium';
|
|
34
|
-
exports.x264Option = {
|
|
35
|
-
name: 'x264 Preset',
|
|
36
|
-
cliFlag,
|
|
37
|
-
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Sets a x264 preset profile. Only applies to videos rendered with", ' ', (0, jsx_runtime_1.jsx)("code", { children: "h264" }), " codec.", (0, jsx_runtime_1.jsx)("br", {}), "Possible values: ", (0, jsx_runtime_1.jsx)("code", { children: "superfast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryfast" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "faster" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "fast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "medium" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "slow" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "slower" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryslow" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "placebo" }), ".", (0, jsx_runtime_1.jsx)("br", {}), "Default: ", (0, jsx_runtime_1.jsx)("code", { children: DEFAULT_PRESET })] })),
|
|
38
|
-
ssrName: 'x264Preset',
|
|
39
|
-
docLink: 'https://www.remotion.dev/docs/renderer/render-media',
|
|
40
|
-
type: 'fast',
|
|
41
|
-
getValue: ({ commandLine }) => {
|
|
42
|
-
const value = commandLine[cliFlag];
|
|
43
|
-
if (typeof value !== 'undefined') {
|
|
44
|
-
return { value: value, source: 'cli' };
|
|
45
|
-
}
|
|
46
|
-
if (typeof preset !== 'undefined') {
|
|
47
|
-
return { value: preset, source: 'config' };
|
|
48
|
-
}
|
|
49
|
-
return { value: DEFAULT_PRESET, source: 'default' };
|
|
50
|
-
},
|
|
51
|
-
setConfig: (profile) => {
|
|
52
|
-
preset = profile;
|
|
53
|
-
},
|
|
54
|
-
};
|