@remotion/renderer 4.0.114 → 4.0.115
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/check-apple-silicon.d.ts +3 -1
- package/dist/check-apple-silicon.js +32 -2
- package/dist/client.d.ts +779 -14
- package/dist/client.js +3 -1
- package/dist/combine-videos.js +1 -1
- package/dist/ffmpeg-args.d.ts +1 -1
- package/dist/get-extension-of-filename.js +2 -5
- package/dist/index.d.ts +55 -10
- package/dist/jpeg-quality.d.ts +1 -1
- package/dist/options/audio-bitrate.d.ts +10 -0
- package/dist/options/audio-bitrate.js +25 -2
- package/dist/options/beep-on-finish.d.ts +7 -0
- package/dist/options/beep-on-finish.js +24 -1
- package/dist/options/color-space.d.ts +7 -0
- package/dist/options/color-space.js +23 -0
- package/dist/options/crf.d.ts +9 -0
- package/dist/options/crf.js +33 -2
- package/dist/options/delete-after.d.ts +12 -1
- package/dist/options/delete-after.js +25 -2
- package/dist/options/enable-lambda-insights.d.ts +7 -0
- package/dist/options/enable-lambda-insights.js +24 -1
- package/dist/options/enable-multiprocess-on-linux.d.ts +7 -0
- package/dist/options/enable-multiprocess-on-linux.js +24 -1
- package/dist/options/encoding-buffer-size.d.ts +10 -0
- package/dist/options/encoding-buffer-size.js +28 -1
- package/dist/options/encoding-max-rate.d.ts +10 -0
- package/dist/options/encoding-max-rate.js +24 -1
- package/dist/options/enforce-audio.d.ts +7 -0
- package/dist/options/enforce-audio.js +25 -1
- package/dist/options/folder-expiry.d.ts +7 -0
- package/dist/options/folder-expiry.js +24 -1
- package/dist/options/gl.d.ts +16 -4
- package/dist/options/gl.js +35 -3
- package/dist/options/headless.d.ts +15 -0
- package/dist/options/headless.js +36 -0
- package/dist/options/index.d.ts +202 -10
- package/dist/options/index.js +5 -3
- package/dist/options/jpeg-quality.d.ts +9 -0
- package/dist/options/jpeg-quality.js +37 -2
- package/dist/options/log-level.d.ts +16 -0
- package/dist/options/log-level.js +32 -0
- package/dist/options/mute.d.ts +9 -2
- package/dist/options/mute.js +27 -3
- package/dist/options/number-of-gif-loops.d.ts +11 -0
- package/dist/options/number-of-gif-loops.js +31 -1
- package/dist/options/offthreadvideo-cache-size.d.ts +12 -1
- package/dist/options/offthreadvideo-cache-size.js +30 -3
- package/dist/options/option.d.ts +11 -3
- package/dist/options/options-map.d.ts +577 -3
- package/dist/options/options-map.js +46 -12
- package/dist/options/overwrite.d.ts +15 -0
- package/dist/options/overwrite.js +42 -0
- package/dist/options/repro.d.ts +11 -1
- package/dist/options/repro.js +25 -1
- package/dist/options/scale.d.ts +7 -0
- package/dist/options/scale.js +30 -1
- package/dist/options/timeout.d.ts +15 -0
- package/dist/options/timeout.js +44 -0
- package/dist/options/video-bitrate.d.ts +9 -2
- package/dist/options/video-bitrate.js +27 -4
- package/dist/options/video-codec.d.ts +16 -1
- package/dist/options/video-codec.js +81 -2
- package/dist/options/webhook-custom-data.d.ts +3 -1
- package/dist/options/webhook-custom-data.js +8 -1
- package/dist/options/x264-preset.d.ts +20 -3
- package/dist/options/x264-preset.js +47 -7
- package/dist/path-normalize.d.ts +1 -0
- package/dist/path-normalize.js +133 -0
- package/dist/prespawn-ffmpeg.d.ts +1 -1
- package/dist/render-frames.d.ts +1 -3
- package/dist/render-media.d.ts +0 -12
- package/dist/render-media.js +2 -2
- package/dist/render-still.d.ts +1 -3
- package/dist/select-composition.d.ts +2 -3
- package/dist/stitch-frames-to-video.d.ts +1 -1
- package/dist/stitch-frames-to-video.js +1 -1
- package/package.json +9 -9
- package/dist/does-have-m2-bug.d.ts +0 -3
- package/dist/does-have-m2-bug.js +0 -12
package/dist/client.js
CHANGED
|
@@ -15,10 +15,11 @@ const options_1 = require("./options");
|
|
|
15
15
|
const color_space_1 = require("./options/color-space");
|
|
16
16
|
const gl_1 = require("./options/gl");
|
|
17
17
|
const options_map_1 = require("./options/options-map");
|
|
18
|
+
const video_codec_1 = require("./options/video-codec");
|
|
19
|
+
const x264_preset_1 = require("./options/x264-preset");
|
|
18
20
|
const pixel_format_1 = require("./pixel-format");
|
|
19
21
|
const prores_profile_1 = require("./prores-profile");
|
|
20
22
|
const validate_output_filename_1 = require("./validate-output-filename");
|
|
21
|
-
const x264_preset_1 = require("./x264-preset");
|
|
22
23
|
exports.BrowserSafeApis = {
|
|
23
24
|
getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
|
|
24
25
|
validCodecs: codec_1.validCodecs,
|
|
@@ -46,4 +47,5 @@ exports.BrowserSafeApis = {
|
|
|
46
47
|
codecSupportsCrf: codec_supports_media_1.codecSupportsCrf,
|
|
47
48
|
codecSupportsVideoBitrate: codec_supports_media_1.codecSupportsVideoBitrate,
|
|
48
49
|
logLevels: log_level_1.logLevels,
|
|
50
|
+
getOutputCodecOrUndefined: video_codec_1.getOutputCodecOrUndefined,
|
|
49
51
|
};
|
package/dist/combine-videos.js
CHANGED
|
@@ -41,7 +41,7 @@ const combineVideos = async (options) => {
|
|
|
41
41
|
resolvedAudioCodec === 'aac' ? '-cutoff' : null,
|
|
42
42
|
resolvedAudioCodec === 'aac' ? '18000' : null,
|
|
43
43
|
'-b:a',
|
|
44
|
-
audioBitrate ? audioBitrate : '320k',
|
|
44
|
+
audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : '320k',
|
|
45
45
|
codec === 'h264' ? '-movflags' : null,
|
|
46
46
|
codec === 'h264' ? 'faststart' : null,
|
|
47
47
|
`-metadata`,
|
package/dist/ffmpeg-args.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
import type { ColorSpace } from './options/color-space';
|
|
3
|
+
import type { X264Preset } from './options/x264-preset';
|
|
3
4
|
import type { PixelFormat } from './pixel-format';
|
|
4
|
-
import type { X264Preset } from './x264-preset';
|
|
5
5
|
export declare const generateFfmpegArgs: ({ hasPreencoded, proResProfileName, pixelFormat, x264Preset, codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, colorSpace, }: {
|
|
6
6
|
hasPreencoded: boolean;
|
|
7
7
|
proResProfileName: string | null;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getExtensionOfFilename = void 0;
|
|
7
|
-
const
|
|
4
|
+
const path_normalize_1 = require("./path-normalize");
|
|
8
5
|
const getExtensionOfFilename = (filename) => {
|
|
9
6
|
if (filename === null) {
|
|
10
7
|
return null;
|
|
11
8
|
}
|
|
12
|
-
const filenameArr =
|
|
9
|
+
const filenameArr = (0, path_normalize_1.pathNormalize)(filename).split('.');
|
|
13
10
|
const hasExtension = filenameArr.length >= 2;
|
|
14
11
|
const filenameArrLength = filenameArr.length;
|
|
15
12
|
const extension = hasExtension ? filenameArr[filenameArrLength - 1] : null;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import execa from 'execa';
|
|
4
2
|
import { HeadlessBrowser } from './browser/Browser';
|
|
5
3
|
import { SymbolicateableError } from './error-handling/symbolicateable-error';
|
|
@@ -28,8 +26,11 @@ export { CancelSignal, makeCancelSignal } from './make-cancel-signal';
|
|
|
28
26
|
export { openBrowser } from './open-browser';
|
|
29
27
|
export type { ChromiumOptions } from './open-browser';
|
|
30
28
|
export { ColorSpace } from './options/color-space';
|
|
29
|
+
export { DeleteAfter } from './options/delete-after';
|
|
31
30
|
export { OpenGlRenderer } from './options/gl';
|
|
31
|
+
export { NumberOfGifLoops } from './options/number-of-gif-loops';
|
|
32
32
|
export { AnyRemotionOption, RemotionOption, ToOptions } from './options/option';
|
|
33
|
+
export { X264Preset } from './options/x264-preset';
|
|
33
34
|
export { PixelFormat } from './pixel-format';
|
|
34
35
|
export { RemotionServer } from './prepare-server';
|
|
35
36
|
export { ProResProfile } from './prores-profile';
|
|
@@ -41,7 +42,6 @@ export { stitchFramesToVideo, StitchFramesToVideoOptions, } from './stitch-frame
|
|
|
41
42
|
export { SymbolicatedStackFrame } from './symbolicate-stacktrace';
|
|
42
43
|
export { OnStartData, RenderFramesOutput } from './types';
|
|
43
44
|
export { validateOutputFilename } from './validate-output-filename';
|
|
44
|
-
export { X264Preset } from './x264-preset';
|
|
45
45
|
export declare const RenderInternals: {
|
|
46
46
|
ensureLocalBrowser: ({ indent, logLevel, preferredBrowserExecutable, }: {
|
|
47
47
|
preferredBrowserExecutable: import("./browser-executable").BrowserExecutable;
|
|
@@ -137,11 +137,11 @@ export declare const RenderInternals: {
|
|
|
137
137
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
138
138
|
DEFAULT_BROWSER: "chrome";
|
|
139
139
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
140
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
141
|
-
validateOpenGlRenderer: (option:
|
|
140
|
+
DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
141
|
+
validateOpenGlRenderer: (option: unknown) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
142
142
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
|
|
143
143
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
144
|
-
validateJpegQuality: (q:
|
|
144
|
+
validateJpegQuality: (q: unknown) => void;
|
|
145
145
|
DEFAULT_TIMEOUT: number;
|
|
146
146
|
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
147
147
|
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
|
|
@@ -313,7 +313,7 @@ export declare const RenderInternals: {
|
|
|
313
313
|
};
|
|
314
314
|
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
|
|
315
315
|
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
|
|
316
|
-
getExecutablePath: (type: "
|
|
316
|
+
getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
|
|
317
317
|
callFf: ({ args, bin, indent, logLevel, options, }: {
|
|
318
318
|
bin: "ffmpeg" | "ffprobe";
|
|
319
319
|
args: (string | null)[];
|
|
@@ -323,8 +323,8 @@ export declare const RenderInternals: {
|
|
|
323
323
|
}) => execa.ExecaChildProcess<string>;
|
|
324
324
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
325
325
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
326
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
327
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
326
|
+
DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
|
|
327
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
|
|
328
328
|
DEFAULT_JPEG_QUALITY: number;
|
|
329
329
|
chalk: {
|
|
330
330
|
enabled: () => boolean;
|
|
@@ -423,7 +423,7 @@ export declare const RenderInternals: {
|
|
|
423
423
|
frame: number;
|
|
424
424
|
serializedInputPropsWithCustomSchema: string;
|
|
425
425
|
serializedResolvedPropsWithCustomSchema: string;
|
|
426
|
-
imageFormat: "
|
|
426
|
+
imageFormat: "png" | "jpeg" | "pdf" | "webp";
|
|
427
427
|
jpegQuality: number;
|
|
428
428
|
puppeteerInstance: HeadlessBrowser | null;
|
|
429
429
|
envVariables: Record<string, string>;
|
|
@@ -449,6 +449,31 @@ export declare const RenderInternals: {
|
|
|
449
449
|
ssrName: "offthreadVideoCacheSizeInBytes";
|
|
450
450
|
docLink: string;
|
|
451
451
|
type: number | null;
|
|
452
|
+
getValue: ({ commandLine }: {
|
|
453
|
+
commandLine: Record<string, unknown>;
|
|
454
|
+
}) => {
|
|
455
|
+
source: string;
|
|
456
|
+
value: number;
|
|
457
|
+
} | {
|
|
458
|
+
source: string;
|
|
459
|
+
value: null;
|
|
460
|
+
};
|
|
461
|
+
setConfig: (size: number | null) => void;
|
|
462
|
+
};
|
|
463
|
+
readonly jpegQuality: {
|
|
464
|
+
name: string;
|
|
465
|
+
cliFlag: "jpeg-quality";
|
|
466
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
467
|
+
ssrName: string;
|
|
468
|
+
docLink: string;
|
|
469
|
+
type: number;
|
|
470
|
+
setConfig: (q: number | undefined) => void;
|
|
471
|
+
getValue: ({ commandLine }: {
|
|
472
|
+
commandLine: Record<string, unknown>;
|
|
473
|
+
}) => {
|
|
474
|
+
source: string;
|
|
475
|
+
value: number;
|
|
476
|
+
};
|
|
452
477
|
};
|
|
453
478
|
}>) => Promise<{
|
|
454
479
|
buffer: Buffer | null;
|
|
@@ -484,6 +509,16 @@ export declare const RenderInternals: {
|
|
|
484
509
|
ssrName: "offthreadVideoCacheSizeInBytes";
|
|
485
510
|
docLink: string;
|
|
486
511
|
type: number | null;
|
|
512
|
+
getValue: ({ commandLine }: {
|
|
513
|
+
commandLine: Record<string, unknown>;
|
|
514
|
+
}) => {
|
|
515
|
+
source: string;
|
|
516
|
+
value: number;
|
|
517
|
+
} | {
|
|
518
|
+
source: string;
|
|
519
|
+
value: null;
|
|
520
|
+
};
|
|
521
|
+
setConfig: (size: number | null) => void;
|
|
487
522
|
};
|
|
488
523
|
}>) => Promise<{
|
|
489
524
|
metadata: import("remotion").VideoConfig;
|
|
@@ -510,6 +545,16 @@ export declare const RenderInternals: {
|
|
|
510
545
|
ssrName: "offthreadVideoCacheSizeInBytes";
|
|
511
546
|
docLink: string;
|
|
512
547
|
type: number | null;
|
|
548
|
+
getValue: ({ commandLine }: {
|
|
549
|
+
commandLine: Record<string, unknown>;
|
|
550
|
+
}) => {
|
|
551
|
+
source: string;
|
|
552
|
+
value: number;
|
|
553
|
+
} | {
|
|
554
|
+
source: string;
|
|
555
|
+
value: null;
|
|
556
|
+
};
|
|
557
|
+
setConfig: (size: number | null) => void;
|
|
513
558
|
};
|
|
514
559
|
}>) => Promise<import("remotion").VideoConfig[]>;
|
|
515
560
|
internalRenderFrames: (args_0: import("./render-frames").InternalRenderFramesOptions) => Promise<import("./types").RenderFramesOutput>;
|
package/dist/jpeg-quality.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const DEFAULT_JPEG_QUALITY = 80;
|
|
2
|
-
export declare const validateJpegQuality: (q:
|
|
2
|
+
export declare const validateJpegQuality: (q: unknown) => void;
|
|
@@ -5,4 +5,14 @@ export declare const audioBitrateOption: {
|
|
|
5
5
|
ssrName: string;
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: string;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
value: string;
|
|
12
|
+
source: string;
|
|
13
|
+
} | {
|
|
14
|
+
value: null;
|
|
15
|
+
source: string;
|
|
16
|
+
};
|
|
17
|
+
setConfig: (value: string | null) => void;
|
|
8
18
|
};
|
|
@@ -2,11 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.audioBitrateOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const cliFlag = 'audio-bitrate';
|
|
6
|
+
let audioBitrate = null;
|
|
5
7
|
exports.audioBitrateOption = {
|
|
6
8
|
name: 'Audio Bitrate',
|
|
7
|
-
cliFlag
|
|
8
|
-
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for
|
|
9
|
+
cliFlag,
|
|
10
|
+
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s ", (0, jsx_runtime_1.jsx)("code", { children: "-b:a" }), " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps. Default: ", (0, jsx_runtime_1.jsx)("code", { children: "320k" })] })),
|
|
9
11
|
ssrName: 'audioBitrate',
|
|
10
12
|
docLink: 'https://www.remotion.dev/docs/renderer/render-media#audiobitrate-',
|
|
11
13
|
type: '0',
|
|
14
|
+
getValue: ({ commandLine }) => {
|
|
15
|
+
if (commandLine[cliFlag]) {
|
|
16
|
+
return {
|
|
17
|
+
value: commandLine[cliFlag],
|
|
18
|
+
source: 'cli',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (audioBitrate) {
|
|
22
|
+
return {
|
|
23
|
+
value: audioBitrate,
|
|
24
|
+
source: 'config file',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
value: null,
|
|
29
|
+
source: 'default',
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
setConfig: (value) => {
|
|
33
|
+
audioBitrate = value;
|
|
34
|
+
},
|
|
12
35
|
};
|
|
@@ -5,4 +5,11 @@ export declare const beepOnFinishOption: {
|
|
|
5
5
|
ssrName: null;
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: boolean;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
value: boolean;
|
|
12
|
+
source: string;
|
|
13
|
+
};
|
|
14
|
+
setConfig(value: boolean): void;
|
|
8
15
|
};
|
|
@@ -2,11 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.beepOnFinishOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
let beepOnFinish = false;
|
|
6
|
+
const cliFlag = 'beep-on-finish';
|
|
5
7
|
exports.beepOnFinishOption = {
|
|
6
8
|
name: 'Beep on finish',
|
|
7
|
-
cliFlag
|
|
9
|
+
cliFlag,
|
|
8
10
|
description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Whether the Remotion Studio tab should beep when the render is finished." })),
|
|
9
11
|
ssrName: null,
|
|
10
12
|
docLink: 'https://www.remotion.dev/docs/config#setbeeponfinish',
|
|
11
13
|
type: false,
|
|
14
|
+
getValue: ({ commandLine }) => {
|
|
15
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
16
|
+
return {
|
|
17
|
+
value: commandLine[cliFlag],
|
|
18
|
+
source: 'cli',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (beepOnFinish !== false) {
|
|
22
|
+
return {
|
|
23
|
+
value: beepOnFinish,
|
|
24
|
+
source: 'config',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
value: false,
|
|
29
|
+
source: 'default',
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
setConfig(value) {
|
|
33
|
+
beepOnFinish = value;
|
|
34
|
+
},
|
|
12
35
|
};
|
|
@@ -7,5 +7,12 @@ export declare const colorSpaceOption: {
|
|
|
7
7
|
docLink: string;
|
|
8
8
|
ssrName: string;
|
|
9
9
|
type: "default" | "bt709" | "bt2020-ncl";
|
|
10
|
+
getValue: ({ commandLine }: {
|
|
11
|
+
commandLine: Record<string, unknown>;
|
|
12
|
+
}) => {
|
|
13
|
+
source: string;
|
|
14
|
+
value: "default" | "bt709" | "bt2020-ncl";
|
|
15
|
+
};
|
|
16
|
+
setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
|
|
10
17
|
};
|
|
11
18
|
export declare const validateColorSpace: (option: unknown) => void;
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateColorSpace = exports.colorSpaceOption = exports.validColorSpaces = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
exports.validColorSpaces = ['default', 'bt709', 'bt2020-ncl'];
|
|
6
|
+
let colorSpace = 'default';
|
|
7
|
+
const cliFlag = 'color-space';
|
|
6
8
|
exports.colorSpaceOption = {
|
|
7
9
|
name: 'Color space',
|
|
8
10
|
cliFlag: 'color-space',
|
|
@@ -10,6 +12,27 @@ exports.colorSpaceOption = {
|
|
|
10
12
|
docLink: 'https://www.remotion.dev/docs/renderer/render-media#colorspace',
|
|
11
13
|
ssrName: 'colorSpace',
|
|
12
14
|
type: 'default',
|
|
15
|
+
getValue: ({ commandLine }) => {
|
|
16
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
17
|
+
return {
|
|
18
|
+
source: 'cli',
|
|
19
|
+
value: commandLine[cliFlag],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
if (colorSpace !== 'default') {
|
|
23
|
+
return {
|
|
24
|
+
source: 'config',
|
|
25
|
+
value: colorSpace,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
source: 'default',
|
|
30
|
+
value: 'default',
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
setConfig: (value) => {
|
|
34
|
+
colorSpace = value;
|
|
35
|
+
},
|
|
13
36
|
};
|
|
14
37
|
const validateColorSpace = (option) => {
|
|
15
38
|
if (exports.validColorSpaces.includes(option)) {
|
package/dist/options/crf.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Crf } from '../crf';
|
|
2
|
+
export declare const validateCrf: (newCrf: Crf) => void;
|
|
1
3
|
export declare const crfOption: {
|
|
2
4
|
name: string;
|
|
3
5
|
cliFlag: "crf";
|
|
@@ -5,4 +7,11 @@ export declare const crfOption: {
|
|
|
5
7
|
ssrName: string;
|
|
6
8
|
docLink: string;
|
|
7
9
|
type: number;
|
|
10
|
+
getValue: ({ commandLine }: {
|
|
11
|
+
commandLine: Record<string, unknown>;
|
|
12
|
+
}) => {
|
|
13
|
+
source: string;
|
|
14
|
+
value: Crf;
|
|
15
|
+
};
|
|
16
|
+
setConfig: (crf: Crf) => void;
|
|
8
17
|
};
|
package/dist/options/crf.js
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.crfOption = void 0;
|
|
3
|
+
exports.crfOption = exports.validateCrf = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
let currentCrf;
|
|
6
|
+
const validateCrf = (newCrf) => {
|
|
7
|
+
if (typeof newCrf !== 'number' && newCrf !== undefined) {
|
|
8
|
+
throw new TypeError('The CRF must be a number or undefined.');
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateCrf = validateCrf;
|
|
12
|
+
const cliFlag = 'crf';
|
|
5
13
|
exports.crfOption = {
|
|
6
14
|
name: 'CRF',
|
|
7
|
-
cliFlag
|
|
15
|
+
cliFlag,
|
|
8
16
|
description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "No matter which codec you end up using, there's always a tradeoff between file size and video quality. You can control it by setting the CRF (Constant Rate Factor). The lower the number, the better the quality, the higher the number, the smaller the file is \u2013 of course at the cost of quality." })),
|
|
9
17
|
ssrName: 'crf',
|
|
10
18
|
docLink: 'https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting',
|
|
11
19
|
type: 0,
|
|
20
|
+
getValue: ({ commandLine }) => {
|
|
21
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
22
|
+
(0, exports.validateCrf)(commandLine[cliFlag]);
|
|
23
|
+
return {
|
|
24
|
+
source: 'cli',
|
|
25
|
+
value: commandLine[cliFlag],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (currentCrf !== null) {
|
|
29
|
+
return {
|
|
30
|
+
source: 'config',
|
|
31
|
+
value: currentCrf,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
source: 'default',
|
|
36
|
+
value: undefined,
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
setConfig: (crf) => {
|
|
40
|
+
(0, exports.validateCrf)(crf);
|
|
41
|
+
currentCrf = crf;
|
|
42
|
+
},
|
|
12
43
|
};
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
export type DeleteAfter = '1-day' | '3-days' | '7-days' | '30-days';
|
|
1
2
|
export declare const deleteAfterOption: {
|
|
2
3
|
name: string;
|
|
3
4
|
cliFlag: "delete-after";
|
|
4
5
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
ssrName: "deleteAfter";
|
|
6
7
|
docLink: string;
|
|
7
|
-
type:
|
|
8
|
+
type: DeleteAfter | null;
|
|
9
|
+
getValue: ({ commandLine }: {
|
|
10
|
+
commandLine: Record<string, unknown>;
|
|
11
|
+
}) => {
|
|
12
|
+
source: string;
|
|
13
|
+
value: DeleteAfter;
|
|
14
|
+
} | {
|
|
15
|
+
source: string;
|
|
16
|
+
value: null;
|
|
17
|
+
};
|
|
18
|
+
setConfig: (value: DeleteAfter | null) => void;
|
|
8
19
|
};
|
|
@@ -2,13 +2,36 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteAfterOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const cliFlag = 'delete-after';
|
|
6
|
+
let deleteAfter = null;
|
|
5
7
|
exports.deleteAfterOption = {
|
|
6
8
|
name: 'Lambda render expiration',
|
|
7
|
-
cliFlag
|
|
9
|
+
cliFlag,
|
|
8
10
|
description: () => {
|
|
9
11
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Automatically delete the render after a certain period. Accepted values are ", (0, jsx_runtime_1.jsx)("code", { children: "1-day" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "3-days" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "7-days" }), " and", ' ', (0, jsx_runtime_1.jsx)("code", { children: "30-days" }), ".", (0, jsx_runtime_1.jsx)("br", {}), " For this to work, your bucket needs to have", ' ', (0, jsx_runtime_1.jsx)("a", { href: "/docs/lambda/autodelete", children: "lifecycles enabled" }), "."] }));
|
|
10
12
|
},
|
|
11
13
|
ssrName: 'deleteAfter',
|
|
12
14
|
docLink: 'https://www.remotion.dev/docs/lambda/autodelete',
|
|
13
|
-
type: '',
|
|
15
|
+
type: '1-day',
|
|
16
|
+
getValue: ({ commandLine }) => {
|
|
17
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
18
|
+
return {
|
|
19
|
+
source: 'cli',
|
|
20
|
+
value: commandLine[cliFlag],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (deleteAfter !== null) {
|
|
24
|
+
return {
|
|
25
|
+
source: 'config',
|
|
26
|
+
value: deleteAfter,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
source: 'default',
|
|
31
|
+
value: null,
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
setConfig: (value) => {
|
|
35
|
+
deleteAfter = value;
|
|
36
|
+
},
|
|
14
37
|
};
|
|
@@ -5,4 +5,11 @@ export declare const enableLambdaInsights: {
|
|
|
5
5
|
ssrName: string;
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: boolean;
|
|
8
|
+
setConfig: (value: boolean) => void;
|
|
9
|
+
getValue: ({ commandLine }: {
|
|
10
|
+
commandLine: Record<string, unknown>;
|
|
11
|
+
}) => {
|
|
12
|
+
value: boolean;
|
|
13
|
+
source: string;
|
|
14
|
+
};
|
|
8
15
|
};
|
|
@@ -2,11 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.enableLambdaInsights = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const cliFlag = 'enable-lambda-insights';
|
|
6
|
+
let option = false;
|
|
5
7
|
exports.enableLambdaInsights = {
|
|
6
8
|
name: 'Enable Lambda Insights',
|
|
7
|
-
cliFlag
|
|
9
|
+
cliFlag,
|
|
8
10
|
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Enable", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/lambda/insights", children: "Lambda Insights in AWS CloudWatch" }), ". For this to work, you may have to update your role permission."] })),
|
|
9
11
|
ssrName: 'enableLambdaInsights',
|
|
10
12
|
docLink: 'https://www.remotion.dev/docs/lambda/insights',
|
|
11
13
|
type: false,
|
|
14
|
+
setConfig: (value) => {
|
|
15
|
+
option = value;
|
|
16
|
+
},
|
|
17
|
+
getValue: ({ commandLine }) => {
|
|
18
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
19
|
+
return {
|
|
20
|
+
value: commandLine[cliFlag],
|
|
21
|
+
source: 'cli',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (option) {
|
|
25
|
+
return {
|
|
26
|
+
value: option,
|
|
27
|
+
source: 'config',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
value: false,
|
|
32
|
+
source: 'default',
|
|
33
|
+
};
|
|
34
|
+
},
|
|
12
35
|
};
|
|
@@ -5,4 +5,11 @@ export declare const enableMultiprocessOnLinuxOption: {
|
|
|
5
5
|
ssrName: string;
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: boolean;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
source: string;
|
|
12
|
+
value: boolean;
|
|
13
|
+
};
|
|
14
|
+
setConfig: (value: boolean) => void;
|
|
8
15
|
};
|
|
@@ -2,11 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.enableMultiprocessOnLinuxOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
let multiProcessOnLinux = false;
|
|
6
|
+
const cliFlag = 'enable-multiprocess-on-linux';
|
|
5
7
|
exports.enableMultiprocessOnLinuxOption = {
|
|
6
8
|
name: 'Enable Multiprocess on Linux',
|
|
7
|
-
cliFlag
|
|
9
|
+
cliFlag,
|
|
8
10
|
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Removes the ", (0, jsx_runtime_1.jsx)("code", { children: '--single-process' }), " flag that gets passed to Chromium on Linux by default. This will make the render faster because multiple processes can be used, but may cause issues with some Linux distributions or if window server libraries are missing."] })),
|
|
9
11
|
ssrName: 'chromiumOptions.enableMultiprocessOnLinux',
|
|
10
12
|
docLink: 'https://www.remotion.dev/docs/chromium-flags',
|
|
11
13
|
type: false,
|
|
14
|
+
getValue: ({ commandLine }) => {
|
|
15
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
16
|
+
return {
|
|
17
|
+
source: 'cli',
|
|
18
|
+
value: commandLine[cliFlag],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (multiProcessOnLinux !== false) {
|
|
22
|
+
return {
|
|
23
|
+
source: 'config',
|
|
24
|
+
value: multiProcessOnLinux,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
source: 'default',
|
|
29
|
+
value: false,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
setConfig: (value) => {
|
|
33
|
+
multiProcessOnLinux = value;
|
|
34
|
+
},
|
|
12
35
|
};
|
|
@@ -5,4 +5,14 @@ export declare const encodingBufferSizeOption: {
|
|
|
5
5
|
ssrName: "encodingBufferSize";
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: string | null;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
value: string;
|
|
12
|
+
source: string;
|
|
13
|
+
} | {
|
|
14
|
+
value: null;
|
|
15
|
+
source: string;
|
|
16
|
+
};
|
|
17
|
+
setConfig: (bitrate: string | null) => void;
|
|
8
18
|
};
|
|
@@ -2,11 +2,38 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.encodingBufferSizeOption = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* encodingBufferSize is not a bitrate, but it is a bitrate-related option and get validated like a bitrate.
|
|
7
|
+
*/
|
|
8
|
+
let encodingBufferSize = null;
|
|
9
|
+
const setEncodingBufferSize = (bitrate) => {
|
|
10
|
+
encodingBufferSize = bitrate;
|
|
11
|
+
};
|
|
12
|
+
const cliFlag = 'buffer-size';
|
|
5
13
|
exports.encodingBufferSizeOption = {
|
|
6
14
|
name: 'FFmpeg -bufsize flag',
|
|
7
|
-
cliFlag
|
|
15
|
+
cliFlag,
|
|
8
16
|
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The value for the ", (0, jsx_runtime_1.jsx)("code", { children: "-bufsize" }), " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag."] })),
|
|
9
17
|
ssrName: 'encodingBufferSize',
|
|
10
18
|
docLink: 'https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize',
|
|
11
19
|
type: '',
|
|
20
|
+
getValue: ({ commandLine }) => {
|
|
21
|
+
if (commandLine[cliFlag] !== undefined) {
|
|
22
|
+
return {
|
|
23
|
+
value: commandLine[cliFlag],
|
|
24
|
+
source: 'cli',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (encodingBufferSize !== null) {
|
|
28
|
+
return {
|
|
29
|
+
value: encodingBufferSize,
|
|
30
|
+
source: 'config',
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
value: null,
|
|
35
|
+
source: 'default',
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
setConfig: setEncodingBufferSize,
|
|
12
39
|
};
|
|
@@ -5,4 +5,14 @@ export declare const encodingMaxRateOption: {
|
|
|
5
5
|
ssrName: "encodingMaxRate";
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: string | null;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
value: string;
|
|
12
|
+
source: string;
|
|
13
|
+
} | {
|
|
14
|
+
value: null;
|
|
15
|
+
source: string;
|
|
16
|
+
};
|
|
17
|
+
setConfig: (newMaxRate: string | null) => void;
|
|
8
18
|
};
|