@remotion/renderer 4.0.149 → 4.0.151
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/Cargo.lock +2 -2
- package/Cargo.toml +1 -1
- package/dist/client.d.ts +16 -15
- package/dist/combine-video-streams.js +0 -2
- package/dist/crf.js +34 -42
- package/dist/get-codec-name.js +14 -23
- package/dist/index.d.ts +68 -47
- package/dist/index.js +2 -0
- package/dist/options/audio-codec.d.ts +1 -0
- package/dist/options/audio-codec.js +1 -0
- 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/render-media.js +1 -1
- package/dist/validate-every-nth-frame.d.ts +1 -2
- package/dist/validate-every-nth-frame.js +1 -5
- package/package.json +9 -9
package/Cargo.lock
CHANGED
|
@@ -250,7 +250,7 @@ dependencies = [
|
|
|
250
250
|
[[package]]
|
|
251
251
|
name = "ffmpeg-next"
|
|
252
252
|
version = "6.0.0"
|
|
253
|
-
source = "git+https://github.com/remotion-dev/rust-ffmpeg?rev=
|
|
253
|
+
source = "git+https://github.com/remotion-dev/rust-ffmpeg?rev=675dd103871633dd0ad8a3a2ca7f12e9a42edec1#675dd103871633dd0ad8a3a2ca7f12e9a42edec1"
|
|
254
254
|
dependencies = [
|
|
255
255
|
"bitflags",
|
|
256
256
|
"ffmpeg-sys-next",
|
|
@@ -260,7 +260,7 @@ dependencies = [
|
|
|
260
260
|
[[package]]
|
|
261
261
|
name = "ffmpeg-sys-next"
|
|
262
262
|
version = "6.0.1"
|
|
263
|
-
source = "git+https://github.com/remotion-dev/rust-ffmpeg-sys?rev=
|
|
263
|
+
source = "git+https://github.com/remotion-dev/rust-ffmpeg-sys?rev=7da943df1ea7be22868b3f8e236b6a9f5b8c1559#7da943df1ea7be22868b3f8e236b6a9f5b8c1559"
|
|
264
264
|
dependencies = [
|
|
265
265
|
"bindgen",
|
|
266
266
|
"cc",
|
package/Cargo.toml
CHANGED
|
@@ -19,7 +19,7 @@ image = "0.23.7"
|
|
|
19
19
|
arboard = "3.2.0"
|
|
20
20
|
sysinfo = "0.30.7"
|
|
21
21
|
mp4 = {git = "https://github.com/jonnyburger/mp4-rust", rev = "92ba375738cc2f05a4d754e1f968cf2e97d06641"}
|
|
22
|
-
ffmpeg-next = {git = "https://github.com/remotion-dev/rust-ffmpeg", rev ="
|
|
22
|
+
ffmpeg-next = {git = "https://github.com/remotion-dev/rust-ffmpeg", rev ="675dd103871633dd0ad8a3a2ca7f12e9a42edec1"}
|
|
23
23
|
|
|
24
24
|
[[bin]]
|
|
25
25
|
name = "remotion"
|
package/dist/client.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare const BrowserSafeApis: {
|
|
|
22
22
|
readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
|
|
23
23
|
readonly 'h264-ts': readonly ["pcm-16", "aac"];
|
|
24
24
|
readonly aac: readonly ["aac", "pcm-16"];
|
|
25
|
+
readonly avi: readonly [];
|
|
25
26
|
readonly gif: readonly [];
|
|
26
27
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
27
28
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
@@ -466,19 +467,19 @@ export declare const BrowserSafeApis: {
|
|
|
466
467
|
cliFlag: "gl";
|
|
467
468
|
docLink: string;
|
|
468
469
|
name: string;
|
|
469
|
-
type: "
|
|
470
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
470
471
|
ssrName: string;
|
|
471
472
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
472
473
|
getValue: ({ commandLine }: {
|
|
473
474
|
commandLine: Record<string, unknown>;
|
|
474
475
|
}) => {
|
|
475
|
-
value: "
|
|
476
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
476
477
|
source: string;
|
|
477
478
|
} | {
|
|
478
479
|
value: null;
|
|
479
480
|
source: string;
|
|
480
481
|
};
|
|
481
|
-
setConfig: (value: "
|
|
482
|
+
setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
482
483
|
};
|
|
483
484
|
enableLambdaInsights: {
|
|
484
485
|
name: string;
|
|
@@ -603,17 +604,17 @@ export declare const BrowserSafeApis: {
|
|
|
603
604
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
604
605
|
ssrName: "x264Preset";
|
|
605
606
|
docLink: string;
|
|
606
|
-
type: "
|
|
607
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
607
608
|
getValue: ({ commandLine }: {
|
|
608
609
|
commandLine: Record<string, unknown>;
|
|
609
610
|
}) => {
|
|
610
|
-
value: "
|
|
611
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
611
612
|
source: string;
|
|
612
613
|
} | {
|
|
613
614
|
value: null;
|
|
614
615
|
source: string;
|
|
615
616
|
};
|
|
616
|
-
setConfig: (profile: "
|
|
617
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
617
618
|
};
|
|
618
619
|
logLevelOption: {
|
|
619
620
|
cliFlag: "log";
|
|
@@ -863,17 +864,17 @@ export declare const BrowserSafeApis: {
|
|
|
863
864
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
864
865
|
ssrName: "x264Preset";
|
|
865
866
|
docLink: string;
|
|
866
|
-
type: "
|
|
867
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
867
868
|
getValue: ({ commandLine }: {
|
|
868
869
|
commandLine: Record<string, unknown>;
|
|
869
870
|
}) => {
|
|
870
|
-
value: "
|
|
871
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
871
872
|
source: string;
|
|
872
873
|
} | {
|
|
873
874
|
value: null;
|
|
874
875
|
source: string;
|
|
875
876
|
};
|
|
876
|
-
setConfig: (profile: "
|
|
877
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
877
878
|
};
|
|
878
879
|
readonly audioBitrate: {
|
|
879
880
|
name: string;
|
|
@@ -1585,17 +1586,17 @@ export declare const BrowserSafeApis: {
|
|
|
1585
1586
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1586
1587
|
ssrName: "x264Preset";
|
|
1587
1588
|
docLink: string;
|
|
1588
|
-
type: "
|
|
1589
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1589
1590
|
getValue: ({ commandLine }: {
|
|
1590
1591
|
commandLine: Record<string, unknown>;
|
|
1591
1592
|
}) => {
|
|
1592
|
-
value: "
|
|
1593
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1593
1594
|
source: string;
|
|
1594
1595
|
} | {
|
|
1595
1596
|
value: null;
|
|
1596
1597
|
source: string;
|
|
1597
1598
|
};
|
|
1598
|
-
setConfig: (profile: "
|
|
1599
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1599
1600
|
};
|
|
1600
1601
|
readonly encodingMaxRate: {
|
|
1601
1602
|
name: string;
|
|
@@ -1951,17 +1952,17 @@ export declare const BrowserSafeApis: {
|
|
|
1951
1952
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1952
1953
|
ssrName: "x264Preset";
|
|
1953
1954
|
docLink: string;
|
|
1954
|
-
type: "
|
|
1955
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1955
1956
|
getValue: ({ commandLine }: {
|
|
1956
1957
|
commandLine: Record<string, unknown>;
|
|
1957
1958
|
}) => {
|
|
1958
|
-
value: "
|
|
1959
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1959
1960
|
source: string;
|
|
1960
1961
|
} | {
|
|
1961
1962
|
value: null;
|
|
1962
1963
|
source: string;
|
|
1963
1964
|
};
|
|
1964
|
-
setConfig: (profile: "
|
|
1965
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1965
1966
|
};
|
|
1966
1967
|
readonly encodingMaxRate: {
|
|
1967
1968
|
name: string;
|
|
@@ -32,8 +32,6 @@ const combineVideoStreams = async ({ fps, codec, filelistDir, numberOfGifLoops,
|
|
|
32
32
|
'-an',
|
|
33
33
|
'-c:v',
|
|
34
34
|
encoder,
|
|
35
|
-
encoder === 'gif' ? '-filter_complex' : null,
|
|
36
|
-
encoder === 'gif' ? 'split[v],palettegen,[v]paletteuse' : null,
|
|
37
35
|
codec === 'h264' ? '-movflags' : null,
|
|
38
36
|
codec === 'h264' ? 'faststart' : null,
|
|
39
37
|
addRemotionMetadata ? `-metadata` : null,
|
package/dist/crf.js
CHANGED
|
@@ -2,54 +2,46 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateQualitySettings = exports.getValidCrfRanges = exports.getDefaultCrfForCodec = void 0;
|
|
4
4
|
const audio_codec_1 = require("./options/audio-codec");
|
|
5
|
+
const defaultCrfMap = {
|
|
6
|
+
h264: 18,
|
|
7
|
+
h265: 23,
|
|
8
|
+
vp8: 9,
|
|
9
|
+
vp9: 28,
|
|
10
|
+
prores: 0,
|
|
11
|
+
gif: 0,
|
|
12
|
+
'h264-mkv': 18,
|
|
13
|
+
'h264-ts': 18,
|
|
14
|
+
aac: 0,
|
|
15
|
+
mp3: 0,
|
|
16
|
+
wav: 0,
|
|
17
|
+
};
|
|
5
18
|
const getDefaultCrfForCodec = (codec) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (codec === 'h264' || codec === 'h264-mkv' || codec === 'h264-ts') {
|
|
10
|
-
return 18; // FFMPEG default 23
|
|
11
|
-
}
|
|
12
|
-
if (codec === 'h265') {
|
|
13
|
-
return 23; // FFMPEG default 28
|
|
14
|
-
}
|
|
15
|
-
if (codec === 'vp8') {
|
|
16
|
-
return 9; // FFMPEG default 10
|
|
17
|
-
}
|
|
18
|
-
if (codec === 'vp9') {
|
|
19
|
-
return 28; // FFMPEG recommendation 31
|
|
20
|
-
}
|
|
21
|
-
if (codec === 'prores') {
|
|
22
|
-
return 0;
|
|
23
|
-
}
|
|
24
|
-
if (codec === 'gif') {
|
|
25
|
-
return 0;
|
|
19
|
+
const val = defaultCrfMap[codec];
|
|
20
|
+
if (val === undefined) {
|
|
21
|
+
throw new TypeError(`Got unexpected codec "${codec}"`);
|
|
26
22
|
}
|
|
27
|
-
|
|
23
|
+
return val;
|
|
28
24
|
};
|
|
29
25
|
exports.getDefaultCrfForCodec = getDefaultCrfForCodec;
|
|
26
|
+
const crfRanges = {
|
|
27
|
+
h264: [1, 51],
|
|
28
|
+
h265: [0, 51],
|
|
29
|
+
vp8: [4, 63],
|
|
30
|
+
vp9: [0, 63],
|
|
31
|
+
prores: [0, 0],
|
|
32
|
+
gif: [0, 0],
|
|
33
|
+
'h264-mkv': [1, 51],
|
|
34
|
+
'h264-ts': [1, 51],
|
|
35
|
+
aac: [0, 0],
|
|
36
|
+
mp3: [0, 0],
|
|
37
|
+
wav: [0, 0],
|
|
38
|
+
};
|
|
30
39
|
const getValidCrfRanges = (codec) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (codec === 'prores') {
|
|
35
|
-
return [0, 0];
|
|
36
|
-
}
|
|
37
|
-
if (codec === 'gif') {
|
|
38
|
-
return [0, 0];
|
|
39
|
-
}
|
|
40
|
-
if (codec === 'h264' || codec === 'h264-mkv' || codec === 'h264-ts') {
|
|
41
|
-
return [1, 51];
|
|
42
|
-
}
|
|
43
|
-
if (codec === 'h265') {
|
|
44
|
-
return [0, 51];
|
|
45
|
-
}
|
|
46
|
-
if (codec === 'vp8') {
|
|
47
|
-
return [4, 63];
|
|
48
|
-
}
|
|
49
|
-
if (codec === 'vp9') {
|
|
50
|
-
return [0, 63];
|
|
40
|
+
const val = crfRanges[codec];
|
|
41
|
+
if (val === undefined) {
|
|
42
|
+
throw new TypeError(`Got unexpected codec "${codec}"`);
|
|
51
43
|
}
|
|
52
|
-
|
|
44
|
+
return val;
|
|
53
45
|
};
|
|
54
46
|
exports.getValidCrfRanges = getValidCrfRanges;
|
|
55
47
|
const validateQualitySettings = ({ codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, }) => {
|
package/dist/get-codec-name.js
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCodecName = void 0;
|
|
4
|
-
const
|
|
4
|
+
const map = {
|
|
5
|
+
h264: 'libx264',
|
|
6
|
+
h265: 'libx265',
|
|
7
|
+
vp8: 'libvpx',
|
|
8
|
+
vp9: 'libvpx-vp9',
|
|
9
|
+
prores: 'prores_ks',
|
|
10
|
+
gif: 'gif',
|
|
11
|
+
mp3: null,
|
|
12
|
+
aac: null,
|
|
13
|
+
wav: null,
|
|
14
|
+
'h264-mkv': 'libx264',
|
|
15
|
+
'h264-ts': 'libx264',
|
|
16
|
+
};
|
|
5
17
|
const getCodecName = (codec) => {
|
|
6
|
-
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
if (codec === 'h264' || codec === 'h264-mkv' || codec === 'h264-ts') {
|
|
10
|
-
return 'libx264';
|
|
11
|
-
}
|
|
12
|
-
if (codec === 'h265') {
|
|
13
|
-
return 'libx265';
|
|
14
|
-
}
|
|
15
|
-
if (codec === 'vp8') {
|
|
16
|
-
return 'libvpx';
|
|
17
|
-
}
|
|
18
|
-
if (codec === 'vp9') {
|
|
19
|
-
return 'libvpx-vp9';
|
|
20
|
-
}
|
|
21
|
-
if (codec === 'prores') {
|
|
22
|
-
return 'prores_ks';
|
|
23
|
-
}
|
|
24
|
-
if (codec === 'gif') {
|
|
25
|
-
return 'gif';
|
|
26
|
-
}
|
|
27
|
-
throw new TypeError(`Cannot find FFMPEG codec for ${codec}`);
|
|
18
|
+
return map[codec];
|
|
28
19
|
};
|
|
29
20
|
exports.getCodecName = getCodecName;
|
package/dist/index.d.ts
CHANGED
|
@@ -69,10 +69,10 @@ export declare const RenderInternals: {
|
|
|
69
69
|
width: number;
|
|
70
70
|
height: number;
|
|
71
71
|
scale: number;
|
|
72
|
-
codec: "
|
|
72
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
73
73
|
wantsImageSequence: boolean;
|
|
74
74
|
}) => void;
|
|
75
|
-
getFileExtensionFromCodec: <T extends "
|
|
75
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
|
|
76
76
|
tmpDir: (str: string) => string;
|
|
77
77
|
deleteDirectory: (directory: string) => void;
|
|
78
78
|
isServeUrl: (potentialUrl: string) => boolean;
|
|
@@ -129,7 +129,7 @@ export declare const RenderInternals: {
|
|
|
129
129
|
};
|
|
130
130
|
registerErrorSymbolicationLock: () => number;
|
|
131
131
|
unlockErrorSymbolicationLock: (id: number) => void;
|
|
132
|
-
canUseParallelEncoding: (codec: "
|
|
132
|
+
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => boolean;
|
|
133
133
|
mimeContentType: typeof mimeContentType;
|
|
134
134
|
mimeLookup: typeof mimeLookup;
|
|
135
135
|
validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
|
|
@@ -146,8 +146,8 @@ export declare const RenderInternals: {
|
|
|
146
146
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
147
147
|
validateJpegQuality: (q: unknown) => void;
|
|
148
148
|
DEFAULT_TIMEOUT: number;
|
|
149
|
-
DEFAULT_CODEC: "
|
|
150
|
-
isAudioCodec: (codec: "
|
|
149
|
+
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
150
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif" | null | undefined) => boolean;
|
|
151
151
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
152
152
|
isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
|
|
153
153
|
isValidLogLevel: (level: string) => boolean;
|
|
@@ -164,10 +164,10 @@ export declare const RenderInternals: {
|
|
|
164
164
|
output: string;
|
|
165
165
|
onProgress: (p: number) => void;
|
|
166
166
|
numberOfFrames: number;
|
|
167
|
-
codec: "
|
|
167
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
168
168
|
fps: number;
|
|
169
169
|
numberOfGifLoops: number | null;
|
|
170
|
-
resolvedAudioCodec: "
|
|
170
|
+
resolvedAudioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
171
171
|
audioBitrate: string | null;
|
|
172
172
|
indent: boolean;
|
|
173
173
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
@@ -181,14 +181,14 @@ export declare const RenderInternals: {
|
|
|
181
181
|
getMinConcurrency: () => number;
|
|
182
182
|
getMaxConcurrency: () => number;
|
|
183
183
|
getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
184
|
-
codec: "
|
|
184
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
185
185
|
preferLossless: boolean;
|
|
186
|
-
}) => "
|
|
186
|
+
}) => "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
187
187
|
defaultFileExtensionMap: {
|
|
188
|
-
|
|
188
|
+
h264: {
|
|
189
189
|
default: import("./file-extensions").FileExtension;
|
|
190
190
|
forAudioCodec: {
|
|
191
|
-
|
|
191
|
+
mp3: {
|
|
192
192
|
possible: import("./file-extensions").FileExtension[];
|
|
193
193
|
default: import("./file-extensions").FileExtension;
|
|
194
194
|
};
|
|
@@ -196,94 +196,94 @@ export declare const RenderInternals: {
|
|
|
196
196
|
possible: import("./file-extensions").FileExtension[];
|
|
197
197
|
default: import("./file-extensions").FileExtension;
|
|
198
198
|
};
|
|
199
|
+
"pcm-16": {
|
|
200
|
+
possible: import("./file-extensions").FileExtension[];
|
|
201
|
+
default: import("./file-extensions").FileExtension;
|
|
202
|
+
};
|
|
199
203
|
};
|
|
200
204
|
};
|
|
201
|
-
|
|
205
|
+
h265: {
|
|
202
206
|
default: import("./file-extensions").FileExtension;
|
|
203
207
|
forAudioCodec: {
|
|
204
|
-
|
|
208
|
+
aac: {
|
|
205
209
|
possible: import("./file-extensions").FileExtension[];
|
|
206
210
|
default: import("./file-extensions").FileExtension;
|
|
207
211
|
};
|
|
208
|
-
|
|
212
|
+
"pcm-16": {
|
|
209
213
|
possible: import("./file-extensions").FileExtension[];
|
|
210
214
|
default: import("./file-extensions").FileExtension;
|
|
211
215
|
};
|
|
212
216
|
};
|
|
213
217
|
};
|
|
214
|
-
|
|
218
|
+
vp8: {
|
|
215
219
|
default: import("./file-extensions").FileExtension;
|
|
216
220
|
forAudioCodec: {
|
|
217
221
|
"pcm-16": {
|
|
218
222
|
possible: import("./file-extensions").FileExtension[];
|
|
219
223
|
default: import("./file-extensions").FileExtension;
|
|
220
224
|
};
|
|
225
|
+
opus: {
|
|
226
|
+
possible: import("./file-extensions").FileExtension[];
|
|
227
|
+
default: import("./file-extensions").FileExtension;
|
|
228
|
+
};
|
|
221
229
|
};
|
|
222
230
|
};
|
|
223
|
-
|
|
231
|
+
vp9: {
|
|
224
232
|
default: import("./file-extensions").FileExtension;
|
|
225
233
|
forAudioCodec: {
|
|
226
234
|
"pcm-16": {
|
|
227
235
|
possible: import("./file-extensions").FileExtension[];
|
|
228
236
|
default: import("./file-extensions").FileExtension;
|
|
229
237
|
};
|
|
230
|
-
|
|
231
|
-
possible: import("./file-extensions").FileExtension[];
|
|
232
|
-
default: import("./file-extensions").FileExtension;
|
|
233
|
-
};
|
|
234
|
-
mp3: {
|
|
238
|
+
opus: {
|
|
235
239
|
possible: import("./file-extensions").FileExtension[];
|
|
236
240
|
default: import("./file-extensions").FileExtension;
|
|
237
241
|
};
|
|
238
242
|
};
|
|
239
243
|
};
|
|
240
|
-
|
|
244
|
+
mp3: {
|
|
241
245
|
default: import("./file-extensions").FileExtension;
|
|
242
246
|
forAudioCodec: {
|
|
243
|
-
|
|
247
|
+
mp3: {
|
|
244
248
|
possible: import("./file-extensions").FileExtension[];
|
|
245
249
|
default: import("./file-extensions").FileExtension;
|
|
246
250
|
};
|
|
247
|
-
|
|
251
|
+
"pcm-16": {
|
|
248
252
|
possible: import("./file-extensions").FileExtension[];
|
|
249
253
|
default: import("./file-extensions").FileExtension;
|
|
250
254
|
};
|
|
251
255
|
};
|
|
252
256
|
};
|
|
253
|
-
|
|
257
|
+
aac: {
|
|
254
258
|
default: import("./file-extensions").FileExtension;
|
|
255
259
|
forAudioCodec: {
|
|
256
|
-
|
|
260
|
+
aac: {
|
|
257
261
|
possible: import("./file-extensions").FileExtension[];
|
|
258
262
|
default: import("./file-extensions").FileExtension;
|
|
259
263
|
};
|
|
260
|
-
|
|
264
|
+
"pcm-16": {
|
|
261
265
|
possible: import("./file-extensions").FileExtension[];
|
|
262
266
|
default: import("./file-extensions").FileExtension;
|
|
263
267
|
};
|
|
264
268
|
};
|
|
265
269
|
};
|
|
266
|
-
|
|
270
|
+
wav: {
|
|
267
271
|
default: import("./file-extensions").FileExtension;
|
|
268
272
|
forAudioCodec: {
|
|
269
273
|
"pcm-16": {
|
|
270
274
|
possible: import("./file-extensions").FileExtension[];
|
|
271
275
|
default: import("./file-extensions").FileExtension;
|
|
272
276
|
};
|
|
273
|
-
opus: {
|
|
274
|
-
possible: import("./file-extensions").FileExtension[];
|
|
275
|
-
default: import("./file-extensions").FileExtension;
|
|
276
|
-
};
|
|
277
277
|
};
|
|
278
278
|
};
|
|
279
279
|
prores: {
|
|
280
280
|
default: import("./file-extensions").FileExtension;
|
|
281
281
|
forAudioCodec: {
|
|
282
|
-
|
|
282
|
+
aac: {
|
|
283
283
|
possible: import("./file-extensions").FileExtension[];
|
|
284
284
|
default: import("./file-extensions").FileExtension;
|
|
285
285
|
};
|
|
286
|
-
|
|
286
|
+
"pcm-16": {
|
|
287
287
|
possible: import("./file-extensions").FileExtension[];
|
|
288
288
|
default: import("./file-extensions").FileExtension;
|
|
289
289
|
};
|
|
@@ -292,11 +292,11 @@ export declare const RenderInternals: {
|
|
|
292
292
|
"h264-mkv": {
|
|
293
293
|
default: import("./file-extensions").FileExtension;
|
|
294
294
|
forAudioCodec: {
|
|
295
|
-
|
|
295
|
+
mp3: {
|
|
296
296
|
possible: import("./file-extensions").FileExtension[];
|
|
297
297
|
default: import("./file-extensions").FileExtension;
|
|
298
298
|
};
|
|
299
|
-
|
|
299
|
+
"pcm-16": {
|
|
300
300
|
possible: import("./file-extensions").FileExtension[];
|
|
301
301
|
default: import("./file-extensions").FileExtension;
|
|
302
302
|
};
|
|
@@ -305,11 +305,11 @@ export declare const RenderInternals: {
|
|
|
305
305
|
"h264-ts": {
|
|
306
306
|
default: import("./file-extensions").FileExtension;
|
|
307
307
|
forAudioCodec: {
|
|
308
|
-
|
|
308
|
+
aac: {
|
|
309
309
|
possible: import("./file-extensions").FileExtension[];
|
|
310
310
|
default: import("./file-extensions").FileExtension;
|
|
311
311
|
};
|
|
312
|
-
|
|
312
|
+
"pcm-16": {
|
|
313
313
|
possible: import("./file-extensions").FileExtension[];
|
|
314
314
|
default: import("./file-extensions").FileExtension;
|
|
315
315
|
};
|
|
@@ -325,6 +325,7 @@ export declare const RenderInternals: {
|
|
|
325
325
|
readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
|
|
326
326
|
readonly 'h264-ts': readonly ["pcm-16", "aac"];
|
|
327
327
|
readonly aac: readonly ["aac", "pcm-16"];
|
|
328
|
+
readonly avi: readonly [];
|
|
328
329
|
readonly gif: readonly [];
|
|
329
330
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
330
331
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
@@ -333,10 +334,10 @@ export declare const RenderInternals: {
|
|
|
333
334
|
readonly vp9: readonly ["opus", "pcm-16"];
|
|
334
335
|
readonly wav: readonly ["pcm-16"];
|
|
335
336
|
};
|
|
336
|
-
makeFileExtensionMap: () => Record<string, ("
|
|
337
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "
|
|
337
|
+
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
338
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
|
|
338
339
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
339
|
-
type: "
|
|
340
|
+
type: "compositor" | "ffmpeg" | "ffprobe";
|
|
340
341
|
indent: boolean;
|
|
341
342
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
342
343
|
binariesDirectory: string | null;
|
|
@@ -770,21 +771,21 @@ export declare const RenderInternals: {
|
|
|
770
771
|
hostsToTry: string[];
|
|
771
772
|
};
|
|
772
773
|
makeDownloadMap: () => import("./assets/download-map").DownloadMap;
|
|
773
|
-
getExtensionFromAudioCodec: (audioCodec: "
|
|
774
|
+
getExtensionFromAudioCodec: (audioCodec: "mp3" | "aac" | "pcm-16" | "opus") => "mp3" | "aac" | "wav" | "opus";
|
|
774
775
|
makeFileExecutableIfItIsNot: (path: string) => void;
|
|
775
776
|
resolveAudioCodec: ({ codec, setting, preferLossless, separateAudioTo, }: {
|
|
776
|
-
setting: "
|
|
777
|
-
codec: "
|
|
777
|
+
setting: "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
778
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
778
779
|
preferLossless: boolean;
|
|
779
780
|
separateAudioTo: string | null;
|
|
780
|
-
}) => "
|
|
781
|
+
}) => "mp3" | "aac" | "pcm-16" | "opus" | null;
|
|
781
782
|
getShouldRenderAudio: ({ codec, assetsInfo, enforceAudioTrack, muted, }: {
|
|
782
|
-
codec: "
|
|
783
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
783
784
|
assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
|
|
784
785
|
enforceAudioTrack: boolean;
|
|
785
786
|
muted: boolean;
|
|
786
787
|
}) => "yes" | "maybe" | "no";
|
|
787
|
-
codecSupportsMedia: (codec: "
|
|
788
|
+
codecSupportsMedia: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => {
|
|
788
789
|
video: boolean;
|
|
789
790
|
audio: boolean;
|
|
790
791
|
};
|
|
@@ -819,4 +820,24 @@ export declare const RenderInternals: {
|
|
|
819
820
|
setConfig: () => never;
|
|
820
821
|
};
|
|
821
822
|
}>) => Promise<import("./ensure-browser").BrowserStatus>;
|
|
823
|
+
exampleVideos: {
|
|
824
|
+
bigBuckBunny: string;
|
|
825
|
+
transparentWebm: string;
|
|
826
|
+
framerWithoutFileExtension: string;
|
|
827
|
+
corrupted: string;
|
|
828
|
+
customDar: string;
|
|
829
|
+
screenrecording: string;
|
|
830
|
+
nofps: string;
|
|
831
|
+
variablefps: string;
|
|
832
|
+
zerotimestamp: string;
|
|
833
|
+
webcam: string;
|
|
834
|
+
iphonevideo: string;
|
|
835
|
+
av1: string;
|
|
836
|
+
framer24fps: string;
|
|
837
|
+
music: string;
|
|
838
|
+
notavideo: string;
|
|
839
|
+
notafile: string;
|
|
840
|
+
transparentwithdar: string;
|
|
841
|
+
iphonehevc: string;
|
|
842
|
+
};
|
|
822
843
|
};
|
package/dist/index.js
CHANGED
|
@@ -115,6 +115,7 @@ const make_file_executable_1 = require("./compositor/make-file-executable");
|
|
|
115
115
|
const ensure_browser_2 = require("./ensure-browser");
|
|
116
116
|
const audio_codec_1 = require("./options/audio-codec");
|
|
117
117
|
const render_has_audio_1 = require("./render-has-audio");
|
|
118
|
+
const example_videos_1 = require("./test/example-videos");
|
|
118
119
|
const to_megabytes_1 = require("./to-megabytes");
|
|
119
120
|
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
120
121
|
const validate_videobitrate_1 = require("./validate-videobitrate");
|
|
@@ -205,6 +206,7 @@ exports.RenderInternals = {
|
|
|
205
206
|
codecSupportsMedia: codec_supports_media_1.codecSupportsMedia,
|
|
206
207
|
toMegabytes: to_megabytes_1.toMegabytes,
|
|
207
208
|
internalEnsureBrowser: ensure_browser_2.internalEnsureBrowser,
|
|
209
|
+
exampleVideos: example_videos_1.exampleVideos,
|
|
208
210
|
};
|
|
209
211
|
// Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
|
|
210
212
|
(0, check_version_requirements_1.checkRuntimeVersion)('info', false);
|
|
@@ -7,6 +7,7 @@ export declare const supportedAudioCodecs: {
|
|
|
7
7
|
readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
|
|
8
8
|
readonly 'h264-ts': readonly ["pcm-16", "aac"];
|
|
9
9
|
readonly aac: readonly ["aac", "pcm-16"];
|
|
10
|
+
readonly avi: readonly [];
|
|
10
11
|
readonly gif: readonly [];
|
|
11
12
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
12
13
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
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: () => "swangle" | "angle" | "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: "swangle" | "angle" | "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: "swangle" | "angle" | "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: "swangle" | "angle" | "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: "swangle" | "angle" | "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: "swangle" | "angle" | "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: "
|
|
385
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
386
386
|
getValue: ({ commandLine }: {
|
|
387
387
|
commandLine: Record<string, unknown>;
|
|
388
388
|
}) => {
|
|
389
|
-
value: "
|
|
389
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
390
390
|
source: string;
|
|
391
391
|
} | {
|
|
392
392
|
value: null;
|
|
393
393
|
source: string;
|
|
394
394
|
};
|
|
395
|
-
setConfig: (profile: "
|
|
395
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
75
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
76
76
|
getValue: ({ commandLine }: {
|
|
77
77
|
commandLine: Record<string, unknown>;
|
|
78
78
|
}) => {
|
|
79
|
-
value: "
|
|
79
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
80
80
|
source: string;
|
|
81
81
|
} | {
|
|
82
82
|
value: null;
|
|
83
83
|
source: string;
|
|
84
84
|
};
|
|
85
|
-
setConfig: (profile: "
|
|
85
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
797
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
798
798
|
getValue: ({ commandLine }: {
|
|
799
799
|
commandLine: Record<string, unknown>;
|
|
800
800
|
}) => {
|
|
801
|
-
value: "
|
|
801
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
802
802
|
source: string;
|
|
803
803
|
} | {
|
|
804
804
|
value: null;
|
|
805
805
|
source: string;
|
|
806
806
|
};
|
|
807
|
-
setConfig: (profile: "
|
|
807
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
1163
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1164
1164
|
getValue: ({ commandLine }: {
|
|
1165
1165
|
commandLine: Record<string, unknown>;
|
|
1166
1166
|
}) => {
|
|
1167
|
-
value: "
|
|
1167
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1168
1168
|
source: string;
|
|
1169
1169
|
} | {
|
|
1170
1170
|
value: null;
|
|
1171
1171
|
source: string;
|
|
1172
1172
|
};
|
|
1173
|
-
setConfig: (profile: "
|
|
1173
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
14
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
15
15
|
getValue: ({ commandLine }: {
|
|
16
16
|
commandLine: Record<string, unknown>;
|
|
17
17
|
}) => {
|
|
18
|
-
value: "
|
|
18
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
19
19
|
source: string;
|
|
20
20
|
} | {
|
|
21
21
|
value: null;
|
package/dist/render-media.js
CHANGED
|
@@ -94,7 +94,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
94
94
|
: null;
|
|
95
95
|
(0, validate_scale_1.validateScale)(scale);
|
|
96
96
|
(0, validate_ffmpeg_override_1.validateFfmpegOverride)(ffmpegOverride);
|
|
97
|
-
(0, validate_every_nth_frame_1.validateEveryNthFrame)(everyNthFrame
|
|
97
|
+
(0, validate_every_nth_frame_1.validateEveryNthFrame)(everyNthFrame);
|
|
98
98
|
(0, validate_number_of_gif_loops_1.validateNumberOfGifLoops)(numberOfGifLoops, codec);
|
|
99
99
|
let stitchStage = 'encoding';
|
|
100
100
|
let stitcherFfmpeg;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const validateEveryNthFrame: (everyNthFrame: unknown, codec: Codec) => 1 | undefined;
|
|
1
|
+
export declare const validateEveryNthFrame: (everyNthFrame: unknown) => 1 | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateEveryNthFrame = void 0;
|
|
4
|
-
const validateEveryNthFrame = (everyNthFrame
|
|
4
|
+
const validateEveryNthFrame = (everyNthFrame) => {
|
|
5
5
|
if (typeof everyNthFrame === 'undefined') {
|
|
6
6
|
throw new TypeError(`Argument missing for parameter "everyNthFrame"`);
|
|
7
7
|
}
|
|
@@ -20,9 +20,5 @@ const validateEveryNthFrame = (everyNthFrame, codec) => {
|
|
|
20
20
|
if (everyNthFrame === 1) {
|
|
21
21
|
return everyNthFrame;
|
|
22
22
|
}
|
|
23
|
-
// h264-mkv because that is what is being used on Lambda
|
|
24
|
-
if (codec !== 'gif' && codec !== 'h264-mkv') {
|
|
25
|
-
throw new Error(`"everyNthFrame" can only be set if "codec" is set to "gif". The codec is "${codec}"`);
|
|
26
|
-
}
|
|
27
23
|
};
|
|
28
24
|
exports.validateEveryNthFrame = validateEveryNthFrame;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.151",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
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.151"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@types/ws": "8.5.10"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
47
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
48
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
49
|
-
"@remotion/compositor-linux-
|
|
50
|
-
"@remotion/compositor-linux-
|
|
51
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
52
|
-
"@remotion/compositor-linux-x64-
|
|
46
|
+
"@remotion/compositor-darwin-arm64": "4.0.151",
|
|
47
|
+
"@remotion/compositor-darwin-x64": "4.0.151",
|
|
48
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.151",
|
|
49
|
+
"@remotion/compositor-linux-x64-musl": "4.0.151",
|
|
50
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.151",
|
|
51
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.151",
|
|
52
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.151"
|
|
53
53
|
},
|
|
54
54
|
"keywords": [
|
|
55
55
|
"remotion",
|