@remotion/renderer 4.0.537 → 4.0.539

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 (297) hide show
  1. package/dist/aac-priming.d.ts +2 -1
  2. package/dist/assets/apply-tone-frequency.d.ts +2 -1
  3. package/dist/assets/apply-tone-frequency.js +8 -1
  4. package/dist/assets/calculate-asset-positions.js +2 -0
  5. package/dist/assets/convert-assets-to-file-urls.d.ts +2 -1
  6. package/dist/assets/download-and-map-assets-to-file.d.ts +3 -2
  7. package/dist/assets/get-audio-channels.d.ts +3 -2
  8. package/dist/assets/inline-audio-mixing.d.ts +2 -1
  9. package/dist/assets/read-file.js +1 -2
  10. package/dist/assets/types.d.ts +2 -1
  11. package/dist/browser/Browser.d.ts +5 -5
  12. package/dist/browser/Browser.js +74 -65
  13. package/dist/browser/BrowserFetcher.d.ts +7 -5
  14. package/dist/browser/BrowserPage.d.ts +4 -4
  15. package/dist/browser/BrowserPage.js +222 -226
  16. package/dist/browser/BrowserRunner.d.ts +2 -1
  17. package/dist/browser/Connection.js +109 -96
  18. package/dist/browser/ConsoleMessage.d.ts +1 -1
  19. package/dist/browser/ConsoleMessage.js +16 -9
  20. package/dist/browser/DOMWorld.d.ts +1 -1
  21. package/dist/browser/DOMWorld.js +91 -77
  22. package/dist/browser/Errors.js +4 -2
  23. package/dist/browser/EventEmitter.js +1 -2
  24. package/dist/browser/ExecutionContext.js +120 -117
  25. package/dist/browser/FrameManager.js +244 -249
  26. package/dist/browser/HTTPRequest.js +22 -11
  27. package/dist/browser/HTTPResponse.js +16 -3
  28. package/dist/browser/JSHandle.js +30 -17
  29. package/dist/browser/LifecycleWatcher.js +128 -122
  30. package/dist/browser/NetworkEventManager.js +40 -31
  31. package/dist/browser/NetworkManager.js +203 -210
  32. package/dist/browser/NodeWebSocketTransport.js +0 -3
  33. package/dist/browser/Target.d.ts +1 -1
  34. package/dist/browser/Target.js +39 -32
  35. package/dist/browser/TaskQueue.js +18 -5
  36. package/dist/browser/TimeoutSettings.js +25 -12
  37. package/dist/browser/browser-download-progress-bar.d.ts +2 -1
  38. package/dist/browser/get-chrome-download-url.d.ts +3 -2
  39. package/dist/browser/handle-failed-resource.d.ts +2 -1
  40. package/dist/call-ffmpeg.d.ts +7 -6
  41. package/dist/can-concat-seamlessly.d.ts +4 -2
  42. package/dist/can-use-parallel-encoding.d.ts +2 -1
  43. package/dist/check-version-requirements.d.ts +2 -1
  44. package/dist/client.d.ts +302 -280
  45. package/dist/client.js +2 -2
  46. package/dist/codec-supports-media.d.ts +4 -3
  47. package/dist/codec.d.ts +1 -1
  48. package/dist/collect-assets.d.ts +1 -1
  49. package/dist/combine-audio.d.ts +4 -2
  50. package/dist/combine-chunks.d.ts +2 -1
  51. package/dist/combine-video-streams.d.ts +4 -2
  52. package/dist/compositor/compositor.d.ts +4 -3
  53. package/dist/compositor/get-executable-path.d.ts +4 -4
  54. package/dist/compress-audio.d.ts +4 -2
  55. package/dist/create-audio.d.ts +4 -2
  56. package/dist/create-silent-audio.d.ts +2 -1
  57. package/dist/crf.d.ts +6 -4
  58. package/dist/cycle-browser-tabs.d.ts +2 -1
  59. package/dist/ensure-browser.d.ts +1 -52
  60. package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
  61. package/dist/error-handling/handle-javascript-exception.js +0 -5
  62. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  63. package/dist/error-handling/symbolicateable-error.js +0 -4
  64. package/dist/error-handling.js +1 -1
  65. package/dist/esm/client.mjs +329 -242
  66. package/dist/esm/index.mjs +129 -110
  67. package/dist/extract-audio.d.ts +3 -2
  68. package/dist/ffmpeg-args.d.ts +12 -6
  69. package/dist/finalize-fast-start.d.ts +2 -1
  70. package/dist/get-browser-instance.d.ts +6 -4
  71. package/dist/get-codec-name.d.ts +6 -3
  72. package/dist/get-compositions.d.ts +2 -1
  73. package/dist/get-concurrency.d.ts +1 -1
  74. package/dist/get-concurrency.js +1 -1
  75. package/dist/get-duration-from-frame-range.d.ts +1 -1
  76. package/dist/get-extension-from-codec.d.ts +2 -1
  77. package/dist/get-frame-padded-index.d.ts +2 -1
  78. package/dist/get-local-browser-executable.d.ts +4 -2
  79. package/dist/get-port.d.ts +1 -1
  80. package/dist/get-prores-profile-name.d.ts +3 -1
  81. package/dist/get-silent-parts.d.ts +5 -4
  82. package/dist/get-video-metadata.d.ts +4 -3
  83. package/dist/get-video-threads-flag.d.ts +2 -1
  84. package/dist/goto-page-or-throw.d.ts +1 -1
  85. package/dist/guess-extension-for-media.d.ts +2 -1
  86. package/dist/image-format.d.ts +6 -5
  87. package/dist/index.d.ts +213 -440
  88. package/dist/index.js +18 -18
  89. package/dist/is-audio-codec.d.ts +2 -1
  90. package/dist/log-level.d.ts +2 -2
  91. package/dist/logger.d.ts +6 -6
  92. package/dist/make-page.d.ts +5 -3
  93. package/dist/memory/from-macos-sysctl.d.ts +2 -1
  94. package/dist/memory/from-proc-meminfo.d.ts +2 -1
  95. package/dist/memory/get-available-memory.d.ts +2 -1
  96. package/dist/merge-audio-track.d.ts +1 -1
  97. package/dist/merge-audio-track.js +24 -23
  98. package/dist/merge-inline-audio-tracks.d.ts +2 -1
  99. package/dist/mux-video-and-audio.d.ts +5 -3
  100. package/dist/offthread-video-server.d.ts +2 -1
  101. package/dist/offthread-video-server.js +6 -4
  102. package/dist/open-browser.d.ts +2 -2
  103. package/dist/options/allow-html-in-canvas.js +1 -2
  104. package/dist/options/api-key.d.ts +1 -1
  105. package/dist/options/api-key.js +1 -3
  106. package/dist/options/ask-ai.js +1 -1
  107. package/dist/options/audio-bitrate.js +1 -9
  108. package/dist/options/audio-codec.d.ts +23 -20
  109. package/dist/options/beep-on-finish.js +1 -1
  110. package/dist/options/benchmark-concurrencies.js +1 -2
  111. package/dist/options/binaries-directory.d.ts +1 -1
  112. package/dist/options/binaries-directory.js +1 -9
  113. package/dist/options/browser-executable.d.ts +1 -1
  114. package/dist/options/browser-executable.js +1 -1
  115. package/dist/options/browser.js +1 -2
  116. package/dist/options/bundle-cache.js +1 -2
  117. package/dist/options/canvas-tabs.js +1 -1
  118. package/dist/options/chrome-mode.d.ts +4 -4
  119. package/dist/options/chrome-mode.js +1 -6
  120. package/dist/options/color-space.d.ts +9 -5
  121. package/dist/options/color-space.js +1 -8
  122. package/dist/options/concurrency.d.ts +1 -1
  123. package/dist/options/concurrency.js +1 -5
  124. package/dist/options/config.js +1 -1
  125. package/dist/options/crf.js +1 -1
  126. package/dist/options/cross-site-isolation.js +1 -2
  127. package/dist/options/dark-mode.js +1 -2
  128. package/dist/options/default-coding-agent.d.ts +2 -2
  129. package/dist/options/default-coding-agent.js +1 -2
  130. package/dist/options/default-editor.d.ts +4 -4
  131. package/dist/options/default-editor.js +1 -3
  132. package/dist/options/default-premount-in-seconds.js +1 -1
  133. package/dist/options/delete-after.d.ts +1 -1
  134. package/dist/options/delete-after.js +1 -11
  135. package/dist/options/disable-shared-memory-capture.js +1 -3
  136. package/dist/options/disable-web-security.d.ts +1 -1
  137. package/dist/options/disable-web-security.js +1 -1
  138. package/dist/options/disallow-parallel-encoding.js +1 -1
  139. package/dist/options/enable-cancellation.js +1 -2
  140. package/dist/options/enable-lambda-insights.js +1 -2
  141. package/dist/options/enable-multiprocess-on-linux.js +1 -13
  142. package/dist/options/encoding-buffer-size.d.ts +4 -2
  143. package/dist/options/encoding-buffer-size.js +1 -3
  144. package/dist/options/encoding-max-rate.d.ts +1 -1
  145. package/dist/options/encoding-max-rate.js +1 -3
  146. package/dist/options/enforce-audio.js +1 -15
  147. package/dist/options/env-file.js +1 -3
  148. package/dist/options/every-nth-frame.d.ts +1 -1
  149. package/dist/options/every-nth-frame.js +1 -6
  150. package/dist/options/experimental-client-side-rendering.d.ts +16 -0
  151. package/dist/options/experimental-client-side-rendering.js +30 -0
  152. package/dist/options/experimental-keep-audio-context-alive.js +1 -3
  153. package/dist/options/folder-expiry.d.ts +1 -1
  154. package/dist/options/folder-expiry.js +1 -4
  155. package/dist/options/for-seamless-aac-concatenation.js +1 -3
  156. package/dist/options/force-new-studio.js +1 -1
  157. package/dist/options/frames.d.ts +1 -1
  158. package/dist/options/frames.js +1 -4
  159. package/dist/options/gl.d.ts +6 -6
  160. package/dist/options/gl.js +3 -28
  161. package/dist/options/gop-size.js +1 -3
  162. package/dist/options/hardware-acceleration.d.ts +3 -3
  163. package/dist/options/headless.js +1 -1
  164. package/dist/options/ignore-certificate-errors.d.ts +1 -1
  165. package/dist/options/ignore-certificate-errors.js +1 -1
  166. package/dist/options/image-sequence-pattern.js +1 -5
  167. package/dist/options/image-sequence.js +1 -1
  168. package/dist/options/index.d.ts +91 -72
  169. package/dist/options/index.js +2 -0
  170. package/dist/options/interactivity.js +1 -1
  171. package/dist/options/ipv4.js +1 -1
  172. package/dist/options/is-production.d.ts +1 -1
  173. package/dist/options/is-production.js +1 -4
  174. package/dist/options/jpeg-quality.d.ts +1 -1
  175. package/dist/options/jpeg-quality.js +1 -4
  176. package/dist/options/keyboard-shortcuts.js +1 -1
  177. package/dist/options/latency-hint.d.ts +1 -1
  178. package/dist/options/latency-hint.js +1 -10
  179. package/dist/options/license-key.d.ts +1 -1
  180. package/dist/options/license-key.js +1 -2
  181. package/dist/options/log-level.d.ts +4 -3
  182. package/dist/options/log-level.js +1 -16
  183. package/dist/options/metadata.js +2 -7
  184. package/dist/options/mute.js +1 -1
  185. package/dist/options/no-open.js +1 -1
  186. package/dist/options/number-of-gif-loops.d.ts +1 -1
  187. package/dist/options/number-of-gif-loops.js +1 -13
  188. package/dist/options/number-of-shared-audio-tags.js +1 -1
  189. package/dist/options/offthreadvideo-cache-size.d.ts +1 -1
  190. package/dist/options/offthreadvideo-cache-size.js +1 -11
  191. package/dist/options/offthreadvideo-threads.d.ts +1 -1
  192. package/dist/options/offthreadvideo-threads.js +1 -2
  193. package/dist/options/on-browser-download.d.ts +1 -1
  194. package/dist/options/on-browser-download.js +1 -2
  195. package/dist/options/options-map.d.ts +180 -180
  196. package/dist/options/out-dir.d.ts +1 -1
  197. package/dist/options/out-dir.js +1 -4
  198. package/dist/options/override-duration.js +1 -1
  199. package/dist/options/override-fps.js +1 -1
  200. package/dist/options/override-height.js +1 -1
  201. package/dist/options/override-width.js +1 -1
  202. package/dist/options/overwrite.js +1 -5
  203. package/dist/options/package-manager.d.ts +1 -1
  204. package/dist/options/package-manager.js +1 -12
  205. package/dist/options/pixel-format.d.ts +6 -5
  206. package/dist/options/pixel-format.js +1 -2
  207. package/dist/options/port.js +1 -1
  208. package/dist/options/prefer-lossless.d.ts +1 -1
  209. package/dist/options/prefer-lossless.js +1 -4
  210. package/dist/options/preserve-pitch-on-playback.d.ts +19 -0
  211. package/dist/options/preserve-pitch-on-playback.js +36 -0
  212. package/dist/options/preview-sample-rate.js +1 -3
  213. package/dist/options/props.js +1 -5
  214. package/dist/options/prores-profile.d.ts +2 -2
  215. package/dist/options/prores-profile.js +1 -5
  216. package/dist/options/public-dir.d.ts +1 -1
  217. package/dist/options/public-dir.js +1 -2
  218. package/dist/options/public-license-key.d.ts +1 -1
  219. package/dist/options/public-license-key.js +1 -3
  220. package/dist/options/public-path.d.ts +1 -1
  221. package/dist/options/public-path.js +1 -5
  222. package/dist/options/repro.d.ts +3 -1
  223. package/dist/options/repro.js +1 -1
  224. package/dist/options/rspack.js +1 -1
  225. package/dist/options/runs.js +1 -3
  226. package/dist/options/sample-rate.d.ts +2 -2
  227. package/dist/options/sample-rate.js +1 -2
  228. package/dist/options/scale.js +1 -5
  229. package/dist/options/sequence-activity-limit.js +1 -4
  230. package/dist/options/show-layer-frame-numbers.js +1 -3
  231. package/dist/options/show-premounting.js +1 -2
  232. package/dist/options/skip-skills.js +1 -1
  233. package/dist/options/still-frame.d.ts +1 -1
  234. package/dist/options/still-frame.js +1 -3
  235. package/dist/options/still-image-format.d.ts +3 -2
  236. package/dist/options/still-image-format.js +1 -2
  237. package/dist/options/timeout.d.ts +1 -1
  238. package/dist/options/timeout.js +1 -4
  239. package/dist/options/user-agent.d.ts +1 -1
  240. package/dist/options/user-agent.js +1 -1
  241. package/dist/options/version-flag.js +1 -1
  242. package/dist/options/video-bitrate.js +1 -7
  243. package/dist/options/video-cache-size.d.ts +1 -1
  244. package/dist/options/video-cache-size.js +1 -7
  245. package/dist/options/video-codec.d.ts +9 -7
  246. package/dist/options/video-codec.js +1 -1
  247. package/dist/options/video-image-format.d.ts +6 -5
  248. package/dist/options/video-image-format.js +1 -6
  249. package/dist/options/webhook-custom-data.d.ts +1 -1
  250. package/dist/options/webhook-custom-data.js +1 -1
  251. package/dist/options/webpack-poll.js +1 -1
  252. package/dist/options/x264-preset.d.ts +8 -7
  253. package/dist/options/x264-preset.js +1 -23
  254. package/dist/p-limit.d.ts +1 -1
  255. package/dist/pixel-format.d.ts +4 -3
  256. package/dist/pool.js +0 -2
  257. package/dist/port-config.d.ts +6 -5
  258. package/dist/prespawn-ffmpeg.d.ts +1 -1
  259. package/dist/prestitcher-memory-usage.d.ts +13 -0
  260. package/dist/prestitcher-memory-usage.js +33 -0
  261. package/dist/print-useful-error-message.d.ts +2 -1
  262. package/dist/probe-encoder.d.ts +8 -5
  263. package/dist/probe-shared-memory-capture.d.ts +4 -2
  264. package/dist/prores-profile.d.ts +4 -2
  265. package/dist/puppeteer-evaluate.d.ts +2 -2
  266. package/dist/puppeteer-screenshot.d.ts +4 -3
  267. package/dist/pure.d.ts +12 -15
  268. package/dist/remotion-shared-memory.d.ts +1 -1
  269. package/dist/remotion-shared-memory.js +199 -187
  270. package/dist/render-frame-and-retry-target-close.d.ts +10 -10
  271. package/dist/render-frame-with-option-to-reject.d.ts +7 -5
  272. package/dist/render-frame-with-option-to-reject.js +1 -5
  273. package/dist/render-frame.d.ts +8 -6
  274. package/dist/render-frames.d.ts +1 -40
  275. package/dist/render-has-audio.d.ts +3 -2
  276. package/dist/render-partitions.d.ts +7 -0
  277. package/dist/render-partitions.js +50 -0
  278. package/dist/replace-browser.d.ts +2 -1
  279. package/dist/repro.d.ts +1 -1
  280. package/dist/screenshot-task.d.ts +4 -3
  281. package/dist/seek-to-frame.d.ts +3 -2
  282. package/dist/select-composition.d.ts +1 -20
  283. package/dist/serve-handler/index.d.ts +1 -1
  284. package/dist/serve-handler/range-parser.d.ts +2 -2
  285. package/dist/serve-handler/range-parser.js +1 -1
  286. package/dist/serve-static.d.ts +2 -1
  287. package/dist/serve-static.js +4 -1
  288. package/dist/set-props-and-env.js +2 -6
  289. package/dist/stringify-ffmpeg-filter.d.ts +2 -1
  290. package/dist/stringify-ffmpeg-filter.js +20 -2
  291. package/dist/take-frame.d.ts +1 -1
  292. package/dist/test-gpu.d.ts +4 -2
  293. package/dist/validate-even-dimensions-with-codec.d.ts +4 -2
  294. package/dist/validate-ffmpeg-override.d.ts +1 -1
  295. package/dist/validate-number-of-gif-loops.d.ts +2 -1
  296. package/dist/validate-output-filename.d.ts +4 -2
  297. package/package.json +16 -16
@@ -7,7 +7,7 @@ exports.versionFlagOption = {
7
7
  name: 'Version',
8
8
  addedIn: '4.0.15',
9
9
  cliFlag,
10
- description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Install a specific version. Also enables downgrading to an older version." })),
10
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Install a specific version. Also enables downgrading to an older version." })),
11
11
  ssrName: null,
12
12
  docLink: 'https://www.remotion.dev/docs/options/version',
13
13
  getValue: ({ commandLine }) => {
@@ -8,13 +8,7 @@ exports.videoBitrateOption = {
8
8
  name: 'Video Bitrate',
9
9
  addedIn: '3.2.32',
10
10
  cliFlag,
11
- description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s",
12
- jsx_runtime_1.jsx("code", { children: "-b:v" }),
13
- " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
14
- jsx_runtime_1.jsx("code", { children: "512K" }),
15
- " for 512 kbps, ",
16
- jsx_runtime_1.jsx("code", { children: "1M" }),
17
- " for 1 Mbps."] })),
11
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s", (0, jsx_runtime_1.jsx)("code", { children: "-b:v" }), " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps."] })),
18
12
  ssrName: 'videoBitrate',
19
13
  docLink: 'https://www.remotion.dev/docs/options/video-bitrate',
20
14
  type: '',
@@ -4,7 +4,7 @@ export declare const mediaCacheSizeInBytesOption: {
4
4
  addedIn: string;
5
5
  cliFlag: "media-cache-size-in-bytes";
6
6
  description: () => import("react/jsx-runtime").JSX.Element;
7
- ssrName: "mediaCacheSizeInBytes";
7
+ ssrName: 'mediaCacheSizeInBytes';
8
8
  docLink: string;
9
9
  type: number | null;
10
10
  getValue: ({ commandLine }: {
@@ -12,13 +12,7 @@ exports.mediaCacheSizeInBytesOption = {
12
12
  name: '@remotion/media cache size',
13
13
  addedIn: '4.0.352',
14
14
  cliFlag,
15
- description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the memory budget for decoded media cached by", ' ', jsx_runtime_1.jsx("code", { children: "<Video>" }),
16
- " and ",
17
- jsx_runtime_1.jsx("code", { children: "<Audio>" }),
18
- " from", ' ', jsx_runtime_1.jsx("code", { children: "@remotion/media" }),
19
- ", in bytes. This value also determines the maximum read cache size for each distinct media source. It is not a limit on total memory usage. ",
20
- jsx_runtime_1.jsx("br", {}),
21
- "The default is half of the available system memory when the render starts."] })),
15
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the memory budget for decoded media cached by", ' ', (0, jsx_runtime_1.jsx)("code", { children: "<Video>" }), " and ", (0, jsx_runtime_1.jsx)("code", { children: "<Audio>" }), " from", ' ', (0, jsx_runtime_1.jsx)("code", { children: "@remotion/media" }), ", in bytes. This value also determines the maximum read cache size for each distinct media source. It is not a limit on total memory usage. ", (0, jsx_runtime_1.jsx)("br", {}), "The default is half of the available system memory when the render starts."] })),
22
16
  ssrName: 'mediaCacheSizeInBytes',
23
17
  docLink: 'https://www.remotion.dev/docs/options/media-cache-size-in-bytes',
24
18
  type: 0,
@@ -1,4 +1,5 @@
1
- import type { CodecOrUndefined } from '../codec';
1
+ import type { Codec, CodecOrUndefined } from '../codec';
2
+ declare const setCodec: (newCodec: CodecOrUndefined) => void;
2
3
  export declare const getOutputCodecOrUndefined: () => CodecOrUndefined;
3
4
  export declare const videoCodecOption: {
4
5
  name: string;
@@ -7,20 +8,21 @@ export declare const videoCodecOption: {
7
8
  description: () => import("react/jsx-runtime").JSX.Element;
8
9
  ssrName: string;
9
10
  docLink: string;
10
- type: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
11
+ type: Codec;
11
12
  getValue: ({ commandLine }: {
12
13
  commandLine: Record<string, unknown>;
13
14
  }, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
14
15
  outName: string | null;
15
16
  downloadName: string | null;
16
- configFile: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
17
- uiCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
18
- compositionCodec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null;
17
+ configFile: Codec | null;
18
+ uiCodec: Codec | null;
19
+ compositionCodec: Codec | null;
19
20
  }) => {
20
- value: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
21
+ value: Codec;
21
22
  source: string;
22
23
  };
23
- setConfig: (newCodec: CodecOrUndefined) => void;
24
+ setConfig: typeof setCodec;
24
25
  reset: () => void;
25
26
  id: "codec";
26
27
  };
28
+ export {};
@@ -36,7 +36,7 @@ exports.videoCodecOption = {
36
36
  name: 'Codec',
37
37
  addedIn: '1.4.0',
38
38
  cliFlag,
39
- description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency." })),
39
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency." })),
40
40
  ssrName: 'codec',
41
41
  docLink: 'https://www.remotion.dev/docs/options/codec',
42
42
  type: '',
@@ -1,19 +1,20 @@
1
1
  import type { CodecOrUndefined } from '../codec';
2
+ import type { VideoImageFormat } from '../image-format';
2
3
  export declare const videoImageFormatOption: {
3
4
  name: string;
4
5
  addedIn: string;
5
6
  cliFlag: "image-format";
6
7
  description: () => import("react/jsx-runtime").JSX.Element;
7
- ssrName: "imageFormat";
8
+ ssrName: 'imageFormat';
8
9
  docLink: string;
9
- type: "jpeg" | "none" | "png" | null;
10
+ type: VideoImageFormat | null;
10
11
  getValue: ({ commandLine }: {
11
12
  commandLine: Record<string, unknown>;
12
13
  }, options?: {
13
14
  codec: CodecOrUndefined;
14
- uiVideoImageFormat: "jpeg" | "none" | "png" | null;
15
- compositionDefaultVideoImageFormat: "jpeg" | "none" | "png" | null;
16
- } | undefined) => {
15
+ uiVideoImageFormat: VideoImageFormat | null;
16
+ compositionDefaultVideoImageFormat: VideoImageFormat | null;
17
+ }) => {
17
18
  source: string;
18
19
  value: "jpeg" | "none" | "png";
19
20
  } | {
@@ -10,12 +10,7 @@ exports.videoImageFormatOption = {
10
10
  name: 'Video Image Format',
11
11
  addedIn: '1.4.0',
12
12
  cliFlag,
13
- description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["The image format to use when rendering frames for a video. Must be one of", ' ', image_format_1.validVideoImageFormats.map((f) => `"${f}"`).join(', '), ". Default:", ' ', jsx_runtime_1.jsx("code", { children: "\"jpeg\"" }),
14
- ". JPEG is faster, but does not support transparency.",
15
- jsx_runtime_1.jsx("br", {}),
16
- "When ",
17
- jsx_runtime_1.jsx("a", { href: "/docs/shared-memory-capture", children: "shared-memory capture" }),
18
- " is active, this option has no effect. The output pixel format determines transparency."] })),
13
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The image format to use when rendering frames for a video. Must be one of", ' ', image_format_1.validVideoImageFormats.map((f) => `"${f}"`).join(', '), ". Default:", ' ', (0, jsx_runtime_1.jsx)("code", { children: "\"jpeg\"" }), ". JPEG is faster, but does not support transparency.", (0, jsx_runtime_1.jsx)("br", {}), "When ", (0, jsx_runtime_1.jsx)("a", { href: "/docs/shared-memory-capture", children: "shared-memory capture" }), " is active, this option has no effect. The output pixel format determines transparency."] })),
19
14
  ssrName: 'imageFormat',
20
15
  docLink: 'https://www.remotion.dev/docs/options/video-image-format',
21
16
  type: null,
@@ -3,7 +3,7 @@ export declare const webhookCustomDataOption: {
3
3
  addedIn: string;
4
4
  cliFlag: "webhook-custom-data";
5
5
  description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
6
- ssrName: "customData";
6
+ ssrName: 'customData';
7
7
  docLink: string;
8
8
  type: Record<string, unknown> | null;
9
9
  getValue: () => never;
@@ -7,7 +7,7 @@ exports.webhookCustomDataOption = {
7
7
  name: 'Webhook custom data',
8
8
  addedIn: '4.0.25',
9
9
  cliFlag,
10
- description: (type) => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.", ' ', type === 'cli'
10
+ description: (type) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.", ' ', type === 'cli'
11
11
  ? 'Alternatively, pass a file path pointing to a JSON file'
12
12
  : null] })),
13
13
  ssrName: 'customData',
@@ -8,7 +8,7 @@ exports.webpackPollOption = {
8
8
  name: 'Webpack Polling',
9
9
  addedIn: '3.3.11',
10
10
  cliFlag,
11
- description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Enables Webpack polling instead of the file system event listeners for hot reloading. This is useful if you are inside a virtual machine or have a remote file system. Pass a value in milliseconds." })),
11
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Enables Webpack polling instead of the file system event listeners for hot reloading. This is useful if you are inside a virtual machine or have a remote file system. Pass a value in milliseconds." })),
12
12
  ssrName: null,
13
13
  docLink: 'https://www.remotion.dev/docs/options/webpack-poll',
14
14
  getValue: ({ commandLine }) => {
@@ -1,26 +1,27 @@
1
- export declare const x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
1
+ import type { Codec } from '../codec';
2
+ export declare const x264PresetOptions: readonly ['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow', 'placebo'];
2
3
  export type X264Preset = (typeof x264PresetOptions)[number];
3
4
  export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Preset, }: {
4
- codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
5
- x264Preset: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow" | null;
5
+ codec: Codec;
6
+ x264Preset: X264Preset | null;
6
7
  }) => void;
7
8
  export declare const x264Option: {
8
9
  name: string;
9
10
  addedIn: string;
10
11
  cliFlag: "x264-preset";
11
12
  description: () => import("react/jsx-runtime").JSX.Element;
12
- ssrName: "x264Preset";
13
+ ssrName: 'x264Preset';
13
14
  docLink: string;
14
- type: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow" | null;
15
+ type: X264Preset | null;
15
16
  getValue: ({ commandLine }: {
16
17
  commandLine: Record<string, unknown>;
17
18
  }) => {
18
- value: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow";
19
+ value: X264Preset;
19
20
  source: string;
20
21
  } | {
21
22
  value: null;
22
23
  source: string;
23
24
  };
24
- setConfig: (profile: "fast" | "faster" | "medium" | "placebo" | "slow" | "slower" | "superfast" | "ultrafast" | "veryfast" | "veryslow" | null) => void;
25
+ setConfig: (profile: X264Preset | null) => void;
25
26
  id: "x264-preset";
26
27
  };
@@ -36,29 +36,7 @@ exports.x264Option = {
36
36
  name: 'x264 Preset',
37
37
  addedIn: '4.0.22',
38
38
  cliFlag,
39
- description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Sets a x264 preset profile. Only applies to videos rendered with", ' ', jsx_runtime_1.jsx("code", { children: "h264" }),
40
- " codec.",
41
- jsx_runtime_1.jsx("br", {}),
42
- "Possible values: ",
43
- jsx_runtime_1.jsx("code", { children: "superfast" }),
44
- ", ",
45
- jsx_runtime_1.jsx("code", { children: "veryfast" }),
46
- ",", ' ', jsx_runtime_1.jsx("code", { children: "faster" }),
47
- ", ",
48
- jsx_runtime_1.jsx("code", { children: "fast" }),
49
- ", ",
50
- jsx_runtime_1.jsx("code", { children: "medium" }),
51
- ",", ' ', jsx_runtime_1.jsx("code", { children: "slow" }),
52
- ", ",
53
- jsx_runtime_1.jsx("code", { children: "slower" }),
54
- ", ",
55
- jsx_runtime_1.jsx("code", { children: "veryslow" }),
56
- ",", ' ', jsx_runtime_1.jsx("code", { children: "placebo" }),
57
- ".",
58
- jsx_runtime_1.jsx("br", {}),
59
- "Default: ",
60
- jsx_runtime_1.jsx("code", { children: DEFAULT_PRESET })
61
- ] })),
39
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Sets a x264 preset profile. Only applies to videos rendered with", ' ', (0, jsx_runtime_1.jsx)("code", { children: "h264" }), " codec.", (0, jsx_runtime_1.jsx)("br", {}), "Possible values: ", (0, jsx_runtime_1.jsx)("code", { children: "superfast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryfast" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "faster" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "fast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "medium" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "slow" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "slower" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryslow" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "placebo" }), ".", (0, jsx_runtime_1.jsx)("br", {}), "Default: ", (0, jsx_runtime_1.jsx)("code", { children: DEFAULT_PRESET })] })),
62
40
  ssrName: 'x264Preset',
63
41
  docLink: 'https://www.remotion.dev/docs/options/x264-preset',
64
42
  type: 'fast',
package/dist/p-limit.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const pLimit: (concurrency: number) => <Arguments extends unknown[], ReturnType>(fn: (..._arguments: Arguments) => ReturnType | PromiseLike<ReturnType>, ...args: Arguments) => Promise<ReturnType>;
1
+ export declare const pLimit: (concurrency: number) => <Arguments extends unknown[], ReturnType>(fn: (..._arguments: Arguments) => PromiseLike<ReturnType> | ReturnType, ...args: Arguments) => Promise<ReturnType>;
@@ -1,5 +1,6 @@
1
- export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
1
+ import type { Codec } from './codec';
2
+ export declare const validPixelFormats: readonly ['yuv420p', 'yuva420p', 'yuv422p', 'yuv444p', 'yuv420p10le', 'yuv422p10le', 'yuv444p10le', 'yuva444p10le'];
2
3
  export type PixelFormat = (typeof validPixelFormats)[number];
3
4
  export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
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;
5
+ export declare const validPixelFormatsForCodec: (codec: Codec) => ("yuv420p" | "yuv420p10le" | "yuv422p" | "yuv422p10le" | "yuv444p" | "yuv444p10le" | "yuva444p10le")[] | readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
6
+ export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
package/dist/pool.js CHANGED
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Pool = void 0;
4
4
  class Pool {
5
- resources;
6
- waiters;
7
5
  constructor(resources) {
8
6
  this.resources = resources;
9
7
  this.waiters = [];
@@ -1,13 +1,14 @@
1
1
  import type { NetworkInterfaceInfo } from 'os';
2
+ import os from 'os';
2
3
  type PortConfig = {
3
4
  host: string;
4
5
  hostsToTry: string[];
5
6
  };
6
7
  export declare const getPortConfig: (preferIpv4: boolean) => PortConfig;
7
- export declare const getHostToBind: (flattened: NetworkInterfaceInfo[], preferIpv4: boolean) => "0.0.0.0" | "::";
8
- export declare const getHostsToTry: (flattened: NetworkInterfaceInfo[]) => string[];
8
+ export declare const getHostToBind: (flattened: os.NetworkInterfaceInfo[], preferIpv4: boolean) => "0.0.0.0" | "::";
9
+ export declare const getHostsToTry: (flattened: os.NetworkInterfaceInfo[]) => string[];
9
10
  export declare const flattenNetworkInterfaces: (networkInterfaces: NodeJS.Dict<NetworkInterfaceInfo[]>) => NetworkInterfaceInfo[];
10
- export declare const isIpV6Supported: (flattened: NetworkInterfaceInfo[]) => boolean;
11
- export declare const hasIPv6LoopbackAddress: (flattened: NetworkInterfaceInfo[]) => boolean;
12
- export declare const hasIpv4LoopbackAddress: (flattened: NetworkInterfaceInfo[]) => boolean;
11
+ export declare const isIpV6Supported: (flattened: os.NetworkInterfaceInfo[]) => boolean;
12
+ export declare const hasIPv6LoopbackAddress: (flattened: os.NetworkInterfaceInfo[]) => boolean;
13
+ export declare const hasIpv4LoopbackAddress: (flattened: os.NetworkInterfaceInfo[]) => boolean;
13
14
  export {};
@@ -55,7 +55,7 @@ export type RemotionSharedMemoryFfmpegSupport = {
55
55
  export declare const probeRemotionSharedMemoryFfmpegSupport: ({ binariesDirectory, indent, logLevel, }: {
56
56
  binariesDirectory: string | null;
57
57
  indent: boolean;
58
- logLevel: "error" | "info" | "trace" | "verbose" | "warn";
58
+ logLevel: LogLevel;
59
59
  }) => Promise<RemotionSharedMemoryFfmpegSupport>;
60
60
  export declare const prespawnFfmpeg: (options: PreStitcherOptions) => {
61
61
  task: import("execa").ExecaChildProcess<string>;
@@ -0,0 +1,13 @@
1
+ export declare const hasEnoughMemoryForParallelEncoding: ({ freeMemory, estimatedUsage, }: {
2
+ freeMemory: number;
3
+ estimatedUsage: number;
4
+ }) => boolean;
5
+ export declare const shouldUseParallelEncoding: ({ width, height, logLevel, }: {
6
+ width: number;
7
+ height: number;
8
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
9
+ }) => {
10
+ hasEnoughMemory: boolean;
11
+ freeMemory: number;
12
+ estimatedUsage: number;
13
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldUseParallelEncoding = exports.hasEnoughMemoryForParallelEncoding = void 0;
4
+ const get_available_memory_1 = require("./memory/get-available-memory");
5
+ const MINIMUM_MEMORY_LEFT = 2000000000;
6
+ const hasEnoughMemoryForParallelEncoding = ({ freeMemory, estimatedUsage, }) => {
7
+ return freeMemory - estimatedUsage > MINIMUM_MEMORY_LEFT;
8
+ };
9
+ exports.hasEnoughMemoryForParallelEncoding = hasEnoughMemoryForParallelEncoding;
10
+ const estimateMemoryUsageForPrestitcher = ({ width, height, }) => {
11
+ // Empirically we detected that per 1 million pixels, FFMPEG uses around 1GB of memory, relatively independent of
12
+ // the duration of the video.
13
+ const memoryUsageFor4K = 1000000000;
14
+ const memoryUsageOfPixel = memoryUsageFor4K / 1000000;
15
+ return memoryUsageOfPixel * width * height;
16
+ };
17
+ const shouldUseParallelEncoding = ({ width, height, logLevel, }) => {
18
+ const freeMemory = (0, get_available_memory_1.getAvailableMemory)(logLevel);
19
+ const estimatedUsage = estimateMemoryUsageForPrestitcher({
20
+ height,
21
+ width,
22
+ });
23
+ const hasEnoughMemory = (0, exports.hasEnoughMemoryForParallelEncoding)({
24
+ estimatedUsage,
25
+ freeMemory,
26
+ });
27
+ return {
28
+ hasEnoughMemory,
29
+ freeMemory,
30
+ estimatedUsage,
31
+ };
32
+ };
33
+ exports.shouldUseParallelEncoding = shouldUseParallelEncoding;
@@ -1 +1,2 @@
1
- export declare const printUsefulErrorMessage: (err: Error, logLevel: "error" | "info" | "trace" | "verbose" | "warn", indent: boolean) => void;
1
+ import type { LogLevel } from './log-level';
2
+ export declare const printUsefulErrorMessage: (err: Error, logLevel: LogLevel, indent: boolean) => void;
@@ -1,4 +1,7 @@
1
1
  import type { OnLog } from './browser/BrowserPage';
2
+ import type { Codec } from './codec';
3
+ import type { LogLevel } from './log-level';
4
+ import type { HardwareAccelerationOption } from './options/hardware-acceleration';
2
5
  /**
3
6
  * Probes FFmpeg to check if a specific encoder is available.
4
7
  * Returns true if the encoder is supported, false otherwise.
@@ -7,7 +10,7 @@ export declare const probeEncoderAvailability: ({ encoderName, binariesDirectory
7
10
  encoderName: string;
8
11
  binariesDirectory: string | null;
9
12
  indent: boolean;
10
- logLevel: "error" | "info" | "trace" | "verbose" | "warn";
13
+ logLevel: LogLevel;
11
14
  }) => boolean;
12
15
  /**
13
16
  * Resolves the effective hardware acceleration setting by probing FFmpeg
@@ -16,13 +19,13 @@ export declare const probeEncoderAvailability: ({ encoderName, binariesDirectory
16
19
  * - `required` mode: throws a clear error
17
20
  */
18
21
  export declare const resolveHardwareAcceleration: ({ codec, hardwareAcceleration, binariesDirectory, indent, logLevel, crf, encodingMaxRate, encodingBufferSize, onLog, }: {
19
- codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
20
- hardwareAcceleration: "disable" | "if-possible" | "required";
22
+ codec: Codec;
23
+ hardwareAcceleration: HardwareAccelerationOption;
21
24
  binariesDirectory: string | null;
22
25
  indent: boolean;
23
- logLevel: "error" | "info" | "trace" | "verbose" | "warn";
26
+ logLevel: LogLevel;
24
27
  crf: unknown;
25
28
  encodingMaxRate: string | null;
26
29
  encodingBufferSize: string | null;
27
30
  onLog: OnLog | null;
28
- }) => "disable" | "if-possible" | "required";
31
+ }) => HardwareAccelerationOption;
@@ -1,8 +1,10 @@
1
+ import type { LogLevel } from './log-level';
1
2
  import type { ChromiumOptions } from './open-browser';
3
+ import type { ChromeMode } from './options/chrome-mode';
2
4
  export declare const probeSharedMemoryCapture: ({ browserExecutable, chromeMode, chromiumOptions, binariesDirectory, logLevel, }: {
3
5
  browserExecutable: string | null;
4
- chromeMode: "chrome-for-testing" | "headless-shell";
6
+ chromeMode: ChromeMode;
5
7
  chromiumOptions: ChromiumOptions;
6
8
  binariesDirectory: string | null;
7
- logLevel: "error" | "info" | "trace" | "verbose" | "warn";
9
+ logLevel: LogLevel;
8
10
  }) => Promise<boolean>;
@@ -1,4 +1,6 @@
1
+ import { type _InternalTypes } from 'remotion';
2
+ import type { Codec } from './codec';
1
3
  export declare const validateSelectedCodecAndProResCombination: ({ codec, proResProfile, }: {
2
- codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
3
- proResProfile: "4444" | "4444-xq" | "hq" | "light" | "proxy" | "standard" | undefined;
4
+ codec: Codec;
5
+ proResProfile: _InternalTypes['ProResProfile'] | undefined;
4
6
  }) => void;
@@ -6,11 +6,11 @@ type PuppeteerCatchOptions = {
6
6
  args: unknown[];
7
7
  timeoutInMilliseconds: number;
8
8
  };
9
- export declare function puppeteerEvaluateWithCatchAndTimeout<ReturnType>({ args, frame, page, pageFunction, timeoutInMilliseconds }: PuppeteerCatchOptions): Promise<{
9
+ export declare function puppeteerEvaluateWithCatchAndTimeout<ReturnType>({ args, frame, page, pageFunction, timeoutInMilliseconds, }: PuppeteerCatchOptions): Promise<{
10
10
  value: ReturnType;
11
11
  size: number;
12
12
  }>;
13
- export declare function puppeteerEvaluateWithCatch<ReturnType>({ page, pageFunction, frame, args }: PuppeteerCatchOptions): Promise<{
13
+ export declare function puppeteerEvaluateWithCatch<ReturnType>({ page, pageFunction, frame, args, }: PuppeteerCatchOptions): Promise<{
14
14
  value: ReturnType;
15
15
  size: number;
16
16
  }>;
@@ -1,10 +1,11 @@
1
1
  import type { Page } from './browser/BrowserPage';
2
+ import type { StillImageFormat } from './image-format';
2
3
  import type { CapturedFrame, RemotionSharedMemoryCapture } from './remotion-shared-memory';
3
4
  export declare const screenshot: (options: {
4
5
  page: Page;
5
- type: "jpeg" | "pdf" | "png" | "webp";
6
- path?: string | undefined;
7
- jpegQuality?: number | undefined;
6
+ type: StillImageFormat;
7
+ path?: string;
8
+ jpegQuality?: number;
8
9
  omitBackground: boolean;
9
10
  width: number;
10
11
  height: number;
package/dist/pure.d.ts CHANGED
@@ -1,17 +1,14 @@
1
+ import { codecSupportsMedia } from './codec-supports-media';
2
+ import { getFramesToRender } from './get-duration-from-frame-range';
3
+ import { getFileExtensionFromCodec } from './get-extension-from-codec';
4
+ import { getExtensionOfFilename } from './get-extension-of-filename';
5
+ import { isAudioCodec } from './is-audio-codec';
6
+ import { validateOutputFilename } from './validate-output-filename';
1
7
  export declare const NoReactAPIs: {
2
- getExtensionOfFilename: (filename: string | null) => string | null;
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
- codec: T;
6
- audioCodecSetting: "aac" | "mp3" | "opus" | "pcm-16" | null;
7
- extension: string | null;
8
- preferLossless: boolean;
9
- separateAudioTo: string | null;
10
- }) => void;
11
- getFramesToRender: (frameRange: import("./frame-range").ResolvedFrameRange[] | import("./frame-range").ResolvedFrameRange, everyNthFrame: number) => number[];
12
- codecSupportsMedia: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => {
13
- video: boolean;
14
- audio: boolean;
15
- };
16
- isAudioCodec: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav" | null | undefined) => codec is "aac" | "mp3" | "wav";
8
+ getExtensionOfFilename: typeof getExtensionOfFilename;
9
+ getFileExtensionFromCodec: typeof getFileExtensionFromCodec;
10
+ validateOutputFilename: typeof validateOutputFilename;
11
+ getFramesToRender: typeof getFramesToRender;
12
+ codecSupportsMedia: typeof codecSupportsMedia;
13
+ isAudioCodec: typeof isAudioCodec;
17
14
  };
@@ -3,7 +3,7 @@ import type { RemotionRawFrame as CdpRemotionRawFrame, RemotionFramePoolBackend
3
3
  import { type StillImageFormat } from './image-format';
4
4
  import type { LogLevel } from './log-level';
5
5
  import type { PixelFormat } from './pixel-format';
6
- export declare const getPreferredRemotionSharedMemoryBackend: () => "auto" | RemotionFramePoolBackend;
6
+ export declare const getPreferredRemotionSharedMemoryBackend: () => 'auto' | RemotionFramePoolBackend;
7
7
  export type RemotionSharedMemoryPoolLifetime = {
8
8
  isRetired: () => boolean;
9
9
  waitForRetirement: () => Promise<void>;