@remotion/renderer 4.0.439 → 4.0.441
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/can-concat-seamlessly.d.ts +1 -1
- package/dist/can-use-parallel-encoding.d.ts +1 -1
- package/dist/client.d.ts +41 -19
- package/dist/codec-supports-media.d.ts +3 -3
- package/dist/codec-supports-media.js +5 -0
- package/dist/codec.d.ts +1 -1
- package/dist/codec.js +1 -0
- package/dist/combine-chunks.js +1 -0
- package/dist/combine-video-streams.d.ts +1 -1
- package/dist/crf.d.ts +3 -3
- package/dist/crf.js +2 -0
- package/dist/esm/client.mjs +17 -0
- package/dist/esm/index.mjs +29 -2
- package/dist/esm/pure.mjs +18 -0
- package/dist/ffmpeg-args.d.ts +1 -1
- package/dist/file-extensions.js +8 -0
- package/dist/get-codec-name.d.ts +1 -1
- package/dist/get-codec-name.js +4 -0
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/get-prores-profile-name.d.ts +1 -1
- package/dist/index.d.ts +31 -13
- package/dist/is-audio-codec.d.ts +1 -1
- package/dist/mux-video-and-audio.js +5 -0
- package/dist/options/audio-codec.d.ts +3 -2
- package/dist/options/audio-codec.js +5 -0
- package/dist/options/index.d.ts +5 -5
- package/dist/options/options-map.d.ts +5 -5
- package/dist/options/video-codec.d.ts +5 -5
- package/dist/options/x264-preset.d.ts +1 -1
- package/dist/pixel-format.d.ts +2 -2
- package/dist/prores-profile.d.ts +1 -1
- package/dist/pure.d.ts +4 -4
- package/dist/render-has-audio.d.ts +1 -1
- package/dist/take-frame.js +1 -1
- package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
- package/dist/validate-even-dimensions-with-codec.js +1 -0
- package/dist/validate-number-of-gif-loops.d.ts +1 -1
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +13 -13
- package/dist/options/browser-download-dir.d.ts +0 -16
- package/dist/options/browser-download-dir.js +0 -42
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const canConcatAudioSeamlessly: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null, chunkDurationInFrames: number) => boolean;
|
|
2
|
-
export declare const canConcatVideoSeamlessly: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => codec is "h264";
|
|
2
|
+
export declare const canConcatVideoSeamlessly: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => codec is "h264";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const canUseParallelEncoding: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
1
|
+
export declare const canUseParallelEncoding: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
2
2
|
export declare const getShouldUsePartitionedRendering: () => boolean;
|
package/dist/client.d.ts
CHANGED
|
@@ -2,17 +2,17 @@ export { AvailableOptions, TypeOfOption } from './options';
|
|
|
2
2
|
export { HardwareAccelerationOption } from './options/hardware-acceleration';
|
|
3
3
|
export { ProResProfile } from './options/prores-profile';
|
|
4
4
|
export declare const BrowserSafeApis: {
|
|
5
|
-
getFileExtensionFromCodec: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
6
|
-
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
5
|
+
getFileExtensionFromCodec: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
6
|
+
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "av1", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
7
7
|
validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
8
|
-
getDefaultCrfForCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => number | null;
|
|
9
|
-
getValidCrfRanges: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => [number, number];
|
|
8
|
+
getDefaultCrfForCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => number | null;
|
|
9
|
+
getValidCrfRanges: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => [number, number];
|
|
10
10
|
proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
|
|
11
11
|
x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
|
|
12
12
|
hardwareAccelerationOptions: readonly ["disable", "if-possible", "required"];
|
|
13
13
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
14
14
|
validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
15
|
-
validPixelFormatsForCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => ("yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva444p10le")[] | readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
15
|
+
validPixelFormatsForCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => ("yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva444p10le")[] | readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
16
16
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
17
17
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
18
18
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva420p" | "yuva444p10le";
|
|
@@ -27,6 +27,7 @@ export declare const BrowserSafeApis: {
|
|
|
27
27
|
readonly avi: readonly [];
|
|
28
28
|
readonly gif: readonly [];
|
|
29
29
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
30
|
+
readonly av1: readonly ["aac", "opus", "pcm-16"];
|
|
30
31
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
31
32
|
readonly prores: readonly ["aac", "pcm-16"];
|
|
32
33
|
readonly vp8: readonly ["opus", "pcm-16"];
|
|
@@ -47,6 +48,23 @@ export declare const BrowserSafeApis: {
|
|
|
47
48
|
};
|
|
48
49
|
};
|
|
49
50
|
};
|
|
51
|
+
av1: {
|
|
52
|
+
default: import("./file-extensions").FileExtension;
|
|
53
|
+
forAudioCodec: {
|
|
54
|
+
aac: {
|
|
55
|
+
possible: import("./file-extensions").FileExtension[];
|
|
56
|
+
default: import("./file-extensions").FileExtension;
|
|
57
|
+
};
|
|
58
|
+
opus: {
|
|
59
|
+
possible: import("./file-extensions").FileExtension[];
|
|
60
|
+
default: import("./file-extensions").FileExtension;
|
|
61
|
+
};
|
|
62
|
+
"pcm-16": {
|
|
63
|
+
possible: import("./file-extensions").FileExtension[];
|
|
64
|
+
default: import("./file-extensions").FileExtension;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
50
68
|
gif: {
|
|
51
69
|
default: import("./file-extensions").FileExtension;
|
|
52
70
|
forAudioCodec: {};
|
|
@@ -174,6 +192,10 @@ export declare const BrowserSafeApis: {
|
|
|
174
192
|
compressed: "aac" | "pcm-16" | null;
|
|
175
193
|
lossless: "aac" | "pcm-16" | null;
|
|
176
194
|
};
|
|
195
|
+
av1: {
|
|
196
|
+
compressed: "aac" | "opus" | "pcm-16" | null;
|
|
197
|
+
lossless: "aac" | "opus" | "pcm-16" | null;
|
|
198
|
+
};
|
|
177
199
|
gif: {
|
|
178
200
|
compressed: null;
|
|
179
201
|
lossless: null;
|
|
@@ -215,8 +237,8 @@ export declare const BrowserSafeApis: {
|
|
|
215
237
|
lossless: "pcm-16" | null;
|
|
216
238
|
};
|
|
217
239
|
};
|
|
218
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">;
|
|
219
|
-
validateOutputFilename: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
240
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">;
|
|
241
|
+
validateOutputFilename: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
220
242
|
codec: T;
|
|
221
243
|
audioCodecSetting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
222
244
|
extension: string;
|
|
@@ -434,17 +456,17 @@ export declare const BrowserSafeApis: {
|
|
|
434
456
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
435
457
|
ssrName: string;
|
|
436
458
|
docLink: string;
|
|
437
|
-
type: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
459
|
+
type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
438
460
|
getValue: ({ commandLine }: {
|
|
439
461
|
commandLine: Record<string, unknown>;
|
|
440
462
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
441
463
|
outName: string | null;
|
|
442
464
|
downloadName: string | null;
|
|
443
|
-
configFile: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
444
|
-
uiCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
445
|
-
compositionCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
465
|
+
configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
466
|
+
uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
467
|
+
compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
446
468
|
}) => {
|
|
447
|
-
value: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
469
|
+
value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
448
470
|
source: string;
|
|
449
471
|
};
|
|
450
472
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -1916,17 +1938,17 @@ export declare const BrowserSafeApis: {
|
|
|
1916
1938
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1917
1939
|
ssrName: string;
|
|
1918
1940
|
docLink: string;
|
|
1919
|
-
type: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1941
|
+
type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1920
1942
|
getValue: ({ commandLine }: {
|
|
1921
1943
|
commandLine: Record<string, unknown>;
|
|
1922
1944
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
1923
1945
|
outName: string | null;
|
|
1924
1946
|
downloadName: string | null;
|
|
1925
|
-
configFile: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1926
|
-
uiCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1927
|
-
compositionCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1947
|
+
configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1948
|
+
uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1949
|
+
compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
1928
1950
|
}) => {
|
|
1929
|
-
value: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1951
|
+
value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1930
1952
|
source: string;
|
|
1931
1953
|
};
|
|
1932
1954
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -3991,8 +4013,8 @@ export declare const BrowserSafeApis: {
|
|
|
3991
4013
|
};
|
|
3992
4014
|
};
|
|
3993
4015
|
};
|
|
3994
|
-
codecSupportsCrf: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
3995
|
-
codecSupportsVideoBitrate: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
4016
|
+
codecSupportsCrf: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
4017
|
+
codecSupportsVideoBitrate: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
3996
4018
|
logLevels: readonly ["trace", "verbose", "info", "warn", "error"];
|
|
3997
4019
|
getOutputCodecOrUndefined: () => import("./codec").CodecOrUndefined;
|
|
3998
4020
|
getExtensionFromAudioCodec: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16") => "aac" | "mp3" | "opus" | "wav";
|
|
@@ -2,7 +2,7 @@ type MediaSupport = {
|
|
|
2
2
|
video: boolean;
|
|
3
3
|
audio: boolean;
|
|
4
4
|
};
|
|
5
|
-
export declare const codecSupportsMedia: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => MediaSupport;
|
|
6
|
-
export declare const codecSupportsCrf: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
7
|
-
export declare const codecSupportsVideoBitrate: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
5
|
+
export declare const codecSupportsMedia: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => MediaSupport;
|
|
6
|
+
export declare const codecSupportsCrf: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
7
|
+
export declare const codecSupportsVideoBitrate: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
8
8
|
export {};
|
|
@@ -27,6 +27,10 @@ const support = {
|
|
|
27
27
|
video: true,
|
|
28
28
|
audio: true,
|
|
29
29
|
},
|
|
30
|
+
av1: {
|
|
31
|
+
video: true,
|
|
32
|
+
audio: true,
|
|
33
|
+
},
|
|
30
34
|
mp3: {
|
|
31
35
|
audio: true,
|
|
32
36
|
video: false,
|
|
@@ -59,6 +63,7 @@ const codecSupportsVideoBitrateMap = {
|
|
|
59
63
|
gif: false,
|
|
60
64
|
h264: true,
|
|
61
65
|
h265: true,
|
|
66
|
+
av1: true,
|
|
62
67
|
mp3: false,
|
|
63
68
|
prores: false,
|
|
64
69
|
vp8: true,
|
package/dist/codec.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
1
|
+
export declare const validCodecs: readonly ["h264", "h265", "vp8", "vp9", "av1", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
2
2
|
export type Codec = (typeof validCodecs)[number];
|
|
3
3
|
export type CodecOrUndefined = Codec | undefined;
|
|
4
4
|
export declare const DEFAULT_CODEC: Codec;
|
package/dist/codec.js
CHANGED
package/dist/combine-chunks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CancelSignal } from './make-cancel-signal';
|
|
2
2
|
export declare const combineVideoStreams: ({ fps, codec, filelistDir, numberOfGifLoops, output, indent, logLevel, onProgress, files, addRemotionMetadata, binariesDirectory, cancelSignal, }: {
|
|
3
3
|
fps: number;
|
|
4
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
4
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
5
5
|
filelistDir: string;
|
|
6
6
|
numberOfGifLoops: number | null;
|
|
7
7
|
output: string;
|
package/dist/crf.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export type Crf = number | undefined;
|
|
2
|
-
export declare const getDefaultCrfForCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => number | null;
|
|
3
|
-
export declare const getValidCrfRanges: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => [number, number];
|
|
2
|
+
export declare const getDefaultCrfForCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => number | null;
|
|
3
|
+
export declare const getValidCrfRanges: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => [number, number];
|
|
4
4
|
export declare const validateQualitySettings: ({ codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, hardwareAcceleration, }: {
|
|
5
5
|
crf: unknown;
|
|
6
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
6
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
7
7
|
videoBitrate: string | null;
|
|
8
8
|
encodingMaxRate: string | null;
|
|
9
9
|
encodingBufferSize: string | null;
|
package/dist/crf.js
CHANGED
|
@@ -7,6 +7,7 @@ const defaultCrfMap = {
|
|
|
7
7
|
h265: 23,
|
|
8
8
|
vp8: 9,
|
|
9
9
|
vp9: 28,
|
|
10
|
+
av1: 30,
|
|
10
11
|
prores: null,
|
|
11
12
|
gif: null,
|
|
12
13
|
'h264-mkv': 18,
|
|
@@ -28,6 +29,7 @@ const crfRanges = {
|
|
|
28
29
|
h265: [0, 51],
|
|
29
30
|
vp8: [4, 63],
|
|
30
31
|
vp9: [0, 63],
|
|
32
|
+
av1: [0, 63],
|
|
31
33
|
prores: [0, 0],
|
|
32
34
|
gif: [0, 0],
|
|
33
35
|
'h264-mkv': [1, 51],
|
package/dist/esm/client.mjs
CHANGED
|
@@ -40,6 +40,7 @@ var validCodecs = [
|
|
|
40
40
|
"h265",
|
|
41
41
|
"vp8",
|
|
42
42
|
"vp9",
|
|
43
|
+
"av1",
|
|
43
44
|
"mp3",
|
|
44
45
|
"aac",
|
|
45
46
|
"wav",
|
|
@@ -56,6 +57,7 @@ var defaultCrfMap = {
|
|
|
56
57
|
h265: 23,
|
|
57
58
|
vp8: 9,
|
|
58
59
|
vp9: 28,
|
|
60
|
+
av1: 30,
|
|
59
61
|
prores: null,
|
|
60
62
|
gif: null,
|
|
61
63
|
"h264-mkv": 18,
|
|
@@ -76,6 +78,7 @@ var crfRanges = {
|
|
|
76
78
|
h265: [0, 51],
|
|
77
79
|
vp8: [4, 63],
|
|
78
80
|
vp9: [0, 63],
|
|
81
|
+
av1: [0, 63],
|
|
79
82
|
prores: [0, 0],
|
|
80
83
|
gif: [0, 0],
|
|
81
84
|
"h264-mkv": [1, 51],
|
|
@@ -100,6 +103,7 @@ var codecSupportsVideoBitrateMap = {
|
|
|
100
103
|
gif: false,
|
|
101
104
|
h264: true,
|
|
102
105
|
h265: true,
|
|
106
|
+
av1: true,
|
|
103
107
|
mp3: false,
|
|
104
108
|
prores: false,
|
|
105
109
|
vp8: true,
|
|
@@ -162,6 +166,14 @@ var defaultFileExtensionMap = {
|
|
|
162
166
|
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
163
167
|
}
|
|
164
168
|
},
|
|
169
|
+
av1: {
|
|
170
|
+
default: "mp4",
|
|
171
|
+
forAudioCodec: {
|
|
172
|
+
aac: { possible: ["mp4", "mkv"], default: "mp4" },
|
|
173
|
+
opus: { possible: ["webm", "mkv"], default: "webm" },
|
|
174
|
+
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
175
|
+
}
|
|
176
|
+
},
|
|
165
177
|
mp3: {
|
|
166
178
|
default: "mp3",
|
|
167
179
|
forAudioCodec: {
|
|
@@ -450,6 +462,7 @@ var supportedAudioCodecs = {
|
|
|
450
462
|
avi: [],
|
|
451
463
|
gif: [],
|
|
452
464
|
h265: ["aac", "pcm-16"],
|
|
465
|
+
av1: ["aac", "opus", "pcm-16"],
|
|
453
466
|
mp3: ["mp3", "pcm-16"],
|
|
454
467
|
prores: ["aac", "pcm-16"],
|
|
455
468
|
vp8: ["opus", "pcm-16"],
|
|
@@ -485,6 +498,10 @@ var defaultAudioCodecs = {
|
|
|
485
498
|
lossless: "pcm-16",
|
|
486
499
|
compressed: "aac"
|
|
487
500
|
},
|
|
501
|
+
av1: {
|
|
502
|
+
lossless: "pcm-16",
|
|
503
|
+
compressed: "aac"
|
|
504
|
+
},
|
|
488
505
|
mp3: {
|
|
489
506
|
lossless: "pcm-16",
|
|
490
507
|
compressed: "mp3"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -4153,6 +4153,7 @@ var validCodecs = [
|
|
|
4153
4153
|
"h265",
|
|
4154
4154
|
"vp8",
|
|
4155
4155
|
"vp9",
|
|
4156
|
+
"av1",
|
|
4156
4157
|
"mp3",
|
|
4157
4158
|
"aac",
|
|
4158
4159
|
"wav",
|
|
@@ -4589,6 +4590,14 @@ var defaultFileExtensionMap = {
|
|
|
4589
4590
|
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
4590
4591
|
}
|
|
4591
4592
|
},
|
|
4593
|
+
av1: {
|
|
4594
|
+
default: "mp4",
|
|
4595
|
+
forAudioCodec: {
|
|
4596
|
+
aac: { possible: ["mp4", "mkv"], default: "mp4" },
|
|
4597
|
+
opus: { possible: ["webm", "mkv"], default: "webm" },
|
|
4598
|
+
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
4599
|
+
}
|
|
4600
|
+
},
|
|
4592
4601
|
mp3: {
|
|
4593
4602
|
default: "mp3",
|
|
4594
4603
|
forAudioCodec: {
|
|
@@ -17621,6 +17630,7 @@ var supportedAudioCodecs = {
|
|
|
17621
17630
|
avi: [],
|
|
17622
17631
|
gif: [],
|
|
17623
17632
|
h265: ["aac", "pcm-16"],
|
|
17633
|
+
av1: ["aac", "opus", "pcm-16"],
|
|
17624
17634
|
mp3: ["mp3", "pcm-16"],
|
|
17625
17635
|
prores: ["aac", "pcm-16"],
|
|
17626
17636
|
vp8: ["opus", "pcm-16"],
|
|
@@ -17671,6 +17681,10 @@ var defaultAudioCodecs = {
|
|
|
17671
17681
|
lossless: "pcm-16",
|
|
17672
17682
|
compressed: "aac"
|
|
17673
17683
|
},
|
|
17684
|
+
av1: {
|
|
17685
|
+
lossless: "pcm-16",
|
|
17686
|
+
compressed: "aac"
|
|
17687
|
+
},
|
|
17674
17688
|
mp3: {
|
|
17675
17689
|
lossless: "pcm-16",
|
|
17676
17690
|
compressed: "mp3"
|
|
@@ -18579,7 +18593,7 @@ var takeFrame = async ({
|
|
|
18579
18593
|
}
|
|
18580
18594
|
const buf = await screenshot({
|
|
18581
18595
|
page: freePage,
|
|
18582
|
-
omitBackground: imageFormat === "png",
|
|
18596
|
+
omitBackground: imageFormat === "png" || imageFormat === "webp",
|
|
18583
18597
|
path: (wantsBuffer ? undefined : output) ?? undefined,
|
|
18584
18598
|
type: imageFormat,
|
|
18585
18599
|
jpegQuality,
|
|
@@ -19588,6 +19602,7 @@ var defaultCrfMap = {
|
|
|
19588
19602
|
h265: 23,
|
|
19589
19603
|
vp8: 9,
|
|
19590
19604
|
vp9: 28,
|
|
19605
|
+
av1: 30,
|
|
19591
19606
|
prores: null,
|
|
19592
19607
|
gif: null,
|
|
19593
19608
|
"h264-mkv": 18,
|
|
@@ -19608,6 +19623,7 @@ var crfRanges = {
|
|
|
19608
19623
|
h265: [0, 51],
|
|
19609
19624
|
vp8: [4, 63],
|
|
19610
19625
|
vp9: [0, 63],
|
|
19626
|
+
av1: [0, 63],
|
|
19611
19627
|
prores: [0, 0],
|
|
19612
19628
|
gif: [0, 0],
|
|
19613
19629
|
"h264-mkv": [1, 51],
|
|
@@ -19710,6 +19726,10 @@ var support = {
|
|
|
19710
19726
|
video: true,
|
|
19711
19727
|
audio: true
|
|
19712
19728
|
},
|
|
19729
|
+
av1: {
|
|
19730
|
+
video: true,
|
|
19731
|
+
audio: true
|
|
19732
|
+
},
|
|
19713
19733
|
mp3: {
|
|
19714
19734
|
audio: true,
|
|
19715
19735
|
video: false
|
|
@@ -19877,6 +19897,10 @@ var getCodecName = ({
|
|
|
19877
19897
|
if (codec === "vp9") {
|
|
19878
19898
|
return { encoderName: "libvpx-vp9", hardwareAccelerated: false };
|
|
19879
19899
|
}
|
|
19900
|
+
if (codec === "av1") {
|
|
19901
|
+
Log.warn({ indent, logLevel }, "AV1 encoding is significantly slower than other codecs.");
|
|
19902
|
+
return { encoderName: "libaom-av1", hardwareAccelerated: false };
|
|
19903
|
+
}
|
|
19880
19904
|
if (codec === "gif") {
|
|
19881
19905
|
return { encoderName: "gif", hardwareAccelerated: false };
|
|
19882
19906
|
}
|
|
@@ -20037,7 +20061,7 @@ var validateEvenDimensionsWithCodec = ({
|
|
|
20037
20061
|
actualHeight: height
|
|
20038
20062
|
};
|
|
20039
20063
|
}
|
|
20040
|
-
if (codec !== "h264-mkv" && codec !== "h264" && codec !== "h265" && codec !== "h264-ts") {
|
|
20064
|
+
if (codec !== "h264-mkv" && codec !== "h264" && codec !== "h265" && codec !== "av1" && codec !== "h264-ts") {
|
|
20041
20065
|
return {
|
|
20042
20066
|
actualWidth: width,
|
|
20043
20067
|
actualHeight: height
|
|
@@ -23135,6 +23159,8 @@ var muxVideoAndAudio = async ({
|
|
|
23135
23159
|
videoOutput ? "copy" : null,
|
|
23136
23160
|
audioOutput ? "-c:a" : null,
|
|
23137
23161
|
audioOutput ? "copy" : null,
|
|
23162
|
+
videoOutput ? "-r" : null,
|
|
23163
|
+
videoOutput ? String(fps) : null,
|
|
23138
23164
|
numberOfGifLoops === null ? null : "-loop",
|
|
23139
23165
|
numberOfGifLoops === null ? null : convertNumberOfGifLoopsToFfmpegSyntax(numberOfGifLoops),
|
|
23140
23166
|
addFaststart ? "-movflags" : null,
|
|
@@ -23174,6 +23200,7 @@ var codecSupportsFastStart = {
|
|
|
23174
23200
|
"h264-ts": false,
|
|
23175
23201
|
h264: true,
|
|
23176
23202
|
h265: true,
|
|
23203
|
+
av1: true,
|
|
23177
23204
|
aac: false,
|
|
23178
23205
|
gif: false,
|
|
23179
23206
|
mp3: false,
|
package/dist/esm/pure.mjs
CHANGED
|
@@ -29,6 +29,10 @@ var support = {
|
|
|
29
29
|
video: true,
|
|
30
30
|
audio: true
|
|
31
31
|
},
|
|
32
|
+
av1: {
|
|
33
|
+
video: true,
|
|
34
|
+
audio: true
|
|
35
|
+
},
|
|
32
36
|
mp3: {
|
|
33
37
|
audio: true,
|
|
34
38
|
video: false
|
|
@@ -72,6 +76,7 @@ var validCodecs = [
|
|
|
72
76
|
"h265",
|
|
73
77
|
"vp8",
|
|
74
78
|
"vp9",
|
|
79
|
+
"av1",
|
|
75
80
|
"mp3",
|
|
76
81
|
"aac",
|
|
77
82
|
"wav",
|
|
@@ -129,6 +134,14 @@ var defaultFileExtensionMap = {
|
|
|
129
134
|
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
130
135
|
}
|
|
131
136
|
},
|
|
137
|
+
av1: {
|
|
138
|
+
default: "mp4",
|
|
139
|
+
forAudioCodec: {
|
|
140
|
+
aac: { possible: ["mp4", "mkv"], default: "mp4" },
|
|
141
|
+
opus: { possible: ["webm", "mkv"], default: "webm" },
|
|
142
|
+
"pcm-16": { possible: ["mkv"], default: "mkv" }
|
|
143
|
+
}
|
|
144
|
+
},
|
|
132
145
|
mp3: {
|
|
133
146
|
default: "mp3",
|
|
134
147
|
forAudioCodec: {
|
|
@@ -334,6 +347,7 @@ var supportedAudioCodecs = {
|
|
|
334
347
|
avi: [],
|
|
335
348
|
gif: [],
|
|
336
349
|
h265: ["aac", "pcm-16"],
|
|
350
|
+
av1: ["aac", "opus", "pcm-16"],
|
|
337
351
|
mp3: ["mp3", "pcm-16"],
|
|
338
352
|
prores: ["aac", "pcm-16"],
|
|
339
353
|
vp8: ["opus", "pcm-16"],
|
|
@@ -369,6 +383,10 @@ var defaultAudioCodecs = {
|
|
|
369
383
|
lossless: "pcm-16",
|
|
370
384
|
compressed: "aac"
|
|
371
385
|
},
|
|
386
|
+
av1: {
|
|
387
|
+
lossless: "pcm-16",
|
|
388
|
+
compressed: "aac"
|
|
389
|
+
},
|
|
372
390
|
mp3: {
|
|
373
391
|
lossless: "pcm-16",
|
|
374
392
|
compressed: "mp3"
|
package/dist/ffmpeg-args.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const generateFfmpegArgs: ({ hasPreencoded, proResProfileName, pi
|
|
|
4
4
|
pixelFormat: "yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva420p" | "yuva444p10le";
|
|
5
5
|
x264Preset: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow" | null;
|
|
6
6
|
crf: unknown;
|
|
7
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
7
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
8
8
|
videoBitrate: string | null;
|
|
9
9
|
encodingMaxRate: string | null;
|
|
10
10
|
encodingBufferSize: string | null;
|
package/dist/file-extensions.js
CHANGED
|
@@ -48,6 +48,14 @@ exports.defaultFileExtensionMap = {
|
|
|
48
48
|
'pcm-16': { possible: ['mkv'], default: 'mkv' },
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
|
+
av1: {
|
|
52
|
+
default: 'mp4',
|
|
53
|
+
forAudioCodec: {
|
|
54
|
+
aac: { possible: ['mp4', 'mkv'], default: 'mp4' },
|
|
55
|
+
opus: { possible: ['webm', 'mkv'], default: 'webm' },
|
|
56
|
+
'pcm-16': { possible: ['mkv'], default: 'mkv' },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
51
59
|
mp3: {
|
|
52
60
|
default: 'mp3',
|
|
53
61
|
forAudioCodec: {
|
package/dist/get-codec-name.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare const hasSpecifiedUnsupportedHardwareQualifySettings: ({ encoding
|
|
|
8
8
|
crf: unknown;
|
|
9
9
|
}) => "crf" | "encodingBufferSize" | "encodingMaxRate" | null;
|
|
10
10
|
export declare const getCodecName: ({ codec, encodingMaxRate, encodingBufferSize, crf, hardwareAcceleration, logLevel, indent, }: {
|
|
11
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
11
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
12
12
|
hardwareAcceleration: "disable" | "if-possible" | "required";
|
|
13
13
|
encodingMaxRate: string | null;
|
|
14
14
|
encodingBufferSize: string | null;
|
package/dist/get-codec-name.js
CHANGED
|
@@ -64,6 +64,10 @@ const getCodecName = ({ codec, encodingMaxRate, encodingBufferSize, crf, hardwar
|
|
|
64
64
|
if (codec === 'vp9') {
|
|
65
65
|
return { encoderName: 'libvpx-vp9', hardwareAccelerated: false };
|
|
66
66
|
}
|
|
67
|
+
if (codec === 'av1') {
|
|
68
|
+
logger_1.Log.warn({ indent, logLevel }, 'AV1 encoding is significantly slower than other codecs.');
|
|
69
|
+
return { encoderName: 'libaom-av1', hardwareAccelerated: false };
|
|
70
|
+
}
|
|
67
71
|
if (codec === 'gif') {
|
|
68
72
|
return { encoderName: 'gif', hardwareAccelerated: false };
|
|
69
73
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
import type { FileExtension } from './file-extensions';
|
|
3
|
-
export declare const getFileExtensionFromCodec: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => FileExtension;
|
|
4
|
-
export declare const makeFileExtensionMap: () => Record<string, ("aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav")[]>;
|
|
3
|
+
export declare const getFileExtensionFromCodec: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => FileExtension;
|
|
4
|
+
export declare const makeFileExtensionMap: () => Record<string, ("aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav")[]>;
|
|
5
5
|
export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getProResProfileName: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav", proResProfile: "4444" | "4444-xq" | "hq" | "light" | "proxy" | "standard" | undefined) => string | null;
|
|
1
|
+
export declare const getProResProfileName: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav", proResProfile: "4444" | "4444-xq" | "hq" | "light" | "proxy" | "standard" | undefined) => string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare const RenderInternals: {
|
|
|
72
72
|
width: number;
|
|
73
73
|
height: number;
|
|
74
74
|
scale: number;
|
|
75
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
75
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
76
76
|
wantsImageSequence: boolean;
|
|
77
77
|
indent: boolean;
|
|
78
78
|
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
@@ -80,7 +80,7 @@ export declare const RenderInternals: {
|
|
|
80
80
|
actualWidth: number;
|
|
81
81
|
actualHeight: number;
|
|
82
82
|
};
|
|
83
|
-
getFileExtensionFromCodec: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
83
|
+
getFileExtensionFromCodec: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
84
84
|
tmpDir: (str: string) => string;
|
|
85
85
|
deleteDirectory: (directory: string) => void;
|
|
86
86
|
isServeUrl: (potentialUrl: string) => boolean;
|
|
@@ -143,7 +143,7 @@ export declare const RenderInternals: {
|
|
|
143
143
|
};
|
|
144
144
|
registerErrorSymbolicationLock: () => number;
|
|
145
145
|
unlockErrorSymbolicationLock: (id: number) => void;
|
|
146
|
-
canUseParallelEncoding: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
146
|
+
canUseParallelEncoding: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => boolean;
|
|
147
147
|
mimeContentType: typeof mimeContentType;
|
|
148
148
|
mimeLookup: typeof mimeLookup;
|
|
149
149
|
validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
|
|
@@ -156,11 +156,11 @@ export declare const RenderInternals: {
|
|
|
156
156
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
157
157
|
DEFAULT_OPENGL_RENDERER: "angle" | "angle-egl" | "egl" | "swangle" | "swiftshader" | "vulkan" | null;
|
|
158
158
|
validateOpenGlRenderer: (option: unknown) => "angle" | "angle-egl" | "egl" | "swangle" | "swiftshader" | "vulkan" | null;
|
|
159
|
-
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
159
|
+
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "av1", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
160
160
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva420p" | "yuva444p10le";
|
|
161
161
|
validateJpegQuality: (q: unknown) => void;
|
|
162
162
|
DEFAULT_TIMEOUT: number;
|
|
163
|
-
DEFAULT_CODEC: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
163
|
+
DEFAULT_CODEC: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
164
164
|
logLevels: readonly ["trace", "verbose", "info", "warn", "error"];
|
|
165
165
|
isEqualOrBelowLogLevel: (currentLevel: "error" | "info" | "trace" | "verbose" | "warn", level: "error" | "info" | "trace" | "verbose" | "warn") => boolean;
|
|
166
166
|
isValidLogLevel: (level: string) => boolean;
|
|
@@ -174,7 +174,7 @@ export declare const RenderInternals: {
|
|
|
174
174
|
getMinConcurrency: () => number;
|
|
175
175
|
getMaxConcurrency: () => number;
|
|
176
176
|
getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
177
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
177
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
178
178
|
preferLossless: boolean;
|
|
179
179
|
}) => "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
180
180
|
defaultFileExtensionMap: {
|
|
@@ -191,6 +191,23 @@ export declare const RenderInternals: {
|
|
|
191
191
|
};
|
|
192
192
|
};
|
|
193
193
|
};
|
|
194
|
+
av1: {
|
|
195
|
+
default: import("./file-extensions").FileExtension;
|
|
196
|
+
forAudioCodec: {
|
|
197
|
+
aac: {
|
|
198
|
+
possible: import("./file-extensions").FileExtension[];
|
|
199
|
+
default: import("./file-extensions").FileExtension;
|
|
200
|
+
};
|
|
201
|
+
opus: {
|
|
202
|
+
possible: import("./file-extensions").FileExtension[];
|
|
203
|
+
default: import("./file-extensions").FileExtension;
|
|
204
|
+
};
|
|
205
|
+
"pcm-16": {
|
|
206
|
+
possible: import("./file-extensions").FileExtension[];
|
|
207
|
+
default: import("./file-extensions").FileExtension;
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
};
|
|
194
211
|
gif: {
|
|
195
212
|
default: import("./file-extensions").FileExtension;
|
|
196
213
|
forAudioCodec: {};
|
|
@@ -321,14 +338,15 @@ export declare const RenderInternals: {
|
|
|
321
338
|
readonly avi: readonly [];
|
|
322
339
|
readonly gif: readonly [];
|
|
323
340
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
341
|
+
readonly av1: readonly ["aac", "opus", "pcm-16"];
|
|
324
342
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
325
343
|
readonly prores: readonly ["aac", "pcm-16"];
|
|
326
344
|
readonly vp8: readonly ["opus", "pcm-16"];
|
|
327
345
|
readonly vp9: readonly ["opus", "pcm-16"];
|
|
328
346
|
readonly wav: readonly ["pcm-16"];
|
|
329
347
|
};
|
|
330
|
-
makeFileExtensionMap: () => Record<string, ("aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav")[]>;
|
|
331
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">;
|
|
348
|
+
makeFileExtensionMap: () => Record<string, ("aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav")[]>;
|
|
349
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">;
|
|
332
350
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
333
351
|
type: "compositor" | "ffmpeg" | "ffprobe";
|
|
334
352
|
indent: boolean;
|
|
@@ -1246,17 +1264,17 @@ export declare const RenderInternals: {
|
|
|
1246
1264
|
makeFileExecutableIfItIsNot: (path: string) => void;
|
|
1247
1265
|
resolveAudioCodec: ({ codec, setting, preferLossless, separateAudioTo, }: {
|
|
1248
1266
|
setting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
1249
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1267
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1250
1268
|
preferLossless: boolean;
|
|
1251
1269
|
separateAudioTo: string | null;
|
|
1252
1270
|
}) => "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
1253
1271
|
getShouldRenderAudio: ({ codec, assetsInfo, enforceAudioTrack, muted, }: {
|
|
1254
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1272
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1255
1273
|
assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
|
|
1256
1274
|
enforceAudioTrack: boolean;
|
|
1257
1275
|
muted: boolean;
|
|
1258
1276
|
}) => "maybe" | "no" | "yes";
|
|
1259
|
-
codecSupportsMedia: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => {
|
|
1277
|
+
codecSupportsMedia: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => {
|
|
1260
1278
|
video: boolean;
|
|
1261
1279
|
audio: boolean;
|
|
1262
1280
|
};
|
|
@@ -1312,12 +1330,12 @@ export declare const RenderInternals: {
|
|
|
1312
1330
|
}>) => Promise<import("./ensure-browser").BrowserStatus>;
|
|
1313
1331
|
printUsefulErrorMessage: (err: Error, logLevel: "error" | "info" | "trace" | "verbose" | "warn", indent: boolean) => void;
|
|
1314
1332
|
DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS: number;
|
|
1315
|
-
canConcatVideoSeamlessly: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => codec is "h264";
|
|
1333
|
+
canConcatVideoSeamlessly: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => codec is "h264";
|
|
1316
1334
|
canConcatAudioSeamlessly: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null, chunkDurationInFrames: number) => boolean;
|
|
1317
1335
|
internalCombineChunks: ({ outputLocation: output, onProgress, codec, fps, numberOfGifLoops, audioBitrate, indent, logLevel, binariesDirectory, cancelSignal, metadata, audioFiles, videoFiles, framesPerChunk, audioCodec, preferLossless, everyNthFrame, frameRange, compositionDurationInFrames, }: {
|
|
1318
1336
|
outputLocation: string;
|
|
1319
1337
|
audioFiles: string[];
|
|
1320
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1338
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
1321
1339
|
videoFiles: string[];
|
|
1322
1340
|
fps: number;
|
|
1323
1341
|
framesPerChunk: number;
|
package/dist/is-audio-codec.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const isAudioCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null | undefined) => codec is "aac" | "mp3" | "wav";
|
|
1
|
+
export declare const isAudioCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null | undefined) => codec is "aac" | "mp3" | "wav";
|
|
@@ -21,6 +21,11 @@ const muxVideoAndAudio = async ({ videoOutput, audioOutput, output, indent, logL
|
|
|
21
21
|
videoOutput ? 'copy' : null,
|
|
22
22
|
audioOutput ? '-c:a' : null,
|
|
23
23
|
audioOutput ? 'copy' : null,
|
|
24
|
+
// Set the exact output framerate to prevent drift when combining chunks.
|
|
25
|
+
// Without this, ffmpeg infers the framerate from the stream which can
|
|
26
|
+
// result in slightly imprecise values like 95940000/3197999 instead of 30/1.
|
|
27
|
+
videoOutput ? '-r' : null,
|
|
28
|
+
videoOutput ? String(fps) : null,
|
|
24
29
|
numberOfGifLoops === null ? null : '-loop',
|
|
25
30
|
numberOfGifLoops === null
|
|
26
31
|
? null
|
|
@@ -9,6 +9,7 @@ export declare const supportedAudioCodecs: {
|
|
|
9
9
|
readonly avi: readonly [];
|
|
10
10
|
readonly gif: readonly [];
|
|
11
11
|
readonly h265: readonly ["aac", "pcm-16"];
|
|
12
|
+
readonly av1: readonly ["aac", "opus", "pcm-16"];
|
|
12
13
|
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
13
14
|
readonly prores: readonly ["aac", "pcm-16"];
|
|
14
15
|
readonly vp8: readonly ["opus", "pcm-16"];
|
|
@@ -24,12 +25,12 @@ export declare const defaultAudioCodecs: {
|
|
|
24
25
|
export declare const getExtensionFromAudioCodec: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16") => "aac" | "mp3" | "opus" | "wav";
|
|
25
26
|
export declare const resolveAudioCodec: ({ codec, setting, preferLossless, separateAudioTo, }: {
|
|
26
27
|
setting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
27
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
28
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
28
29
|
preferLossless: boolean;
|
|
29
30
|
separateAudioTo: string | null;
|
|
30
31
|
}) => "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
31
32
|
export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
32
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
33
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
33
34
|
preferLossless: boolean;
|
|
34
35
|
}) => "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
35
36
|
export declare const audioCodecOption: {
|
|
@@ -11,6 +11,7 @@ exports.supportedAudioCodecs = {
|
|
|
11
11
|
avi: [],
|
|
12
12
|
gif: [],
|
|
13
13
|
h265: ['aac', 'pcm-16'],
|
|
14
|
+
av1: ['aac', 'opus', 'pcm-16'],
|
|
14
15
|
mp3: ['mp3', 'pcm-16'],
|
|
15
16
|
prores: ['aac', 'pcm-16'],
|
|
16
17
|
vp8: ['opus', 'pcm-16'],
|
|
@@ -71,6 +72,10 @@ exports.defaultAudioCodecs = {
|
|
|
71
72
|
lossless: 'pcm-16',
|
|
72
73
|
compressed: 'aac',
|
|
73
74
|
},
|
|
75
|
+
av1: {
|
|
76
|
+
lossless: 'pcm-16',
|
|
77
|
+
compressed: 'aac',
|
|
78
|
+
},
|
|
74
79
|
mp3: {
|
|
75
80
|
lossless: 'pcm-16',
|
|
76
81
|
compressed: 'mp3',
|
package/dist/options/index.d.ts
CHANGED
|
@@ -210,17 +210,17 @@ export declare const allOptions: {
|
|
|
210
210
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
211
211
|
ssrName: string;
|
|
212
212
|
docLink: string;
|
|
213
|
-
type: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
213
|
+
type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
214
214
|
getValue: ({ commandLine }: {
|
|
215
215
|
commandLine: Record<string, unknown>;
|
|
216
216
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
217
217
|
outName: string | null;
|
|
218
218
|
downloadName: string | null;
|
|
219
|
-
configFile: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
220
|
-
uiCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
221
|
-
compositionCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
219
|
+
configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
220
|
+
uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
221
|
+
compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
222
222
|
}) => {
|
|
223
|
-
value: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
223
|
+
value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
224
224
|
source: string;
|
|
225
225
|
};
|
|
226
226
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -168,17 +168,17 @@ export declare const optionsMap: {
|
|
|
168
168
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
169
169
|
ssrName: string;
|
|
170
170
|
docLink: string;
|
|
171
|
-
type: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
171
|
+
type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
172
172
|
getValue: ({ commandLine }: {
|
|
173
173
|
commandLine: Record<string, unknown>;
|
|
174
174
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
175
175
|
outName: string | null;
|
|
176
176
|
downloadName: string | null;
|
|
177
|
-
configFile: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
178
|
-
uiCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
179
|
-
compositionCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
177
|
+
configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
178
|
+
uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
179
|
+
compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
180
180
|
}) => {
|
|
181
|
-
value: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
181
|
+
value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
182
182
|
source: string;
|
|
183
183
|
};
|
|
184
184
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -6,17 +6,17 @@ export declare const videoCodecOption: {
|
|
|
6
6
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
ssrName: string;
|
|
8
8
|
docLink: string;
|
|
9
|
-
type: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
9
|
+
type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
10
10
|
getValue: ({ commandLine }: {
|
|
11
11
|
commandLine: Record<string, unknown>;
|
|
12
12
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
13
13
|
outName: string | null;
|
|
14
14
|
downloadName: string | null;
|
|
15
|
-
configFile: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
16
|
-
uiCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
17
|
-
compositionCodec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
15
|
+
configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
16
|
+
uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
17
|
+
compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
|
|
18
18
|
}) => {
|
|
19
|
-
value: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
19
|
+
value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
20
20
|
source: string;
|
|
21
21
|
};
|
|
22
22
|
setConfig: (newCodec: CodecOrUndefined) => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
|
|
2
2
|
export type X264Preset = (typeof x264PresetOptions)[number];
|
|
3
3
|
export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Preset, }: {
|
|
4
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
4
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
5
5
|
x264Preset: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow" | null;
|
|
6
6
|
}) => void;
|
|
7
7
|
export declare const x264Option: {
|
package/dist/pixel-format.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
2
2
|
export type PixelFormat = (typeof validPixelFormats)[number];
|
|
3
3
|
export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
|
|
4
|
-
export declare const validPixelFormatsForCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => ("yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva444p10le")[] | readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
5
|
-
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva420p" | "yuva444p10le" | undefined, codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => undefined;
|
|
4
|
+
export declare const validPixelFormatsForCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => ("yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva444p10le")[] | readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
5
|
+
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva420p" | "yuva444p10le" | undefined, codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => undefined;
|
package/dist/prores-profile.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const validateSelectedCodecAndProResCombination: ({ codec, proResProfile, }: {
|
|
2
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
2
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
3
3
|
proResProfile: "4444" | "4444-xq" | "hq" | "light" | "proxy" | "standard" | undefined;
|
|
4
4
|
}) => void;
|
package/dist/pure.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const NoReactAPIs: {
|
|
2
2
|
getExtensionOfFilename: (filename: string | null) => string | null;
|
|
3
|
-
getFileExtensionFromCodec: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
4
|
-
validateOutputFilename: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
3
|
+
getFileExtensionFromCodec: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">(codec: T, audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
4
|
+
validateOutputFilename: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
5
5
|
codec: T;
|
|
6
6
|
audioCodecSetting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
7
7
|
extension: string;
|
|
@@ -9,9 +9,9 @@ export declare const NoReactAPIs: {
|
|
|
9
9
|
separateAudioTo: string | null;
|
|
10
10
|
}) => void;
|
|
11
11
|
getFramesToRender: (frameRange: [number, number], everyNthFrame: number) => number[];
|
|
12
|
-
codecSupportsMedia: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => {
|
|
12
|
+
codecSupportsMedia: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => {
|
|
13
13
|
video: boolean;
|
|
14
14
|
audio: boolean;
|
|
15
15
|
};
|
|
16
|
-
isAudioCodec: (codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null | undefined) => codec is "aac" | "mp3" | "wav";
|
|
16
|
+
isAudioCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null | undefined) => codec is "aac" | "mp3" | "wav";
|
|
17
17
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RenderAssetInfo } from './assets/download-map';
|
|
2
2
|
export declare const getShouldRenderAudio: ({ codec, assetsInfo, enforceAudioTrack, muted, }: {
|
|
3
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
3
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
4
4
|
assetsInfo: RenderAssetInfo | null;
|
|
5
5
|
enforceAudioTrack: boolean;
|
|
6
6
|
muted: boolean;
|
package/dist/take-frame.js
CHANGED
|
@@ -34,7 +34,7 @@ const takeFrame = async ({ freePage, imageFormat, jpegQuality, width, height, ou
|
|
|
34
34
|
}
|
|
35
35
|
const buf = await (0, puppeteer_screenshot_1.screenshot)({
|
|
36
36
|
page: freePage,
|
|
37
|
-
omitBackground: imageFormat === 'png',
|
|
37
|
+
omitBackground: imageFormat === 'png' || imageFormat === 'webp',
|
|
38
38
|
path: (_a = (wantsBuffer ? undefined : output)) !== null && _a !== void 0 ? _a : undefined,
|
|
39
39
|
type: imageFormat,
|
|
40
40
|
jpegQuality,
|
|
@@ -2,7 +2,7 @@ export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, s
|
|
|
2
2
|
width: number;
|
|
3
3
|
height: number;
|
|
4
4
|
scale: number;
|
|
5
|
-
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
5
|
+
codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
6
6
|
wantsImageSequence: boolean;
|
|
7
7
|
indent: boolean;
|
|
8
8
|
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const validateNumberOfGifLoops: (numberOfGifLoops: unknown, codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => void;
|
|
1
|
+
export declare const validateNumberOfGifLoops: (numberOfGifLoops: unknown, codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const validateOutputFilename: <T extends "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
1
|
+
export declare const validateOutputFilename: <T extends "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
2
2
|
codec: T;
|
|
3
3
|
audioCodecSetting: "aac" | "mp3" | "opus" | "pcm-16" | null;
|
|
4
4
|
extension: string;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.441",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"execa": "5.1.1",
|
|
26
26
|
"extract-zip": "2.0.1",
|
|
27
|
-
"remotion": "4.0.
|
|
28
|
-
"@remotion/streaming": "4.0.
|
|
27
|
+
"remotion": "4.0.441",
|
|
28
|
+
"@remotion/streaming": "4.0.441",
|
|
29
29
|
"source-map": "^0.8.0-beta.0",
|
|
30
30
|
"ws": "8.17.1",
|
|
31
|
-
"@remotion/licensing": "4.0.
|
|
31
|
+
"@remotion/licensing": "4.0.441"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"react": ">=16.8.0",
|
|
@@ -42,19 +42,19 @@
|
|
|
42
42
|
"react-dom": "19.2.3",
|
|
43
43
|
"@typescript/native-preview": "7.0.0-dev.20260217.1",
|
|
44
44
|
"@types/ws": "8.5.10",
|
|
45
|
-
"@remotion/example-videos": "4.0.
|
|
46
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
45
|
+
"@remotion/example-videos": "4.0.441",
|
|
46
|
+
"@remotion/eslint-config-internal": "4.0.441",
|
|
47
47
|
"eslint": "9.19.0",
|
|
48
48
|
"@types/node": "20.12.14"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
52
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
53
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
54
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
55
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
56
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
57
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
51
|
+
"@remotion/compositor-darwin-arm64": "4.0.441",
|
|
52
|
+
"@remotion/compositor-darwin-x64": "4.0.441",
|
|
53
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.441",
|
|
54
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.441",
|
|
55
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.441",
|
|
56
|
+
"@remotion/compositor-linux-x64-musl": "4.0.441",
|
|
57
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.441"
|
|
58
58
|
},
|
|
59
59
|
"keywords": [
|
|
60
60
|
"remotion",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare const browserDownloadDirOption: {
|
|
2
|
-
name: string;
|
|
3
|
-
cliFlag: "browser-download-dir";
|
|
4
|
-
description: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
ssrName: "browserDownloadDir";
|
|
6
|
-
docLink: string;
|
|
7
|
-
type: string | null;
|
|
8
|
-
getValue: ({ commandLine }: {
|
|
9
|
-
commandLine: Record<string, unknown>;
|
|
10
|
-
}) => {
|
|
11
|
-
source: string;
|
|
12
|
-
value: string | null;
|
|
13
|
-
};
|
|
14
|
-
setConfig: (value: string | null) => void;
|
|
15
|
-
id: "browser-download-dir";
|
|
16
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.browserDownloadDirOption = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const cliFlag = 'browser-download-dir';
|
|
6
|
-
let currentDirectory = null;
|
|
7
|
-
exports.browserDownloadDirOption = {
|
|
8
|
-
name: 'Browser Download Directory',
|
|
9
|
-
cliFlag,
|
|
10
|
-
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the directory where the browser should be downloaded to when calling ",
|
|
11
|
-
jsx_runtime_1.jsx("code", { children: "npx remotion browser ensure" }),
|
|
12
|
-
". By default, Remotion downloads the browser into ",
|
|
13
|
-
jsx_runtime_1.jsx("code", { children: "node_modules/.remotion" }),
|
|
14
|
-
" inside the nearest project root. Use this option to override the default download location. Pass ",
|
|
15
|
-
jsx_runtime_1.jsx("code", { children: "null" }),
|
|
16
|
-
" to use the default location."] })),
|
|
17
|
-
ssrName: 'browserDownloadDir',
|
|
18
|
-
docLink: 'https://www.remotion.dev/docs/config#setbrowserdownloaddir',
|
|
19
|
-
type: '',
|
|
20
|
-
getValue: ({ commandLine }) => {
|
|
21
|
-
if (commandLine[cliFlag] !== undefined) {
|
|
22
|
-
return {
|
|
23
|
-
source: 'cli',
|
|
24
|
-
value: commandLine[cliFlag],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (currentDirectory !== null) {
|
|
28
|
-
return {
|
|
29
|
-
source: 'config',
|
|
30
|
-
value: currentDirectory,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
source: 'default',
|
|
35
|
-
value: null,
|
|
36
|
-
};
|
|
37
|
-
},
|
|
38
|
-
setConfig: (value) => {
|
|
39
|
-
currentDirectory = value;
|
|
40
|
-
},
|
|
41
|
-
id: cliFlag,
|
|
42
|
-
};
|