@remotion/renderer 4.0.82 → 4.0.84

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/client.d.ts CHANGED
@@ -10,8 +10,12 @@ export declare const BrowserSafeApis: {
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
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
13
+ validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
13
14
  validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
15
+ validVideoImageFormats: readonly ["png", "jpeg", "none"];
16
+ validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
14
17
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
18
+ DEFAULT_TIMEOUT: number;
15
19
  supportedAudioCodecs: {
16
20
  readonly h264: readonly ["aac", "pcm-16", "mp3"];
17
21
  readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
@@ -341,6 +345,14 @@ export declare const BrowserSafeApis: {
341
345
  docLink: string;
342
346
  type: string | null;
343
347
  };
348
+ beepOnFinishOption: {
349
+ name: string;
350
+ cliFlag: "beep-on-finish";
351
+ description: () => JSX.Element;
352
+ ssrName: null;
353
+ docLink: string;
354
+ type: boolean;
355
+ };
344
356
  };
345
357
  validColorSpaces: readonly ["default", "bt709"];
346
358
  optionsMap: {
@@ -463,4 +475,5 @@ export declare const BrowserSafeApis: {
463
475
  };
464
476
  codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
465
477
  codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
478
+ logLevels: readonly ["verbose", "info", "warn", "error"];
466
479
  };
package/dist/client.js CHANGED
@@ -2,14 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BrowserSafeApis = void 0;
4
4
  const audio_codec_1 = require("./audio-codec");
5
+ const TimeoutSettings_1 = require("./browser/TimeoutSettings");
5
6
  const codec_1 = require("./codec");
6
7
  const codec_supports_media_1 = require("./codec-supports-media");
7
8
  const crf_1 = require("./crf");
8
9
  const file_extensions_1 = require("./file-extensions");
9
10
  const get_extension_from_codec_1 = require("./get-extension-from-codec");
11
+ const image_format_1 = require("./image-format");
10
12
  const is_audio_codec_1 = require("./is-audio-codec");
13
+ const log_level_1 = require("./log-level");
11
14
  const options_1 = require("./options");
12
15
  const color_space_1 = require("./options/color-space");
16
+ const gl_1 = require("./options/gl");
13
17
  const options_map_1 = require("./options/options-map");
14
18
  const pixel_format_1 = require("./pixel-format");
15
19
  const prores_profile_1 = require("./prores-profile");
@@ -25,8 +29,12 @@ exports.BrowserSafeApis = {
25
29
  proResProfileOptions: prores_profile_1.proResProfileOptions,
26
30
  x264PresetOptions: x264_preset_1.x264PresetOptions,
27
31
  validPixelFormats: pixel_format_1.validPixelFormats,
32
+ validOpenGlRenderers: gl_1.validOpenGlRenderers,
28
33
  validPixelFormatsForCodec: pixel_format_1.validPixelFormatsForCodec,
34
+ validVideoImageFormats: image_format_1.validVideoImageFormats,
35
+ validStillImageFormats: image_format_1.validStillImageFormats,
29
36
  DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
37
+ DEFAULT_TIMEOUT: TimeoutSettings_1.DEFAULT_TIMEOUT,
30
38
  supportedAudioCodecs: audio_codec_1.supportedAudioCodecs,
31
39
  defaultFileExtensionMap: file_extensions_1.defaultFileExtensionMap,
32
40
  defaultAudioCodecs: audio_codec_1.defaultAudioCodecs,
@@ -37,4 +45,5 @@ exports.BrowserSafeApis = {
37
45
  optionsMap: options_map_1.optionsMap,
38
46
  codecSupportsCrf: codec_supports_media_1.codecSupportsCrf,
39
47
  codecSupportsVideoBitrate: codec_supports_media_1.codecSupportsVideoBitrate,
48
+ logLevels: log_level_1.logLevels,
40
49
  };
@@ -34,7 +34,8 @@ const generateFfmpegArgs = ({ hasPreencoded, proResProfileName, pixelFormat, x26
34
34
  ['-colorspace:v', 'bt709'],
35
35
  ['-color_primaries:v', 'bt709'],
36
36
  ['-color_trc:v', 'bt709'],
37
- ['-color_range:v', 'tv'],
37
+ ['-color_range', 'tv'],
38
+ hasPreencoded ? [] : ['-vf', 'zscale=m=709:min=709:r=limited'],
38
39
  ]
39
40
  : [];
40
41
  return [
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare const beepOnFinishOption: {
3
+ name: string;
4
+ cliFlag: "beep-on-finish";
5
+ description: () => JSX.Element;
6
+ ssrName: null;
7
+ docLink: string;
8
+ type: boolean;
9
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.beepOnFinishOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ exports.beepOnFinishOption = {
6
+ name: 'Beep on finish',
7
+ cliFlag: 'beep-on-finish',
8
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Whether the Remotion Studio tab should beep when the render is finished." })),
9
+ ssrName: null,
10
+ docLink: 'https://www.remotion.dev/docs/config#setbeeponfinish',
11
+ type: false,
12
+ };
@@ -6,7 +6,7 @@ exports.validColorSpaces = ['default', 'bt709'];
6
6
  exports.colorSpaceOption = {
7
7
  name: 'Color space',
8
8
  cliFlag: 'color-space',
9
- description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Color space to use for the video. Acceptable values:", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "default", '"'] }), ",", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt709", '"'] })] })),
9
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Color space to use for the video. Acceptable values:", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "default", '"'] }), ",", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt709", '"'] }), ".", (0, jsx_runtime_1.jsx)("br", {}), "If", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt709", '"'] }), ' ', "is used, it is recommended to also use", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "png", '"'] }), ' ', "as the image format to have accurate color transformations throughout. Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."] })),
10
10
  docLink: 'https://www.remotion.dev/docs/renderer/render-media#colorspace',
11
11
  ssrName: 'colorSpace',
12
12
  type: 'default',
@@ -144,5 +144,13 @@ export declare const allOptions: {
144
144
  docLink: string;
145
145
  type: string | null;
146
146
  };
147
+ beepOnFinishOption: {
148
+ name: string;
149
+ cliFlag: "beep-on-finish";
150
+ description: () => JSX.Element;
151
+ ssrName: null;
152
+ docLink: string;
153
+ type: boolean;
154
+ };
147
155
  };
148
156
  export type AvailableOptions = keyof typeof allOptions;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.allOptions = void 0;
4
4
  const audio_bitrate_1 = require("./audio-bitrate");
5
+ const beep_on_finish_1 = require("./beep-on-finish");
5
6
  const color_space_1 = require("./color-space");
6
7
  const crf_1 = require("./crf");
7
8
  const delete_after_1 = require("./delete-after");
@@ -38,4 +39,5 @@ exports.allOptions = {
38
39
  enableLambdaInsights: enable_lambda_insights_1.enableLambdaInsights,
39
40
  encodingMaxRateOption: encoding_max_rate_1.encodingMaxRateOption,
40
41
  encodingBufferSizeOption: encoding_buffer_size_1.encodingBufferSizeOption,
42
+ beepOnFinishOption: beep_on_finish_1.beepOnFinishOption,
41
43
  };
@@ -2,7 +2,7 @@ import type React from 'react';
2
2
  export type RemotionOption<SsrName extends string, Type> = {
3
3
  name: string;
4
4
  cliFlag: string;
5
- ssrName: SsrName;
5
+ ssrName: SsrName | null;
6
6
  description: (mode: 'ssr' | 'cli') => React.ReactNode;
7
7
  docLink: string;
8
8
  type: Type;
package/dist/pure.d.ts CHANGED
@@ -1,3 +1,11 @@
1
- export declare const PureJSAPIs: {
1
+ export declare const NoReactAPIs: {
2
2
  wrapWithErrorHandling: <A extends unknown[], R>(fn: (...args: A) => Promise<R>) => (...args: A) => Promise<R>;
3
+ getExtensionOfFilename: (filename: string | null) => string | null;
4
+ getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
5
+ validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
6
+ codec: T_1;
7
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
8
+ extension: string;
9
+ preferLossless: boolean;
10
+ }) => void;
3
11
  };
package/dist/pure.js CHANGED
@@ -1,7 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PureJSAPIs = void 0;
3
+ exports.NoReactAPIs = void 0;
4
+ const get_extension_from_codec_1 = require("./get-extension-from-codec");
5
+ const get_extension_of_filename_1 = require("./get-extension-of-filename");
6
+ const validate_output_filename_1 = require("./validate-output-filename");
4
7
  const wrap_with_error_handling_1 = require("./wrap-with-error-handling");
5
- exports.PureJSAPIs = {
8
+ exports.NoReactAPIs = {
6
9
  wrapWithErrorHandling: wrap_with_error_handling_1.wrapWithErrorHandling,
10
+ getExtensionOfFilename: get_extension_of_filename_1.getExtensionOfFilename,
11
+ getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
12
+ validateOutputFilename: validate_output_filename_1.validateOutputFilename,
7
13
  };
@@ -197,7 +197,8 @@ const serveHandler = async (request, response, config) => {
197
197
  }
198
198
  const headers = getHeaders(absolutePath, stats);
199
199
  if (streamOpts !== null) {
200
- headers['Content-Range'] = `bytes ${streamOpts.start}-${streamOpts.end}/${stats.size}`;
200
+ headers['Content-Range'] =
201
+ `bytes ${streamOpts.start}-${streamOpts.end}/${stats.size}`;
201
202
  headers['Content-Length'] = String(streamOpts.end - streamOpts.start + 1);
202
203
  }
203
204
  response.writeHead(response.statusCode || 200, headers);
@@ -40,7 +40,6 @@ const codec_supports_media_1 = require("./codec-supports-media");
40
40
  const convert_number_of_gif_loops_to_ffmpeg_1 = require("./convert-number-of-gif-loops-to-ffmpeg");
41
41
  const crf_1 = require("./crf");
42
42
  const delete_directory_1 = require("./delete-directory");
43
- const does_have_m2_bug_1 = require("./does-have-m2-bug");
44
43
  const ffmpeg_args_1 = require("./ffmpeg-args");
45
44
  const find_closest_package_json_1 = require("./find-closest-package-json");
46
45
  const get_extension_from_codec_1 = require("./get-extension-from-codec");
@@ -348,7 +347,6 @@ const innerStitchFramesToVideo = async ({ assetsInfo, audioBitrate, audioCodec,
348
347
  };
349
348
  const internalStitchFramesToVideo = async (options) => {
350
349
  const remotionRoot = (0, find_closest_package_json_1.findRemotionRoot)();
351
- (0, does_have_m2_bug_1.warnAboutM2Bug)(options.codec, options.pixelFormat);
352
350
  const { task, getLogs } = await innerStitchFramesToVideo(options, remotionRoot);
353
351
  const happyPath = task.catch(() => {
354
352
  throw new Error(getLogs());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.82",
3
+ "version": "4.0.84",
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.82"
21
+ "remotion": "4.0.84"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": ">=16.8.0",
@@ -33,20 +33,20 @@
33
33
  "@types/react": "18.0.26",
34
34
  "@types/react-dom": "18.0.11",
35
35
  "eslint": "8.42.0",
36
- "prettier": "3.0.2",
37
- "prettier-plugin-organize-imports": "^3.2.2",
36
+ "prettier": "3.1.1",
37
+ "prettier-plugin-organize-imports": "3.2.4",
38
38
  "react": "18.2.0",
39
39
  "react-dom": "18.2.0",
40
40
  "vitest": "0.31.1"
41
41
  },
42
42
  "optionalDependencies": {
43
- "@remotion/compositor-darwin-arm64": "4.0.82",
44
- "@remotion/compositor-linux-arm64-gnu": "4.0.82",
45
- "@remotion/compositor-darwin-x64": "4.0.82",
46
- "@remotion/compositor-linux-x64-gnu": "4.0.82",
47
- "@remotion/compositor-linux-x64-musl": "4.0.82",
48
- "@remotion/compositor-linux-arm64-musl": "4.0.82",
49
- "@remotion/compositor-win32-x64-msvc": "4.0.82"
43
+ "@remotion/compositor-darwin-arm64": "4.0.84",
44
+ "@remotion/compositor-linux-arm64-gnu": "4.0.84",
45
+ "@remotion/compositor-darwin-x64": "4.0.84",
46
+ "@remotion/compositor-linux-x64-gnu": "4.0.84",
47
+ "@remotion/compositor-linux-arm64-musl": "4.0.84",
48
+ "@remotion/compositor-linux-x64-musl": "4.0.84",
49
+ "@remotion/compositor-win32-x64-msvc": "4.0.84"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",