@remotion/renderer 3.0.4 → 3.0.7

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.
Files changed (167) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts +0 -1
  2. package/dist/assets/calculate-asset-positions.js +0 -1
  3. package/dist/assets/calculate-atempo.d.ts +0 -1
  4. package/dist/assets/calculate-atempo.js +0 -1
  5. package/dist/assets/convert-assets-to-file-urls.d.ts +0 -1
  6. package/dist/assets/convert-assets-to-file-urls.js +0 -1
  7. package/dist/assets/download-and-map-assets-to-file.d.ts +0 -1
  8. package/dist/assets/download-and-map-assets-to-file.js +0 -1
  9. package/dist/assets/download-file.d.ts +0 -1
  10. package/dist/assets/download-file.js +0 -1
  11. package/dist/assets/ffmpeg-volume-expression.d.ts +0 -1
  12. package/dist/assets/ffmpeg-volume-expression.js +0 -1
  13. package/dist/assets/flatten-volume-array.d.ts +0 -1
  14. package/dist/assets/flatten-volume-array.js +0 -1
  15. package/dist/assets/get-audio-channels.d.ts +0 -1
  16. package/dist/assets/get-audio-channels.js +0 -1
  17. package/dist/assets/read-file.d.ts +0 -1
  18. package/dist/assets/read-file.js +0 -1
  19. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -1
  20. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -1
  21. package/dist/assets/sanitize-filename.d.ts +0 -1
  22. package/dist/assets/sanitize-filename.js +0 -1
  23. package/dist/assets/sanitize-filepath.d.ts +0 -1
  24. package/dist/assets/sanitize-filepath.js +0 -1
  25. package/dist/assets/truncate-utf8-bytes.d.ts +0 -1
  26. package/dist/assets/truncate-utf8-bytes.js +0 -1
  27. package/dist/assets/types.d.ts +0 -1
  28. package/dist/assets/types.js +0 -1
  29. package/dist/browser-log.d.ts +0 -1
  30. package/dist/browser-log.js +0 -1
  31. package/dist/calculate-ffmpeg-filters.d.ts +0 -1
  32. package/dist/calculate-ffmpeg-filters.js +0 -1
  33. package/dist/can-use-parallel-encoding.d.ts +0 -1
  34. package/dist/can-use-parallel-encoding.js +0 -1
  35. package/dist/chunk.d.ts +0 -1
  36. package/dist/chunk.js +0 -1
  37. package/dist/combine-videos.d.ts +0 -1
  38. package/dist/combine-videos.js +0 -1
  39. package/dist/convert-to-pcm.d.ts +0 -1
  40. package/dist/convert-to-pcm.js +0 -1
  41. package/dist/create-ffmpeg-complex-filter.d.ts +0 -1
  42. package/dist/create-ffmpeg-complex-filter.js +0 -1
  43. package/dist/create-ffmpeg-merge-filter.d.ts +0 -1
  44. package/dist/create-ffmpeg-merge-filter.js +0 -1
  45. package/dist/create-silent-audio.d.ts +0 -1
  46. package/dist/create-silent-audio.js +0 -1
  47. package/dist/cycle-browser-tabs.d.ts +0 -1
  48. package/dist/cycle-browser-tabs.js +0 -1
  49. package/dist/delay-render-embedded-stack.d.ts +0 -1
  50. package/dist/delay-render-embedded-stack.js +0 -1
  51. package/dist/delete-directory.d.ts +0 -1
  52. package/dist/delete-directory.js +0 -1
  53. package/dist/ensure-frames-in-order.d.ts +0 -1
  54. package/dist/ensure-frames-in-order.js +0 -1
  55. package/dist/ensure-output-directory.d.ts +0 -1
  56. package/dist/ensure-output-directory.js +0 -1
  57. package/dist/error-handling/handle-javascript-exception.d.ts +0 -1
  58. package/dist/error-handling/handle-javascript-exception.js +0 -1
  59. package/dist/error-handling/symbolicate-error.d.ts +0 -1
  60. package/dist/error-handling/symbolicate-error.js +0 -1
  61. package/dist/error-handling/symbolicateable-error.d.ts +0 -1
  62. package/dist/error-handling/symbolicateable-error.js +0 -1
  63. package/dist/ffmpeg-filter-file.d.ts +0 -1
  64. package/dist/ffmpeg-filter-file.js +0 -1
  65. package/dist/ffmpeg-flags.d.ts +0 -1
  66. package/dist/ffmpeg-flags.js +0 -1
  67. package/dist/get-audio-codec-name.d.ts +0 -1
  68. package/dist/get-audio-codec-name.js +0 -1
  69. package/dist/get-browser-instance.d.ts +0 -1
  70. package/dist/get-browser-instance.js +0 -1
  71. package/dist/get-codec-name.d.ts +0 -1
  72. package/dist/get-codec-name.js +0 -1
  73. package/dist/get-compositions.d.ts +0 -1
  74. package/dist/get-compositions.js +0 -1
  75. package/dist/get-concurrency.d.ts +0 -1
  76. package/dist/get-concurrency.js +0 -1
  77. package/dist/get-duration-from-frame-range.d.ts +0 -1
  78. package/dist/get-duration-from-frame-range.js +0 -1
  79. package/dist/get-extension-from-codec.d.ts +0 -1
  80. package/dist/get-extension-from-codec.js +0 -1
  81. package/dist/get-extension-of-filename.d.ts +1 -0
  82. package/dist/get-extension-of-filename.js +11 -0
  83. package/dist/get-frame-to-render.d.ts +0 -1
  84. package/dist/get-frame-to-render.js +0 -1
  85. package/dist/get-local-browser-executable.d.ts +0 -1
  86. package/dist/get-local-browser-executable.js +0 -1
  87. package/dist/get-port.d.ts +0 -1
  88. package/dist/get-port.js +0 -1
  89. package/dist/get-prores-profile-name.d.ts +0 -1
  90. package/dist/get-prores-profile-name.js +0 -1
  91. package/dist/image-format.d.ts +0 -1
  92. package/dist/image-format.js +0 -1
  93. package/dist/index.d.ts +1 -1
  94. package/dist/index.js +2 -1
  95. package/dist/is-serve-url.d.ts +0 -1
  96. package/dist/is-serve-url.js +0 -1
  97. package/dist/legacy-webpack-config.d.ts +0 -1
  98. package/dist/legacy-webpack-config.js +0 -1
  99. package/dist/make-assets-download-dir.d.ts +0 -1
  100. package/dist/make-assets-download-dir.js +0 -1
  101. package/dist/merge-audio-track.d.ts +0 -1
  102. package/dist/merge-audio-track.js +0 -1
  103. package/dist/normalize-serve-url.d.ts +0 -1
  104. package/dist/normalize-serve-url.js +0 -1
  105. package/dist/open-browser.d.ts +0 -1
  106. package/dist/open-browser.js +0 -1
  107. package/dist/p-limit.d.ts +0 -1
  108. package/dist/p-limit.js +0 -1
  109. package/dist/parse-browser-error-stack.d.ts +0 -1
  110. package/dist/parse-browser-error-stack.js +0 -1
  111. package/dist/parse-ffmpeg-progress.d.ts +0 -1
  112. package/dist/parse-ffmpeg-progress.js +0 -1
  113. package/dist/pool.d.ts +0 -1
  114. package/dist/pool.js +0 -1
  115. package/dist/prepare-server.d.ts +0 -1
  116. package/dist/prepare-server.js +0 -1
  117. package/dist/preprocess-audio-track.d.ts +0 -1
  118. package/dist/preprocess-audio-track.js +0 -1
  119. package/dist/prespawn-ffmpeg.d.ts +0 -1
  120. package/dist/prespawn-ffmpeg.js +0 -1
  121. package/dist/provide-screenshot.d.ts +0 -2
  122. package/dist/provide-screenshot.js +0 -1
  123. package/dist/puppeteer-evaluate.d.ts +0 -1
  124. package/dist/puppeteer-evaluate.js +0 -1
  125. package/dist/puppeteer-screenshot.d.ts +0 -2
  126. package/dist/puppeteer-screenshot.js +0 -1
  127. package/dist/render-frames.d.ts +0 -1
  128. package/dist/render-frames.js +0 -1
  129. package/dist/render-media.d.ts +0 -1
  130. package/dist/render-media.js +3 -1
  131. package/dist/render-still.d.ts +0 -1
  132. package/dist/render-still.js +0 -1
  133. package/dist/resolve-asset-src.d.ts +0 -1
  134. package/dist/resolve-asset-src.js +0 -1
  135. package/dist/sample-rate.d.ts +0 -1
  136. package/dist/sample-rate.js +0 -1
  137. package/dist/screenshot-dom-element.d.ts +0 -2
  138. package/dist/screenshot-dom-element.js +0 -1
  139. package/dist/screenshot-task.d.ts +0 -2
  140. package/dist/screenshot-task.js +0 -1
  141. package/dist/seek-to-frame.d.ts +0 -1
  142. package/dist/seek-to-frame.js +0 -1
  143. package/dist/serve-static.d.ts +0 -1
  144. package/dist/serve-static.js +0 -1
  145. package/dist/set-props-and-env.d.ts +0 -1
  146. package/dist/set-props-and-env.js +0 -1
  147. package/dist/stitch-frames-to-video.d.ts +0 -1
  148. package/dist/stitch-frames-to-video.js +10 -1
  149. package/dist/stringify-ffmpeg-filter.d.ts +0 -1
  150. package/dist/stringify-ffmpeg-filter.js +0 -1
  151. package/dist/symbolicate-stacktrace.d.ts +0 -1
  152. package/dist/symbolicate-stacktrace.js +0 -1
  153. package/dist/tmp-dir.d.ts +0 -1
  154. package/dist/tmp-dir.js +0 -1
  155. package/dist/types.d.ts +0 -1
  156. package/dist/types.js +0 -1
  157. package/dist/validate-even-dimensions-with-codec.d.ts +0 -1
  158. package/dist/validate-even-dimensions-with-codec.js +0 -1
  159. package/dist/validate-ffmpeg.d.ts +0 -1
  160. package/dist/validate-ffmpeg.js +0 -1
  161. package/dist/validate-output-filename.d.ts +2 -0
  162. package/dist/validate-output-filename.js +52 -0
  163. package/dist/validate-puppeteer-timeout.d.ts +0 -1
  164. package/dist/validate-puppeteer-timeout.js +0 -1
  165. package/dist/validate-scale.d.ts +0 -1
  166. package/dist/validate-scale.js +0 -1
  167. package/package.json +4 -4
@@ -6,4 +6,3 @@ const makeAssetsDownloadTmpDir = () => {
6
6
  return (0, tmp_dir_1.tmpDir)('remotion-assets-dir');
7
7
  };
8
8
  exports.makeAssetsDownloadTmpDir = makeAssetsDownloadTmpDir;
9
- //# sourceMappingURL=make-assets-download-dir.js.map
@@ -7,4 +7,3 @@ declare type Options = {
7
7
  };
8
8
  export declare const mergeAudioTrack: (options: Options) => Promise<void>;
9
9
  export {};
10
- //# sourceMappingURL=merge-audio-track.d.ts.map
@@ -70,4 +70,3 @@ const mergeAudioTrack = (options) => {
70
70
  return limit(mergeAudioTrackUnlimited, options);
71
71
  };
72
72
  exports.mergeAudioTrack = mergeAudioTrack;
73
- //# sourceMappingURL=merge-audio-track.js.map
@@ -1,2 +1 @@
1
1
  export declare const normalizeServeUrl: (unnormalized: string) => string;
2
- //# sourceMappingURL=normalize-serve-url.d.ts.map
@@ -17,4 +17,3 @@ const normalizeServeUrl = (unnormalized) => {
17
17
  return `${unnormalized}/index.html`;
18
18
  };
19
19
  exports.normalizeServeUrl = normalizeServeUrl;
20
- //# sourceMappingURL=normalize-serve-url.js.map
@@ -15,4 +15,3 @@ export declare const openBrowser: (browser: Browser, options?: {
15
15
  chromiumOptions?: ChromiumOptions | undefined;
16
16
  } | undefined) => Promise<puppeteer.Browser>;
17
17
  export {};
18
- //# sourceMappingURL=open-browser.d.ts.map
@@ -76,4 +76,3 @@ const openBrowser = async (browser, options) => {
76
76
  return browserInstance;
77
77
  };
78
78
  exports.openBrowser = openBrowser;
79
- //# sourceMappingURL=open-browser.js.map
package/dist/p-limit.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export declare const pLimit: (concurrency: number) => <Arguments extends unknown[], ReturnType_1>(fn: (..._arguments: Arguments) => ReturnType_1 | PromiseLike<ReturnType_1>, ...args: Arguments) => Promise<ReturnType_1>;
2
- //# sourceMappingURL=p-limit.d.ts.map
package/dist/p-limit.js CHANGED
@@ -55,4 +55,3 @@ const pLimit = (concurrency) => {
55
55
  return generator;
56
56
  };
57
57
  exports.pLimit = pLimit;
58
- //# sourceMappingURL=p-limit.js.map
@@ -5,4 +5,3 @@ export declare type UnsymbolicatedStackFrame = {
5
5
  columnNumber: number;
6
6
  };
7
7
  export declare const parseStack: (stack: string[]) => UnsymbolicatedStackFrame[];
8
- //# sourceMappingURL=parse-browser-error-stack.d.ts.map
@@ -85,4 +85,3 @@ const parseStack = (stack) => {
85
85
  return frames;
86
86
  };
87
87
  exports.parseStack = parseStack;
88
- //# sourceMappingURL=parse-browser-error-stack.js.map
@@ -1,2 +1 @@
1
1
  export declare const parseFfmpegProgress: (input: string) => number | undefined;
2
- //# sourceMappingURL=parse-ffmpeg-progress.d.ts.map
@@ -9,4 +9,3 @@ const parseFfmpegProgress = (input) => {
9
9
  return Number(match[2]);
10
10
  };
11
11
  exports.parseFfmpegProgress = parseFfmpegProgress;
12
- //# sourceMappingURL=parse-ffmpeg-progress.js.map
package/dist/pool.d.ts CHANGED
@@ -5,4 +5,3 @@ export declare class Pool<T> {
5
5
  acquire(): Promise<T>;
6
6
  release(resource: T): void;
7
7
  }
8
- //# sourceMappingURL=pool.d.ts.map
package/dist/pool.js CHANGED
@@ -28,4 +28,3 @@ class Pool {
28
28
  }
29
29
  }
30
30
  exports.Pool = Pool;
31
- //# sourceMappingURL=pool.js.map
@@ -2,4 +2,3 @@ export declare const prepareServer: (webpackConfigOrServeUrl: string) => Promise
2
2
  serveUrl: string;
3
3
  closeServer: () => Promise<void>;
4
4
  }>;
5
- //# sourceMappingURL=prepare-server.d.ts.map
@@ -17,4 +17,3 @@ const prepareServer = async (webpackConfigOrServeUrl) => {
17
17
  });
18
18
  };
19
19
  exports.prepareServer = prepareServer;
20
- //# sourceMappingURL=prepare-server.js.map
@@ -9,4 +9,3 @@ declare type Options = {
9
9
  };
10
10
  export declare const preprocessAudioTrack: (options: Options) => Promise<string | null>;
11
11
  export {};
12
- //# sourceMappingURL=preprocess-audio-track.d.ts.map
@@ -39,4 +39,3 @@ const preprocessAudioTrack = (options) => {
39
39
  return limit(preprocessAudioTrackUnlimited, options);
40
40
  };
41
41
  exports.preprocessAudioTrack = preprocessAudioTrack;
42
- //# sourceMappingURL=preprocess-audio-track.js.map
@@ -19,4 +19,3 @@ export declare const prespawnFfmpeg: (options: PreSticherOptions) => Promise<{
19
19
  getLogs: () => string;
20
20
  }>;
21
21
  export {};
22
- //# sourceMappingURL=prespawn-ffmpeg.d.ts.map
@@ -89,4 +89,3 @@ const prespawnFfmpeg = async (options) => {
89
89
  return { task, getLogs: () => ffmpegOutput };
90
90
  };
91
91
  exports.prespawnFfmpeg = prespawnFfmpeg;
92
- //# sourceMappingURL=prespawn-ffmpeg.js.map
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import puppeteer from 'puppeteer-core';
3
2
  import { ImageFormat } from 'remotion';
4
3
  export declare const provideScreenshot: ({ page, imageFormat, options, quality, }: {
@@ -10,4 +9,3 @@ export declare const provideScreenshot: ({ page, imageFormat, options, quality,
10
9
  output?: string;
11
10
  };
12
11
  }) => Promise<Buffer>;
13
- //# sourceMappingURL=provide-screenshot.d.ts.map
@@ -14,4 +14,3 @@ const provideScreenshot = async ({ page, imageFormat, options, quality, }) => {
14
14
  });
15
15
  };
16
16
  exports.provideScreenshot = provideScreenshot;
17
- //# sourceMappingURL=provide-screenshot.js.map
@@ -5,4 +5,3 @@ export declare function puppeteerEvaluateWithCatch<ReturnType>({ page, pageFunct
5
5
  frame: number | null;
6
6
  args: unknown[];
7
7
  }): Promise<ReturnType>;
8
- //# sourceMappingURL=puppeteer-evaluate.d.ts.map
@@ -154,4 +154,3 @@ function convertArgument(arg) {
154
154
  }
155
155
  return { value: arg };
156
156
  }
157
- //# sourceMappingURL=puppeteer-evaluate.js.map
@@ -1,4 +1,2 @@
1
- /// <reference types="node" />
2
1
  import { Page, ScreenshotOptions } from 'puppeteer-core';
3
2
  export declare const screenshot: (page: Page, options?: ScreenshotOptions) => Promise<Buffer | string | void>;
4
- //# sourceMappingURL=puppeteer-screenshot.d.ts.map
@@ -71,4 +71,3 @@ const screenshot = (page, options = {}) => {
71
71
  return page._screenshotTaskQueue.postTask(() => (0, screenshot_task_1._screenshotTask)(page, screenshotType, options));
72
72
  };
73
73
  exports.screenshot = screenshot;
74
- //# sourceMappingURL=puppeteer-screenshot.js.map
@@ -36,4 +36,3 @@ declare type RenderFramesOptions = {
36
36
  } & ConfigOrComposition & ServeUrlOrWebpackBundle;
37
37
  export declare const renderFrames: (options: RenderFramesOptions) => Promise<RenderFramesOutput>;
38
38
  export {};
39
- //# sourceMappingURL=render-frames.d.ts.map
@@ -243,4 +243,3 @@ const renderFrames = async (options) => {
243
243
  });
244
244
  };
245
245
  exports.renderFrames = renderFrames;
246
- //# sourceMappingURL=render-frames.js.map
@@ -39,4 +39,3 @@ export declare type RenderMediaOptions = {
39
39
  scale?: number;
40
40
  } & ServeUrlOrWebpackBundle;
41
41
  export declare const renderMedia: ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, ...options }: RenderMediaOptions) => Promise<void>;
42
- //# sourceMappingURL=render-media.d.ts.map
@@ -13,6 +13,7 @@ const ensure_frames_in_order_1 = require("./ensure-frames-in-order");
13
13
  const ensure_output_directory_1 = require("./ensure-output-directory");
14
14
  const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
15
15
  const get_extension_from_codec_1 = require("./get-extension-from-codec");
16
+ const get_extension_of_filename_1 = require("./get-extension-of-filename");
16
17
  const get_frame_to_render_1 = require("./get-frame-to-render");
17
18
  const legacy_webpack_config_1 = require("./legacy-webpack-config");
18
19
  const prespawn_ffmpeg_1 = require("./prespawn-ffmpeg");
@@ -20,6 +21,7 @@ const render_frames_1 = require("./render-frames");
20
21
  const stitch_frames_to_video_1 = require("./stitch-frames-to-video");
21
22
  const tmp_dir_1 = require("./tmp-dir");
22
23
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
24
+ const validate_output_filename_1 = require("./validate-output-filename");
23
25
  const validate_scale_1 = require("./validate-scale");
24
26
  const renderMedia = async ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, ...options }) => {
25
27
  var _a;
@@ -27,6 +29,7 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
27
29
  if (typeof crf !== 'undefined' && crf !== null) {
28
30
  remotion_1.Internals.validateSelectedCrfAndCodecCombination(crf, codec);
29
31
  }
32
+ (0, validate_output_filename_1.validateOutputFilename)(codec, (0, get_extension_of_filename_1.getExtensionOfFilename)(outputLocation));
30
33
  (0, validate_scale_1.validateScale)(scale);
31
34
  const serveUrl = (0, legacy_webpack_config_1.getServeUrlWithFallback)(options);
32
35
  let stitchStage = 'encoding';
@@ -170,4 +173,3 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
170
173
  }
171
174
  };
172
175
  exports.renderMedia = renderMedia;
173
- //# sourceMappingURL=render-media.js.map
@@ -24,4 +24,3 @@ declare type RenderStillOptions = InnerStillOptions & ServeUrlOrWebpackBundle;
24
24
  */
25
25
  export declare const renderStill: (options: RenderStillOptions) => Promise<void>;
26
26
  export {};
27
- //# sourceMappingURL=render-still.d.ts.map
@@ -144,4 +144,3 @@ const renderStill = async (options) => {
144
144
  });
145
145
  };
146
146
  exports.renderStill = renderStill;
147
- //# sourceMappingURL=render-still.js.map
@@ -1,2 +1 @@
1
1
  export declare const resolveAssetSrc: (src: string) => string;
2
- //# sourceMappingURL=resolve-asset-src.d.ts.map
@@ -15,4 +15,3 @@ const resolveAssetSrc = (src) => {
15
15
  throw new TypeError(`Unexpected src ${src}`);
16
16
  };
17
17
  exports.resolveAssetSrc = resolveAssetSrc;
18
- //# sourceMappingURL=resolve-asset-src.js.map
@@ -1,2 +1 @@
1
1
  export declare const DEFAULT_SAMPLE_RATE = 48000;
2
- //# sourceMappingURL=sample-rate.d.ts.map
@@ -2,4 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_SAMPLE_RATE = void 0;
4
4
  exports.DEFAULT_SAMPLE_RATE = 48000;
5
- //# sourceMappingURL=sample-rate.js.map
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import puppeteer from 'puppeteer-core';
3
2
  import { ImageFormat } from 'remotion';
4
3
  export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, }: {
@@ -10,4 +9,3 @@ export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts,
10
9
  selector?: string | undefined;
11
10
  } | undefined;
12
11
  }) => Promise<Buffer>;
13
- //# sourceMappingURL=screenshot-dom-element.d.ts.map
@@ -39,4 +39,3 @@ const screenshotDOMElement = async ({ page, imageFormat, quality, opts = {}, })
39
39
  });
40
40
  };
41
41
  exports.screenshotDOMElement = screenshotDOMElement;
42
- //# sourceMappingURL=screenshot-dom-element.js.map
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Page, ScreenshotOptions } from 'puppeteer-core';
3
2
  import { StillImageFormat } from 'remotion';
4
3
  export declare const _screenshotTask: (page: Page, format: StillImageFormat, options: ScreenshotOptions) => Promise<Buffer | string>;
5
- //# sourceMappingURL=screenshot-task.d.ts.map
@@ -39,4 +39,3 @@ const _screenshotTask = async (page, format, options) => {
39
39
  return buffer;
40
40
  };
41
41
  exports._screenshotTask = _screenshotTask;
42
- //# sourceMappingURL=screenshot-task.js.map
@@ -3,4 +3,3 @@ export declare const seekToFrame: ({ frame, page, }: {
3
3
  frame: number;
4
4
  page: puppeteer.Page;
5
5
  }) => Promise<void>;
6
- //# sourceMappingURL=seek-to-frame.d.ts.map
@@ -16,4 +16,3 @@ const seekToFrame = async ({ frame, page, }) => {
16
16
  await page.evaluateHandle('document.fonts.ready');
17
17
  };
18
18
  exports.seekToFrame = seekToFrame;
19
- //# sourceMappingURL=seek-to-frame.js.map
@@ -4,4 +4,3 @@ export declare const serveStatic: (path: string, options?: {
4
4
  port: number;
5
5
  close: () => Promise<void>;
6
6
  }>;
7
- //# sourceMappingURL=serve-static.d.ts.map
@@ -47,4 +47,3 @@ const serveStatic = async (path, options) => {
47
47
  }
48
48
  };
49
49
  exports.serveStatic = serveStatic;
50
- //# sourceMappingURL=serve-static.js.map
@@ -7,4 +7,3 @@ export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl
7
7
  initialFrame: number;
8
8
  timeoutInMilliseconds: number | undefined;
9
9
  }) => Promise<void>;
10
- //# sourceMappingURL=set-props-and-env.d.ts.map
@@ -60,4 +60,3 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
60
60
  }
61
61
  };
62
62
  exports.setPropsAndEnv = setPropsAndEnv;
63
- //# sourceMappingURL=set-props-and-env.js.map
@@ -28,4 +28,3 @@ declare type ReturnType = {
28
28
  export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<ReturnType>;
29
29
  export declare const stitchFramesToVideo: (options: StitcherOptions) => Promise<void>;
30
30
  export {};
31
- //# sourceMappingURL=stitch-frames-to-video.d.ts.map
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.stitchFramesToVideo = exports.spawnFfmpeg = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
+ const fs_1 = __importDefault(require("fs"));
8
9
  const path_1 = __importDefault(require("path"));
9
10
  const remotion_1 = require("remotion");
10
11
  const calculate_asset_positions_1 = require("./assets/calculate-asset-positions");
@@ -20,6 +21,10 @@ const preprocess_audio_track_1 = require("./preprocess-audio-track");
20
21
  const tmp_dir_1 = require("./tmp-dir");
21
22
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
22
23
  const validate_ffmpeg_1 = require("./validate-ffmpeg");
24
+ const packageJsonPath = path_1.default.join(__dirname, '..', 'package.json');
25
+ const packageJson = fs_1.default.existsSync(packageJsonPath)
26
+ ? JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'))
27
+ : null;
23
28
  const getAssetsData = async ({ assets, downloadDir, onDownload, fps, expectedFrames, verbose, ffmpegExecutable, onProgress, }) => {
24
29
  const fileUrlAssets = await (0, convert_assets_to_file_urls_1.convertAssetsToFileUrls)({
25
30
  assets,
@@ -158,6 +163,11 @@ const spawnFfmpeg = async (options) => {
158
163
  audioCodecName ? ['-c:a', audioCodecName] : null,
159
164
  // Ignore metadata that may come from remote media
160
165
  ['-map_metadata', '-1'],
166
+ [
167
+ '-metadata',
168
+ `comment=` +
169
+ [`Made with Remotion`, packageJson ? packageJson.version : null].join(' '),
170
+ ],
161
171
  options.force ? '-y' : null,
162
172
  options.outputLocation,
163
173
  ];
@@ -206,4 +216,3 @@ const stitchFramesToVideo = async (options) => {
206
216
  }
207
217
  };
208
218
  exports.stitchFramesToVideo = stitchFramesToVideo;
209
- //# sourceMappingURL=stitch-frames-to-video.js.map
@@ -10,4 +10,3 @@ export declare const stringifyFfmpegFilter: ({ trimLeft, trimRight, channels, st
10
10
  playbackRate: number;
11
11
  assetDuration: number | null;
12
12
  }) => string;
13
- //# sourceMappingURL=stringify-ffmpeg-filter.d.ts.map
@@ -50,4 +50,3 @@ const stringifyFfmpegFilter = ({ trimLeft, trimRight, channels, startInVideo, vo
50
50
  `[a0]`);
51
51
  };
52
52
  exports.stringifyFfmpegFilter = stringifyFfmpegFilter;
53
- //# sourceMappingURL=stringify-ffmpeg-filter.js.map
@@ -13,4 +13,3 @@ export declare type SymbolicatedStackFrame = {
13
13
  };
14
14
  export declare const symbolicateStackTrace: (frames: UnsymbolicatedStackFrame[]) => Promise<SymbolicatedStackFrame[]>;
15
15
  export {};
16
- //# sourceMappingURL=symbolicate-stacktrace.d.ts.map
@@ -108,4 +108,3 @@ const symbolicateStackTrace = async (frames) => {
108
108
  .filter(remotion_1.Internals.truthy);
109
109
  };
110
110
  exports.symbolicateStackTrace = symbolicateStackTrace;
111
- //# sourceMappingURL=symbolicate-stacktrace.js.map
package/dist/tmp-dir.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export declare const tmpDir: (str: string) => string;
2
- //# sourceMappingURL=tmp-dir.d.ts.map
package/dist/tmp-dir.js CHANGED
@@ -48,4 +48,3 @@ const tmpDir = (str) => {
48
48
  return newDir;
49
49
  };
50
50
  exports.tmpDir = tmpDir;
51
- //# sourceMappingURL=tmp-dir.js.map
package/dist/types.d.ts CHANGED
@@ -6,4 +6,3 @@ export declare type RenderFramesOutput = {
6
6
  export declare type OnStartData = {
7
7
  frameCount: number;
8
8
  };
9
- //# sourceMappingURL=types.d.ts.map
package/dist/types.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -5,4 +5,3 @@ export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, s
5
5
  scale: number;
6
6
  codec: Codec;
7
7
  }) => void;
8
- //# sourceMappingURL=validate-even-dimensions-with-codec.d.ts.map
@@ -33,4 +33,3 @@ const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, }) => {
33
33
  }
34
34
  };
35
35
  exports.validateEvenDimensionsWithCodec = validateEvenDimensionsWithCodec;
36
- //# sourceMappingURL=validate-even-dimensions-with-codec.js.map
@@ -1,3 +1,2 @@
1
1
  export declare const binaryExists: (name: 'ffmpeg' | 'brew', localFFmpeg: string | null) => Promise<boolean>;
2
2
  export declare const validateFfmpeg: (customFfmpegBinary: string | null) => Promise<void>;
3
- //# sourceMappingURL=validate-ffmpeg.d.ts.map
@@ -71,4 +71,3 @@ const validateFfmpeg = async (customFfmpegBinary) => {
71
71
  }
72
72
  };
73
73
  exports.validateFfmpeg = validateFfmpeg;
74
- //# sourceMappingURL=validate-ffmpeg.js.map
@@ -0,0 +1,2 @@
1
+ import { Codec } from 'remotion';
2
+ export declare const validateOutputFilename: (codec: Codec, extension: string | null) => void;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateOutputFilename = void 0;
4
+ const validateOutputFilename = (codec, extension) => {
5
+ if (codec === 'h264') {
6
+ if (extension !== 'mp4' && extension !== 'mkv') {
7
+ throw new TypeError('When using the H264 codec, the output filename must end in .mp4 or .mkv.');
8
+ }
9
+ }
10
+ if (codec === 'h264-mkv') {
11
+ if (extension !== 'mkv') {
12
+ throw new TypeError('When using the "h264-mkv" codec, the output filename must end in ".mkv".');
13
+ }
14
+ }
15
+ if (codec === 'h265') {
16
+ if (extension !== 'mp4' && extension !== 'hevc') {
17
+ throw new TypeError('When using H265 codec, the output filename must end in .mp4 or .hevc.');
18
+ }
19
+ }
20
+ if (codec === 'vp8' || codec === 'vp9') {
21
+ if (extension !== 'webm') {
22
+ throw new TypeError(`When using the ${codec.toUpperCase()} codec, the output filename must end in .webm.`);
23
+ }
24
+ }
25
+ if (codec === 'prores') {
26
+ const allowedProResExtensions = ['mov', 'mkv', 'mxf'];
27
+ if (!extension || !allowedProResExtensions.includes(extension)) {
28
+ throw new TypeError(`When using the 'prores' codec, the output must end in one of those extensions: ${allowedProResExtensions
29
+ .map((a) => `.${a}`)
30
+ .join(', ')}`);
31
+ }
32
+ }
33
+ if (codec === 'mp3') {
34
+ if (extension !== 'mp3') {
35
+ throw new TypeError("When using the 'mp3' codec, the output must end in .mp3");
36
+ }
37
+ }
38
+ if (codec === 'aac') {
39
+ const allowedAacExtensions = ['aac', '3gp', 'm4a', 'm4b', 'mpg', 'mpeg'];
40
+ if (!extension || !allowedAacExtensions.includes(extension)) {
41
+ throw new TypeError(`When using the 'aac' codec, the output must end in one of those extensions: ${allowedAacExtensions
42
+ .map((a) => `.${a}`)
43
+ .join(', ')}`);
44
+ }
45
+ }
46
+ if (codec === 'wav') {
47
+ if (extension !== 'wav') {
48
+ throw new TypeError("When using the 'wav' codec, the output location must end in .wav.");
49
+ }
50
+ }
51
+ };
52
+ exports.validateOutputFilename = validateOutputFilename;
@@ -1,2 +1 @@
1
1
  export declare const validatePuppeteerTimeout: (timeoutInMilliseconds: unknown) => void;
2
- //# sourceMappingURL=validate-puppeteer-timeout.d.ts.map
@@ -22,4 +22,3 @@ const validatePuppeteerTimeout = (timeoutInMilliseconds) => {
22
22
  }
23
23
  };
24
24
  exports.validatePuppeteerTimeout = validatePuppeteerTimeout;
25
- //# sourceMappingURL=validate-puppeteer-timeout.js.map
@@ -1,2 +1 @@
1
1
  export declare const validateScale: (scale: unknown) => void;
2
- //# sourceMappingURL=validate-scale.d.ts.map
@@ -24,4 +24,3 @@ const validateScale = (scale) => {
24
24
  }
25
25
  };
26
26
  exports.validateScale = validateScale;
27
- //# sourceMappingURL=validate-scale.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "3.0.4",
3
+ "version": "3.0.7",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,10 +20,10 @@
20
20
  "url": "https://github.com/remotion-dev/remotion/issues"
21
21
  },
22
22
  "dependencies": {
23
- "@remotion/bundler": "3.0.4",
23
+ "@remotion/bundler": "3.0.7",
24
24
  "execa": "5.1.1",
25
25
  "puppeteer-core": "13.5.1",
26
- "remotion": "3.0.4",
26
+ "remotion": "3.0.7",
27
27
  "serve-handler": "6.1.3",
28
28
  "source-map": "^0.8.0-beta.0"
29
29
  },
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "fe6cd08c090ed8aa6c2a1b610851c0ab97749a2c"
63
+ "gitHead": "e44469b9a64608db9bec219339bf93a0ac6e9655"
64
64
  }