@remotion/renderer 3.0.0-wrappedup.222 → 3.0.0

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 (361) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-lint.log +27 -0
  3. package/.turbo/turbo-test.log +34 -0
  4. package/LICENSE.md +2 -2
  5. package/dist/add-silent-audio-if-necessary.d.ts +7 -1
  6. package/dist/add-silent-audio-if-necessary.d.ts.map +1 -1
  7. package/dist/add-silent-audio-if-necessary.js +14 -8
  8. package/dist/add-silent-audio-if-necessary.js.map +1 -1
  9. package/dist/assets/asset-is-used-at-time.d.ts +0 -0
  10. package/dist/assets/asset-is-used-at-time.d.ts.map +0 -0
  11. package/dist/assets/asset-is-used-at-time.js +0 -0
  12. package/dist/assets/asset-is-used-at-time.js.map +0 -0
  13. package/dist/assets/calculate-asset-positions.d.ts +0 -0
  14. package/dist/assets/calculate-asset-positions.d.ts.map +1 -1
  15. package/dist/assets/calculate-asset-positions.js +3 -1
  16. package/dist/assets/calculate-asset-positions.js.map +1 -1
  17. package/dist/assets/calculate-atempo.d.ts +0 -0
  18. package/dist/assets/calculate-atempo.d.ts.map +0 -0
  19. package/dist/assets/calculate-atempo.js +0 -0
  20. package/dist/assets/calculate-atempo.js.map +0 -0
  21. package/dist/assets/convert-assets-to-file-urls.d.ts +0 -0
  22. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -0
  23. package/dist/assets/convert-assets-to-file-urls.js +0 -0
  24. package/dist/assets/convert-assets-to-file-urls.js.map +0 -0
  25. package/dist/assets/download-and-map-assets-to-file.d.ts +1 -0
  26. package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -1
  27. package/dist/assets/download-and-map-assets-to-file.js +73 -19
  28. package/dist/assets/download-and-map-assets-to-file.js.map +1 -1
  29. package/dist/assets/download-file.d.ts +8 -0
  30. package/dist/assets/download-file.d.ts.map +1 -0
  31. package/dist/assets/download-file.js +34 -0
  32. package/dist/assets/download-file.js.map +1 -0
  33. package/dist/assets/ffmpeg-volume-expression.d.ts +0 -0
  34. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -0
  35. package/dist/assets/ffmpeg-volume-expression.js +0 -0
  36. package/dist/assets/ffmpeg-volume-expression.js.map +0 -0
  37. package/dist/assets/flatten-volume-array.d.ts +0 -0
  38. package/dist/assets/flatten-volume-array.d.ts.map +0 -0
  39. package/dist/assets/flatten-volume-array.js +0 -0
  40. package/dist/assets/flatten-volume-array.js.map +0 -0
  41. package/dist/assets/get-asset-audio-details.d.ts +0 -0
  42. package/dist/assets/get-asset-audio-details.d.ts.map +0 -0
  43. package/dist/assets/get-asset-audio-details.js +0 -0
  44. package/dist/assets/get-asset-audio-details.js.map +0 -0
  45. package/dist/assets/get-audio-channels.d.ts +0 -0
  46. package/dist/assets/get-audio-channels.d.ts.map +0 -0
  47. package/dist/assets/get-audio-channels.js +0 -0
  48. package/dist/assets/get-audio-channels.js.map +0 -0
  49. package/dist/assets/get-simulatenous-assets.d.ts +0 -0
  50. package/dist/assets/get-simulatenous-assets.d.ts.map +0 -0
  51. package/dist/assets/get-simulatenous-assets.js +0 -0
  52. package/dist/assets/get-simulatenous-assets.js.map +0 -0
  53. package/dist/assets/read-file.d.ts +3 -0
  54. package/dist/assets/read-file.d.ts.map +1 -0
  55. package/dist/assets/read-file.js +28 -0
  56. package/dist/assets/read-file.js.map +1 -0
  57. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  58. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -0
  59. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  60. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -0
  61. package/dist/assets/sanitize-filename.d.ts +2 -0
  62. package/dist/assets/sanitize-filename.d.ts.map +1 -0
  63. package/dist/assets/sanitize-filename.js +59 -0
  64. package/dist/assets/sanitize-filename.js.map +1 -0
  65. package/dist/assets/sanitize-filepath.d.ts +2 -0
  66. package/dist/assets/sanitize-filepath.d.ts.map +1 -0
  67. package/dist/assets/sanitize-filepath.js +17 -0
  68. package/dist/assets/sanitize-filepath.js.map +1 -0
  69. package/dist/assets/split-assets-into-segments.d.ts +0 -0
  70. package/dist/assets/split-assets-into-segments.d.ts.map +0 -0
  71. package/dist/assets/split-assets-into-segments.js +0 -0
  72. package/dist/assets/split-assets-into-segments.js.map +0 -0
  73. package/dist/assets/truncate-utf8-bytes.d.ts +2 -0
  74. package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
  75. package/dist/assets/truncate-utf8-bytes.js +38 -0
  76. package/dist/assets/truncate-utf8-bytes.js.map +1 -0
  77. package/dist/assets/types.d.ts +1 -0
  78. package/dist/assets/types.d.ts.map +1 -1
  79. package/dist/assets/types.js +19 -0
  80. package/dist/assets/types.js.map +1 -1
  81. package/dist/assets-to-ffmpeg-inputs.d.ts +0 -0
  82. package/dist/assets-to-ffmpeg-inputs.d.ts.map +0 -0
  83. package/dist/assets-to-ffmpeg-inputs.js +0 -0
  84. package/dist/assets-to-ffmpeg-inputs.js.map +0 -0
  85. package/dist/browser-log.d.ts +0 -0
  86. package/dist/browser-log.d.ts.map +0 -0
  87. package/dist/browser-log.js +0 -0
  88. package/dist/browser-log.js.map +0 -0
  89. package/dist/calculate-ffmpeg-filters.d.ts +0 -0
  90. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -0
  91. package/dist/calculate-ffmpeg-filters.js +0 -0
  92. package/dist/calculate-ffmpeg-filters.js.map +0 -0
  93. package/dist/can-use-parallel-encoding.d.ts +3 -0
  94. package/dist/can-use-parallel-encoding.d.ts.map +1 -0
  95. package/dist/can-use-parallel-encoding.js +12 -0
  96. package/dist/can-use-parallel-encoding.js.map +1 -0
  97. package/dist/combine-videos.d.ts +0 -0
  98. package/dist/combine-videos.d.ts.map +0 -0
  99. package/dist/combine-videos.js +1 -1
  100. package/dist/combine-videos.js.map +1 -1
  101. package/dist/convert-mp3-to-pcm.d.ts +7 -0
  102. package/dist/convert-mp3-to-pcm.d.ts.map +1 -0
  103. package/dist/convert-mp3-to-pcm.js +41 -0
  104. package/dist/convert-mp3-to-pcm.js.map +1 -0
  105. package/dist/create-ffmpeg-complex-filter.d.ts +4 -1
  106. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -1
  107. package/dist/create-ffmpeg-complex-filter.js +0 -0
  108. package/dist/create-ffmpeg-complex-filter.js.map +0 -0
  109. package/dist/cycle-browser-tabs.d.ts +0 -0
  110. package/dist/cycle-browser-tabs.d.ts.map +0 -0
  111. package/dist/cycle-browser-tabs.js +0 -0
  112. package/dist/cycle-browser-tabs.js.map +0 -0
  113. package/dist/delay-render-embedded-stack.d.ts +3 -0
  114. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  115. package/dist/delay-render-embedded-stack.js +18 -0
  116. package/dist/delay-render-embedded-stack.js.map +1 -0
  117. package/dist/delete-directory.d.ts +0 -0
  118. package/dist/delete-directory.d.ts.map +0 -0
  119. package/dist/delete-directory.js +0 -0
  120. package/dist/delete-directory.js.map +0 -0
  121. package/dist/ensure-frames-in-order.d.ts +6 -0
  122. package/dist/ensure-frames-in-order.d.ts.map +1 -0
  123. package/dist/ensure-frames-in-order.js +39 -0
  124. package/dist/ensure-frames-in-order.js.map +1 -0
  125. package/dist/ensure-output-directory.d.ts +0 -0
  126. package/dist/ensure-output-directory.d.ts.map +0 -0
  127. package/dist/ensure-output-directory.js +0 -0
  128. package/dist/ensure-output-directory.js.map +0 -0
  129. package/dist/error-handling/handle-javascript-exception.d.ts +22 -0
  130. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  131. package/dist/error-handling/handle-javascript-exception.js +73 -0
  132. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  133. package/dist/error-handling/symbolicate-error.d.ts +4 -0
  134. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  135. package/dist/error-handling/symbolicate-error.js +22 -0
  136. package/dist/error-handling/symbolicate-error.js.map +1 -0
  137. package/dist/error-handling/symbolicateable-error.d.ts +17 -0
  138. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  139. package/dist/error-handling/symbolicateable-error.js +19 -0
  140. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  141. package/dist/ffmpeg-flags.d.ts +0 -0
  142. package/dist/ffmpeg-flags.d.ts.map +0 -0
  143. package/dist/ffmpeg-flags.js +0 -0
  144. package/dist/ffmpeg-flags.js.map +0 -0
  145. package/dist/get-audio-codec-name.d.ts +0 -0
  146. package/dist/get-audio-codec-name.d.ts.map +1 -1
  147. package/dist/get-audio-codec-name.js +3 -0
  148. package/dist/get-audio-codec-name.js.map +1 -1
  149. package/dist/get-browser-instance.d.ts +3 -1
  150. package/dist/get-browser-instance.d.ts.map +1 -1
  151. package/dist/get-browser-instance.js +2 -1
  152. package/dist/get-browser-instance.js.map +1 -1
  153. package/dist/get-codec-name.d.ts +0 -0
  154. package/dist/get-codec-name.d.ts.map +0 -0
  155. package/dist/get-codec-name.js +0 -0
  156. package/dist/get-codec-name.js.map +0 -0
  157. package/dist/get-compositions.d.ts +3 -0
  158. package/dist/get-compositions.d.ts.map +1 -1
  159. package/dist/get-compositions.js +32 -27
  160. package/dist/get-compositions.js.map +1 -1
  161. package/dist/get-concurrency.d.ts +0 -0
  162. package/dist/get-concurrency.d.ts.map +0 -0
  163. package/dist/get-concurrency.js +0 -0
  164. package/dist/get-concurrency.js.map +0 -0
  165. package/dist/get-extension-from-codec.d.ts +1 -1
  166. package/dist/get-extension-from-codec.d.ts.map +0 -0
  167. package/dist/get-extension-from-codec.js +0 -0
  168. package/dist/get-extension-from-codec.js.map +0 -0
  169. package/dist/get-frame-number-length.d.ts +0 -0
  170. package/dist/get-frame-number-length.d.ts.map +0 -0
  171. package/dist/get-frame-number-length.js +0 -0
  172. package/dist/get-frame-number-length.js.map +0 -0
  173. package/dist/get-frame-range.d.ts +0 -0
  174. package/dist/get-frame-range.d.ts.map +0 -0
  175. package/dist/get-frame-range.js +0 -0
  176. package/dist/get-frame-range.js.map +0 -0
  177. package/dist/get-frame-to-render.d.ts +0 -0
  178. package/dist/get-frame-to-render.d.ts.map +0 -0
  179. package/dist/get-frame-to-render.js +0 -0
  180. package/dist/get-frame-to-render.js.map +0 -0
  181. package/dist/get-local-browser-executable.d.ts +1 -1
  182. package/dist/get-local-browser-executable.d.ts.map +1 -1
  183. package/dist/get-local-browser-executable.js +1 -1
  184. package/dist/get-local-browser-executable.js.map +1 -1
  185. package/dist/get-port.d.ts +0 -0
  186. package/dist/get-port.d.ts.map +0 -0
  187. package/dist/get-port.js +0 -0
  188. package/dist/get-port.js.map +0 -0
  189. package/dist/get-prores-profile-name.d.ts +0 -0
  190. package/dist/get-prores-profile-name.d.ts.map +0 -0
  191. package/dist/get-prores-profile-name.js +0 -0
  192. package/dist/get-prores-profile-name.js.map +0 -0
  193. package/dist/handle-javascript-exception.d.ts +32 -0
  194. package/dist/handle-javascript-exception.d.ts.map +1 -0
  195. package/dist/handle-javascript-exception.js +82 -0
  196. package/dist/handle-javascript-exception.js.map +1 -0
  197. package/dist/handle-null-audio.d.ts +1 -0
  198. package/dist/handle-null-audio.d.ts.map +1 -0
  199. package/dist/handle-null-audio.js +2 -0
  200. package/dist/handle-null-audio.js.map +1 -0
  201. package/dist/image-format.d.ts +0 -0
  202. package/dist/image-format.d.ts.map +0 -0
  203. package/dist/image-format.js +0 -0
  204. package/dist/image-format.js.map +0 -0
  205. package/dist/index.d.ts +26 -12
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +19 -8
  208. package/dist/index.js.map +1 -1
  209. package/dist/is-local-file.d.ts +2 -0
  210. package/dist/is-local-file.d.ts.map +1 -0
  211. package/dist/is-local-file.js +13 -0
  212. package/dist/is-local-file.js.map +1 -0
  213. package/dist/is-serve-url.d.ts +0 -0
  214. package/dist/is-serve-url.d.ts.map +0 -0
  215. package/dist/is-serve-url.js +0 -0
  216. package/dist/is-serve-url.js.map +0 -0
  217. package/dist/legacy-webpack-config.d.ts +1 -1
  218. package/dist/legacy-webpack-config.d.ts.map +0 -0
  219. package/dist/legacy-webpack-config.js +0 -0
  220. package/dist/legacy-webpack-config.js.map +0 -0
  221. package/dist/make-assets-download-dir.d.ts +0 -0
  222. package/dist/make-assets-download-dir.d.ts.map +0 -0
  223. package/dist/make-assets-download-dir.js +0 -0
  224. package/dist/make-assets-download-dir.js.map +0 -0
  225. package/dist/min-max.d.ts +0 -0
  226. package/dist/min-max.d.ts.map +0 -0
  227. package/dist/min-max.js +0 -0
  228. package/dist/min-max.js.map +0 -0
  229. package/dist/normalize-serve-url.d.ts +0 -0
  230. package/dist/normalize-serve-url.d.ts.map +0 -0
  231. package/dist/normalize-serve-url.js +0 -0
  232. package/dist/normalize-serve-url.js.map +0 -0
  233. package/dist/open-browser.d.ts +11 -0
  234. package/dist/open-browser.d.ts.map +1 -1
  235. package/dist/open-browser.js +39 -6
  236. package/dist/open-browser.js.map +1 -1
  237. package/dist/parse-browser-error-stack.d.ts +8 -0
  238. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  239. package/dist/parse-browser-error-stack.js +88 -0
  240. package/dist/parse-browser-error-stack.js.map +1 -0
  241. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  242. package/dist/parse-ffmpeg-progress.d.ts.map +0 -0
  243. package/dist/parse-ffmpeg-progress.js +0 -0
  244. package/dist/parse-ffmpeg-progress.js.map +0 -0
  245. package/dist/pool.d.ts +0 -0
  246. package/dist/pool.d.ts.map +0 -0
  247. package/dist/pool.js +0 -0
  248. package/dist/pool.js.map +0 -0
  249. package/dist/prepare-server.d.ts +0 -0
  250. package/dist/prepare-server.d.ts.map +0 -0
  251. package/dist/prepare-server.js +0 -0
  252. package/dist/prepare-server.js.map +0 -0
  253. package/dist/provide-screenshot.d.ts +0 -1
  254. package/dist/provide-screenshot.d.ts.map +1 -1
  255. package/dist/provide-screenshot.js +0 -0
  256. package/dist/provide-screenshot.js.map +0 -0
  257. package/dist/puppeteer-evaluate.d.ts +9 -0
  258. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  259. package/dist/puppeteer-evaluate.js +157 -0
  260. package/dist/puppeteer-evaluate.js.map +1 -0
  261. package/dist/puppeteer-screenshot.d.ts +0 -1
  262. package/dist/puppeteer-screenshot.d.ts.map +1 -1
  263. package/dist/puppeteer-screenshot.js +1 -1
  264. package/dist/puppeteer-screenshot.js.map +1 -1
  265. package/dist/render-media.d.ts +7 -3
  266. package/dist/render-media.d.ts.map +1 -1
  267. package/dist/render-media.js +58 -41
  268. package/dist/render-media.js.map +1 -1
  269. package/dist/render-still.d.ts +4 -0
  270. package/dist/render-still.d.ts.map +1 -1
  271. package/dist/render-still.js +28 -19
  272. package/dist/render-still.js.map +1 -1
  273. package/dist/render-video.d.ts +7 -8
  274. package/dist/render-video.d.ts.map +1 -1
  275. package/dist/render-video.js +55 -24
  276. package/dist/render-video.js.map +1 -1
  277. package/dist/render.d.ts +10 -6
  278. package/dist/render.d.ts.map +1 -1
  279. package/dist/render.js +45 -31
  280. package/dist/render.js.map +1 -1
  281. package/dist/resolve-asset-src.d.ts +0 -0
  282. package/dist/resolve-asset-src.d.ts.map +0 -0
  283. package/dist/resolve-asset-src.js +0 -0
  284. package/dist/resolve-asset-src.js.map +0 -0
  285. package/dist/sample-rate.d.ts +1 -1
  286. package/dist/sample-rate.d.ts.map +0 -0
  287. package/dist/sample-rate.js +1 -1
  288. package/dist/sample-rate.js.map +0 -0
  289. package/dist/screenshot-dom-element.d.ts +0 -1
  290. package/dist/screenshot-dom-element.d.ts.map +1 -1
  291. package/dist/screenshot-dom-element.js +15 -4
  292. package/dist/screenshot-dom-element.js.map +1 -1
  293. package/dist/screenshot-task.d.ts +0 -1
  294. package/dist/screenshot-task.d.ts.map +1 -1
  295. package/dist/screenshot-task.js +0 -0
  296. package/dist/screenshot-task.js.map +0 -0
  297. package/dist/seek-to-frame.d.ts +0 -0
  298. package/dist/seek-to-frame.d.ts.map +1 -1
  299. package/dist/seek-to-frame.js +9 -3
  300. package/dist/seek-to-frame.js.map +1 -1
  301. package/dist/serve-static.d.ts +0 -0
  302. package/dist/serve-static.d.ts.map +1 -1
  303. package/dist/serve-static.js +33 -24
  304. package/dist/serve-static.js.map +1 -1
  305. package/dist/set-props-and-env.d.ts +2 -1
  306. package/dist/set-props-and-env.d.ts.map +1 -1
  307. package/dist/set-props-and-env.js +54 -16
  308. package/dist/set-props-and-env.js.map +1 -1
  309. package/dist/stitcher.d.ts +8 -3
  310. package/dist/stitcher.d.ts.map +1 -1
  311. package/dist/stitcher.js +60 -31
  312. package/dist/stitcher.js.map +1 -1
  313. package/dist/stringify-ffmpeg-filter.d.ts +0 -0
  314. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -1
  315. package/dist/stringify-ffmpeg-filter.js +0 -2
  316. package/dist/stringify-ffmpeg-filter.js.map +1 -1
  317. package/dist/symbolicate-stacktrace.d.ts +17 -0
  318. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  319. package/dist/symbolicate-stacktrace.js +109 -0
  320. package/dist/symbolicate-stacktrace.js.map +1 -0
  321. package/dist/tmp-dir.d.ts +0 -0
  322. package/dist/tmp-dir.d.ts.map +1 -1
  323. package/dist/tmp-dir.js +10 -8
  324. package/dist/tmp-dir.js.map +1 -1
  325. package/dist/types.d.ts +0 -0
  326. package/dist/types.d.ts.map +0 -0
  327. package/dist/types.js +0 -0
  328. package/dist/types.js.map +0 -0
  329. package/dist/validate-even-dimensions-with-codec.d.ts +2 -1
  330. package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -1
  331. package/dist/validate-even-dimensions-with-codec.js +23 -4
  332. package/dist/validate-even-dimensions-with-codec.js.map +1 -1
  333. package/dist/validate-ffmpeg.d.ts +0 -0
  334. package/dist/validate-ffmpeg.d.ts.map +1 -1
  335. package/dist/validate-ffmpeg.js +3 -8
  336. package/dist/validate-ffmpeg.js.map +1 -1
  337. package/dist/validate-frame.d.ts +2 -0
  338. package/dist/validate-frame.d.ts.map +1 -0
  339. package/dist/validate-frame.js +25 -0
  340. package/dist/validate-frame.js.map +1 -0
  341. package/dist/validate-puppeteer-timeout.d.ts +2 -0
  342. package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
  343. package/dist/validate-puppeteer-timeout.js +25 -0
  344. package/dist/validate-puppeteer-timeout.js.map +1 -0
  345. package/dist/validate-quality.d.ts +1 -0
  346. package/dist/validate-quality.d.ts.map +1 -0
  347. package/dist/validate-quality.js +2 -0
  348. package/dist/validate-quality.js.map +1 -0
  349. package/dist/validate-scale.d.ts +2 -0
  350. package/dist/validate-scale.d.ts.map +1 -0
  351. package/dist/validate-scale.js +27 -0
  352. package/dist/validate-scale.js.map +1 -0
  353. package/package.json +36 -21
  354. package/dist/get-pro-res-profile-name.d.ts +0 -3
  355. package/dist/get-pro-res-profile-name.d.ts.map +0 -1
  356. package/dist/get-pro-res-profile-name.js +0 -26
  357. package/dist/get-pro-res-profile-name.js.map +0 -1
  358. package/dist/run-ffmpeg-command.d.ts +0 -6
  359. package/dist/run-ffmpeg-command.d.ts.map +0 -1
  360. package/dist/run-ffmpeg-command.js +0 -25
  361. package/dist/run-ffmpeg-command.js.map +0 -1
package/dist/tmp-dir.js CHANGED
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.tmpDir = void 0;
7
- const fs_1 = require("fs");
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const fs_2 = require("fs");
8
9
  const os_1 = __importDefault(require("os"));
9
10
  const path_1 = __importDefault(require("path"));
10
- const remotion_1 = require("remotion");
11
11
  const alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
12
12
  const randomHash = () => {
13
13
  return new Array(10)
@@ -18,13 +18,15 @@ const randomHash = () => {
18
18
  .join('');
19
19
  };
20
20
  const tmpDir = (str) => {
21
- if (remotion_1.Internals.isInLambda()) {
22
- const dir = '/tmp/' + str + randomHash();
23
- (0, fs_1.mkdirSync)(dir);
24
- return dir;
25
- }
21
+ var _a;
26
22
  const newDir = path_1.default.join(os_1.default.tmpdir(), str + randomHash());
27
- (0, fs_1.mkdirSync)(newDir);
23
+ if (fs_1.default.existsSync(newDir)) {
24
+ ((_a = fs_1.default.rmSync) !== null && _a !== void 0 ? _a : fs_1.default.rmdirSync)(newDir, {
25
+ recursive: true,
26
+ force: true,
27
+ });
28
+ }
29
+ (0, fs_2.mkdirSync)(newDir);
28
30
  return newDir;
29
31
  };
30
32
  exports.tmpDir = tmpDir;
@@ -1 +1 @@
1
- {"version":3,"file":"tmp-dir.js","sourceRoot":"","sources":["../src/tmp-dir.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA6B;AAC7B,4CAAoB;AACpB,gDAAwB;AACxB,uCAAmC;AAEnC,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AAExD,MAAM,UAAU,GAAG,GAAW,EAAE;IAC/B,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,GAAG,EAAE;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;IACrC,IAAI,oBAAS,CAAC,UAAU,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,UAAU,EAAE,CAAC;QACzC,IAAA,cAAS,EAAC,GAAG,CAAC,CAAC;QACf,OAAO,GAAG,CAAC;KACX;IAED,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,UAAU,EAAE,CAAC,CAAC;IAC1D,IAAA,cAAS,EAAC,MAAM,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB"}
1
+ {"version":3,"file":"tmp-dir.js","sourceRoot":"","sources":["../src/tmp-dir.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2BAA6B;AAC7B,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AAExD,MAAM,UAAU,GAAG,GAAW,EAAE;IAC/B,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,GAAG,EAAE;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;;IACrC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,UAAU,EAAE,CAAC,CAAC;IAE1D,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1B,CAAC,MAAA,YAAE,CAAC,MAAM,mCAAI,YAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YACnC,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;KACH;IAED,IAAA,cAAS,EAAC,MAAM,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,MAAM,UAYjB"}
package/dist/types.d.ts CHANGED
File without changes
File without changes
package/dist/types.js CHANGED
File without changes
package/dist/types.js.map CHANGED
File without changes
@@ -1,7 +1,8 @@
1
1
  import { Codec } from 'remotion';
2
- export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, }: {
2
+ export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, scale, }: {
3
3
  width: number;
4
4
  height: number;
5
+ scale: number;
5
6
  codec: Codec;
6
7
  }) => void;
7
8
  //# sourceMappingURL=validate-even-dimensions-with-codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-even-dimensions-with-codec.d.ts","sourceRoot":"","sources":["../src/validate-even-dimensions-with-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAE/B,eAAO,MAAM,+BAA+B;WAKpC,MAAM;YACL,MAAM;WACP,KAAK;UAuBZ,CAAC"}
1
+ {"version":3,"file":"validate-even-dimensions-with-codec.d.ts","sourceRoot":"","sources":["../src/validate-even-dimensions-with-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAY,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,+BAA+B;WAMpC,MAAM;YACL,MAAM;WACP,MAAM;WACN,KAAK;UAkCZ,CAAC"}
@@ -1,16 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateEvenDimensionsWithCodec = void 0;
4
- const validateEvenDimensionsWithCodec = ({ width, height, codec, }) => {
4
+ const remotion_1 = require("remotion");
5
+ const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, }) => {
5
6
  if (codec !== 'h264-mkv' && codec !== 'h264' && codec !== 'h265') {
6
7
  return;
7
8
  }
9
+ const actualWidth = width * scale;
10
+ const actualHeight = height * scale;
8
11
  const displayName = codec === 'h265' ? 'H265' : 'H264';
9
- if (width % 2 !== 0) {
10
- throw new Error(`Codec error: You are trying to render a video with a ${displayName} codec that has a width of ${width}px, which is an odd number. The ${displayName} codec does only support dimensions with even numbers. Change the width to ${Math.floor(width - 1)}px to fix this issue.`);
12
+ if (actualWidth % 2 !== 0) {
13
+ const message = [
14
+ `Codec error: You are trying to render a video with a ${displayName} codec that has a width of ${actualWidth}px, which is an uneven number.`,
15
+ `The ${displayName} codec does only support dimensions that are evenly divisible by two.`,
16
+ scale === 1
17
+ ? `Change the width to ${Math.floor(width - 1)}px to fix this issue.`
18
+ : `You have used the "scale" option which might be the reason for the problem: The original width is ${width} and the scale is ${scale}x, which was multiplied to get the actual width.`,
19
+ ]
20
+ .filter(remotion_1.Internals.truthy)
21
+ .join(' ');
22
+ throw new Error(message);
11
23
  }
12
24
  if (height % 2 !== 0) {
13
- throw new Error(`Codec error: You are trying to render a video with a ${displayName} codec that has a height of ${height}px, which is an odd number. The ${displayName} codec does only support dimensions with even numbers. Change the height to ${Math.floor(height - 1)}px to fix this issue.`);
25
+ const message = [
26
+ `Codec error: You are trying to render a video with a ${displayName} codec that has a height of ${actualHeight}px, which is an uneven number.`,
27
+ `The ${displayName} codec does only support dimensions that are evenly divisible by two. `,
28
+ scale === 1
29
+ ? `Change the height to ${Math.floor(height - 1)}px to fix this issue.`
30
+ : `You have used the "scale" option which might be the reason for the problem: The original height is ${height} and the scale is ${scale}x, which was multiplied to get the actual height.`,
31
+ ].join(' ');
32
+ throw new Error(message);
14
33
  }
15
34
  };
16
35
  exports.validateEvenDimensionsWithCodec = validateEvenDimensionsWithCodec;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-even-dimensions-with-codec.js","sourceRoot":"","sources":["../src/validate-even-dimensions-with-codec.ts"],"names":[],"mappings":";;;AAEO,MAAM,+BAA+B,GAAG,CAAC,EAC/C,KAAK,EACL,MAAM,EACN,KAAK,GAKL,EAAE,EAAE;IACJ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QACjE,OAAO;KACP;IAED,MAAM,WAAW,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvD,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CACd,wDAAwD,WAAW,8BAA8B,KAAK,mCAAmC,WAAW,8EAA8E,IAAI,CAAC,KAAK,CAC3O,KAAK,GAAG,CAAC,CACT,uBAAuB,CACxB,CAAC;KACF;IAED,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CACd,wDAAwD,WAAW,+BAA+B,MAAM,mCAAmC,WAAW,+EAA+E,IAAI,CAAC,KAAK,CAC9O,MAAM,GAAG,CAAC,CACV,uBAAuB,CACxB,CAAC;KACF;AACF,CAAC,CAAC;AA9BW,QAAA,+BAA+B,mCA8B1C"}
1
+ {"version":3,"file":"validate-even-dimensions-with-codec.js","sourceRoot":"","sources":["../src/validate-even-dimensions-with-codec.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAEnC,MAAM,+BAA+B,GAAG,CAAC,EAC/C,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,GAML,EAAE,EAAE;IACJ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE;QACjE,OAAO;KACP;IAED,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;IAEpC,MAAM,WAAW,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvD,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,OAAO,GAAG;YACf,wDAAwD,WAAW,8BAA8B,WAAW,gCAAgC;YAC5I,OAAO,WAAW,uEAAuE;YACzF,KAAK,KAAK,CAAC;gBACV,CAAC,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,uBAAuB;gBACrE,CAAC,CAAC,qGAAqG,KAAK,qBAAqB,KAAK,kDAAkD;SACzL;aACC,MAAM,CAAC,oBAAS,CAAC,MAAM,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KACzB;IAED,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QACrB,MAAM,OAAO,GAAG;YACf,wDAAwD,WAAW,+BAA+B,YAAY,gCAAgC;YAC9I,OAAO,WAAW,wEAAwE;YAC1F,KAAK,KAAK,CAAC;gBACV,CAAC,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,uBAAuB;gBACvE,CAAC,CAAC,sGAAsG,MAAM,qBAAqB,KAAK,mDAAmD;SAC5L,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KACzB;AACF,CAAC,CAAC;AA3CW,QAAA,+BAA+B,mCA2C1C"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"validate-ffmpeg.d.ts","sourceRoot":"","sources":["../src/validate-ffmpeg.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,SAClB,QAAQ,GAAG,MAAM,eACV,MAAM,GAAG,IAAI,qBAgC1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAa,QAAQ,OAAO,CAE3D,CAAC;AAEF,eAAO,MAAM,cAAc,uBACN,MAAM,GAAG,IAAI,KAC/B,QAAQ,IAAI,CAsCd,CAAC"}
1
+ {"version":3,"file":"validate-ffmpeg.d.ts","sourceRoot":"","sources":["../src/validate-ffmpeg.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,SAClB,QAAQ,GAAG,MAAM,eACV,MAAM,GAAG,IAAI,qBA2B1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,QAAQ,OAAO,CAErD,CAAC;AAEF,eAAO,MAAM,cAAc,uBACN,MAAM,GAAG,IAAI,KAC/B,QAAQ,IAAI,CAsCd,CAAC"}
@@ -5,22 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validateFfmpeg = exports.isHomebrewInstalled = exports.binaryExists = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
- const fs_1 = __importDefault(require("fs"));
9
8
  const os_1 = __importDefault(require("os"));
10
- const fs_2 = require("fs");
9
+ const fs_1 = require("fs");
11
10
  const remotion_1 = require("remotion");
12
11
  const existsMap = {};
13
12
  const binaryExists = async (name, localFFmpeg) => {
14
13
  if (typeof existsMap[name] !== 'undefined') {
15
14
  return existsMap[name];
16
15
  }
17
- // On AWS lambda, look for a specific path
18
- if (name === 'ffmpeg' && process.env.LAMBDA_TASK_ROOT) {
19
- return fs_1.default.existsSync('/opt/bin/ffmpeg');
20
- }
21
16
  if (name === 'ffmpeg' && localFFmpeg) {
22
17
  try {
23
- (0, fs_2.statSync)(localFFmpeg);
18
+ (0, fs_1.statSync)(localFFmpeg);
24
19
  existsMap[name] = true;
25
20
  }
26
21
  catch (err) {
@@ -41,7 +36,7 @@ const binaryExists = async (name, localFFmpeg) => {
41
36
  }
42
37
  };
43
38
  exports.binaryExists = binaryExists;
44
- const isHomebrewInstalled = async () => {
39
+ const isHomebrewInstalled = () => {
45
40
  return (0, exports.binaryExists)('brew', null);
46
41
  };
47
42
  exports.isHomebrewInstalled = isHomebrewInstalled;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-ffmpeg.js","sourceRoot":"","sources":["../src/validate-ffmpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-ffmpeg.js","sourceRoot":"","sources":["../src/validate-ffmpeg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const validateFrame: (frame: number, durationInFrames: number) => void;
2
+ //# sourceMappingURL=validate-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-frame.d.ts","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAAW,MAAM,oBAAoB,MAAM,SAgCpE,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateFrame = void 0;
4
+ const validateFrame = (frame, durationInFrames) => {
5
+ if (typeof frame === 'undefined') {
6
+ throw new TypeError(`Argument missing for parameter "frame"`);
7
+ }
8
+ if (typeof frame !== 'number') {
9
+ throw new TypeError(`Argument passed for "frame" is not a number: ${frame}`);
10
+ }
11
+ if (frame < 0) {
12
+ throw new RangeError(`Frame ${frame} cannot be negative`);
13
+ }
14
+ if (!Number.isFinite(frame)) {
15
+ throw new RangeError(`Frame ${frame} is not finite`);
16
+ }
17
+ if (frame % 1 !== 0) {
18
+ throw new RangeError(`Argument for frame must be an integer, but got ${frame}`);
19
+ }
20
+ if (frame > durationInFrames - 1) {
21
+ throw new RangeError(`Cannot use frame ${frame}: Duration of composition is ${durationInFrames}, therefore the highest frame that can be rendered is ${durationInFrames - 1}`);
22
+ }
23
+ };
24
+ exports.validateFrame = validateFrame;
25
+ //# sourceMappingURL=validate-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-frame.js","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,gBAAwB,EAAE,EAAE;IACxE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;KAC9D;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,SAAS,CAClB,gDAAgD,KAAK,EAAE,CACvD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,CAAC,EAAE;QACd,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,qBAAqB,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;KACrD;IAED,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,UAAU,CACnB,kDAAkD,KAAK,EAAE,CACzD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,gBAAgB,GAAG,CAAC,EAAE;QACjC,MAAM,IAAI,UAAU,CACnB,oBAAoB,KAAK,gCAAgC,gBAAgB,yDACxE,gBAAgB,GAAG,CACpB,EAAE,CACF,CAAC;KACF;AACF,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB"}
@@ -0,0 +1,2 @@
1
+ export declare const validatePuppeteerTimeout: (timeoutInMilliseconds: unknown) => void;
2
+ //# sourceMappingURL=validate-puppeteer-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-puppeteer-timeout.d.ts","sourceRoot":"","sources":["../src/validate-puppeteer-timeout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,0BAA2B,OAAO,SAoCtE,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePuppeteerTimeout = void 0;
4
+ const validatePuppeteerTimeout = (timeoutInMilliseconds) => {
5
+ if (timeoutInMilliseconds === null || timeoutInMilliseconds === undefined) {
6
+ return;
7
+ }
8
+ if (typeof timeoutInMilliseconds !== 'number') {
9
+ throw new TypeError(`'timeoutInMilliseconds' should be a number, but is: ${JSON.stringify(timeoutInMilliseconds)}`);
10
+ }
11
+ if (timeoutInMilliseconds < 7000) {
12
+ throw new TypeError(`'timeoutInMilliseconds' should be bigger or equal than 7000, but is ${timeoutInMilliseconds}`);
13
+ }
14
+ if (Number.isNaN(timeoutInMilliseconds)) {
15
+ throw new TypeError(`'timeoutInMilliseconds' should not be NaN, but is ${timeoutInMilliseconds}`);
16
+ }
17
+ if (!Number.isFinite(timeoutInMilliseconds)) {
18
+ throw new TypeError(`'timeoutInMilliseconds' should be finite, but is ${timeoutInMilliseconds}`);
19
+ }
20
+ if (timeoutInMilliseconds % 1 !== 0) {
21
+ throw new TypeError(`'timeoutInMilliseconds' should be an integer, but is ${timeoutInMilliseconds}`);
22
+ }
23
+ };
24
+ exports.validatePuppeteerTimeout = validatePuppeteerTimeout;
25
+ //# sourceMappingURL=validate-puppeteer-timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-puppeteer-timeout.js","sourceRoot":"","sources":["../src/validate-puppeteer-timeout.ts"],"names":[],"mappings":";;;AAAO,MAAM,wBAAwB,GAAG,CAAC,qBAA8B,EAAE,EAAE;IAC1E,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,SAAS,EAAE;QAC1E,OAAO;KACP;IAED,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;QAC9C,MAAM,IAAI,SAAS,CAClB,uDAAuD,IAAI,CAAC,SAAS,CACpE,qBAAqB,CACrB,EAAE,CACH,CAAC;KACF;IAED,IAAI,qBAAqB,GAAG,IAAI,EAAE;QACjC,MAAM,IAAI,SAAS,CAClB,uEAAuE,qBAAqB,EAAE,CAC9F,CAAC;KACF;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;QACxC,MAAM,IAAI,SAAS,CAClB,qDAAqD,qBAAqB,EAAE,CAC5E,CAAC;KACF;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;QAC5C,MAAM,IAAI,SAAS,CAClB,oDAAoD,qBAAqB,EAAE,CAC3E,CAAC;KACF;IAED,IAAI,qBAAqB,GAAG,CAAC,KAAK,CAAC,EAAE;QACpC,MAAM,IAAI,SAAS,CAClB,wDAAwD,qBAAqB,EAAE,CAC/E,CAAC;KACF;AACF,CAAC,CAAC;AApCW,QAAA,wBAAwB,4BAoCnC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=validate-quality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-quality.d.ts","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=validate-quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-quality.js","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const validateScale: (scale: unknown) => void;
2
+ //# sourceMappingURL=validate-scale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-scale.d.ts","sourceRoot":"","sources":["../src/validate-scale.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAAW,OAAO,SA4B3C,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateScale = void 0;
4
+ const validateScale = (scale) => {
5
+ if (typeof scale === 'undefined') {
6
+ return;
7
+ }
8
+ if (typeof scale !== 'number') {
9
+ throw new Error('Scale should be a number or undefined, but is "' +
10
+ JSON.stringify(scale) +
11
+ '"');
12
+ }
13
+ if (Number.isNaN(scale)) {
14
+ throw new Error('`scale` should not be NaN, but is NaN');
15
+ }
16
+ if (!Number.isFinite(scale)) {
17
+ throw new Error(`"scale" must be finite, but is ${scale}`);
18
+ }
19
+ if (scale <= 0) {
20
+ throw new Error(`"scale" must be bigger than 0, but is ${scale}`);
21
+ }
22
+ if (scale > 16) {
23
+ throw new Error(`"scale" must be smaller or equal than 16, but is ${scale}`);
24
+ }
25
+ };
26
+ exports.validateScale = validateScale;
27
+ //# sourceMappingURL=validate-scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-scale.js","sourceRoot":"","sources":["../src/validate-scale.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACjC,OAAO;KACP;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,KAAK,CACd,iDAAiD;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACrB,GAAG,CACJ,CAAC;KACF;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KACzD;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;KAC3D;IAED,IAAI,KAAK,IAAI,CAAC,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;KAClE;IAED,IAAI,KAAK,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,EAAE,CAAC,CAAC;KAC7E;AACF,CAAC,CAAC;AA5BW,QAAA,aAAa,iBA4BxB"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "3.0.0-wrappedup.222+5e3217098",
3
+ "version": "3.0.0",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "sideEffects": false,
8
8
  "scripts": {
9
- "test": "eslint src --ext ts,tsx && jest",
9
+ "lint": "eslint src --ext ts,tsx",
10
+ "test": "jest",
10
11
  "watch": "tsc -w",
11
12
  "build": "tsc -d"
12
13
  },
@@ -15,36 +16,50 @@
15
16
  "repository": {
16
17
  "url": "https://github.com/remotion-dev/remotion"
17
18
  },
19
+ "bugs": {
20
+ "url": "https://github.com/remotion-dev/remotion/issues"
21
+ },
18
22
  "dependencies": {
19
- "@remotion/bundler": "3.0.0-wrappedup.222+5e3217098",
20
- "@testing-library/dom": "^8.7.2",
21
- "execa": "^4.0.2",
22
- "got": "11.8.2",
23
- "p-limit": "^3.1.0",
24
- "puppeteer-core": "^10.2.0",
25
- "remotion": "3.0.0-wrappedup.222+5e3217098",
26
- "sanitize-filename": "^1.6.3",
27
- "serve-handler": "^6.1.3"
23
+ "@remotion/bundler": "3.0.0",
24
+ "execa": "5.1.1",
25
+ "p-limit": "3.1.0",
26
+ "puppeteer-core": "13.5.1",
27
+ "remotion": "3.0.0",
28
+ "serve-handler": "6.1.3",
29
+ "source-map": "^0.8.0-beta.0"
28
30
  },
29
31
  "peerDependencies": {
30
- "react": "^17.0.1",
31
- "react-dom": "^17.0.1"
32
+ "react": ">=16.8.0",
33
+ "react-dom": ">=16.8.0"
32
34
  },
33
35
  "devDependencies": {
34
- "@jonny/eslint-config": "^2.1.248",
35
- "@testing-library/react": "^11.2.5",
36
- "@types/jest": "^27.0.2",
36
+ "@jonny/eslint-config": "3.0.259",
37
+ "@testing-library/dom": "^8.7.2",
38
+ "@testing-library/react": "13.1.1",
39
+ "@types/jest": "^27.4.0",
37
40
  "@types/node": "^16.7.5",
41
+ "@types/react": "18.0.1",
42
+ "@types/react-dom": "18.0.0",
38
43
  "@types/serve-handler": "^6.1.0",
39
- "eslint": "^7.25.0",
40
- "jest": "26.6.3",
44
+ "eslint": "8.13.0",
45
+ "jest": "^27.2.4",
41
46
  "prettier": "^2.0.5",
42
47
  "prettier-plugin-organize-imports": "^1.1.1",
43
- "ts-jest": "26.5.1",
44
- "typescript": "^4.4.2"
48
+ "react": "18.0.0",
49
+ "react-dom": "18.0.0",
50
+ "ts-jest": "^27.0.5",
51
+ "typescript": "^4.5.5"
45
52
  },
53
+ "keywords": [
54
+ "remotion",
55
+ "ffmpeg",
56
+ "video",
57
+ "react",
58
+ "puppeteer",
59
+ "player"
60
+ ],
46
61
  "publishConfig": {
47
62
  "access": "public"
48
63
  },
49
- "gitHead": "5e3217098ffb7b7376989b547c19768da5ea824b"
64
+ "gitHead": "f2185ad4b5d6e41a7cd4c87866599ca73307cc37"
50
65
  }
@@ -1,3 +0,0 @@
1
- import { Codec, ProResProfile } from 'remotion';
2
- export declare const getProResProfileName: (codec: Codec, proResProfile: ProResProfile | undefined) => string | null;
3
- //# sourceMappingURL=get-pro-res-profile-name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-pro-res-profile-name.d.ts","sourceRoot":"","sources":["../src/get-pro-res-profile-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,oBAAoB,UACzB,KAAK,iBACG,aAAa,GAAG,SAAS,KACtC,MAAM,GAAG,IAqBX,CAAC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProResProfileName = void 0;
4
- const getProResProfileName = (codec, proResProfile) => {
5
- if (codec !== 'prores') {
6
- return null;
7
- }
8
- switch (proResProfile) {
9
- case '4444-xq':
10
- return '5';
11
- case '4444':
12
- return '4';
13
- case 'hq':
14
- return '3';
15
- case 'standard':
16
- return '2';
17
- case 'light':
18
- return '1';
19
- case 'proxy':
20
- return '0';
21
- default:
22
- return '3';
23
- }
24
- };
25
- exports.getProResProfileName = getProResProfileName;
26
- //# sourceMappingURL=get-pro-res-profile-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-pro-res-profile-name.js","sourceRoot":"","sources":["../src/get-pro-res-profile-name.ts"],"names":[],"mappings":";;;AAEO,MAAM,oBAAoB,GAAG,CACnC,KAAY,EACZ,aAAwC,EACxB,EAAE;IAClB,IAAI,KAAK,KAAK,QAAQ,EAAE;QACvB,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,aAAa,EAAE;QACtB,KAAK,SAAS;YACb,OAAO,GAAG,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,GAAG,CAAC;QACZ,KAAK,IAAI;YACR,OAAO,GAAG,CAAC;QACZ,KAAK,UAAU;YACd,OAAO,GAAG,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,GAAG,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,GAAG,CAAC;QACZ;YACC,OAAO,GAAG,CAAC;KACZ;AACF,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B"}
@@ -1,6 +0,0 @@
1
- import execa from 'execa';
2
- export declare const ENABLE_WASM_FFMPEG = true;
3
- export declare const wasmFfmpeg: import("@ffmpeg/ffmpeg").FFmpeg;
4
- export declare const load: Promise<void>;
5
- export declare const runFfmpegCommand: (args: string[], isRenderBad: boolean, options?: execa.Options<string> | undefined) => Promise<execa.ExecaReturnValue<string>>;
6
- //# sourceMappingURL=run-ffmpeg-command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-ffmpeg-command.d.ts","sourceRoot":"","sources":["../src/run-ffmpeg-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,eAAO,MAAM,UAAU,iCAA4B,CAAC;AACpD,eAAO,MAAM,IAAI,eAAoB,CAAC;AAEtC,eAAO,MAAM,gBAAgB,SACtB,MAAM,EAAE,eACD,OAAO,yFAgBpB,CAAC"}
@@ -1,25 +0,0 @@
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.runFfmpegCommand = exports.load = exports.wasmFfmpeg = exports.ENABLE_WASM_FFMPEG = void 0;
7
- const ffmpeg_1 = require("@ffmpeg/ffmpeg");
8
- const execa_1 = __importDefault(require("execa"));
9
- const fs_1 = __importDefault(require("fs"));
10
- exports.ENABLE_WASM_FFMPEG = true;
11
- exports.wasmFfmpeg = ffmpeg_1.createFFmpeg({ log: true });
12
- exports.load = exports.wasmFfmpeg.load();
13
- const runFfmpegCommand = async (args, isRenderBad, options) => {
14
- await exports.load;
15
- await exports.wasmFfmpeg.run(...args);
16
- if (isRenderBad) {
17
- await fs_1.default.promises.writeFile('./hi.mp4',
18
- // eslint-disable-next-line new-cap
19
- exports.wasmFfmpeg.FS('readFile', 'hi.mp4'));
20
- }
21
- console.log('wasm done');
22
- return execa_1.default('ffmpeg', args, options);
23
- };
24
- exports.runFfmpegCommand = runFfmpegCommand;
25
- //# sourceMappingURL=run-ffmpeg-command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-ffmpeg-command.js","sourceRoot":"","sources":["../src/run-ffmpeg-command.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA4C;AAC5C,kDAA0B;AAC1B,4CAAoB;AAEP,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAE1B,QAAA,UAAU,GAAG,qBAAY,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;AACvC,QAAA,IAAI,GAAG,kBAAU,CAAC,IAAI,EAAE,CAAC;AAE/B,MAAM,gBAAgB,GAAG,KAAK,EACpC,IAAc,EACd,WAAoB,EACpB,OAAuB,EACtB,EAAE;IACH,MAAM,YAAI,CAAC;IAEX,MAAM,kBAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,IAAI,WAAW,EAAE;QAChB,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAC1B,UAAU;QACV,mCAAmC;QACnC,kBAAU,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CACnC,CAAC;KACF;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,eAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}