@remotion/renderer 4.0.0-alpha.4 → 4.0.0-alpha10

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 (594) hide show
  1. package/LICENSE.md +8 -8
  2. package/README.md +9 -0
  3. package/client.d.ts +1 -0
  4. package/client.js +1 -0
  5. package/dist/assets/calculate-asset-positions.d.ts +0 -0
  6. package/dist/assets/calculate-asset-positions.js +1 -0
  7. package/dist/assets/calculate-atempo.d.ts +0 -0
  8. package/dist/assets/calculate-atempo.js +0 -0
  9. package/dist/assets/convert-assets-to-file-urls.d.ts +0 -0
  10. package/dist/assets/convert-assets-to-file-urls.js +0 -0
  11. package/dist/assets/download-and-map-assets-to-file.d.ts +2 -1
  12. package/dist/assets/download-and-map-assets-to-file.js +64 -15
  13. package/dist/assets/download-file.d.ts +9 -6
  14. package/dist/assets/download-file.js +67 -9
  15. package/dist/assets/download-map.d.ts +5 -26
  16. package/dist/assets/download-map.js +15 -16
  17. package/dist/assets/ffmpeg-volume-expression.d.ts +2 -1
  18. package/dist/assets/ffmpeg-volume-expression.js +5 -3
  19. package/dist/assets/flatten-volume-array.d.ts +0 -0
  20. package/dist/assets/flatten-volume-array.js +0 -0
  21. package/dist/assets/get-audio-channels.d.ts +1 -2
  22. package/dist/assets/get-audio-channels.js +5 -8
  23. package/dist/assets/get-video-stream-duration.d.ts +7 -1
  24. package/dist/assets/get-video-stream-duration.js +50 -14
  25. package/dist/assets/read-file.d.ts +1 -1
  26. package/dist/assets/read-file.js +4 -6
  27. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  28. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  29. package/dist/assets/sanitize-filename.d.ts +0 -0
  30. package/dist/assets/sanitize-filename.js +0 -0
  31. package/dist/assets/sanitize-filepath.d.ts +0 -0
  32. package/dist/assets/sanitize-filepath.js +2 -2
  33. package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
  34. package/dist/assets/truncate-utf8-bytes.js +0 -0
  35. package/dist/assets/types.d.ts +1 -0
  36. package/dist/assets/types.js +0 -0
  37. package/dist/audio-codec.d.ts +28 -0
  38. package/dist/audio-codec.js +83 -0
  39. package/dist/browser/Browser.d.ts +8 -6
  40. package/dist/browser/Browser.js +48 -45
  41. package/dist/browser/BrowserConnector.d.ts +0 -0
  42. package/dist/browser/BrowserConnector.js +0 -0
  43. package/dist/browser/BrowserFetcher.d.ts +15 -63
  44. package/dist/browser/BrowserFetcher.js +151 -237
  45. package/dist/browser/BrowserPage.d.ts +12 -6
  46. package/dist/browser/BrowserPage.js +8 -11
  47. package/dist/browser/BrowserRunner.d.ts +2 -5
  48. package/dist/browser/BrowserRunner.js +42 -92
  49. package/dist/browser/Connection.d.ts +0 -0
  50. package/dist/browser/Connection.js +1 -1
  51. package/dist/browser/ConsoleMessage.d.ts +0 -0
  52. package/dist/browser/ConsoleMessage.js +0 -0
  53. package/dist/browser/DOMWorld.d.ts +5 -4
  54. package/dist/browser/DOMWorld.js +8 -1
  55. package/dist/browser/Errors.d.ts +0 -0
  56. package/dist/browser/Errors.js +0 -0
  57. package/dist/browser/EvalTypes.d.ts +0 -0
  58. package/dist/browser/EvalTypes.js +0 -0
  59. package/dist/browser/EventEmitter.d.ts +0 -0
  60. package/dist/browser/EventEmitter.js +0 -0
  61. package/dist/browser/ExecutionContext.d.ts +0 -0
  62. package/dist/browser/ExecutionContext.js +0 -0
  63. package/dist/browser/FrameManager.d.ts +0 -2
  64. package/dist/browser/FrameManager.js +2 -6
  65. package/dist/browser/HTTPRequest.d.ts +0 -0
  66. package/dist/browser/HTTPRequest.js +0 -0
  67. package/dist/browser/HTTPResponse.d.ts +0 -0
  68. package/dist/browser/HTTPResponse.js +0 -0
  69. package/dist/browser/JSHandle.d.ts +0 -0
  70. package/dist/browser/JSHandle.js +0 -0
  71. package/dist/browser/LaunchOptions.d.ts +1 -5
  72. package/dist/browser/LaunchOptions.js +0 -0
  73. package/dist/browser/Launcher.d.ts +9 -3
  74. package/dist/browser/Launcher.js +17 -387
  75. package/dist/browser/LifecycleWatcher.d.ts +0 -0
  76. package/dist/browser/LifecycleWatcher.js +0 -0
  77. package/dist/browser/NetworkEventManager.d.ts +0 -0
  78. package/dist/browser/NetworkEventManager.js +0 -0
  79. package/dist/browser/NetworkManager.d.ts +0 -0
  80. package/dist/browser/NetworkManager.js +0 -0
  81. package/dist/browser/NodeWebSocketTransport.d.ts +0 -0
  82. package/dist/browser/NodeWebSocketTransport.js +5 -5
  83. package/dist/browser/Product.d.ts +0 -0
  84. package/dist/browser/Product.js +0 -0
  85. package/dist/browser/PuppeteerNode.d.ts +2 -5
  86. package/dist/browser/PuppeteerNode.js +2 -14
  87. package/dist/browser/PuppeteerViewport.d.ts +0 -0
  88. package/dist/browser/PuppeteerViewport.js +0 -0
  89. package/dist/browser/ScreenshotOptions.d.ts +0 -14
  90. package/dist/browser/ScreenshotOptions.js +0 -1
  91. package/dist/browser/Target.d.ts +2 -2
  92. package/dist/browser/Target.js +0 -0
  93. package/dist/browser/TaskQueue.d.ts +0 -0
  94. package/dist/browser/TaskQueue.js +0 -0
  95. package/dist/browser/TimeoutSettings.d.ts +0 -0
  96. package/dist/browser/TimeoutSettings.js +0 -0
  97. package/dist/browser/assert.d.ts +0 -0
  98. package/dist/browser/assert.js +0 -0
  99. package/dist/browser/create-browser-fetcher.d.ts +0 -0
  100. package/dist/browser/create-browser-fetcher.js +34 -90
  101. package/dist/browser/devtools-commands.d.ts +5 -1
  102. package/dist/browser/devtools-commands.js +0 -0
  103. package/dist/browser/devtools-types.d.ts +82 -0
  104. package/dist/browser/devtools-types.js +0 -0
  105. package/dist/browser/get-download-destination.d.ts +0 -0
  106. package/dist/browser/get-download-destination.js +8 -8
  107. package/dist/browser/is-target-closed-err.d.ts +1 -0
  108. package/dist/browser/is-target-closed-err.js +9 -0
  109. package/dist/browser/mitt/index.d.ts +0 -0
  110. package/dist/browser/mitt/index.js +0 -0
  111. package/dist/browser/node.d.ts +0 -0
  112. package/dist/browser/node.js +0 -0
  113. package/dist/browser/revisions.d.ts +0 -1
  114. package/dist/browser/revisions.js +0 -1
  115. package/dist/browser/util.d.ts +2 -2
  116. package/dist/browser/util.js +0 -0
  117. package/dist/browser-executable.d.ts +0 -0
  118. package/dist/browser-executable.js +0 -0
  119. package/dist/browser-log.d.ts +0 -0
  120. package/dist/browser-log.js +0 -0
  121. package/dist/browser.d.ts +0 -0
  122. package/dist/browser.js +0 -0
  123. package/dist/calculate-ffmpeg-filters.d.ts +2 -1
  124. package/dist/calculate-ffmpeg-filters.js +1 -0
  125. package/dist/calculate-sar-dar-pixels.d.ts +0 -0
  126. package/dist/calculate-sar-dar-pixels.js +0 -0
  127. package/dist/call-ffmpeg.d.ts +14 -0
  128. package/dist/call-ffmpeg.js +42 -0
  129. package/dist/can-use-parallel-encoding.d.ts +0 -0
  130. package/dist/can-use-parallel-encoding.js +0 -0
  131. package/dist/chalk/index.d.ts +54 -0
  132. package/dist/chalk/index.js +135 -0
  133. package/dist/chalk/is-color-supported.d.ts +1 -0
  134. package/dist/chalk/is-color-supported.js +37 -0
  135. package/dist/check-apple-silicon.d.ts +1 -0
  136. package/dist/check-apple-silicon.js +12 -0
  137. package/dist/chunk.d.ts +0 -0
  138. package/dist/chunk.js +0 -0
  139. package/dist/client.d.ts +204 -0
  140. package/dist/client.js +49 -0
  141. package/dist/codec-supports-media.d.ts +2 -0
  142. package/dist/codec-supports-media.js +23 -1
  143. package/dist/codec.d.ts +0 -0
  144. package/dist/codec.js +0 -0
  145. package/dist/combine-videos.d.ts +6 -2
  146. package/dist/combine-videos.js +18 -18
  147. package/dist/compositor/compose.d.ts +17 -0
  148. package/dist/compositor/compose.js +71 -0
  149. package/dist/compositor/compositor.d.ts +11 -0
  150. package/dist/compositor/compositor.js +207 -0
  151. package/dist/compositor/get-executable-path.d.ts +1 -0
  152. package/dist/compositor/get-executable-path.js +57 -0
  153. package/dist/compositor/make-nonce.d.ts +1 -0
  154. package/dist/compositor/make-nonce.js +8 -0
  155. package/dist/compositor/payloads.d.ts +68 -0
  156. package/dist/compositor/payloads.js +2 -0
  157. package/dist/compress-assets.d.ts +0 -0
  158. package/dist/compress-assets.js +0 -0
  159. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +0 -0
  160. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +0 -0
  161. package/dist/convert-to-positive-frame-index.d.ts +4 -0
  162. package/dist/convert-to-positive-frame-index.js +8 -0
  163. package/dist/create-ffmpeg-complex-filter.d.ts +6 -5
  164. package/dist/create-ffmpeg-complex-filter.js +6 -4
  165. package/dist/create-ffmpeg-merge-filter.d.ts +5 -1
  166. package/dist/create-ffmpeg-merge-filter.js +21 -13
  167. package/dist/create-silent-audio.d.ts +1 -3
  168. package/dist/create-silent-audio.js +3 -6
  169. package/dist/crf.d.ts +5 -1
  170. package/dist/crf.js +41 -8
  171. package/dist/cycle-browser-tabs.d.ts +2 -5
  172. package/dist/cycle-browser-tabs.js +5 -5
  173. package/dist/delay-render-embedded-stack.d.ts +0 -0
  174. package/dist/delay-render-embedded-stack.js +0 -0
  175. package/dist/delete-directory.d.ts +1 -1
  176. package/dist/delete-directory.js +43 -17
  177. package/dist/determine-resize-params.d.ts +1 -0
  178. package/dist/determine-resize-params.js +10 -0
  179. package/dist/determine-vcodec-ffmpeg-flags.d.ts +2 -0
  180. package/dist/determine-vcodec-ffmpeg-flags.js +13 -0
  181. package/dist/does-have-m2-bug.d.ts +3 -0
  182. package/dist/does-have-m2-bug.js +12 -0
  183. package/dist/ensure-ffmpeg.d.ts +18 -0
  184. package/dist/ensure-ffmpeg.js +58 -0
  185. package/dist/ensure-frames-in-order.d.ts +0 -0
  186. package/dist/ensure-frames-in-order.js +0 -0
  187. package/dist/ensure-output-directory.d.ts +0 -0
  188. package/dist/ensure-output-directory.js +5 -5
  189. package/dist/ensure-presentation-timestamp.d.ts +14 -1
  190. package/dist/ensure-presentation-timestamp.js +36 -17
  191. package/dist/error-handling/handle-javascript-exception.d.ts +0 -0
  192. package/dist/error-handling/handle-javascript-exception.js +10 -0
  193. package/dist/error-handling/symbolicate-error.d.ts +0 -0
  194. package/dist/error-handling/symbolicate-error.js +2 -1
  195. package/dist/error-handling/symbolicateable-error.d.ts +0 -0
  196. package/dist/error-handling/symbolicateable-error.js +0 -0
  197. package/dist/extract-frame-from-video.d.ts +1 -0
  198. package/dist/extract-frame-from-video.js +47 -110
  199. package/dist/ffmpeg-executable.d.ts +0 -0
  200. package/dist/ffmpeg-executable.js +0 -0
  201. package/dist/ffmpeg-filter-file.d.ts +6 -1
  202. package/dist/ffmpeg-filter-file.js +40 -8
  203. package/dist/ffmpeg-flags.d.ts +20 -2
  204. package/dist/ffmpeg-flags.js +205 -9
  205. package/dist/ffmpeg-override.d.ts +4 -0
  206. package/dist/ffmpeg-override.js +2 -0
  207. package/dist/file-extensions.d.ts +14 -0
  208. package/dist/file-extensions.js +76 -0
  209. package/dist/find-closest-package-json.d.ts +2 -0
  210. package/dist/find-closest-package-json.js +31 -0
  211. package/dist/frame-range.d.ts +0 -0
  212. package/dist/frame-range.js +0 -0
  213. package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -0
  214. package/dist/frame-to-ffmpeg-timestamp.js +0 -0
  215. package/dist/get-browser-instance.d.ts +2 -2
  216. package/dist/get-browser-instance.js +1 -1
  217. package/dist/get-can-extract-frames-fast.d.ts +14 -0
  218. package/dist/get-can-extract-frames-fast.js +71 -0
  219. package/dist/get-codec-name.d.ts +0 -0
  220. package/dist/get-codec-name.js +0 -0
  221. package/dist/get-compositions.d.ts +14 -8
  222. package/dist/get-compositions.js +25 -7
  223. package/dist/get-concurrency.d.ts +1 -1
  224. package/dist/get-concurrency.js +11 -4
  225. package/dist/get-duration-from-frame-range.d.ts +0 -0
  226. package/dist/get-duration-from-frame-range.js +0 -0
  227. package/dist/get-extension-from-codec.d.ts +5 -1
  228. package/dist/get-extension-from-codec.js +56 -32
  229. package/dist/get-extension-of-filename.d.ts +0 -0
  230. package/dist/get-extension-of-filename.js +5 -1
  231. package/dist/get-frame-of-video-slow.d.ts +17 -0
  232. package/dist/get-frame-of-video-slow.js +72 -0
  233. package/dist/get-frame-padded-index.d.ts +2 -1
  234. package/dist/get-frame-padded-index.js +3 -2
  235. package/dist/get-frame-to-render.d.ts +0 -0
  236. package/dist/get-frame-to-render.js +1 -1
  237. package/dist/get-local-browser-executable.d.ts +0 -0
  238. package/dist/get-local-browser-executable.js +7 -17
  239. package/dist/get-port.d.ts +4 -1
  240. package/dist/get-port.js +8 -8
  241. package/dist/get-prores-profile-name.d.ts +0 -0
  242. package/dist/get-prores-profile-name.js +0 -0
  243. package/dist/get-video-info.d.ts +6 -1
  244. package/dist/get-video-info.js +19 -9
  245. package/dist/get-video-threads-flag.d.ts +0 -0
  246. package/dist/get-video-threads-flag.js +3 -3
  247. package/dist/guess-extension-for-media.d.ts +3 -1
  248. package/dist/guess-extension-for-media.js +5 -8
  249. package/dist/image-format.d.ts +12 -6
  250. package/dist/image-format.js +19 -13
  251. package/dist/index.d.ts +284 -51
  252. package/dist/index.js +50 -36
  253. package/dist/is-audio-codec.d.ts +0 -0
  254. package/dist/is-audio-codec.js +0 -0
  255. package/dist/is-beyond-last-frame.d.ts +0 -0
  256. package/dist/is-beyond-last-frame.js +0 -0
  257. package/dist/is-serve-url.d.ts +0 -0
  258. package/dist/is-serve-url.js +0 -0
  259. package/dist/jpeg-quality.d.ts +1 -0
  260. package/dist/jpeg-quality.js +21 -0
  261. package/dist/last-frame-from-video-cache.d.ts +1 -0
  262. package/dist/last-frame-from-video-cache.js +0 -0
  263. package/dist/legacy-webpack-config.d.ts +0 -0
  264. package/dist/legacy-webpack-config.js +0 -0
  265. package/dist/locks.d.ts +7 -0
  266. package/dist/locks.js +44 -0
  267. package/dist/log-level.d.ts +0 -0
  268. package/dist/log-level.js +0 -0
  269. package/dist/logger.d.ts +22 -0
  270. package/dist/logger.js +61 -0
  271. package/dist/make-cancel-signal.d.ts +11 -0
  272. package/dist/make-cancel-signal.js +24 -1
  273. package/dist/merge-audio-track.d.ts +3 -3
  274. package/dist/merge-audio-track.js +40 -34
  275. package/dist/mime-db.d.ts +0 -0
  276. package/dist/mime-db.js +0 -0
  277. package/dist/mime-types.d.ts +1 -0
  278. package/dist/mime-types.js +8 -3
  279. package/dist/normalize-serve-url.d.ts +0 -0
  280. package/dist/normalize-serve-url.js +0 -0
  281. package/dist/offthread-video-server.d.ts +12 -8
  282. package/dist/offthread-video-server.js +67 -47
  283. package/dist/open-browser.d.ts +8 -2
  284. package/dist/open-browser.js +16 -18
  285. package/dist/options/audio-bitrate.d.ts +2 -0
  286. package/dist/options/audio-bitrate.js +11 -0
  287. package/dist/options/crf.d.ts +2 -0
  288. package/dist/options/crf.js +11 -0
  289. package/dist/options/enforce-audio.d.ts +2 -0
  290. package/dist/options/enforce-audio.js +11 -0
  291. package/dist/options/jpeg-quality.d.ts +2 -0
  292. package/dist/options/jpeg-quality.js +11 -0
  293. package/dist/options/mute.d.ts +2 -0
  294. package/dist/options/mute.js +11 -0
  295. package/dist/options/option.d.ts +8 -0
  296. package/dist/options/option.js +2 -0
  297. package/dist/options/scale.d.ts +2 -0
  298. package/dist/options/scale.js +11 -0
  299. package/dist/options/video-bitrate.d.ts +2 -0
  300. package/dist/options/video-bitrate.js +11 -0
  301. package/dist/options/video-codec.d.ts +2 -0
  302. package/dist/options/video-codec.js +11 -0
  303. package/dist/overwrite.d.ts +0 -0
  304. package/dist/overwrite.js +0 -0
  305. package/dist/p-limit.d.ts +0 -0
  306. package/dist/p-limit.js +0 -0
  307. package/dist/parse-browser-error-stack.d.ts +0 -0
  308. package/dist/parse-browser-error-stack.js +0 -0
  309. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  310. package/dist/parse-ffmpeg-progress.js +0 -0
  311. package/dist/perf.d.ts +1 -1
  312. package/dist/perf.js +9 -7
  313. package/dist/pixel-format.d.ts +1 -1
  314. package/dist/pixel-format.js +3 -0
  315. package/dist/pool.d.ts +0 -0
  316. package/dist/pool.js +0 -0
  317. package/dist/prepare-server.d.ts +8 -5
  318. package/dist/prepare-server.js +22 -13
  319. package/dist/preprocess-audio-track.d.ts +6 -4
  320. package/dist/preprocess-audio-track.js +7 -8
  321. package/dist/prespawn-ffmpeg.d.ts +10 -9
  322. package/dist/prespawn-ffmpeg.js +51 -28
  323. package/dist/prestitcher-memory-usage.d.ts +0 -4
  324. package/dist/prestitcher-memory-usage.js +4 -5
  325. package/dist/prores-profile.d.ts +5 -3
  326. package/dist/prores-profile.js +8 -8
  327. package/dist/provide-screenshot.d.ts +8 -4
  328. package/dist/provide-screenshot.js +5 -2
  329. package/dist/puppeteer-evaluate.d.ts +0 -0
  330. package/dist/puppeteer-evaluate.js +20 -12
  331. package/dist/puppeteer-screenshot.d.ts +12 -2
  332. package/dist/puppeteer-screenshot.js +19 -45
  333. package/dist/quality.d.ts +0 -0
  334. package/dist/quality.js +0 -0
  335. package/dist/redirect-status-codes.d.ts +1 -0
  336. package/dist/redirect-status-codes.js +6 -0
  337. package/dist/render-frames.d.ts +26 -22
  338. package/dist/render-frames.js +204 -109
  339. package/dist/render-media.d.ts +52 -19
  340. package/dist/render-media.js +162 -55
  341. package/dist/render-still.d.ts +26 -14
  342. package/dist/render-still.js +97 -46
  343. package/dist/replace-browser.d.ts +6 -0
  344. package/dist/replace-browser.js +47 -0
  345. package/dist/resolve-asset-src.d.ts +0 -0
  346. package/dist/resolve-asset-src.js +2 -2
  347. package/dist/sample-rate.d.ts +0 -0
  348. package/dist/sample-rate.js +0 -0
  349. package/dist/screenshot-dom-element.d.ts +8 -4
  350. package/dist/screenshot-dom-element.js +15 -4
  351. package/dist/screenshot-task.d.ts +12 -2
  352. package/dist/screenshot-task.js +44 -14
  353. package/dist/seek-to-frame.d.ts +1 -0
  354. package/dist/seek-to-frame.js +49 -3
  355. package/dist/select-composition.d.ts +33 -0
  356. package/dist/select-composition.js +119 -0
  357. package/dist/serve-handler/index.d.ts +1 -1
  358. package/dist/serve-handler/index.js +21 -19
  359. package/dist/serve-handler/is-path-inside.d.ts +0 -0
  360. package/dist/serve-handler/is-path-inside.js +3 -3
  361. package/dist/serve-handler/range-parser.d.ts +0 -0
  362. package/dist/serve-handler/range-parser.js +0 -0
  363. package/dist/serve-static.d.ts +6 -3
  364. package/dist/serve-static.js +86 -45
  365. package/dist/set-props-and-env.d.ts +7 -3
  366. package/dist/set-props-and-env.js +50 -16
  367. package/dist/stitch-frames-to-video.d.ts +16 -11
  368. package/dist/stitch-frames-to-video.js +165 -79
  369. package/dist/stringify-ffmpeg-filter.d.ts +10 -2
  370. package/dist/stringify-ffmpeg-filter.js +37 -34
  371. package/dist/symbolicate-stacktrace.d.ts +0 -0
  372. package/dist/symbolicate-stacktrace.js +0 -0
  373. package/dist/take-frame-and-compose.d.ts +22 -0
  374. package/dist/take-frame-and-compose.js +103 -0
  375. package/dist/tmp-dir.d.ts +0 -0
  376. package/dist/tmp-dir.js +7 -8
  377. package/dist/truthy.d.ts +0 -0
  378. package/dist/truthy.js +0 -0
  379. package/dist/try-to-extract-frame-of-video-fast.d.ts +12 -0
  380. package/dist/try-to-extract-frame-of-video-fast.js +55 -0
  381. package/dist/types.d.ts +0 -0
  382. package/dist/types.js +0 -0
  383. package/dist/validate-concurrency.d.ts +2 -0
  384. package/dist/validate-concurrency.js +21 -10
  385. package/dist/validate-even-dimensions-with-codec.d.ts +0 -0
  386. package/dist/validate-even-dimensions-with-codec.js +0 -0
  387. package/dist/validate-every-nth-frame.d.ts +2 -1
  388. package/dist/validate-every-nth-frame.js +8 -1
  389. package/dist/validate-ffmpeg-override.d.ts +2 -0
  390. package/dist/validate-ffmpeg-override.js +12 -0
  391. package/dist/validate-ffmpeg.d.ts +7 -2
  392. package/dist/validate-ffmpeg.js +48 -43
  393. package/dist/validate-number-of-gif-loops.d.ts +2 -0
  394. package/dist/validate-number-of-gif-loops.js +24 -0
  395. package/dist/validate-opengl-renderer.d.ts +0 -0
  396. package/dist/validate-opengl-renderer.js +0 -0
  397. package/dist/validate-output-filename.d.ts +7 -2
  398. package/dist/validate-output-filename.js +20 -51
  399. package/dist/validate-puppeteer-timeout.d.ts +0 -0
  400. package/dist/validate-puppeteer-timeout.js +2 -1
  401. package/dist/validate-scale.d.ts +0 -0
  402. package/dist/validate-scale.js +0 -0
  403. package/dist/validate-videobitrate.d.ts +1 -0
  404. package/dist/validate-videobitrate.js +20 -0
  405. package/dist/wait-for-symbolication-error-to-be-done.d.ts +0 -0
  406. package/dist/wait-for-symbolication-error-to-be-done.js +5 -31
  407. package/dist/warn-about-ffmpeg-version.d.ts +5 -0
  408. package/dist/warn-about-ffmpeg-version.js +37 -0
  409. package/dist/ws/ws-types.d.ts +0 -0
  410. package/dist/ws/ws-types.js +2 -1
  411. package/install-toolchain.mjs +36 -0
  412. package/package.json +70 -60
  413. package/types/ws/index.d.ts +5 -5
  414. package/.prettierrc.js +0 -14
  415. package/dist/add-silent-audio-if-necessary.d.ts +0 -8
  416. package/dist/add-silent-audio-if-necessary.d.ts.map +0 -1
  417. package/dist/add-silent-audio-if-necessary.js +0 -51
  418. package/dist/add-silent-audio-if-necessary.js.map +0 -1
  419. package/dist/assets/asset-is-used-at-time.d.ts +0 -3
  420. package/dist/assets/asset-is-used-at-time.d.ts.map +0 -1
  421. package/dist/assets/asset-is-used-at-time.js +0 -8
  422. package/dist/assets/asset-is-used-at-time.js.map +0 -1
  423. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  424. package/dist/assets/calculate-asset-positions.js.map +0 -1
  425. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  426. package/dist/assets/calculate-atempo.js.map +0 -1
  427. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  428. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  429. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  430. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  431. package/dist/assets/download-file.d.ts.map +0 -1
  432. package/dist/assets/download-file.js.map +0 -1
  433. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  434. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  435. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  436. package/dist/assets/flatten-volume-array.js.map +0 -1
  437. package/dist/assets/get-asset-audio-details.d.ts +0 -5
  438. package/dist/assets/get-asset-audio-details.d.ts.map +0 -1
  439. package/dist/assets/get-asset-audio-details.js +0 -21
  440. package/dist/assets/get-asset-audio-details.js.map +0 -1
  441. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  442. package/dist/assets/get-audio-channels.js.map +0 -1
  443. package/dist/assets/get-simulatenous-assets.d.ts +0 -3
  444. package/dist/assets/get-simulatenous-assets.d.ts.map +0 -1
  445. package/dist/assets/get-simulatenous-assets.js +0 -14
  446. package/dist/assets/get-simulatenous-assets.js.map +0 -1
  447. package/dist/assets/read-file.d.ts.map +0 -1
  448. package/dist/assets/read-file.js.map +0 -1
  449. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  450. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  451. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  452. package/dist/assets/sanitize-filename.js.map +0 -1
  453. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  454. package/dist/assets/sanitize-filepath.js.map +0 -1
  455. package/dist/assets/split-assets-into-segments.d.ts +0 -6
  456. package/dist/assets/split-assets-into-segments.d.ts.map +0 -1
  457. package/dist/assets/split-assets-into-segments.js +0 -89
  458. package/dist/assets/split-assets-into-segments.js.map +0 -1
  459. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  460. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  461. package/dist/assets/types.d.ts.map +0 -1
  462. package/dist/assets/types.js.map +0 -1
  463. package/dist/assets-to-ffmpeg-inputs.d.ts +0 -7
  464. package/dist/assets-to-ffmpeg-inputs.d.ts.map +0 -1
  465. package/dist/assets-to-ffmpeg-inputs.js +0 -15
  466. package/dist/assets-to-ffmpeg-inputs.js.map +0 -1
  467. package/dist/browser-log.d.ts.map +0 -1
  468. package/dist/browser-log.js.map +0 -1
  469. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  470. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  471. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  472. package/dist/can-use-parallel-encoding.js.map +0 -1
  473. package/dist/combine-videos.d.ts.map +0 -1
  474. package/dist/combine-videos.js.map +0 -1
  475. package/dist/convert-to-pcm.d.ts +0 -6
  476. package/dist/convert-to-pcm.js +0 -20
  477. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  478. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  479. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  480. package/dist/cycle-browser-tabs.js.map +0 -1
  481. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  482. package/dist/delay-render-embedded-stack.js.map +0 -1
  483. package/dist/delete-directory.d.ts.map +0 -1
  484. package/dist/delete-directory.js.map +0 -1
  485. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  486. package/dist/ensure-frames-in-order.js.map +0 -1
  487. package/dist/ensure-output-directory.d.ts.map +0 -1
  488. package/dist/ensure-output-directory.js.map +0 -1
  489. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  490. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  491. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  492. package/dist/error-handling/symbolicate-error.js.map +0 -1
  493. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  494. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  495. package/dist/ffmpeg-flags.d.ts.map +0 -1
  496. package/dist/ffmpeg-flags.js.map +0 -1
  497. package/dist/get-audio-codec-name.d.ts +0 -2
  498. package/dist/get-audio-codec-name.d.ts.map +0 -1
  499. package/dist/get-audio-codec-name.js +0 -28
  500. package/dist/get-audio-codec-name.js.map +0 -1
  501. package/dist/get-browser-instance.d.ts.map +0 -1
  502. package/dist/get-browser-instance.js.map +0 -1
  503. package/dist/get-codec-name.d.ts.map +0 -1
  504. package/dist/get-codec-name.js.map +0 -1
  505. package/dist/get-compositions.d.ts.map +0 -1
  506. package/dist/get-compositions.js.map +0 -1
  507. package/dist/get-concurrency.d.ts.map +0 -1
  508. package/dist/get-concurrency.js.map +0 -1
  509. package/dist/get-extension-from-codec.d.ts.map +0 -1
  510. package/dist/get-extension-from-codec.js.map +0 -1
  511. package/dist/get-frame-to-render.d.ts.map +0 -1
  512. package/dist/get-frame-to-render.js.map +0 -1
  513. package/dist/get-local-browser-executable.d.ts.map +0 -1
  514. package/dist/get-local-browser-executable.js.map +0 -1
  515. package/dist/get-port.d.ts.map +0 -1
  516. package/dist/get-port.js.map +0 -1
  517. package/dist/get-prores-profile-name.d.ts.map +0 -1
  518. package/dist/get-prores-profile-name.js.map +0 -1
  519. package/dist/image-format.d.ts.map +0 -1
  520. package/dist/image-format.js.map +0 -1
  521. package/dist/index.d.ts.map +0 -1
  522. package/dist/index.js.map +0 -1
  523. package/dist/is-serve-url.d.ts.map +0 -1
  524. package/dist/is-serve-url.js.map +0 -1
  525. package/dist/legacy-webpack-config.d.ts.map +0 -1
  526. package/dist/legacy-webpack-config.js.map +0 -1
  527. package/dist/make-assets-download-dir.d.ts +0 -1
  528. package/dist/make-assets-download-dir.d.ts.map +0 -1
  529. package/dist/make-assets-download-dir.js +0 -13
  530. package/dist/make-assets-download-dir.js.map +0 -1
  531. package/dist/normalize-serve-url.d.ts.map +0 -1
  532. package/dist/normalize-serve-url.js.map +0 -1
  533. package/dist/open-browser.d.ts.map +0 -1
  534. package/dist/open-browser.js.map +0 -1
  535. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  536. package/dist/parse-browser-error-stack.js.map +0 -1
  537. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  538. package/dist/parse-ffmpeg-progress.js.map +0 -1
  539. package/dist/pool.d.ts.map +0 -1
  540. package/dist/pool.js.map +0 -1
  541. package/dist/prepare-server.d.ts.map +0 -1
  542. package/dist/prepare-server.js.map +0 -1
  543. package/dist/provide-screenshot.d.ts.map +0 -1
  544. package/dist/provide-screenshot.js.map +0 -1
  545. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  546. package/dist/puppeteer-evaluate.js.map +0 -1
  547. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  548. package/dist/puppeteer-screenshot.js.map +0 -1
  549. package/dist/render-media.d.ts.map +0 -1
  550. package/dist/render-media.js.map +0 -1
  551. package/dist/render-still.d.ts.map +0 -1
  552. package/dist/render-still.js.map +0 -1
  553. package/dist/render.d.ts +0 -45
  554. package/dist/render.d.ts.map +0 -1
  555. package/dist/render.js +0 -245
  556. package/dist/render.js.map +0 -1
  557. package/dist/resolve-asset-src.d.ts.map +0 -1
  558. package/dist/resolve-asset-src.js.map +0 -1
  559. package/dist/sample-rate.d.ts.map +0 -1
  560. package/dist/sample-rate.js.map +0 -1
  561. package/dist/screenshot-dom-element.d.ts.map +0 -1
  562. package/dist/screenshot-dom-element.js.map +0 -1
  563. package/dist/screenshot-task.d.ts.map +0 -1
  564. package/dist/screenshot-task.js.map +0 -1
  565. package/dist/seek-to-frame.d.ts.map +0 -1
  566. package/dist/seek-to-frame.js.map +0 -1
  567. package/dist/serve-static.d.ts.map +0 -1
  568. package/dist/serve-static.js.map +0 -1
  569. package/dist/set-props-and-env.d.ts.map +0 -1
  570. package/dist/set-props-and-env.js.map +0 -1
  571. package/dist/stitcher.d.ts +0 -32
  572. package/dist/stitcher.d.ts.map +0 -1
  573. package/dist/stitcher.js +0 -204
  574. package/dist/stitcher.js.map +0 -1
  575. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  576. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  577. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  578. package/dist/symbolicate-stacktrace.js.map +0 -1
  579. package/dist/tmp-dir.d.ts.map +0 -1
  580. package/dist/tmp-dir.js.map +0 -1
  581. package/dist/types.d.ts.map +0 -1
  582. package/dist/types.js.map +0 -1
  583. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  584. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  585. package/dist/validate-ffmpeg.d.ts.map +0 -1
  586. package/dist/validate-ffmpeg.js.map +0 -1
  587. package/dist/validate-frame.d.ts +0 -1
  588. package/dist/validate-frame.js +0 -24
  589. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  590. package/dist/validate-puppeteer-timeout.js.map +0 -1
  591. package/dist/validate-scale.d.ts.map +0 -1
  592. package/dist/validate-scale.js.map +0 -1
  593. package/tsconfig.json +0 -10
  594. package/vitest.config.ts +0 -8
package/dist/index.d.ts CHANGED
@@ -1,99 +1,92 @@
1
+ /// <reference types="node" />
1
2
  import execa from 'execa';
3
+ import { HeadlessBrowser } from './browser/Browser';
2
4
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
3
5
  import { mimeContentType, mimeLookup } from './mime-types';
4
6
  import * as perf from './perf';
5
7
  export type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
6
8
  export type { DownloadMap } from './assets/download-map';
9
+ export { AudioCodec } from './audio-codec';
7
10
  export { Browser } from './browser';
8
11
  export { BrowserExecutable } from './browser-executable';
9
12
  export { BrowserLog } from './browser-log';
13
+ export type { HeadlessBrowser } from './browser/Browser';
10
14
  export { Codec, CodecOrUndefined } from './codec';
11
- export { combineVideos } from './combine-videos';
12
15
  export { Crf } from './crf';
13
16
  export { ErrorWithStackFrame } from './error-handling/handle-javascript-exception';
14
- export { FfmpegExecutable } from './ffmpeg-executable';
15
- export { FfmpegVersion } from './ffmpeg-flags';
17
+ export type { FfmpegOverrideFn } from './ffmpeg-override';
18
+ export { FileExtension } from './file-extensions';
16
19
  export { FrameRange } from './frame-range';
17
20
  export { getCompositions } from './get-compositions';
18
- export { ImageFormat, StillImageFormat, validateSelectedPixelFormatAndImageFormatCombination, validImageFormats, } from './image-format';
21
+ export { ImageFormat, StillImageFormat, validateSelectedPixelFormatAndImageFormatCombination, VideoImageFormat, } from './image-format';
19
22
  export type { LogLevel } from './log-level';
20
23
  export { CancelSignal, makeCancelSignal } from './make-cancel-signal';
21
24
  export { openBrowser } from './open-browser';
22
25
  export type { ChromiumOptions } from './open-browser';
26
+ export { RemotionOption } from './options/option';
23
27
  export { PixelFormat } from './pixel-format';
24
28
  export { ProResProfile } from './prores-profile';
25
29
  export { renderFrames } from './render-frames';
26
- export { renderMedia, RenderMediaOnProgress, RenderMediaOptions, StitchingState, } from './render-media';
27
- export { renderStill } from './render-still';
30
+ export { renderMedia, RenderMediaOnProgress, RenderMediaOptions, SlowFrame, StitchingState, } from './render-media';
31
+ export { renderStill, RenderStillOptions } from './render-still';
32
+ export { selectComposition } from './select-composition';
28
33
  export { StitcherOptions, stitchFramesToVideo } from './stitch-frames-to-video';
29
34
  export { SymbolicatedStackFrame } from './symbolicate-stacktrace';
30
35
  export { OnStartData, RenderFramesOutput } from './types';
31
36
  export { OpenGlRenderer } from './validate-opengl-renderer';
37
+ export { validateOutputFilename } from './validate-output-filename';
32
38
  export declare const RenderInternals: {
33
39
  ensureLocalBrowser: (browser: import("./browser").Browser, preferredBrowserExecutable: import("./browser-executable").BrowserExecutable) => Promise<void>;
34
- ffmpegHasFeature: ({ ffmpegExecutable, feature, isLambda, }: {
35
- ffmpegExecutable: string | null;
36
- feature: "enable-gpl" | "enable-libx265" | "enable-libvpx";
37
- isLambda: boolean;
38
- }) => Promise<boolean>;
39
- getActualConcurrency: (userPreference: number | null) => number;
40
- getFfmpegVersion: (options: {
41
- ffmpegExecutable: string | null;
42
- }) => Promise<import("./ffmpeg-flags").FfmpegVersion>;
43
- validateFfmpeg: (customFfmpegBinary: string | null) => Promise<void>;
44
- binaryExists: (name: "ffmpeg" | "brew", localFFmpeg: string | null) => Promise<boolean>;
45
- getFfmpegBuildInfo: (options: {
46
- ffmpegExecutable: string | null;
47
- }) => Promise<string>;
40
+ getActualConcurrency: (userPreference: string | number | null) => number;
48
41
  serveStatic: (path: string | null, options: {
49
42
  port: number | null;
50
- ffmpegExecutable: import("./ffmpeg-executable").FfmpegExecutable;
51
- ffprobeExecutable: import("./ffmpeg-executable").FfmpegExecutable;
52
43
  onDownload: import("./assets/download-and-map-assets-to-file").RenderMediaOnDownload;
53
44
  onError: (err: Error) => void;
54
45
  downloadMap: import("./assets/download-map").DownloadMap;
46
+ remotionRoot: string;
47
+ concurrency: number;
48
+ verbose: boolean;
49
+ indent: boolean;
55
50
  }) => Promise<{
56
51
  port: number;
57
52
  close: () => Promise<void>;
53
+ compositor: import("./compositor/compositor").Compositor;
58
54
  }>;
59
55
  validateEvenDimensionsWithCodec: ({ width, height, codec, scale, }: {
60
56
  width: number;
61
57
  height: number;
62
58
  scale: number;
63
- codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
59
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
64
60
  }) => void;
65
- normalizeServeUrl: (unnormalized: string) => string;
66
- spawnFfmpeg: (options: import("./stitch-frames-to-video").StitcherOptions) => Promise<{
67
- task: Promise<Buffer | null>;
68
- getLogs: () => string;
69
- }>;
70
- getFileExtensionFromCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", type: "chunk" | "final") => "mp3" | "aac" | "wav" | "gif" | "mp4" | "mkv" | "mov" | "webm";
61
+ 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;
71
62
  tmpDir: (str: string) => string;
72
- deleteDirectory: (directory: string) => Promise<void>;
63
+ deleteDirectory: (directory: string) => void;
73
64
  isServeUrl: (potentialUrl: string) => boolean;
74
65
  ensureOutputDirectory: (outputLocation: string) => void;
75
66
  getRealFrameRange: (durationInFrames: number, frameRange: import("./frame-range").FrameRange | null) => [number, number];
76
67
  validatePuppeteerTimeout: (timeoutInMilliseconds: unknown) => void;
77
- downloadFile: ({ onProgress, url, to: toFn, }: {
68
+ downloadFile: (options: {
78
69
  url: string;
79
- to: (contentDisposition: string | null) => string;
70
+ to: (contentDisposition: string | null, contentType: string | null) => string;
80
71
  onProgress: ((progress: {
81
72
  percent: number | null;
82
73
  downloaded: number;
83
74
  totalSize: number | null;
84
75
  }) => void) | undefined;
85
- }) => Promise<{
76
+ }, retries?: number) => Promise<{
86
77
  sizeInBytes: number;
87
78
  to: string;
88
79
  }>;
89
- validateScale: (scale: unknown) => void;
90
80
  killAllBrowsers: () => Promise<void>;
91
81
  parseStack: (stack: string[]) => import("./parse-browser-error-stack").UnsymbolicatedStackFrame[];
92
82
  symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<import("./error-handling/handle-javascript-exception").ErrorWithStackFrame>;
93
83
  SymbolicateableError: typeof SymbolicateableError;
94
84
  getFramesToRender: (frameRange: [number, number], everyNthFrame: number) => number[];
95
85
  getExtensionOfFilename: (filename: string | null) => string | null;
96
- getDesiredPort: (desiredPort: number | undefined, from: number, to: number) => Promise<number>;
86
+ getDesiredPort: (desiredPort: number | undefined, from: number, to: number) => Promise<{
87
+ port: number;
88
+ didUsePort: () => void;
89
+ }>;
97
90
  isPathInside: (thePath: string, potentialParent: string) => boolean;
98
91
  execa: {
99
92
  (file: string, arguments?: readonly string[] | undefined, options?: execa.Options<string> | undefined): execa.ExecaChildProcess<string>;
@@ -115,7 +108,7 @@ export declare const RenderInternals: {
115
108
  };
116
109
  registerErrorSymbolicationLock: () => number;
117
110
  unlockErrorSymbolicationLock: (id: number) => void;
118
- canUseParallelEncoding: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
111
+ canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
119
112
  mimeContentType: typeof mimeContentType;
120
113
  mimeLookup: typeof mimeLookup;
121
114
  validateConcurrency: (value: unknown, setting: string) => void;
@@ -124,26 +117,266 @@ export declare const RenderInternals: {
124
117
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
125
118
  DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | null;
126
119
  validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | null) => "swangle" | "angle" | "egl" | "swiftshader" | null;
127
- getDefaultCrfForCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => number;
128
- validateSelectedCrfAndCodecCombination: (crf: unknown, codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
129
- validImageFormats: readonly ["png", "jpeg", "none"];
130
120
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
131
- DEFAULT_OVERWRITE: boolean;
132
121
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
133
- validateQuality: (q: number | undefined) => void;
134
- validateFrame: (frame: number, durationInFrames: number) => void;
122
+ validateJpegQuality: (q: number | undefined) => void;
135
123
  DEFAULT_TIMEOUT: number;
136
- getValidCrfRanges: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
137
- validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => void;
138
- validateSelectedCodecAndProResCombination: (actualCodec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif", actualProResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined) => void;
139
- validateSelectedPixelFormatAndImageFormatCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le", imageFormat: "none" | "png" | "jpeg") => "none" | "valid";
140
- DEFAULT_CODEC: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
141
- isAudioCodec: (codec: "vp9" | "vp8" | "h264" | "h265" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
124
+ DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
125
+ isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
142
126
  logLevels: readonly ["verbose", "info", "warn", "error"];
143
- isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
127
+ isEqualOrBelowLogLevel: (currentLevel: "verbose" | "error" | "info" | "warn", level: "verbose" | "error" | "info" | "warn") => boolean;
144
128
  isValidLogLevel: (level: string) => boolean;
145
- validateEveryNthFrame: (everyNthFrame: unknown) => void;
146
129
  perf: typeof perf;
147
130
  makeDownloadMap: () => import("./assets/download-map").DownloadMap;
148
- cleanDownloadMap: (downloadMap: import("./assets/download-map").DownloadMap) => Promise<void>;
131
+ cleanDownloadMap: (downloadMap: import("./assets/download-map").DownloadMap) => void;
132
+ convertToPositiveFrameIndex: ({ frame, durationInFrames, }: {
133
+ frame: number;
134
+ durationInFrames: number;
135
+ }) => number;
136
+ findRemotionRoot: () => string;
137
+ validateBitrate: (bitrate: unknown, name: string) => void;
138
+ combineVideos: (options: {
139
+ files: string[];
140
+ filelistDir: string;
141
+ output: string;
142
+ onProgress: (p: number) => void;
143
+ numberOfFrames: number;
144
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
145
+ fps: number;
146
+ numberOfGifLoops: number | null;
147
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
148
+ }) => Promise<void>;
149
+ getMinConcurrency: () => number;
150
+ getMaxConcurrency: () => any;
151
+ getDefaultAudioCodec: ({ codec, preferLossless, }: {
152
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
153
+ preferLossless: boolean;
154
+ }) => "mp3" | "aac" | "pcm-16" | "opus" | null;
155
+ validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
156
+ defaultFileExtensionMap: {
157
+ h264: {
158
+ default: import("./file-extensions").FileExtension;
159
+ forAudioCodec: {
160
+ aac: {
161
+ possible: import("./file-extensions").FileExtension[];
162
+ default: import("./file-extensions").FileExtension;
163
+ };
164
+ "pcm-16": {
165
+ possible: import("./file-extensions").FileExtension[];
166
+ default: import("./file-extensions").FileExtension;
167
+ };
168
+ };
169
+ };
170
+ h265: {
171
+ default: import("./file-extensions").FileExtension;
172
+ forAudioCodec: {
173
+ aac: {
174
+ possible: import("./file-extensions").FileExtension[];
175
+ default: import("./file-extensions").FileExtension;
176
+ };
177
+ "pcm-16": {
178
+ possible: import("./file-extensions").FileExtension[];
179
+ default: import("./file-extensions").FileExtension;
180
+ };
181
+ };
182
+ };
183
+ vp8: {
184
+ default: import("./file-extensions").FileExtension;
185
+ forAudioCodec: {
186
+ "pcm-16": {
187
+ possible: import("./file-extensions").FileExtension[];
188
+ default: import("./file-extensions").FileExtension;
189
+ };
190
+ opus: {
191
+ possible: import("./file-extensions").FileExtension[];
192
+ default: import("./file-extensions").FileExtension;
193
+ };
194
+ };
195
+ };
196
+ vp9: {
197
+ default: import("./file-extensions").FileExtension;
198
+ forAudioCodec: {
199
+ "pcm-16": {
200
+ possible: import("./file-extensions").FileExtension[];
201
+ default: import("./file-extensions").FileExtension;
202
+ };
203
+ opus: {
204
+ possible: import("./file-extensions").FileExtension[];
205
+ default: import("./file-extensions").FileExtension;
206
+ };
207
+ };
208
+ };
209
+ mp3: {
210
+ default: import("./file-extensions").FileExtension;
211
+ forAudioCodec: {
212
+ mp3: {
213
+ possible: import("./file-extensions").FileExtension[];
214
+ default: import("./file-extensions").FileExtension;
215
+ };
216
+ "pcm-16": {
217
+ possible: import("./file-extensions").FileExtension[];
218
+ default: import("./file-extensions").FileExtension;
219
+ };
220
+ };
221
+ };
222
+ aac: {
223
+ default: import("./file-extensions").FileExtension;
224
+ forAudioCodec: {
225
+ aac: {
226
+ possible: import("./file-extensions").FileExtension[];
227
+ default: import("./file-extensions").FileExtension;
228
+ };
229
+ "pcm-16": {
230
+ possible: import("./file-extensions").FileExtension[];
231
+ default: import("./file-extensions").FileExtension;
232
+ };
233
+ };
234
+ };
235
+ wav: {
236
+ default: import("./file-extensions").FileExtension;
237
+ forAudioCodec: {
238
+ "pcm-16": {
239
+ possible: import("./file-extensions").FileExtension[];
240
+ default: import("./file-extensions").FileExtension;
241
+ };
242
+ };
243
+ };
244
+ prores: {
245
+ default: import("./file-extensions").FileExtension;
246
+ forAudioCodec: {
247
+ aac: {
248
+ possible: import("./file-extensions").FileExtension[];
249
+ default: import("./file-extensions").FileExtension;
250
+ };
251
+ "pcm-16": {
252
+ possible: import("./file-extensions").FileExtension[];
253
+ default: import("./file-extensions").FileExtension;
254
+ };
255
+ };
256
+ };
257
+ "h264-mkv": {
258
+ default: import("./file-extensions").FileExtension;
259
+ forAudioCodec: {
260
+ "pcm-16": {
261
+ possible: import("./file-extensions").FileExtension[];
262
+ default: import("./file-extensions").FileExtension;
263
+ };
264
+ };
265
+ };
266
+ gif: {
267
+ default: import("./file-extensions").FileExtension;
268
+ forAudioCodec: {
269
+ [x: string]: {
270
+ possible: import("./file-extensions").FileExtension[];
271
+ default: import("./file-extensions").FileExtension;
272
+ };
273
+ };
274
+ };
275
+ };
276
+ supportedAudioCodecs: {
277
+ readonly h264: readonly ["aac", "pcm-16"];
278
+ readonly 'h264-mkv': readonly ["pcm-16"];
279
+ readonly aac: readonly ["aac", "pcm-16"];
280
+ readonly gif: const[];
281
+ readonly h265: readonly ["aac", "pcm-16"];
282
+ readonly mp3: readonly ["mp3", "pcm-16"];
283
+ readonly prores: readonly ["aac", "pcm-16"];
284
+ readonly vp8: readonly ["opus", "pcm-16"];
285
+ readonly vp9: readonly ["opus", "pcm-16"];
286
+ readonly wav: readonly ["pcm-16"];
287
+ };
288
+ makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
289
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
290
+ getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd") => string;
291
+ callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
292
+ dynamicLibraryPathOptions: () => {
293
+ env: {
294
+ DYLD_LIBRARY_PATH: string;
295
+ RUST_BACKTRACE: string;
296
+ } | {
297
+ PATH: string;
298
+ RUST_BACKTRACE: string;
299
+ } | {
300
+ LD_LIBRARY_PATH: string;
301
+ RUST_BACKTRACE: string;
302
+ };
303
+ };
304
+ validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
305
+ validVideoImageFormats: readonly ["png", "jpeg", "none"];
306
+ DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
307
+ DEFAULT_VIDEO_IMAGE_FORMAT: "none" | "png" | "jpeg";
308
+ chalk: {
309
+ enabled: boolean;
310
+ visible: boolean;
311
+ styles: Record<string, {
312
+ codes: [number, number];
313
+ name: string;
314
+ wrap?: ((input: string, newline: boolean) => string) | undefined;
315
+ }>;
316
+ keys: Record<string, string[]>;
317
+ alias?: ((name: string, col: string) => void) | undefined;
318
+ } & {
319
+ reset: (str: string) => string;
320
+ bold: (str: string) => string;
321
+ dim: (str: string) => string;
322
+ italic: (str: string) => string;
323
+ underline: (str: string) => string;
324
+ inverse: (str: string) => string;
325
+ hidden: (str: string) => string;
326
+ strikethrough: (str: string) => string;
327
+ black: (str: string) => string;
328
+ red: (str: string) => string;
329
+ green: (str: string) => string;
330
+ yellow: (str: string) => string;
331
+ blue: (str: string) => string;
332
+ magenta: (str: string) => string;
333
+ white: (str: string) => string;
334
+ gray: (str: string) => string;
335
+ bgBlack: (str: string) => string;
336
+ bgRed: (str: string) => string;
337
+ bgGreen: (str: string) => string;
338
+ bgYellow: (str: string) => string;
339
+ bgBlue: (str: string) => string;
340
+ bgMagenta: (str: string) => string;
341
+ bgWhite: (str: string) => string;
342
+ blackBright: (str: string) => string;
343
+ redBright: (str: string) => string;
344
+ greenBright: (str: string) => string;
345
+ yellowBright: (str: string) => string;
346
+ blueBright: (str: string) => string;
347
+ magentaBright: (str: string) => string;
348
+ whiteBright: (str: string) => string;
349
+ bgBlackBright: (str: string) => string;
350
+ bgRedBright: (str: string) => string;
351
+ bgGreenBright: (str: string) => string;
352
+ bgYellowBright: (str: string) => string;
353
+ bgBlueBright: (str: string) => string;
354
+ bgMagentaBright: (str: string) => string;
355
+ bgWhiteBright: (str: string) => string;
356
+ };
357
+ Log: {
358
+ verbose: (message?: any, ...optionalParams: any[]) => void;
359
+ verboseAdvanced: (options: {
360
+ indent: boolean;
361
+ logLevel: "verbose" | "error" | "info" | "warn";
362
+ } & {
363
+ tag?: string | undefined;
364
+ }, message?: any, ...optionalParams: any[]) => void;
365
+ info: (message?: any, ...optionalParams: any[]) => void;
366
+ infoAdvanced: (options: {
367
+ indent: boolean;
368
+ logLevel: "verbose" | "error" | "info" | "warn";
369
+ }, message?: any, ...optionalParams: any[]) => void;
370
+ warn: (message?: any, ...optionalParams: any[]) => void;
371
+ warnAdvanced: (options: {
372
+ indent: boolean;
373
+ logLevel: "verbose" | "error" | "info" | "warn";
374
+ }, message?: any, ...optionalParams: any[]) => void;
375
+ error: (message?: any, ...optionalParams: any[]) => void;
376
+ };
377
+ getLogLevel: () => "verbose" | "error" | "info" | "warn";
378
+ setLogLevel: (newLogLevel: "verbose" | "error" | "info" | "warn") => void;
379
+ INDENT_TOKEN: string;
380
+ isColorSupported: boolean;
381
+ HeadlessBrowser: typeof HeadlessBrowser;
149
382
  };
package/dist/index.js CHANGED
@@ -26,20 +26,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RenderInternals = exports.stitchFramesToVideo = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validImageFormats = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getCompositions = exports.ErrorWithStackFrame = exports.combineVideos = void 0;
29
+ exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
30
30
  const execa_1 = __importDefault(require("execa"));
31
31
  const download_file_1 = require("./assets/download-file");
32
32
  const download_map_1 = require("./assets/download-map");
33
+ const audio_codec_1 = require("./audio-codec");
33
34
  const browser_1 = require("./browser");
35
+ const Browser_1 = require("./browser/Browser");
34
36
  const TimeoutSettings_1 = require("./browser/TimeoutSettings");
37
+ const call_ffmpeg_1 = require("./call-ffmpeg");
35
38
  const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
39
+ const chalk_1 = require("./chalk");
40
+ const is_color_supported_1 = require("./chalk/is-color-supported");
41
+ const check_apple_silicon_1 = require("./check-apple-silicon");
36
42
  const codec_1 = require("./codec");
37
- const crf_1 = require("./crf");
43
+ const combine_videos_1 = require("./combine-videos");
44
+ const get_executable_path_1 = require("./compositor/get-executable-path");
45
+ const convert_to_positive_frame_index_1 = require("./convert-to-positive-frame-index");
38
46
  const delete_directory_1 = require("./delete-directory");
39
47
  const ensure_output_directory_1 = require("./ensure-output-directory");
40
48
  const symbolicate_error_1 = require("./error-handling/symbolicate-error");
41
49
  const symbolicateable_error_1 = require("./error-handling/symbolicateable-error");
42
- const ffmpeg_flags_1 = require("./ffmpeg-flags");
50
+ const file_extensions_1 = require("./file-extensions");
51
+ const find_closest_package_json_1 = require("./find-closest-package-json");
43
52
  const frame_range_1 = require("./frame-range");
44
53
  const get_concurrency_1 = require("./get-concurrency");
45
54
  const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
@@ -51,38 +60,29 @@ const get_port_1 = require("./get-port");
51
60
  const image_format_1 = require("./image-format");
52
61
  const is_audio_codec_1 = require("./is-audio-codec");
53
62
  const is_serve_url_1 = require("./is-serve-url");
63
+ const jpeg_quality_1 = require("./jpeg-quality");
54
64
  const log_level_1 = require("./log-level");
65
+ const logger_1 = require("./logger");
55
66
  const mime_types_1 = require("./mime-types");
56
- const normalize_serve_url_1 = require("./normalize-serve-url");
57
67
  const open_browser_1 = require("./open-browser");
58
- const overwrite_1 = require("./overwrite");
59
68
  const parse_browser_error_stack_1 = require("./parse-browser-error-stack");
60
69
  const perf = __importStar(require("./perf"));
61
70
  const pixel_format_1 = require("./pixel-format");
62
- const prores_profile_1 = require("./prores-profile");
63
- const quality_1 = require("./quality");
64
71
  const is_path_inside_1 = require("./serve-handler/is-path-inside");
65
72
  const serve_static_1 = require("./serve-static");
66
- const stitch_frames_to_video_1 = require("./stitch-frames-to-video");
67
73
  const tmp_dir_1 = require("./tmp-dir");
68
74
  const validate_concurrency_1 = require("./validate-concurrency");
69
75
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
70
- const validate_every_nth_frame_1 = require("./validate-every-nth-frame");
71
- const validate_ffmpeg_1 = require("./validate-ffmpeg");
72
- const validate_frame_1 = require("./validate-frame");
73
76
  const validate_opengl_renderer_1 = require("./validate-opengl-renderer");
74
77
  const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
75
- const validate_scale_1 = require("./validate-scale");
78
+ const validate_videobitrate_1 = require("./validate-videobitrate");
76
79
  const wait_for_symbolication_error_to_be_done_1 = require("./wait-for-symbolication-error-to-be-done");
77
- var combine_videos_1 = require("./combine-videos");
78
- Object.defineProperty(exports, "combineVideos", { enumerable: true, get: function () { return combine_videos_1.combineVideos; } });
79
80
  var handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
80
81
  Object.defineProperty(exports, "ErrorWithStackFrame", { enumerable: true, get: function () { return handle_javascript_exception_1.ErrorWithStackFrame; } });
81
82
  var get_compositions_1 = require("./get-compositions");
82
83
  Object.defineProperty(exports, "getCompositions", { enumerable: true, get: function () { return get_compositions_1.getCompositions; } });
83
84
  var image_format_2 = require("./image-format");
84
85
  Object.defineProperty(exports, "validateSelectedPixelFormatAndImageFormatCombination", { enumerable: true, get: function () { return image_format_2.validateSelectedPixelFormatAndImageFormatCombination; } });
85
- Object.defineProperty(exports, "validImageFormats", { enumerable: true, get: function () { return image_format_2.validImageFormats; } });
86
86
  var make_cancel_signal_1 = require("./make-cancel-signal");
87
87
  Object.defineProperty(exports, "makeCancelSignal", { enumerable: true, get: function () { return make_cancel_signal_1.makeCancelSignal; } });
88
88
  var open_browser_2 = require("./open-browser");
@@ -93,20 +93,17 @@ var render_media_1 = require("./render-media");
93
93
  Object.defineProperty(exports, "renderMedia", { enumerable: true, get: function () { return render_media_1.renderMedia; } });
94
94
  var render_still_1 = require("./render-still");
95
95
  Object.defineProperty(exports, "renderStill", { enumerable: true, get: function () { return render_still_1.renderStill; } });
96
- var stitch_frames_to_video_2 = require("./stitch-frames-to-video");
97
- Object.defineProperty(exports, "stitchFramesToVideo", { enumerable: true, get: function () { return stitch_frames_to_video_2.stitchFramesToVideo; } });
96
+ var select_composition_1 = require("./select-composition");
97
+ Object.defineProperty(exports, "selectComposition", { enumerable: true, get: function () { return select_composition_1.selectComposition; } });
98
+ var stitch_frames_to_video_1 = require("./stitch-frames-to-video");
99
+ Object.defineProperty(exports, "stitchFramesToVideo", { enumerable: true, get: function () { return stitch_frames_to_video_1.stitchFramesToVideo; } });
100
+ var validate_output_filename_1 = require("./validate-output-filename");
101
+ Object.defineProperty(exports, "validateOutputFilename", { enumerable: true, get: function () { return validate_output_filename_1.validateOutputFilename; } });
98
102
  exports.RenderInternals = {
99
103
  ensureLocalBrowser: get_local_browser_executable_1.ensureLocalBrowser,
100
- ffmpegHasFeature: ffmpeg_flags_1.ffmpegHasFeature,
101
104
  getActualConcurrency: get_concurrency_1.getActualConcurrency,
102
- getFfmpegVersion: ffmpeg_flags_1.getFfmpegVersion,
103
- validateFfmpeg: validate_ffmpeg_1.validateFfmpeg,
104
- binaryExists: validate_ffmpeg_1.binaryExists,
105
- getFfmpegBuildInfo: ffmpeg_flags_1.getFfmpegBuildInfo,
106
105
  serveStatic: serve_static_1.serveStatic,
107
106
  validateEvenDimensionsWithCodec: validate_even_dimensions_with_codec_1.validateEvenDimensionsWithCodec,
108
- normalizeServeUrl: normalize_serve_url_1.normalizeServeUrl,
109
- spawnFfmpeg: stitch_frames_to_video_1.spawnFfmpeg,
110
107
  getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
111
108
  tmpDir: tmp_dir_1.tmpDir,
112
109
  deleteDirectory: delete_directory_1.deleteDirectory,
@@ -115,7 +112,6 @@ exports.RenderInternals = {
115
112
  getRealFrameRange: get_frame_to_render_1.getRealFrameRange,
116
113
  validatePuppeteerTimeout: validate_puppeteer_timeout_1.validatePuppeteerTimeout,
117
114
  downloadFile: download_file_1.downloadFile,
118
- validateScale: validate_scale_1.validateScale,
119
115
  killAllBrowsers: open_browser_1.killAllBrowsers,
120
116
  parseStack: parse_browser_error_stack_1.parseStack,
121
117
  symbolicateError: symbolicate_error_1.symbolicateError,
@@ -136,26 +132,44 @@ exports.RenderInternals = {
136
132
  validateFrameRange: frame_range_1.validateFrameRange,
137
133
  DEFAULT_OPENGL_RENDERER: validate_opengl_renderer_1.DEFAULT_OPENGL_RENDERER,
138
134
  validateOpenGlRenderer: validate_opengl_renderer_1.validateOpenGlRenderer,
139
- getDefaultCrfForCodec: crf_1.getDefaultCrfForCodec,
140
- validateSelectedCrfAndCodecCombination: crf_1.validateSelectedCrfAndCodecCombination,
141
- validImageFormats: image_format_1.validImageFormats,
142
135
  validCodecs: codec_1.validCodecs,
143
- DEFAULT_OVERWRITE: overwrite_1.DEFAULT_OVERWRITE,
144
136
  DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
145
- validateQuality: quality_1.validateQuality,
146
- validateFrame: validate_frame_1.validateFrame,
137
+ validateJpegQuality: jpeg_quality_1.validateJpegQuality,
147
138
  DEFAULT_TIMEOUT: TimeoutSettings_1.DEFAULT_TIMEOUT,
148
- getValidCrfRanges: crf_1.getValidCrfRanges,
149
- validateSelectedPixelFormatAndCodecCombination: pixel_format_1.validateSelectedPixelFormatAndCodecCombination,
150
- validateSelectedCodecAndProResCombination: prores_profile_1.validateSelectedCodecAndProResCombination,
151
- validateSelectedPixelFormatAndImageFormatCombination: image_format_1.validateSelectedPixelFormatAndImageFormatCombination,
152
139
  DEFAULT_CODEC: codec_1.DEFAULT_CODEC,
153
140
  isAudioCodec: is_audio_codec_1.isAudioCodec,
154
141
  logLevels: log_level_1.logLevels,
155
142
  isEqualOrBelowLogLevel: log_level_1.isEqualOrBelowLogLevel,
156
143
  isValidLogLevel: log_level_1.isValidLogLevel,
157
- validateEveryNthFrame: validate_every_nth_frame_1.validateEveryNthFrame,
158
144
  perf,
159
145
  makeDownloadMap: download_map_1.makeDownloadMap,
160
146
  cleanDownloadMap: download_map_1.cleanDownloadMap,
147
+ convertToPositiveFrameIndex: convert_to_positive_frame_index_1.convertToPositiveFrameIndex,
148
+ findRemotionRoot: find_closest_package_json_1.findRemotionRoot,
149
+ validateBitrate: validate_videobitrate_1.validateBitrate,
150
+ combineVideos: combine_videos_1.combineVideos,
151
+ getMinConcurrency: validate_concurrency_1.getMinConcurrency,
152
+ getMaxConcurrency: validate_concurrency_1.getMaxConcurrency,
153
+ getDefaultAudioCodec: audio_codec_1.getDefaultAudioCodec,
154
+ validAudioCodecs: audio_codec_1.validAudioCodecs,
155
+ defaultFileExtensionMap: file_extensions_1.defaultFileExtensionMap,
156
+ supportedAudioCodecs: audio_codec_1.supportedAudioCodecs,
157
+ makeFileExtensionMap: get_extension_from_codec_1.makeFileExtensionMap,
158
+ defaultCodecsForFileExtension: get_extension_from_codec_1.defaultCodecsForFileExtension,
159
+ getExecutablePath: get_executable_path_1.getExecutablePath,
160
+ callFf: call_ffmpeg_1.callFf,
161
+ dynamicLibraryPathOptions: call_ffmpeg_1.dynamicLibraryPathOptions,
162
+ validStillImageFormats: image_format_1.validStillImageFormats,
163
+ validVideoImageFormats: image_format_1.validVideoImageFormats,
164
+ DEFAULT_STILL_IMAGE_FORMAT: image_format_1.DEFAULT_STILL_IMAGE_FORMAT,
165
+ DEFAULT_VIDEO_IMAGE_FORMAT: image_format_1.DEFAULT_VIDEO_IMAGE_FORMAT,
166
+ chalk: chalk_1.chalk,
167
+ Log: logger_1.Log,
168
+ getLogLevel: logger_1.getLogLevel,
169
+ setLogLevel: logger_1.setLogLevel,
170
+ INDENT_TOKEN: logger_1.INDENT_TOKEN,
171
+ isColorSupported: is_color_supported_1.isColorSupported,
172
+ HeadlessBrowser: Browser_1.HeadlessBrowser,
161
173
  };
174
+ // Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
175
+ (0, check_apple_silicon_1.checkNodeVersionAndWarnAboutRosetta)();
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ export declare const validateJpegQuality: (q: number | undefined) => void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateJpegQuality = void 0;
4
+ const validateJpegQuality = (q) => {
5
+ if (typeof q !== 'undefined' && typeof q !== 'number') {
6
+ throw new Error(`JPEG Quality option must be a number or undefined. Got ${typeof q} (${JSON.stringify(q)})`);
7
+ }
8
+ if (typeof q === 'undefined') {
9
+ return;
10
+ }
11
+ if (!Number.isFinite(q)) {
12
+ throw new RangeError(`JPEG Quality must be a finite number, but is ${q}`);
13
+ }
14
+ if (Number.isNaN(q)) {
15
+ throw new RangeError(`JPEG Quality is NaN, but must be a real number`);
16
+ }
17
+ if (q > 100 || q < 0) {
18
+ throw new RangeError('JPEG Quality option must be between 0 and 100.');
19
+ }
20
+ };
21
+ exports.validateJpegQuality = validateJpegQuality;
@@ -10,6 +10,7 @@ export declare type LastFrameOptions = {
10
10
  imageFormat: OffthreadVideoImageFormat;
11
11
  needsResize: [number, number] | null;
12
12
  downloadMap: DownloadMap;
13
+ remotionRoot: string;
13
14
  };
14
15
  export declare const setLastFrameInCache: (options: LastFrameOptions, data: Buffer) => void;
15
16
  export declare const getLastFrameFromCache: (options: LastFrameOptions) => Buffer | null;
File without changes
File without changes
File without changes