@remotion/renderer 4.0.150 → 4.0.152
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 +27 -6
- 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
|
@@ -140,8 +140,8 @@ export declare const RenderInternals: {
|
|
|
140
140
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
141
141
|
DEFAULT_BROWSER: "chrome";
|
|
142
142
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
143
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
144
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
143
|
+
DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
144
|
+
validateOpenGlRenderer: (option: unknown) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
145
145
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
146
146
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
147
147
|
validateJpegQuality: (q: unknown) => void;
|
|
@@ -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"];
|
|
@@ -352,8 +353,8 @@ export declare const RenderInternals: {
|
|
|
352
353
|
}) => execa.ExecaChildProcess<string>;
|
|
353
354
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
354
355
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
355
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
356
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
356
|
+
DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
|
|
357
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
|
|
357
358
|
DEFAULT_JPEG_QUALITY: number;
|
|
358
359
|
chalk: {
|
|
359
360
|
enabled: () => boolean;
|
|
@@ -452,7 +453,7 @@ export declare const RenderInternals: {
|
|
|
452
453
|
frame: number;
|
|
453
454
|
serializedInputPropsWithCustomSchema: string;
|
|
454
455
|
serializedResolvedPropsWithCustomSchema: string;
|
|
455
|
-
imageFormat: "
|
|
456
|
+
imageFormat: "png" | "jpeg" | "pdf" | "webp";
|
|
456
457
|
jpegQuality: number;
|
|
457
458
|
puppeteerInstance: HeadlessBrowser | null;
|
|
458
459
|
envVariables: Record<string, string>;
|
|
@@ -783,7 +784,7 @@ export declare const RenderInternals: {
|
|
|
783
784
|
assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
|
|
784
785
|
enforceAudioTrack: boolean;
|
|
785
786
|
muted: boolean;
|
|
786
|
-
}) => "
|
|
787
|
+
}) => "yes" | "maybe" | "no";
|
|
787
788
|
codecSupportsMedia: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => {
|
|
788
789
|
video: boolean;
|
|
789
790
|
audio: boolean;
|
|
@@ -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.152",
|
|
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.152"
|
|
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-
|
|
47
|
-
"@remotion/compositor-linux-
|
|
48
|
-
"@remotion/compositor-
|
|
49
|
-
"@remotion/compositor-
|
|
50
|
-
"@remotion/compositor-linux-
|
|
51
|
-
"@remotion/compositor-linux-x64-
|
|
52
|
-
"@remotion/compositor-
|
|
46
|
+
"@remotion/compositor-darwin-arm64": "4.0.152",
|
|
47
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.152",
|
|
48
|
+
"@remotion/compositor-darwin-x64": "4.0.152",
|
|
49
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.152",
|
|
50
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.152",
|
|
51
|
+
"@remotion/compositor-linux-x64-musl": "4.0.152",
|
|
52
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.152"
|
|
53
53
|
},
|
|
54
54
|
"keywords": [
|
|
55
55
|
"remotion",
|