@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 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=4b95450bfe5fb3165f8d2140f0c36ea7c1d1d4a0#4b95450bfe5fb3165f8d2140f0c36ea7c1d1d4a0"
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=d22035366ee5ffbfdf95593f22d7b517f09bd29c#d22035366ee5ffbfdf95593f22d7b517f09bd29c"
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 ="4b95450bfe5fb3165f8d2140f0c36ea7c1d1d4a0"}
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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
- if ((0, audio_codec_1.isAudioCodec)(codec)) {
7
- return 0;
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
- throw new TypeError(`Got unexpected codec "${codec}"`);
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
- if ((0, audio_codec_1.isAudioCodec)(codec)) {
32
- return [0, 0];
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
- throw new TypeError(`Got unexpected codec "${codec}"`);
44
+ return val;
53
45
  };
54
46
  exports.getValidCrfRanges = getValidCrfRanges;
55
47
  const validateQualitySettings = ({ codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, }) => {
@@ -1,29 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCodecName = void 0;
4
- const audio_codec_1 = require("./options/audio-codec");
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
- if ((0, audio_codec_1.isAudioCodec)(codec)) {
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
144
- validateOpenGlRenderer: (option: unknown) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "jpeg" | "png" | "webp" | "pdf";
356
- DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
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: "jpeg" | "png" | "webp" | "pdf";
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
- }) => "no" | "yes" | "maybe";
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"];
@@ -12,6 +12,7 @@ exports.supportedAudioCodecs = {
12
12
  'h264-mkv': ['pcm-16', 'mp3'],
13
13
  'h264-ts': ['pcm-16', 'aac'],
14
14
  aac: ['aac', 'pcm-16'],
15
+ avi: [],
15
16
  gif: [],
16
17
  h265: ['aac', 'pcm-16'],
17
18
  mp3: ['mp3', 'pcm-16'],
@@ -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: () => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
16
+ value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
17
17
  source: string;
18
18
  } | {
19
19
  value: null;
@@ -245,19 +245,19 @@ export declare const allOptions: {
245
245
  cliFlag: "gl";
246
246
  docLink: string;
247
247
  name: string;
248
- type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
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: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
18
+ value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
19
19
  source: string;
20
20
  } | {
21
21
  value: null;
@@ -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, codec);
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
- import type { Codec } from './codec';
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, codec) => {
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.150",
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.150"
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-x64": "4.0.150",
47
- "@remotion/compositor-linux-arm64-gnu": "4.0.150",
48
- "@remotion/compositor-linux-arm64-musl": "4.0.150",
49
- "@remotion/compositor-darwin-arm64": "4.0.150",
50
- "@remotion/compositor-linux-x64-musl": "4.0.150",
51
- "@remotion/compositor-linux-x64-gnu": "4.0.150",
52
- "@remotion/compositor-win32-x64-msvc": "4.0.150"
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",