@remotion/renderer 4.0.0-lambda.3 → 4.0.0-newpathfunctions.13

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 (615) hide show
  1. package/LICENSE.md +8 -8
  2. package/README.md +47 -0
  3. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  4. package/dist/assets/calculate-asset-positions.js +1 -0
  5. package/dist/assets/calculate-atempo.d.ts +0 -0
  6. package/dist/assets/calculate-atempo.js +0 -0
  7. package/dist/assets/convert-assets-to-file-urls.d.ts +5 -4
  8. package/dist/assets/convert-assets-to-file-urls.js +2 -2
  9. package/dist/assets/download-and-map-assets-to-file.d.ts +16 -12
  10. package/dist/assets/download-and-map-assets-to-file.js +145 -65
  11. package/dist/assets/download-file.d.ts +13 -6
  12. package/dist/assets/download-file.js +64 -8
  13. package/dist/assets/download-map.d.ts +69 -0
  14. package/dist/assets/download-map.js +77 -0
  15. package/dist/assets/ffmpeg-volume-expression.d.ts +3 -3
  16. package/dist/assets/ffmpeg-volume-expression.js +6 -5
  17. package/dist/assets/flatten-volume-array.d.ts +1 -1
  18. package/dist/assets/flatten-volume-array.js +0 -0
  19. package/dist/assets/get-audio-channels.d.ts +3 -7
  20. package/dist/assets/get-audio-channels.js +8 -8
  21. package/dist/assets/get-video-stream-duration.d.ts +9 -0
  22. package/dist/assets/get-video-stream-duration.js +71 -0
  23. package/dist/assets/read-file.d.ts +0 -0
  24. package/dist/assets/read-file.js +2 -1
  25. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  26. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  27. package/dist/assets/sanitize-filename.d.ts +0 -0
  28. package/dist/assets/sanitize-filename.js +0 -0
  29. package/dist/assets/sanitize-filepath.d.ts +0 -0
  30. package/dist/assets/sanitize-filepath.js +0 -0
  31. package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
  32. package/dist/assets/truncate-utf8-bytes.js +0 -0
  33. package/dist/assets/types.d.ts +2 -1
  34. package/dist/assets/types.js +0 -0
  35. package/dist/browser/Browser.d.ts +13 -160
  36. package/dist/browser/Browser.js +19 -200
  37. package/dist/browser/BrowserConnector.d.ts +1 -8
  38. package/dist/browser/BrowserConnector.js +0 -32
  39. package/dist/browser/BrowserFetcher.d.ts +2 -1
  40. package/dist/browser/BrowserFetcher.js +27 -26
  41. package/dist/browser/{page.d.ts → BrowserPage.d.ts} +16 -14
  42. package/dist/browser/{page.js → BrowserPage.js} +24 -21
  43. package/dist/browser/BrowserRunner.d.ts +2 -5
  44. package/dist/browser/BrowserRunner.js +29 -72
  45. package/dist/browser/Connection.d.ts +7 -14
  46. package/dist/browser/Connection.js +6 -26
  47. package/dist/browser/ConsoleMessage.d.ts +4 -28
  48. package/dist/browser/ConsoleMessage.js +5 -32
  49. package/dist/browser/DOMWorld.d.ts +11 -8
  50. package/dist/browser/DOMWorld.js +20 -21
  51. package/dist/browser/Errors.d.ts +0 -0
  52. package/dist/browser/Errors.js +0 -0
  53. package/dist/browser/EvalTypes.d.ts +1 -1
  54. package/dist/browser/EvalTypes.js +0 -0
  55. package/dist/browser/EventEmitter.d.ts +1 -48
  56. package/dist/browser/EventEmitter.js +0 -49
  57. package/dist/browser/ExecutionContext.d.ts +8 -9
  58. package/dist/browser/ExecutionContext.js +0 -16
  59. package/dist/browser/FrameManager.d.ts +11 -16
  60. package/dist/browser/FrameManager.js +3 -22
  61. package/dist/browser/HTTPRequest.d.ts +4 -18
  62. package/dist/browser/HTTPRequest.js +3 -48
  63. package/dist/browser/HTTPResponse.d.ts +2 -81
  64. package/dist/browser/HTTPResponse.js +18 -173
  65. package/dist/browser/JSHandle.d.ts +7 -8
  66. package/dist/browser/JSHandle.js +0 -3
  67. package/dist/browser/LaunchOptions.d.ts +2 -86
  68. package/dist/browser/LaunchOptions.js +0 -0
  69. package/dist/browser/Launcher.d.ts +9 -3
  70. package/dist/browser/Launcher.js +13 -471
  71. package/dist/browser/LifecycleWatcher.d.ts +4 -4
  72. package/dist/browser/LifecycleWatcher.js +4 -17
  73. package/dist/browser/NetworkEventManager.d.ts +10 -12
  74. package/dist/browser/NetworkEventManager.js +0 -47
  75. package/dist/browser/NetworkManager.d.ts +3 -5
  76. package/dist/browser/NetworkManager.js +6 -59
  77. package/dist/browser/NodeWebSocketTransport.d.ts +10 -4
  78. package/dist/browser/NodeWebSocketTransport.js +4 -7
  79. package/dist/browser/Product.d.ts +0 -0
  80. package/dist/browser/Product.js +0 -0
  81. package/dist/browser/PuppeteerNode.d.ts +7 -59
  82. package/dist/browser/PuppeteerNode.js +5 -74
  83. package/dist/browser/PuppeteerViewport.d.ts +0 -0
  84. package/dist/browser/PuppeteerViewport.js +0 -0
  85. package/dist/browser/ScreenshotOptions.d.ts +0 -14
  86. package/dist/browser/ScreenshotOptions.js +0 -1
  87. package/dist/browser/Target.d.ts +8 -8
  88. package/dist/browser/Target.js +2 -2
  89. package/dist/browser/TaskQueue.d.ts +0 -0
  90. package/dist/browser/TaskQueue.js +0 -0
  91. package/dist/browser/TimeoutSettings.d.ts +1 -0
  92. package/dist/browser/TimeoutSettings.js +4 -4
  93. package/dist/browser/assert.d.ts +0 -20
  94. package/dist/browser/assert.js +0 -20
  95. package/dist/browser/create-browser-fetcher.d.ts +1 -1
  96. package/dist/browser/create-browser-fetcher.js +5 -68
  97. package/dist/browser/devtools-commands.d.ts +270 -0
  98. package/dist/browser/devtools-commands.js +2 -0
  99. package/dist/browser/devtools-types.d.ts +1126 -0
  100. package/dist/browser/devtools-types.js +2 -0
  101. package/dist/browser/get-download-destination.d.ts +0 -0
  102. package/dist/browser/get-download-destination.js +0 -0
  103. package/dist/browser/is-target-closed-err.d.ts +1 -0
  104. package/dist/browser/is-target-closed-err.js +9 -0
  105. package/dist/browser/mitt/index.d.ts +0 -0
  106. package/dist/browser/mitt/index.js +0 -0
  107. package/dist/browser/node.d.ts +0 -0
  108. package/dist/browser/node.js +0 -0
  109. package/dist/browser/revisions.d.ts +0 -1
  110. package/dist/browser/revisions.js +0 -1
  111. package/dist/browser/util.d.ts +8 -7
  112. package/dist/browser/util.js +11 -3
  113. package/dist/browser-executable.d.ts +1 -0
  114. package/dist/{assets/cleanup-assets.js → browser-executable.js} +0 -0
  115. package/dist/browser-log.d.ts +1 -1
  116. package/dist/browser-log.js +0 -0
  117. package/dist/browser.d.ts +2 -0
  118. package/dist/browser.js +4 -0
  119. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  120. package/dist/calculate-ffmpeg-filters.js +1 -0
  121. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  122. package/dist/calculate-sar-dar-pixels.js +19 -0
  123. package/dist/can-use-parallel-encoding.d.ts +1 -1
  124. package/dist/can-use-parallel-encoding.js +2 -2
  125. package/dist/check-apple-silicon.d.ts +1 -0
  126. package/dist/check-apple-silicon.js +55 -0
  127. package/dist/chunk.d.ts +0 -0
  128. package/dist/chunk.js +0 -0
  129. package/dist/client.d.ts +3 -0
  130. package/dist/client.js +7 -0
  131. package/dist/codec-supports-media.d.ts +8 -0
  132. package/dist/codec-supports-media.js +56 -0
  133. package/dist/codec.d.ts +4 -0
  134. package/dist/codec.js +16 -0
  135. package/dist/combine-videos.d.ts +9 -3
  136. package/dist/combine-videos.js +18 -10
  137. package/dist/compositor/compose.d.ts +13 -0
  138. package/dist/compositor/compose.js +47 -0
  139. package/dist/compositor/compositor.d.ts +12 -0
  140. package/dist/compositor/compositor.js +96 -0
  141. package/dist/compositor/get-executable-path.d.ts +1 -0
  142. package/dist/compositor/get-executable-path.js +47 -0
  143. package/dist/compositor/payloads.d.ts +41 -0
  144. package/dist/compositor/payloads.js +2 -0
  145. package/dist/compress-assets.d.ts +7 -0
  146. package/dist/compress-assets.js +25 -0
  147. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  148. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  149. package/dist/convert-to-pcm.d.ts +3 -2
  150. package/dist/convert-to-pcm.js +3 -2
  151. package/dist/convert-to-positive-frame-index.d.ts +4 -0
  152. package/dist/convert-to-positive-frame-index.js +8 -0
  153. package/dist/create-ffmpeg-complex-filter.d.ts +2 -1
  154. package/dist/create-ffmpeg-complex-filter.js +2 -11
  155. package/dist/create-ffmpeg-merge-filter.d.ts +0 -0
  156. package/dist/create-ffmpeg-merge-filter.js +3 -3
  157. package/dist/create-silent-audio.d.ts +3 -2
  158. package/dist/create-silent-audio.js +3 -2
  159. package/dist/crf.d.ts +9 -0
  160. package/dist/crf.js +91 -0
  161. package/dist/cycle-browser-tabs.d.ts +2 -5
  162. package/dist/cycle-browser-tabs.js +5 -5
  163. package/dist/delay-render-embedded-stack.d.ts +1 -1
  164. package/dist/delay-render-embedded-stack.js +0 -0
  165. package/dist/delete-directory.d.ts +0 -0
  166. package/dist/delete-directory.js +0 -0
  167. package/dist/determine-resize-params.d.ts +4 -0
  168. package/dist/determine-resize-params.js +10 -0
  169. package/dist/determine-vcodec-ffmpeg-flags.d.ts +2 -0
  170. package/dist/determine-vcodec-ffmpeg-flags.js +13 -0
  171. package/dist/ensure-ffmpeg.d.ts +10 -0
  172. package/dist/ensure-ffmpeg.js +50 -0
  173. package/dist/ensure-frames-in-order.d.ts +1 -1
  174. package/dist/ensure-frames-in-order.js +3 -2
  175. package/dist/ensure-output-directory.d.ts +0 -0
  176. package/dist/ensure-output-directory.js +0 -0
  177. package/dist/ensure-presentation-timestamp.d.ts +15 -1
  178. package/dist/ensure-presentation-timestamp.js +54 -23
  179. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  180. package/dist/error-handling/handle-javascript-exception.js +3 -4
  181. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  182. package/dist/error-handling/symbolicate-error.js +0 -0
  183. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  184. package/dist/error-handling/symbolicateable-error.js +0 -0
  185. package/dist/extract-frame-from-video.d.ts +7 -2
  186. package/dist/extract-frame-from-video.js +85 -91
  187. package/dist/ffmpeg-executable.d.ts +1 -0
  188. package/dist/ffmpeg-executable.js +2 -0
  189. package/dist/ffmpeg-filter-file.d.ts +2 -1
  190. package/dist/ffmpeg-filter-file.js +4 -6
  191. package/dist/ffmpeg-flags.d.ts +20 -2
  192. package/dist/ffmpeg-flags.js +205 -9
  193. package/dist/ffmpeg-override.d.ts +4 -0
  194. package/dist/ffmpeg-override.js +2 -0
  195. package/dist/find-closest-package-json.d.ts +2 -0
  196. package/dist/find-closest-package-json.js +31 -0
  197. package/dist/frame-range.d.ts +2 -0
  198. package/dist/frame-range.js +49 -0
  199. package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -0
  200. package/dist/frame-to-ffmpeg-timestamp.js +0 -0
  201. package/dist/get-audio-codec-name.d.ts +1 -1
  202. package/dist/get-audio-codec-name.js +2 -2
  203. package/dist/get-browser-instance.d.ts +4 -3
  204. package/dist/get-browser-instance.js +3 -3
  205. package/dist/get-can-extract-frames-fast.d.ts +10 -0
  206. package/dist/get-can-extract-frames-fast.js +67 -0
  207. package/dist/get-codec-name.d.ts +1 -1
  208. package/dist/get-codec-name.js +5 -2
  209. package/dist/get-compositions-from-bundle.d.ts +7 -0
  210. package/dist/get-compositions-from-bundle.js +55 -0
  211. package/dist/get-compositions.d.ts +11 -4
  212. package/dist/get-compositions.js +30 -11
  213. package/dist/get-concurrency.d.ts +1 -1
  214. package/dist/get-concurrency.js +8 -1
  215. package/dist/get-duration-from-frame-range.d.ts +1 -2
  216. package/dist/get-duration-from-frame-range.js +13 -9
  217. package/dist/get-extension-from-codec.d.ts +2 -2
  218. package/dist/get-extension-from-codec.js +8 -5
  219. package/dist/get-extension-of-filename.d.ts +1 -1
  220. package/dist/get-extension-of-filename.js +8 -1
  221. package/dist/get-frame-of-video-slow.d.ts +17 -0
  222. package/dist/get-frame-of-video-slow.js +72 -0
  223. package/dist/get-frame-padded-index.d.ts +14 -0
  224. package/dist/get-frame-padded-index.js +34 -0
  225. package/dist/get-frame-to-render.d.ts +1 -1
  226. package/dist/get-frame-to-render.js +0 -0
  227. package/dist/get-local-browser-executable.d.ts +2 -1
  228. package/dist/get-local-browser-executable.js +8 -8
  229. package/dist/get-port.d.ts +4 -1
  230. package/dist/get-port.js +13 -22
  231. package/dist/get-prores-profile-name.d.ts +2 -1
  232. package/dist/get-prores-profile-name.js +0 -0
  233. package/dist/get-video-info.d.ts +8 -0
  234. package/dist/get-video-info.js +59 -0
  235. package/dist/get-video-signals.d.ts +2 -0
  236. package/dist/get-video-signals.js +28 -0
  237. package/dist/get-video-threads-flag.d.ts +1 -0
  238. package/dist/get-video-threads-flag.js +18 -0
  239. package/dist/guess-extension-for-media.d.ts +5 -0
  240. package/dist/guess-extension-for-media.js +28 -0
  241. package/dist/image-format.d.ts +6 -1
  242. package/dist/image-format.js +28 -1
  243. package/dist/index.d.ts +96 -37
  244. package/dist/index.js +92 -17
  245. package/dist/is-audio-codec.d.ts +2 -0
  246. package/dist/is-audio-codec.js +7 -0
  247. package/dist/is-beyond-last-frame.d.ts +3 -2
  248. package/dist/is-beyond-last-frame.js +5 -5
  249. package/dist/is-serve-url.d.ts +0 -0
  250. package/dist/is-serve-url.js +0 -0
  251. package/dist/last-frame-from-video-cache.d.ts +9 -2
  252. package/dist/last-frame-from-video-cache.js +23 -18
  253. package/dist/legacy-webpack-config.d.ts +0 -0
  254. package/dist/legacy-webpack-config.js +0 -0
  255. package/dist/locks.d.ts +7 -0
  256. package/dist/locks.js +44 -0
  257. package/dist/log-level.d.ts +4 -0
  258. package/dist/log-level.js +15 -0
  259. package/dist/make-cancel-signal.d.ts +7 -0
  260. package/dist/make-cancel-signal.js +20 -1
  261. package/dist/make-comp-manager-context.d.ts +2 -0
  262. package/dist/make-comp-manager-context.js +45 -0
  263. package/dist/make-timeline-context-value.d.ts +2 -0
  264. package/dist/make-timeline-context-value.js +20 -0
  265. package/dist/merge-audio-track.d.ts +4 -1
  266. package/dist/merge-audio-track.js +18 -7
  267. package/dist/mime-db.d.ts +6 -0
  268. package/dist/mime-db.js +8636 -0
  269. package/dist/mime-types.d.ts +3 -0
  270. package/dist/mime-types.js +94 -0
  271. package/dist/normalize-serve-url.d.ts +0 -0
  272. package/dist/normalize-serve-url.js +0 -0
  273. package/dist/offthread-video-server.d.ts +9 -5
  274. package/dist/offthread-video-server.js +30 -10
  275. package/dist/open-browser.d.ts +5 -3
  276. package/dist/open-browser.js +17 -26
  277. package/dist/overwrite.d.ts +1 -0
  278. package/dist/overwrite.js +4 -0
  279. package/dist/p-limit.d.ts +0 -0
  280. package/dist/p-limit.js +0 -0
  281. package/dist/parse-browser-error-stack.d.ts +0 -0
  282. package/dist/parse-browser-error-stack.js +0 -0
  283. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  284. package/dist/parse-ffmpeg-progress.js +0 -0
  285. package/dist/perf.d.ts +5 -0
  286. package/dist/perf.js +35 -0
  287. package/dist/pixel-format.d.ts +5 -0
  288. package/dist/pixel-format.js +29 -0
  289. package/dist/pool.d.ts +0 -0
  290. package/dist/pool.js +0 -0
  291. package/dist/prepare-server.d.ts +7 -5
  292. package/dist/prepare-server.js +13 -5
  293. package/dist/preprocess-audio-track.d.ts +5 -2
  294. package/dist/preprocess-audio-track.js +5 -4
  295. package/dist/prespawn-ffmpeg.d.ts +10 -3
  296. package/dist/prespawn-ffmpeg.js +24 -16
  297. package/dist/prestitcher-memory-usage.d.ts +12 -0
  298. package/dist/prestitcher-memory-usage.js +30 -0
  299. package/dist/prores-profile.d.ts +8 -0
  300. package/dist/prores-profile.js +23 -0
  301. package/dist/provide-screenshot.d.ts +9 -5
  302. package/dist/provide-screenshot.js +4 -2
  303. package/dist/puppeteer-evaluate.d.ts +1 -1
  304. package/dist/puppeteer-evaluate.js +22 -15
  305. package/dist/puppeteer-screenshot.d.ts +12 -2
  306. package/dist/puppeteer-screenshot.js +11 -16
  307. package/dist/quality.d.ts +1 -0
  308. package/dist/quality.js +21 -0
  309. package/dist/redirect-status-codes.d.ts +1 -0
  310. package/dist/redirect-status-codes.js +6 -0
  311. package/dist/render-frames.d.ts +30 -12
  312. package/dist/render-frames.js +232 -138
  313. package/dist/render-media.d.ts +48 -12
  314. package/dist/render-media.js +152 -30
  315. package/dist/render-on-server.d.ts +3 -0
  316. package/dist/render-on-server.js +90 -0
  317. package/dist/render-still.d.ts +21 -9
  318. package/dist/render-still.js +75 -37
  319. package/dist/render-svg.d.ts +8 -0
  320. package/dist/render-svg.js +13 -0
  321. package/dist/render-video-layer.d.ts +9 -0
  322. package/dist/render-video-layer.js +23 -0
  323. package/dist/render-web-frame.d.ts +73 -0
  324. package/dist/render-web-frame.js +260 -0
  325. package/dist/replace-browser.d.ts +6 -0
  326. package/dist/replace-browser.js +47 -0
  327. package/dist/resolve-asset-src.d.ts +0 -0
  328. package/dist/resolve-asset-src.js +0 -0
  329. package/dist/sample-rate.d.ts +0 -0
  330. package/dist/sample-rate.js +0 -0
  331. package/dist/screenshot-dom-element.d.ts +11 -8
  332. package/dist/screenshot-dom-element.js +12 -7
  333. package/dist/screenshot-task.d.ts +13 -3
  334. package/dist/screenshot-task.js +55 -27
  335. package/dist/seek-to-frame.d.ts +3 -2
  336. package/dist/seek-to-frame.js +24 -3
  337. package/dist/serve-handler/index.d.ts +1 -1
  338. package/dist/serve-handler/index.js +6 -7
  339. package/dist/serve-handler/is-path-inside.d.ts +0 -0
  340. package/dist/serve-handler/is-path-inside.js +0 -0
  341. package/dist/serve-handler/range-parser.d.ts +0 -0
  342. package/dist/serve-handler/range-parser.js +0 -0
  343. package/dist/serve-static.d.ts +5 -3
  344. package/dist/serve-static.js +20 -4
  345. package/dist/set-props-and-env.d.ts +4 -2
  346. package/dist/set-props-and-env.js +41 -15
  347. package/dist/stitch-frames-to-video.d.ts +20 -7
  348. package/dist/stitch-frames-to-video.js +175 -59
  349. package/dist/stringify-ffmpeg-filter.d.ts +4 -3
  350. package/dist/stringify-ffmpeg-filter.js +15 -11
  351. package/dist/symbolicate-stacktrace.d.ts +1 -1
  352. package/dist/symbolicate-stacktrace.js +3 -3
  353. package/dist/take-frame-and-compose.d.ts +19 -0
  354. package/dist/take-frame-and-compose.js +96 -0
  355. package/dist/tmp-dir.d.ts +0 -0
  356. package/dist/tmp-dir.js +0 -0
  357. package/dist/truthy.d.ts +3 -0
  358. package/dist/truthy.js +7 -0
  359. package/dist/try-to-extract-frame-of-video-fast.d.ts +12 -0
  360. package/dist/try-to-extract-frame-of-video-fast.js +55 -0
  361. package/dist/types.d.ts +1 -1
  362. package/dist/types.js +0 -0
  363. package/dist/validate-concurrency.d.ts +1 -0
  364. package/dist/validate-concurrency.js +29 -0
  365. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  366. package/dist/validate-even-dimensions-with-codec.js +2 -2
  367. package/dist/validate-every-nth-frame.d.ts +2 -0
  368. package/dist/validate-every-nth-frame.js +28 -0
  369. package/dist/validate-ffmpeg-override.d.ts +2 -0
  370. package/dist/validate-ffmpeg-override.js +12 -0
  371. package/dist/validate-ffmpeg.d.ts +7 -2
  372. package/dist/validate-ffmpeg.js +48 -44
  373. package/dist/validate-frame.d.ts +1 -0
  374. package/dist/validate-frame.js +24 -0
  375. package/dist/validate-number-of-gif-loops.d.ts +2 -0
  376. package/dist/validate-number-of-gif-loops.js +24 -0
  377. package/dist/validate-opengl-renderer.d.ts +5 -0
  378. package/dist/validate-opengl-renderer.js +15 -0
  379. package/dist/validate-output-filename.d.ts +1 -1
  380. package/dist/validate-output-filename.js +5 -0
  381. package/dist/validate-puppeteer-timeout.d.ts +0 -0
  382. package/dist/validate-puppeteer-timeout.js +1 -1
  383. package/dist/validate-scale.d.ts +0 -0
  384. package/dist/validate-scale.js +0 -0
  385. package/dist/validate-videobitrate.d.ts +1 -0
  386. package/dist/validate-videobitrate.js +20 -0
  387. package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  388. package/dist/wait-for-symbolication-error-to-be-done.js +8 -0
  389. package/dist/warn-about-ffmpeg-version.d.ts +5 -0
  390. package/dist/warn-about-ffmpeg-version.js +37 -0
  391. package/dist/ws/ws-types.d.ts +14 -0
  392. package/dist/ws/ws-types.js +11 -0
  393. package/package.json +30 -22
  394. package/types/ws/index.d.ts +509 -0
  395. package/.prettierrc.js +0 -14
  396. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  397. package/dist/assets/calculate-asset-positions.js.map +0 -1
  398. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  399. package/dist/assets/calculate-atempo.js.map +0 -1
  400. package/dist/assets/cleanup-assets.d.ts +0 -2
  401. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  402. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  403. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  404. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  405. package/dist/assets/download-file.d.ts.map +0 -1
  406. package/dist/assets/download-file.js.map +0 -1
  407. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  408. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  409. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  410. package/dist/assets/flatten-volume-array.js.map +0 -1
  411. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  412. package/dist/assets/get-audio-channels.js.map +0 -1
  413. package/dist/assets/read-file.d.ts.map +0 -1
  414. package/dist/assets/read-file.js.map +0 -1
  415. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  416. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  417. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  418. package/dist/assets/sanitize-filename.js.map +0 -1
  419. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  420. package/dist/assets/sanitize-filepath.js.map +0 -1
  421. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  422. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  423. package/dist/assets/types.d.ts.map +0 -1
  424. package/dist/assets/types.js.map +0 -1
  425. package/dist/browser/Accessibility.d.ts +0 -175
  426. package/dist/browser/Accessibility.js +0 -423
  427. package/dist/browser/AriaQueryHandler.d.ts +0 -20
  428. package/dist/browser/AriaQueryHandler.js +0 -108
  429. package/dist/browser/ConnectionTransport.d.ts +0 -21
  430. package/dist/browser/ConnectionTransport.js +0 -17
  431. package/dist/browser/Coverage.d.ts +0 -180
  432. package/dist/browser/Coverage.js +0 -371
  433. package/dist/browser/Debug.d.ts +0 -19
  434. package/dist/browser/Debug.js +0 -42
  435. package/dist/browser/DeviceDescriptors.d.ts +0 -40
  436. package/dist/browser/DeviceDescriptors.js +0 -1407
  437. package/dist/browser/EmulationManager.d.ts +0 -7
  438. package/dist/browser/EmulationManager.js +0 -40
  439. package/dist/browser/FileChooser.d.ts +0 -56
  440. package/dist/browser/FileChooser.js +0 -86
  441. package/dist/browser/Input.d.ts +0 -355
  442. package/dist/browser/Input.js +0 -592
  443. package/dist/browser/NetworkConditions.d.ts +0 -26
  444. package/dist/browser/NetworkConditions.js +0 -33
  445. package/dist/browser/PDFOptions.d.ts +0 -165
  446. package/dist/browser/PDFOptions.js +0 -34
  447. package/dist/browser/PipeTransport.d.ts +0 -10
  448. package/dist/browser/PipeTransport.js +0 -86
  449. package/dist/browser/Puppeteer.d.ts +0 -35
  450. package/dist/browser/Puppeteer.js +0 -17
  451. package/dist/browser/QueryHandler.d.ts +0 -64
  452. package/dist/browser/QueryHandler.js +0 -183
  453. package/dist/browser/SecurityDetails.d.ts +0 -55
  454. package/dist/browser/SecurityDetails.js +0 -95
  455. package/dist/browser/Tracing.d.ts +0 -45
  456. package/dist/browser/Tracing.js +0 -136
  457. package/dist/browser/USKeyboardLayout.d.ts +0 -39
  458. package/dist/browser/USKeyboardLayout.js +0 -406
  459. package/dist/browser/WebWorker.d.ts +0 -96
  460. package/dist/browser/WebWorker.js +0 -122
  461. package/dist/browser/compat.d.ts +0 -2
  462. package/dist/browser/compat.js +0 -17
  463. package/dist/browser/dialog.d.ts +0 -70
  464. package/dist/browser/dialog.js +0 -114
  465. package/dist/browser/environment.d.ts +0 -16
  466. package/dist/browser/environment.js +0 -19
  467. package/dist/browser/fetch.d.ts +0 -16
  468. package/dist/browser/fetch.js +0 -46
  469. package/dist/browser/find-up.d.ts +0 -4
  470. package/dist/browser/find-up.js +0 -85
  471. package/dist/browser/pkg-dir.d.ts +0 -3
  472. package/dist/browser/pkg-dir.js +0 -13
  473. package/dist/browser-log.d.ts.map +0 -1
  474. package/dist/browser-log.js.map +0 -1
  475. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  476. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  477. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  478. package/dist/can-use-parallel-encoding.js.map +0 -1
  479. package/dist/chunk.d.ts.map +0 -1
  480. package/dist/chunk.js.map +0 -1
  481. package/dist/combine-videos.d.ts.map +0 -1
  482. package/dist/combine-videos.js.map +0 -1
  483. package/dist/convert-to-pcm.d.ts.map +0 -1
  484. package/dist/convert-to-pcm.js.map +0 -1
  485. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  486. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  487. package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
  488. package/dist/create-ffmpeg-merge-filter.js.map +0 -1
  489. package/dist/create-silent-audio.d.ts.map +0 -1
  490. package/dist/create-silent-audio.js.map +0 -1
  491. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  492. package/dist/cycle-browser-tabs.js.map +0 -1
  493. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  494. package/dist/delay-render-embedded-stack.js.map +0 -1
  495. package/dist/delete-directory.d.ts.map +0 -1
  496. package/dist/delete-directory.js.map +0 -1
  497. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  498. package/dist/ensure-frames-in-order.js.map +0 -1
  499. package/dist/ensure-output-directory.d.ts.map +0 -1
  500. package/dist/ensure-output-directory.js.map +0 -1
  501. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  502. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  503. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  504. package/dist/error-handling/symbolicate-error.js.map +0 -1
  505. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  506. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  507. package/dist/ffmpeg-filter-file.d.ts.map +0 -1
  508. package/dist/ffmpeg-filter-file.js.map +0 -1
  509. package/dist/ffmpeg-flags.d.ts.map +0 -1
  510. package/dist/ffmpeg-flags.js.map +0 -1
  511. package/dist/get-audio-codec-name.d.ts.map +0 -1
  512. package/dist/get-audio-codec-name.js.map +0 -1
  513. package/dist/get-browser-instance.d.ts.map +0 -1
  514. package/dist/get-browser-instance.js.map +0 -1
  515. package/dist/get-codec-name.d.ts.map +0 -1
  516. package/dist/get-codec-name.js.map +0 -1
  517. package/dist/get-compositions.d.ts.map +0 -1
  518. package/dist/get-compositions.js.map +0 -1
  519. package/dist/get-concurrency.d.ts.map +0 -1
  520. package/dist/get-concurrency.js.map +0 -1
  521. package/dist/get-duration-from-frame-range.d.ts.map +0 -1
  522. package/dist/get-duration-from-frame-range.js.map +0 -1
  523. package/dist/get-duration-of-asset.d.ts +0 -7
  524. package/dist/get-duration-of-asset.js +0 -36
  525. package/dist/get-extension-from-codec.d.ts.map +0 -1
  526. package/dist/get-extension-from-codec.js.map +0 -1
  527. package/dist/get-frame-to-render.d.ts.map +0 -1
  528. package/dist/get-frame-to-render.js.map +0 -1
  529. package/dist/get-local-browser-executable.d.ts.map +0 -1
  530. package/dist/get-local-browser-executable.js.map +0 -1
  531. package/dist/get-port.d.ts.map +0 -1
  532. package/dist/get-port.js.map +0 -1
  533. package/dist/get-prores-profile-name.d.ts.map +0 -1
  534. package/dist/get-prores-profile-name.js.map +0 -1
  535. package/dist/image-format.d.ts.map +0 -1
  536. package/dist/image-format.js.map +0 -1
  537. package/dist/index.d.ts.map +0 -1
  538. package/dist/index.js.map +0 -1
  539. package/dist/is-serve-url.d.ts.map +0 -1
  540. package/dist/is-serve-url.js.map +0 -1
  541. package/dist/legacy-webpack-config.d.ts.map +0 -1
  542. package/dist/legacy-webpack-config.js.map +0 -1
  543. package/dist/make-assets-download-dir.d.ts +0 -1
  544. package/dist/make-assets-download-dir.d.ts.map +0 -1
  545. package/dist/make-assets-download-dir.js +0 -13
  546. package/dist/make-assets-download-dir.js.map +0 -1
  547. package/dist/merge-audio-track.d.ts.map +0 -1
  548. package/dist/merge-audio-track.js.map +0 -1
  549. package/dist/normalize-serve-url.d.ts.map +0 -1
  550. package/dist/normalize-serve-url.js.map +0 -1
  551. package/dist/open-browser.d.ts.map +0 -1
  552. package/dist/open-browser.js.map +0 -1
  553. package/dist/p-limit.d.ts.map +0 -1
  554. package/dist/p-limit.js.map +0 -1
  555. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  556. package/dist/parse-browser-error-stack.js.map +0 -1
  557. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  558. package/dist/parse-ffmpeg-progress.js.map +0 -1
  559. package/dist/pool.d.ts.map +0 -1
  560. package/dist/pool.js.map +0 -1
  561. package/dist/prepare-server.d.ts.map +0 -1
  562. package/dist/prepare-server.js.map +0 -1
  563. package/dist/preprocess-audio-track.d.ts.map +0 -1
  564. package/dist/preprocess-audio-track.js.map +0 -1
  565. package/dist/prespawn-ffmpeg.d.ts.map +0 -1
  566. package/dist/prespawn-ffmpeg.js.map +0 -1
  567. package/dist/provide-screenshot.d.ts.map +0 -1
  568. package/dist/provide-screenshot.js.map +0 -1
  569. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  570. package/dist/puppeteer-evaluate.js.map +0 -1
  571. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  572. package/dist/puppeteer-screenshot.js.map +0 -1
  573. package/dist/render-frames.d.ts.map +0 -1
  574. package/dist/render-frames.js.map +0 -1
  575. package/dist/render-media.d.ts.map +0 -1
  576. package/dist/render-media.js.map +0 -1
  577. package/dist/render-still.d.ts.map +0 -1
  578. package/dist/render-still.js.map +0 -1
  579. package/dist/resolve-asset-src.d.ts.map +0 -1
  580. package/dist/resolve-asset-src.js.map +0 -1
  581. package/dist/sample-rate.d.ts.map +0 -1
  582. package/dist/sample-rate.js.map +0 -1
  583. package/dist/screenshot-dom-element.d.ts.map +0 -1
  584. package/dist/screenshot-dom-element.js.map +0 -1
  585. package/dist/screenshot-task.d.ts.map +0 -1
  586. package/dist/screenshot-task.js.map +0 -1
  587. package/dist/seek-to-frame.d.ts.map +0 -1
  588. package/dist/seek-to-frame.js.map +0 -1
  589. package/dist/serve-handler/glob-slash.d.ts +0 -1
  590. package/dist/serve-handler/glob-slash.js +0 -12
  591. package/dist/serve-static.d.ts.map +0 -1
  592. package/dist/serve-static.js.map +0 -1
  593. package/dist/set-props-and-env.d.ts.map +0 -1
  594. package/dist/set-props-and-env.js.map +0 -1
  595. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  596. package/dist/stitch-frames-to-video.js.map +0 -1
  597. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  598. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  599. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  600. package/dist/symbolicate-stacktrace.js.map +0 -1
  601. package/dist/tmp-dir.d.ts.map +0 -1
  602. package/dist/tmp-dir.js.map +0 -1
  603. package/dist/types.d.ts.map +0 -1
  604. package/dist/types.js.map +0 -1
  605. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  606. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  607. package/dist/validate-ffmpeg.d.ts.map +0 -1
  608. package/dist/validate-ffmpeg.js.map +0 -1
  609. package/dist/validate-fps-for-gif.d.ts +0 -2
  610. package/dist/validate-fps-for-gif.js +0 -9
  611. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  612. package/dist/validate-puppeteer-timeout.js.map +0 -1
  613. package/dist/validate-scale.d.ts.map +0 -1
  614. package/dist/validate-scale.js.map +0 -1
  615. package/tsconfig.json +0 -10
@@ -6,26 +6,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.prespawnFfmpeg = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
8
  const remotion_1 = require("remotion");
9
+ const codec_1 = require("./codec");
10
+ const crf_1 = require("./crf");
11
+ const ffmpeg_flags_1 = require("./ffmpeg-flags");
9
12
  const get_codec_name_1 = require("./get-codec-name");
10
13
  const get_prores_profile_name_1 = require("./get-prores-profile-name");
11
14
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
15
+ const pixel_format_1 = require("./pixel-format");
12
16
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
13
17
  const validate_ffmpeg_1 = require("./validate-ffmpeg");
14
- const prespawnFfmpeg = async (options) => {
15
- var _a, _b, _c, _d, _e, _f, _g;
18
+ const prespawnFfmpeg = async (options, remotionRoot) => {
19
+ var _a, _b, _c, _d, _e, _f;
16
20
  remotion_1.Internals.validateDimension(options.height, 'height', 'passed to `stitchFramesToVideo()`');
17
21
  remotion_1.Internals.validateDimension(options.width, 'width', 'passed to `stitchFramesToVideo()`');
18
- remotion_1.Internals.validateFps(options.fps, 'passed to `stitchFramesToVideo()`');
19
- const codec = (_a = options.codec) !== null && _a !== void 0 ? _a : remotion_1.Internals.DEFAULT_CODEC;
22
+ const codec = (_a = options.codec) !== null && _a !== void 0 ? _a : codec_1.DEFAULT_CODEC;
23
+ remotion_1.Internals.validateFps(options.fps, 'in `stitchFramesToVideo()`', codec === 'gif');
20
24
  (0, validate_even_dimensions_with_codec_1.validateEvenDimensionsWithCodec)({
21
25
  width: options.width,
22
26
  height: options.height,
23
27
  codec,
24
28
  scale: 1,
25
29
  });
26
- const crf = (_b = options.crf) !== null && _b !== void 0 ? _b : remotion_1.Internals.getDefaultCrfForCodec(codec);
27
- const pixelFormat = (_c = options.pixelFormat) !== null && _c !== void 0 ? _c : remotion_1.Internals.DEFAULT_PIXEL_FORMAT;
28
- await (0, validate_ffmpeg_1.validateFfmpeg)((_d = options.ffmpegExecutable) !== null && _d !== void 0 ? _d : null);
30
+ const pixelFormat = (_b = options.pixelFormat) !== null && _b !== void 0 ? _b : pixel_format_1.DEFAULT_PIXEL_FORMAT;
31
+ await (0, validate_ffmpeg_1.validateFfmpeg)((_c = options.ffmpegExecutable) !== null && _c !== void 0 ? _c : null, remotionRoot, 'ffmpeg');
29
32
  const encoderName = (0, get_codec_name_1.getCodecName)(codec);
30
33
  const proResProfileName = (0, get_prores_profile_name_1.getProResProfileName)(codec, options.proResProfile);
31
34
  if (encoderName === null) {
@@ -33,19 +36,18 @@ const prespawnFfmpeg = async (options) => {
33
36
  }
34
37
  const supportsCrf = codec !== 'prores';
35
38
  if (options.verbose) {
36
- console.log('[verbose] ffmpeg', (_e = options.ffmpegExecutable) !== null && _e !== void 0 ? _e : 'ffmpeg in PATH');
39
+ console.log('[verbose] ffmpeg', (_d = options.ffmpegExecutable) !== null && _d !== void 0 ? _d : 'ffmpeg in PATH');
37
40
  console.log('[verbose] encoder', encoderName);
38
41
  console.log('[verbose] pixelFormat', pixelFormat);
39
42
  if (supportsCrf) {
40
- console.log('[verbose] crf', crf);
43
+ console.log('[verbose] crf', options.crf);
41
44
  }
42
45
  console.log('[verbose] codec', codec);
43
46
  console.log('[verbose] proResProfileName', proResProfileName);
44
47
  }
45
- remotion_1.Internals.validateSelectedCrfAndCodecCombination(crf, codec);
46
- remotion_1.Internals.validateSelectedPixelFormatAndCodecCombination(pixelFormat, codec);
48
+ (0, pixel_format_1.validateSelectedPixelFormatAndCodecCombination)(pixelFormat, codec);
47
49
  const ffmpegArgs = [
48
- ['-r', String(options.fps)],
50
+ ['-r', options.fps.toFixed(2)],
49
51
  ...[
50
52
  ['-f', 'image2pipe'],
51
53
  ['-s', `${options.width}x${options.height}`],
@@ -58,12 +60,15 @@ const prespawnFfmpeg = async (options) => {
58
60
  // and specified the video codec.
59
61
  ['-c:v', encoderName],
60
62
  proResProfileName ? ['-profile:v', proResProfileName] : null,
61
- supportsCrf ? ['-crf', String(crf)] : null,
62
63
  ['-pix_fmt', pixelFormat],
63
64
  // Without explicitly disabling auto-alt-ref,
64
65
  // transparent WebM generation doesn't work
65
66
  pixelFormat === 'yuva420p' ? ['-auto-alt-ref', '0'] : null,
66
- ['-b:v', '1M'],
67
+ ...(0, crf_1.validateQualitySettings)({
68
+ crf: options.crf,
69
+ videoBitrate: options.videoBitrate,
70
+ codec,
71
+ }),
67
72
  '-y',
68
73
  options.outputLocation,
69
74
  ];
@@ -72,12 +77,15 @@ const prespawnFfmpeg = async (options) => {
72
77
  console.log(ffmpegArgs);
73
78
  }
74
79
  const ffmpegString = ffmpegArgs.flat(2).filter(Boolean);
75
- const task = (0, execa_1.default)((_f = options.ffmpegExecutable) !== null && _f !== void 0 ? _f : 'ffmpeg', ffmpegString);
80
+ const finalFfmpegString = options.ffmpegOverride
81
+ ? options.ffmpegOverride({ type: 'pre-stitcher', args: ffmpegString })
82
+ : ffmpegString;
83
+ const task = (0, execa_1.default)(await (0, ffmpeg_flags_1.getExecutableBinary)((_e = options.ffmpegExecutable) !== null && _e !== void 0 ? _e : null, remotionRoot, 'ffmpeg'), finalFfmpegString);
76
84
  options.signal(() => {
77
85
  task.kill();
78
86
  });
79
87
  let ffmpegOutput = '';
80
- (_g = task.stderr) === null || _g === void 0 ? void 0 : _g.on('data', (data) => {
88
+ (_f = task.stderr) === null || _f === void 0 ? void 0 : _f.on('data', (data) => {
81
89
  const str = data.toString();
82
90
  ffmpegOutput += str;
83
91
  if (options.onProgress) {
@@ -0,0 +1,12 @@
1
+ export declare const estimateMemoryUsageForPrestitcher: ({ width, height, }: {
2
+ width: number;
3
+ height: number;
4
+ }) => number;
5
+ export declare const shouldUseParallelEncoding: ({ width, height, }: {
6
+ width: number;
7
+ height: number;
8
+ }) => {
9
+ hasEnoughMemory: boolean;
10
+ freeMemory: number;
11
+ estimatedUsage: number;
12
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.shouldUseParallelEncoding = exports.estimateMemoryUsageForPrestitcher = void 0;
7
+ const os_1 = __importDefault(require("os"));
8
+ const estimateMemoryUsageForPrestitcher = ({ width, height, }) => {
9
+ // Empirically we detected that per 1 million pixels, FFMPEG uses around 1GB of memory, relatively independent of
10
+ // the duration of the video.
11
+ const memoryUsageFor4K = 1000000000;
12
+ const memoryUsageOfPixel = memoryUsageFor4K / 1000000;
13
+ return memoryUsageOfPixel * width * height;
14
+ };
15
+ exports.estimateMemoryUsageForPrestitcher = estimateMemoryUsageForPrestitcher;
16
+ const shouldUseParallelEncoding = ({ width, height, }) => {
17
+ const freeMemory = os_1.default.freemem();
18
+ const estimatedUsage = (0, exports.estimateMemoryUsageForPrestitcher)({
19
+ height,
20
+ width,
21
+ });
22
+ const hasEnoughMemory = freeMemory - estimatedUsage > 2000000000 &&
23
+ estimatedUsage / freeMemory < 0.5;
24
+ return {
25
+ hasEnoughMemory,
26
+ freeMemory,
27
+ estimatedUsage,
28
+ };
29
+ };
30
+ exports.shouldUseParallelEncoding = shouldUseParallelEncoding;
@@ -0,0 +1,8 @@
1
+ import type { Codec } from './codec';
2
+ declare const proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
3
+ export declare type ProResProfile = typeof proResProfileOptions[number];
4
+ export declare const validateSelectedCodecAndProResCombination: ({ codec, proResProfile, }: {
5
+ codec: Codec;
6
+ proResProfile: ProResProfile | undefined;
7
+ }) => void;
8
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSelectedCodecAndProResCombination = void 0;
4
+ const proResProfileOptions = [
5
+ '4444-xq',
6
+ '4444',
7
+ 'hq',
8
+ 'standard',
9
+ 'light',
10
+ 'proxy',
11
+ ];
12
+ const validateSelectedCodecAndProResCombination = ({ codec, proResProfile, }) => {
13
+ if (typeof proResProfile !== 'undefined' && codec !== 'prores') {
14
+ throw new TypeError(`You have set a ProRes profile but the codec is "${codec}". Set the codec to "prores" or remove the ProRes profile.`);
15
+ }
16
+ if (proResProfile !== undefined &&
17
+ !proResProfileOptions.includes(proResProfile)) {
18
+ throw new TypeError(`The ProRes profile "${proResProfile}" is not valid. Valid options are ${proResProfileOptions
19
+ .map((p) => `"${p}"`)
20
+ .join(', ')}`);
21
+ }
22
+ };
23
+ exports.validateSelectedCodecAndProResCombination = validateSelectedCodecAndProResCombination;
@@ -1,11 +1,15 @@
1
- import puppeteer from 'puppeteer-core';
2
- import { ImageFormat } from 'remotion';
3
- export declare const provideScreenshot: ({ page, imageFormat, options, quality, }: {
4
- page: puppeteer.Page;
1
+ import type { ClipRegion } from 'remotion';
2
+ import type { Page } from './browser/BrowserPage';
3
+ import type { ImageFormat } from './image-format';
4
+ export declare const provideScreenshot: ({ page, imageFormat, options, quality, height, width, clipRegion, }: {
5
+ page: Page;
5
6
  imageFormat: ImageFormat;
6
7
  quality: number | undefined;
7
8
  options: {
8
9
  frame: number;
9
- output?: string;
10
+ output: string | null;
10
11
  };
12
+ height: number;
13
+ width: number;
14
+ clipRegion: ClipRegion | null;
11
15
  }) => Promise<Buffer>;
@@ -2,15 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.provideScreenshot = void 0;
4
4
  const screenshot_dom_element_1 = require("./screenshot-dom-element");
5
- const provideScreenshot = ({ page, imageFormat, options, quality, }) => {
5
+ const provideScreenshot = ({ page, imageFormat, options, quality, height, width, clipRegion, }) => {
6
6
  return (0, screenshot_dom_element_1.screenshotDOMElement)({
7
7
  page,
8
8
  opts: {
9
9
  path: options.output,
10
- selector: '#remotion-canvas',
11
10
  },
12
11
  imageFormat,
13
12
  quality,
13
+ height,
14
+ width,
15
+ clipRegion,
14
16
  });
15
17
  };
16
18
  exports.provideScreenshot = provideScreenshot;
@@ -1,4 +1,4 @@
1
- import { Page } from 'puppeteer-core';
1
+ import type { Page } from './browser/BrowserPage';
2
2
  export declare function puppeteerEvaluateWithCatch<ReturnType>({ page, pageFunction, frame, args, }: {
3
3
  page: Page;
4
4
  pageFunction: Function | string;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.puppeteerEvaluateWithCatch = void 0;
4
- /* eslint-disable no-new */
5
- const puppeteer_core_1 = require("puppeteer-core");
4
+ const JSHandle_1 = require("./browser/JSHandle");
6
5
  const symbolicateable_error_1 = require("./error-handling/symbolicateable-error");
7
6
  const parse_browser_error_stack_1 = require("./parse-browser-error-stack");
8
7
  const EVALUATION_SCRIPT_URL = '__puppeteer_evaluation_script__';
@@ -33,7 +32,7 @@ function isString(obj) {
33
32
  async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, }) {
34
33
  var _a, _b, _c, _d, _e, _f, _g;
35
34
  const contextId = (await page.mainFrame().executionContext())._contextId;
36
- const client = page._client;
35
+ const client = page._client();
37
36
  const suffix = `//# sourceURL=${EVALUATION_SCRIPT_URL}`;
38
37
  if (isString(pageFunction)) {
39
38
  const expression = pageFunction;
@@ -100,18 +99,26 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
100
99
  error.message += ' Are you passing a nested JSHandle?';
101
100
  throw error;
102
101
  }
103
- const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise;
104
- if (exceptionDetails) {
105
- const err = new symbolicateable_error_1.SymbolicateableError({
106
- stack: (_c = exceptionDetails.exception) === null || _c === void 0 ? void 0 : _c.description,
107
- name: (_d = exceptionDetails.exception) === null || _d === void 0 ? void 0 : _d.className,
108
- message: (_f = (_e = exceptionDetails.exception) === null || _e === void 0 ? void 0 : _e.description) === null || _f === void 0 ? void 0 : _f.split('\n')[0],
109
- frame,
110
- stackFrame: (0, parse_browser_error_stack_1.parseStack)(((_g = exceptionDetails.exception) === null || _g === void 0 ? void 0 : _g.description).split('\n')),
111
- });
112
- throw err;
102
+ try {
103
+ const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise;
104
+ if (exceptionDetails) {
105
+ const err = new symbolicateable_error_1.SymbolicateableError({
106
+ stack: (_c = exceptionDetails.exception) === null || _c === void 0 ? void 0 : _c.description,
107
+ name: (_d = exceptionDetails.exception) === null || _d === void 0 ? void 0 : _d.className,
108
+ message: (_f = (_e = exceptionDetails.exception) === null || _e === void 0 ? void 0 : _e.description) === null || _f === void 0 ? void 0 : _f.split('\n')[0],
109
+ frame,
110
+ stackFrame: (0, parse_browser_error_stack_1.parseStack)(((_g = exceptionDetails.exception) === null || _g === void 0 ? void 0 : _g.description).split('\n')),
111
+ });
112
+ throw err;
113
+ }
114
+ return valueFromRemoteObject(remoteObject);
115
+ }
116
+ catch (error) {
117
+ if (error === null || error === void 0 ? void 0 : error.originalMessage.startsWith("Object couldn't be returned by value")) {
118
+ throw new Error('Could not serialize the return value of the function. Did you pass non-serializable values to defaultProps?');
119
+ }
120
+ throw error;
113
121
  }
114
- return valueFromRemoteObject(remoteObject);
115
122
  }
116
123
  exports.puppeteerEvaluateWithCatch = puppeteerEvaluateWithCatch;
117
124
  /**
@@ -140,7 +147,7 @@ function convertArgument(arg) {
140
147
  return { unserializableValue: '-Infinity' };
141
148
  if (Object.is(arg, NaN))
142
149
  return { unserializableValue: 'NaN' };
143
- const objectHandle = arg && arg instanceof puppeteer_core_1.JSHandle ? arg : null;
150
+ const objectHandle = arg && arg instanceof JSHandle_1.JSHandle ? arg : null;
144
151
  if (objectHandle) {
145
152
  if (objectHandle._disposed)
146
153
  throw new Error('JSHandle is disposed!');
@@ -1,2 +1,12 @@
1
- import { Page, ScreenshotOptions } from 'puppeteer-core';
2
- export declare const screenshot: (page: Page, options?: ScreenshotOptions) => Promise<Buffer | string | void>;
1
+ import type { ClipRegion } from 'remotion';
2
+ import type { Page } from './browser/BrowserPage';
3
+ export declare const screenshot: (options: {
4
+ page: Page;
5
+ type: 'png' | 'jpeg';
6
+ path?: string;
7
+ quality?: number;
8
+ omitBackground: boolean;
9
+ width: number;
10
+ height: number;
11
+ clipRegion: ClipRegion | null;
12
+ }) => Promise<Buffer | string>;
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.screenshot = void 0;
27
27
  const assert = __importStar(require("assert"));
28
28
  const screenshot_task_1 = require("./screenshot-task");
29
- const screenshot = (page, options = {}) => {
29
+ const screenshot = (options) => {
30
30
  let screenshotType = null;
31
31
  // options.type takes precedence over inferring the type from options.path
32
32
  // because it may be a 0-length file with no extension created beforehand
@@ -58,20 +58,15 @@ const screenshot = (page, options = {}) => {
58
58
  assert.ok(options.quality >= 0 && options.quality <= 100, 'Expected options.quality to be between 0 and 100 (inclusive), got ' +
59
59
  options.quality);
60
60
  }
61
- assert.ok(!options.clip || !options.fullPage, 'options.clip and options.fullPage are exclusive');
62
- if (options.clip) {
63
- assert.ok(typeof options.clip.x === 'number', 'Expected options.clip.x to be a number but found ' +
64
- typeof options.clip.x);
65
- assert.ok(typeof options.clip.y === 'number', 'Expected options.clip.y to be a number but found ' +
66
- typeof options.clip.y);
67
- assert.ok(typeof options.clip.width === 'number', 'Expected options.clip.width to be a number but found ' +
68
- typeof options.clip.width);
69
- assert.ok(typeof options.clip.height === 'number', 'Expected options.clip.height to be a number but found ' +
70
- typeof options.clip.height);
71
- assert.ok(options.clip.width !== 0, 'Expected options.clip.width not to be 0.');
72
- assert.ok(options.clip.height !== 0, 'Expected options.clip.height not to be 0.');
73
- }
74
- // @ts-expect-error
75
- return page._screenshotTaskQueue.postTask(() => (0, screenshot_task_1._screenshotTask)(page, screenshotType, options));
61
+ return options.page.screenshotTaskQueue.postTask(() => (0, screenshot_task_1.screenshotTask)({
62
+ page: options.page,
63
+ format: screenshotType,
64
+ height: options.height,
65
+ width: options.width,
66
+ omitBackground: options.omitBackground,
67
+ path: options.path,
68
+ quality: options.quality,
69
+ clipRegion: options.clipRegion,
70
+ }));
76
71
  };
77
72
  exports.screenshot = screenshot;
@@ -0,0 +1 @@
1
+ export declare const validateQuality: (q: number | undefined) => void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateQuality = void 0;
4
+ const validateQuality = (q) => {
5
+ if (typeof q !== 'undefined' && typeof q !== 'number') {
6
+ throw new Error(`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(`Quality must be a finite number, but is ${q}`);
13
+ }
14
+ if (Number.isNaN(q)) {
15
+ throw new RangeError(`Quality is NaN, but must be a real number`);
16
+ }
17
+ if (q > 100 || q < 0) {
18
+ throw new RangeError('Quality option must be between 0 and 100.');
19
+ }
20
+ };
21
+ exports.validateQuality = validateQuality;
@@ -0,0 +1 @@
1
+ export declare const redirectStatusCodes: number[];
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.redirectStatusCodes = void 0;
4
+ // Don't handle 304 status code (Not Modified) as a redirect,
5
+ // since the browser will display the right page.
6
+ exports.redirectStatusCodes = [301, 302, 303, 307, 308];
@@ -1,12 +1,17 @@
1
1
  /// <reference types="node" />
2
- import { Browser as PuppeteerBrowser } from 'puppeteer-core';
3
- import { BrowserExecutable, FfmpegExecutable, FrameRange, ImageFormat, SmallTCompMetadata } from 'remotion';
4
- import { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
5
- import { BrowserLog } from './browser-log';
6
- import { ServeUrlOrWebpackBundle } from './legacy-webpack-config';
7
- import { CancelSignal } from './make-cancel-signal';
8
- import { ChromiumOptions } from './open-browser';
9
- import { OnStartData, RenderFramesOutput } from './types';
2
+ import type { SmallTCompMetadata } from 'remotion';
3
+ import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
4
+ import type { DownloadMap } from './assets/download-map';
5
+ import type { BrowserExecutable } from './browser-executable';
6
+ import type { BrowserLog } from './browser-log';
7
+ import type { Browser } from './browser/Browser';
8
+ import type { FfmpegExecutable } from './ffmpeg-executable';
9
+ import type { FrameRange } from './frame-range';
10
+ import type { ImageFormat } from './image-format';
11
+ import type { ServeUrlOrWebpackBundle } from './legacy-webpack-config';
12
+ import type { CancelSignal } from './make-cancel-signal';
13
+ import type { ChromiumOptions } from './open-browser';
14
+ import type { OnStartData, RenderFramesOutput } from './types';
10
15
  declare type ConfigOrComposition = {
11
16
  /**
12
17
  * @deprecated This field has been renamed to `composition`
@@ -15,18 +20,26 @@ declare type ConfigOrComposition = {
15
20
  } | {
16
21
  composition: SmallTCompMetadata;
17
22
  };
23
+ declare type ConcurrencyOrParallelism = {
24
+ concurrency?: number | string | null;
25
+ } | {
26
+ /**
27
+ * @deprecated This field has been renamed to `concurrency`
28
+ */
29
+ parallelism?: number | null;
30
+ };
18
31
  declare type RenderFramesOptions = {
19
32
  onStart: (data: OnStartData) => void;
20
- onFrameUpdate: (framesRendered: number, frameIndex: number) => void;
33
+ onFrameUpdate: (framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void;
21
34
  outputDir: string | null;
22
35
  inputProps: unknown;
23
36
  envVariables?: Record<string, string>;
24
37
  imageFormat: ImageFormat;
25
- parallelism?: number | null;
26
38
  quality?: number;
27
39
  frameRange?: FrameRange | null;
40
+ everyNthFrame?: number;
28
41
  dumpBrowserLogs?: boolean;
29
- puppeteerInstance?: PuppeteerBrowser;
42
+ puppeteerInstance?: Browser;
30
43
  browserExecutable?: BrowserExecutable;
31
44
  onBrowserLog?: (log: BrowserLog) => void;
32
45
  onFrameBuffer?: (buffer: Buffer, frame: number) => void;
@@ -38,6 +51,11 @@ declare type RenderFramesOptions = {
38
51
  ffprobeExecutable?: FfmpegExecutable;
39
52
  port?: number | null;
40
53
  cancelSignal?: CancelSignal;
41
- } & ConfigOrComposition & ServeUrlOrWebpackBundle;
54
+ /**
55
+ * @deprecated Only for Remotion internal usage
56
+ */
57
+ downloadMap?: DownloadMap;
58
+ muted?: boolean;
59
+ } & ConfigOrComposition & ConcurrencyOrParallelism & ServeUrlOrWebpackBundle;
42
60
  export declare const renderFrames: (options: RenderFramesOptions) => Promise<RenderFramesOutput>;
43
61
  export {};