@remotion/lambda 4.0.0-fastlambda.8 → 4.0.0-forcepublish.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/admin/bundle-lambda.js +1 -0
  2. package/dist/admin/make-layer-public.js +4 -4
  3. package/dist/api/bucket-exists.d.ts +1 -1
  4. package/dist/api/clean-items.d.ts +1 -1
  5. package/dist/api/clean-items.js +2 -5
  6. package/dist/api/create-bucket.d.ts +1 -1
  7. package/dist/api/create-function.d.ts +4 -3
  8. package/dist/api/create-function.js +3 -2
  9. package/dist/api/delete-function.d.ts +1 -1
  10. package/dist/api/delete-site.d.ts +1 -1
  11. package/dist/api/deploy-function.d.ts +3 -2
  12. package/dist/api/deploy-function.js +3 -0
  13. package/dist/api/deploy-site.d.ts +3 -3
  14. package/dist/api/deploy-site.js +2 -3
  15. package/dist/api/download-media.d.ts +2 -2
  16. package/dist/api/enable-s3-website.d.ts +1 -1
  17. package/dist/api/estimate-price.d.ts +2 -2
  18. package/dist/api/get-aws-client.d.ts +2 -2
  19. package/dist/api/get-aws-client.js +5 -1
  20. package/dist/api/get-buckets.d.ts +1 -1
  21. package/dist/api/get-function-info.d.ts +2 -2
  22. package/dist/api/get-functions.d.ts +2 -2
  23. package/dist/api/get-or-create-bucket.d.ts +1 -1
  24. package/dist/api/get-regions.d.ts +1 -1
  25. package/dist/api/get-render-progress.d.ts +2 -2
  26. package/dist/api/get-sites.d.ts +2 -2
  27. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  28. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  29. package/dist/api/iam-validation/simulate.d.ts +2 -2
  30. package/dist/api/mock-functions.d.ts +3 -3
  31. package/dist/api/presign-url.d.ts +3 -2
  32. package/dist/api/presign-url.js +5 -0
  33. package/dist/api/render-media-on-lambda.d.ts +14 -8
  34. package/dist/api/render-media-on-lambda.js +49 -32
  35. package/dist/api/render-still-on-lambda.d.ts +8 -7
  36. package/dist/api/render-still-on-lambda.js +40 -31
  37. package/dist/api/upload-dir.d.ts +2 -2
  38. package/dist/api/upload-dir.js +9 -4
  39. package/dist/cli/args.d.ts +5 -3
  40. package/dist/cli/commands/functions/deploy.js +6 -2
  41. package/dist/cli/commands/render/progress.d.ts +4 -4
  42. package/dist/cli/commands/render/progress.js +11 -3
  43. package/dist/cli/commands/render/render.js +14 -3
  44. package/dist/cli/commands/sites/create.js +2 -3
  45. package/dist/cli/commands/sites/ls.js +1 -2
  46. package/dist/cli/commands/sites/rm.js +2 -3
  47. package/dist/cli/commands/sites/rmall.js +2 -3
  48. package/dist/cli/commands/still.js +1 -2
  49. package/dist/cli/get-aws-region.d.ts +1 -1
  50. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
  51. package/dist/cli/helpers/progress-bar.js +1 -2
  52. package/dist/cli/index.js +11 -1
  53. package/dist/defaults.js +5 -1
  54. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
  55. package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
  56. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +2 -5
  57. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
  58. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
  59. package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
  60. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
  61. package/dist/functions/chunk-optimization/optimize-profile.d.ts +3 -9
  62. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +4 -7
  63. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
  64. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
  65. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  66. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +2 -5
  67. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
  68. package/dist/functions/chunk-optimization/types.d.ts +2 -1
  69. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  70. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  71. package/dist/functions/helpers/concat-videos.d.ts +6 -4
  72. package/dist/functions/helpers/concat-videos.js +8 -2
  73. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  74. package/dist/functions/helpers/create-post-render-data.js +12 -7
  75. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  76. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  77. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
  78. package/dist/functions/helpers/find-output-file-in-bucket.js +6 -0
  79. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  80. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  81. package/dist/functions/helpers/get-browser-instance.js +3 -1
  82. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  83. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  84. package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
  85. package/dist/functions/helpers/get-files-to-delete.js +2 -2
  86. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
  87. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
  88. package/dist/functions/helpers/get-lambdas-invoked-stats.js +7 -7
  89. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
  90. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  91. package/dist/functions/helpers/get-progress.d.ts +2 -2
  92. package/dist/functions/helpers/get-progress.js +20 -11
  93. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  94. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  95. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  96. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  97. package/dist/functions/helpers/io.d.ts +8 -6
  98. package/dist/functions/helpers/io.js +13 -2
  99. package/dist/functions/helpers/min-max.d.ts +1 -1
  100. package/dist/functions/helpers/min-max.js +1 -1
  101. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  102. package/dist/functions/helpers/read-with-progress.d.ts +3 -2
  103. package/dist/functions/helpers/read-with-progress.js +13 -1
  104. package/dist/functions/helpers/validate-composition.d.ts +10 -4
  105. package/dist/functions/helpers/validate-composition.js +7 -1
  106. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  107. package/dist/functions/helpers/write-lambda-error.js +1 -0
  108. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  109. package/dist/functions/helpers/write-post-render-data.js +1 -0
  110. package/dist/functions/index.d.ts +3 -2
  111. package/dist/functions/index.js +12 -5
  112. package/dist/functions/info.d.ts +1 -1
  113. package/dist/functions/launch.d.ts +1 -1
  114. package/dist/functions/launch.js +65 -24
  115. package/dist/functions/progress.d.ts +1 -1
  116. package/dist/functions/renderer.d.ts +1 -1
  117. package/dist/functions/renderer.js +86 -75
  118. package/dist/functions/start.d.ts +1 -1
  119. package/dist/functions/start.js +6 -2
  120. package/dist/functions/still.d.ts +1 -1
  121. package/dist/functions/still.js +18 -6
  122. package/dist/index.d.ts +33 -18
  123. package/dist/pricing/price-per-1-s.d.ts +1 -1
  124. package/dist/shared/aws-clients.d.ts +1 -1
  125. package/dist/shared/bundle-site.d.ts +1 -6
  126. package/dist/shared/call-lambda.d.ts +3 -3
  127. package/dist/shared/check-credentials.js +2 -2
  128. package/dist/shared/constants.d.ts +32 -13
  129. package/dist/shared/constants.js +2 -2
  130. package/dist/shared/content-disposition-header.d.ts +7 -0
  131. package/dist/shared/content-disposition-header.js +19 -0
  132. package/dist/shared/convert-to-serve-url.d.ts +1 -1
  133. package/dist/shared/get-account-id.d.ts +1 -1
  134. package/dist/shared/get-function-version.d.ts +2 -2
  135. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  136. package/dist/shared/get-most-expensive-chunks.js +25 -0
  137. package/dist/shared/hosted-layers.d.ts +2 -2
  138. package/dist/shared/hosted-layers.js +80 -80
  139. package/dist/shared/make-s3-key.d.ts +1 -0
  140. package/dist/shared/make-s3-key.js +11 -0
  141. package/dist/shared/make-s3-url.d.ts +1 -1
  142. package/dist/shared/p-limit.d.ts +1 -0
  143. package/dist/shared/p-limit.js +57 -0
  144. package/dist/shared/random-hash.d.ts +2 -2
  145. package/dist/shared/random-hash.js +1 -1
  146. package/dist/shared/return-values.d.ts +7 -7
  147. package/dist/shared/return-values.js +0 -1
  148. package/dist/shared/stream-to-string.d.ts +2 -1
  149. package/dist/shared/truthy.d.ts +3 -0
  150. package/dist/shared/truthy.js +7 -0
  151. package/dist/shared/validate-aws-region.d.ts +1 -1
  152. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  153. package/dist/shared/validate-custom-role-arn.js +11 -0
  154. package/dist/shared/validate-download-behavior.d.ts +1 -0
  155. package/dist/shared/validate-download-behavior.js +21 -0
  156. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  157. package/dist/shared/validate-lambda-codec.js +30 -0
  158. package/dist/shared/validate-outname.d.ts +1 -1
  159. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  160. package/dist/shared/validate-presign-expiration.js +7 -7
  161. package/dist/shared/validate-privacy.d.ts +1 -1
  162. package/dist/shared/validate-privacy.js +2 -2
  163. package/package.json +12 -13
  164. package/remotionlambda.zip +0 -0
  165. package/dist/admin/bundle-lambda.d.ts.map +0 -1
  166. package/dist/admin/bundle-lambda.js.map +0 -1
  167. package/dist/admin/make-layer-public.d.ts.map +0 -1
  168. package/dist/admin/make-layer-public.js.map +0 -1
  169. package/dist/api/bucket-exists.d.ts.map +0 -1
  170. package/dist/api/bucket-exists.js.map +0 -1
  171. package/dist/api/clean-items.d.ts.map +0 -1
  172. package/dist/api/clean-items.js.map +0 -1
  173. package/dist/api/create-bucket.d.ts.map +0 -1
  174. package/dist/api/create-bucket.js.map +0 -1
  175. package/dist/api/create-function.d.ts.map +0 -1
  176. package/dist/api/create-function.js.map +0 -1
  177. package/dist/api/delete-function.d.ts.map +0 -1
  178. package/dist/api/delete-function.js.map +0 -1
  179. package/dist/api/delete-site.d.ts.map +0 -1
  180. package/dist/api/delete-site.js.map +0 -1
  181. package/dist/api/deploy-function.d.ts.map +0 -1
  182. package/dist/api/deploy-function.js.map +0 -1
  183. package/dist/api/deploy-site.d.ts.map +0 -1
  184. package/dist/api/deploy-site.js.map +0 -1
  185. package/dist/api/download-media.d.ts.map +0 -1
  186. package/dist/api/download-media.js.map +0 -1
  187. package/dist/api/enable-s3-website.d.ts.map +0 -1
  188. package/dist/api/enable-s3-website.js.map +0 -1
  189. package/dist/api/estimate-price.d.ts.map +0 -1
  190. package/dist/api/estimate-price.js.map +0 -1
  191. package/dist/api/get-aws-client.d.ts.map +0 -1
  192. package/dist/api/get-aws-client.js.map +0 -1
  193. package/dist/api/get-buckets.d.ts.map +0 -1
  194. package/dist/api/get-buckets.js.map +0 -1
  195. package/dist/api/get-function-info.d.ts.map +0 -1
  196. package/dist/api/get-function-info.js.map +0 -1
  197. package/dist/api/get-functions.d.ts.map +0 -1
  198. package/dist/api/get-functions.js.map +0 -1
  199. package/dist/api/get-or-create-bucket.d.ts.map +0 -1
  200. package/dist/api/get-or-create-bucket.js.map +0 -1
  201. package/dist/api/get-regions.d.ts.map +0 -1
  202. package/dist/api/get-regions.js.map +0 -1
  203. package/dist/api/get-render-progress.d.ts.map +0 -1
  204. package/dist/api/get-render-progress.js.map +0 -1
  205. package/dist/api/get-sites.d.ts.map +0 -1
  206. package/dist/api/get-sites.js.map +0 -1
  207. package/dist/api/iam-validation/role-permissions.d.ts.map +0 -1
  208. package/dist/api/iam-validation/role-permissions.js.map +0 -1
  209. package/dist/api/iam-validation/simulate-rule.d.ts.map +0 -1
  210. package/dist/api/iam-validation/simulate-rule.js.map +0 -1
  211. package/dist/api/iam-validation/simulate.d.ts.map +0 -1
  212. package/dist/api/iam-validation/simulate.js.map +0 -1
  213. package/dist/api/iam-validation/suggested-policy.d.ts.map +0 -1
  214. package/dist/api/iam-validation/suggested-policy.js.map +0 -1
  215. package/dist/api/iam-validation/user-permissions.d.ts.map +0 -1
  216. package/dist/api/iam-validation/user-permissions.js.map +0 -1
  217. package/dist/api/mock-functions.d.ts.map +0 -1
  218. package/dist/api/mock-functions.js.map +0 -1
  219. package/dist/api/presign-url.d.ts.map +0 -1
  220. package/dist/api/presign-url.js.map +0 -1
  221. package/dist/api/render-media-on-lambda.d.ts.map +0 -1
  222. package/dist/api/render-media-on-lambda.js.map +0 -1
  223. package/dist/api/render-still-on-lambda.d.ts.map +0 -1
  224. package/dist/api/render-still-on-lambda.js.map +0 -1
  225. package/dist/api/upload-dir.d.ts.map +0 -1
  226. package/dist/api/upload-dir.js.map +0 -1
  227. package/dist/cli/args.d.ts.map +0 -1
  228. package/dist/cli/args.js.map +0 -1
  229. package/dist/cli/commands/functions/deploy.d.ts.map +0 -1
  230. package/dist/cli/commands/functions/deploy.js.map +0 -1
  231. package/dist/cli/commands/functions/index.d.ts.map +0 -1
  232. package/dist/cli/commands/functions/index.js.map +0 -1
  233. package/dist/cli/commands/functions/ls.d.ts.map +0 -1
  234. package/dist/cli/commands/functions/ls.js.map +0 -1
  235. package/dist/cli/commands/functions/rm.d.ts.map +0 -1
  236. package/dist/cli/commands/functions/rm.js.map +0 -1
  237. package/dist/cli/commands/functions/rmall.d.ts.map +0 -1
  238. package/dist/cli/commands/functions/rmall.js.map +0 -1
  239. package/dist/cli/commands/policies/policies.d.ts.map +0 -1
  240. package/dist/cli/commands/policies/policies.js.map +0 -1
  241. package/dist/cli/commands/policies/role.d.ts.map +0 -1
  242. package/dist/cli/commands/policies/role.js.map +0 -1
  243. package/dist/cli/commands/policies/user.d.ts.map +0 -1
  244. package/dist/cli/commands/policies/user.js.map +0 -1
  245. package/dist/cli/commands/policies/validate.d.ts.map +0 -1
  246. package/dist/cli/commands/policies/validate.js.map +0 -1
  247. package/dist/cli/commands/quotas/increase.d.ts.map +0 -1
  248. package/dist/cli/commands/quotas/increase.js.map +0 -1
  249. package/dist/cli/commands/quotas/index.d.ts.map +0 -1
  250. package/dist/cli/commands/quotas/index.js.map +0 -1
  251. package/dist/cli/commands/quotas/list.d.ts.map +0 -1
  252. package/dist/cli/commands/quotas/list.js.map +0 -1
  253. package/dist/cli/commands/regions.d.ts.map +0 -1
  254. package/dist/cli/commands/regions.js.map +0 -1
  255. package/dist/cli/commands/render/progress.d.ts.map +0 -1
  256. package/dist/cli/commands/render/progress.js.map +0 -1
  257. package/dist/cli/commands/render/render.d.ts.map +0 -1
  258. package/dist/cli/commands/render/render.js.map +0 -1
  259. package/dist/cli/commands/sites/create.d.ts.map +0 -1
  260. package/dist/cli/commands/sites/create.js.map +0 -1
  261. package/dist/cli/commands/sites/index.d.ts.map +0 -1
  262. package/dist/cli/commands/sites/index.js.map +0 -1
  263. package/dist/cli/commands/sites/ls.d.ts.map +0 -1
  264. package/dist/cli/commands/sites/ls.js.map +0 -1
  265. package/dist/cli/commands/sites/rm.d.ts.map +0 -1
  266. package/dist/cli/commands/sites/rm.js.map +0 -1
  267. package/dist/cli/commands/sites/rmall.d.ts.map +0 -1
  268. package/dist/cli/commands/sites/rmall.js.map +0 -1
  269. package/dist/cli/commands/still.d.ts.map +0 -1
  270. package/dist/cli/commands/still.js.map +0 -1
  271. package/dist/cli/get-aws-region.d.ts.map +0 -1
  272. package/dist/cli/get-aws-region.js.map +0 -1
  273. package/dist/cli/help.d.ts.map +0 -1
  274. package/dist/cli/help.js.map +0 -1
  275. package/dist/cli/helpers/confirm.d.ts.map +0 -1
  276. package/dist/cli/helpers/confirm.js.map +0 -1
  277. package/dist/cli/helpers/date-string.d.ts.map +0 -1
  278. package/dist/cli/helpers/date-string.js.map +0 -1
  279. package/dist/cli/helpers/find-function-name.d.ts.map +0 -1
  280. package/dist/cli/helpers/find-function-name.js.map +0 -1
  281. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  282. package/dist/cli/helpers/format-bytes.d.ts.map +0 -1
  283. package/dist/cli/helpers/format-bytes.js +0 -103
  284. package/dist/cli/helpers/format-bytes.js.map +0 -1
  285. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts.map +0 -1
  286. package/dist/cli/helpers/get-cloudwatch-stream-url.js.map +0 -1
  287. package/dist/cli/helpers/progress-bar.d.ts.map +0 -1
  288. package/dist/cli/helpers/progress-bar.js.map +0 -1
  289. package/dist/cli/helpers/quit.d.ts.map +0 -1
  290. package/dist/cli/helpers/quit.js.map +0 -1
  291. package/dist/cli/helpers/yes-or-no.d.ts.map +0 -1
  292. package/dist/cli/helpers/yes-or-no.js.map +0 -1
  293. package/dist/cli/index.d.ts.map +0 -1
  294. package/dist/cli/index.js.map +0 -1
  295. package/dist/cli/is-cli.d.ts.map +0 -1
  296. package/dist/cli/is-cli.js.map +0 -1
  297. package/dist/cli/log.d.ts.map +0 -1
  298. package/dist/cli/log.js.map +0 -1
  299. package/dist/client.d.ts.map +0 -1
  300. package/dist/client.js.map +0 -1
  301. package/dist/defaults.d.ts.map +0 -1
  302. package/dist/defaults.js.map +0 -1
  303. package/dist/functions/chunk-optimization/can-use-optimization.d.ts.map +0 -1
  304. package/dist/functions/chunk-optimization/can-use-optimization.js.map +0 -1
  305. package/dist/functions/chunk-optimization/collect-data.d.ts.map +0 -1
  306. package/dist/functions/chunk-optimization/collect-data.js.map +0 -1
  307. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts.map +0 -1
  308. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js.map +0 -1
  309. package/dist/functions/chunk-optimization/get-profile-duration.d.ts.map +0 -1
  310. package/dist/functions/chunk-optimization/get-profile-duration.js.map +0 -1
  311. package/dist/functions/chunk-optimization/is-valid-profile.d.ts.map +0 -1
  312. package/dist/functions/chunk-optimization/is-valid-profile.js.map +0 -1
  313. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts.map +0 -1
  314. package/dist/functions/chunk-optimization/optimize-invocation-order.js.map +0 -1
  315. package/dist/functions/chunk-optimization/optimize-profile.d.ts.map +0 -1
  316. package/dist/functions/chunk-optimization/optimize-profile.js.map +0 -1
  317. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts.map +0 -1
  318. package/dist/functions/chunk-optimization/plan-frame-ranges.js.map +0 -1
  319. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts.map +0 -1
  320. package/dist/functions/chunk-optimization/s3-optimization-file.js.map +0 -1
  321. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts.map +0 -1
  322. package/dist/functions/chunk-optimization/simulate-frame-ranges.js.map +0 -1
  323. package/dist/functions/chunk-optimization/sort-by-duration.d.ts.map +0 -1
  324. package/dist/functions/chunk-optimization/sort-by-duration.js.map +0 -1
  325. package/dist/functions/chunk-optimization/types.d.ts.map +0 -1
  326. package/dist/functions/chunk-optimization/types.js.map +0 -1
  327. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts.map +0 -1
  328. package/dist/functions/helpers/best-frames-per-lambda-param.js.map +0 -1
  329. package/dist/functions/helpers/calculate-chunk-times.d.ts.map +0 -1
  330. package/dist/functions/helpers/calculate-chunk-times.js.map +0 -1
  331. package/dist/functions/helpers/calculate-price-from-bucket.d.ts.map +0 -1
  332. package/dist/functions/helpers/calculate-price-from-bucket.js.map +0 -1
  333. package/dist/functions/helpers/clean-tmpdir.d.ts.map +0 -1
  334. package/dist/functions/helpers/clean-tmpdir.js.map +0 -1
  335. package/dist/functions/helpers/concat-videos.d.ts.map +0 -1
  336. package/dist/functions/helpers/concat-videos.js.map +0 -1
  337. package/dist/functions/helpers/create-post-render-data.d.ts.map +0 -1
  338. package/dist/functions/helpers/create-post-render-data.js.map +0 -1
  339. package/dist/functions/helpers/delete-chunks.d.ts.map +0 -1
  340. package/dist/functions/helpers/delete-chunks.js.map +0 -1
  341. package/dist/functions/helpers/expected-out-name.d.ts.map +0 -1
  342. package/dist/functions/helpers/expected-out-name.js.map +0 -1
  343. package/dist/functions/helpers/find-output-file-in-bucket.d.ts.map +0 -1
  344. package/dist/functions/helpers/find-output-file-in-bucket.js.map +0 -1
  345. package/dist/functions/helpers/format-costs-info.d.ts.map +0 -1
  346. package/dist/functions/helpers/format-costs-info.js.map +0 -1
  347. package/dist/functions/helpers/get-browser-instance.d.ts.map +0 -1
  348. package/dist/functions/helpers/get-browser-instance.js.map +0 -1
  349. package/dist/functions/helpers/get-chromium-executable-path.d.ts.map +0 -1
  350. package/dist/functions/helpers/get-chromium-executable-path.js.map +0 -1
  351. package/dist/functions/helpers/get-cleanup-progress.d.ts.map +0 -1
  352. package/dist/functions/helpers/get-cleanup-progress.js.map +0 -1
  353. package/dist/functions/helpers/get-current-architecture.d.ts.map +0 -1
  354. package/dist/functions/helpers/get-current-architecture.js.map +0 -1
  355. package/dist/functions/helpers/get-current-region.d.ts.map +0 -1
  356. package/dist/functions/helpers/get-current-region.js.map +0 -1
  357. package/dist/functions/helpers/get-encoding-metadata.d.ts.map +0 -1
  358. package/dist/functions/helpers/get-encoding-metadata.js.map +0 -1
  359. package/dist/functions/helpers/get-files-in-folder.d.ts.map +0 -1
  360. package/dist/functions/helpers/get-files-in-folder.js.map +0 -1
  361. package/dist/functions/helpers/get-files-to-delete.d.ts.map +0 -1
  362. package/dist/functions/helpers/get-files-to-delete.js.map +0 -1
  363. package/dist/functions/helpers/get-final-encoding-status.d.ts.map +0 -1
  364. package/dist/functions/helpers/get-final-encoding-status.js.map +0 -1
  365. package/dist/functions/helpers/get-folder-size.d.ts.map +0 -1
  366. package/dist/functions/helpers/get-folder-size.js.map +0 -1
  367. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts.map +0 -1
  368. package/dist/functions/helpers/get-lambdas-invoked-stats.js.map +0 -1
  369. package/dist/functions/helpers/get-output-url-from-metadata.d.ts.map +0 -1
  370. package/dist/functions/helpers/get-output-url-from-metadata.js.map +0 -1
  371. package/dist/functions/helpers/get-overall-progress.d.ts.map +0 -1
  372. package/dist/functions/helpers/get-overall-progress.js.map +0 -1
  373. package/dist/functions/helpers/get-post-render-data.d.ts.map +0 -1
  374. package/dist/functions/helpers/get-post-render-data.js.map +0 -1
  375. package/dist/functions/helpers/get-progress.d.ts.map +0 -1
  376. package/dist/functions/helpers/get-progress.js.map +0 -1
  377. package/dist/functions/helpers/get-render-metadata.d.ts.map +0 -1
  378. package/dist/functions/helpers/get-render-metadata.js.map +0 -1
  379. package/dist/functions/helpers/get-retry-stats.d.ts.map +0 -1
  380. package/dist/functions/helpers/get-retry-stats.js.map +0 -1
  381. package/dist/functions/helpers/get-time-to-finish.d.ts.map +0 -1
  382. package/dist/functions/helpers/get-time-to-finish.js.map +0 -1
  383. package/dist/functions/helpers/inspect-errors.d.ts.map +0 -1
  384. package/dist/functions/helpers/inspect-errors.js.map +0 -1
  385. package/dist/functions/helpers/io.d.ts.map +0 -1
  386. package/dist/functions/helpers/io.js.map +0 -1
  387. package/dist/functions/helpers/is-enosp-err.d.ts.map +0 -1
  388. package/dist/functions/helpers/is-enosp-err.js.map +0 -1
  389. package/dist/functions/helpers/is-warm.d.ts.map +0 -1
  390. package/dist/functions/helpers/is-warm.js.map +0 -1
  391. package/dist/functions/helpers/min-max.d.ts.map +0 -1
  392. package/dist/functions/helpers/min-max.js.map +0 -1
  393. package/dist/functions/helpers/print-cloudwatch-helper.d.ts.map +0 -1
  394. package/dist/functions/helpers/print-cloudwatch-helper.js.map +0 -1
  395. package/dist/functions/helpers/print-concurrency-curve.d.ts.map +0 -1
  396. package/dist/functions/helpers/print-concurrency-curve.js.map +0 -1
  397. package/dist/functions/helpers/read-with-progress.d.ts.map +0 -1
  398. package/dist/functions/helpers/read-with-progress.js.map +0 -1
  399. package/dist/functions/helpers/timer.d.ts.map +0 -1
  400. package/dist/functions/helpers/timer.js.map +0 -1
  401. package/dist/functions/helpers/validate-composition.d.ts.map +0 -1
  402. package/dist/functions/helpers/validate-composition.js.map +0 -1
  403. package/dist/functions/helpers/write-lambda-error.d.ts.map +0 -1
  404. package/dist/functions/helpers/write-lambda-error.js.map +0 -1
  405. package/dist/functions/helpers/write-post-render-data.d.ts.map +0 -1
  406. package/dist/functions/helpers/write-post-render-data.js.map +0 -1
  407. package/dist/functions/index.d.ts.map +0 -1
  408. package/dist/functions/index.js.map +0 -1
  409. package/dist/functions/info.d.ts.map +0 -1
  410. package/dist/functions/info.js.map +0 -1
  411. package/dist/functions/launch.d.ts.map +0 -1
  412. package/dist/functions/launch.js.map +0 -1
  413. package/dist/functions/progress.d.ts.map +0 -1
  414. package/dist/functions/progress.js.map +0 -1
  415. package/dist/functions/renderer.d.ts.map +0 -1
  416. package/dist/functions/renderer.js.map +0 -1
  417. package/dist/functions/start.d.ts.map +0 -1
  418. package/dist/functions/start.js.map +0 -1
  419. package/dist/functions/still.d.ts.map +0 -1
  420. package/dist/functions/still.js.map +0 -1
  421. package/dist/index.d.ts.map +0 -1
  422. package/dist/index.js.map +0 -1
  423. package/dist/internals.d.ts.map +0 -1
  424. package/dist/internals.js.map +0 -1
  425. package/dist/pricing/aws-regions.d.ts.map +0 -1
  426. package/dist/pricing/aws-regions.js.map +0 -1
  427. package/dist/pricing/price-per-1-s.d.ts.map +0 -1
  428. package/dist/pricing/price-per-1-s.js.map +0 -1
  429. package/dist/regions.d.ts.map +0 -1
  430. package/dist/regions.js.map +0 -1
  431. package/dist/shared/await.d.ts.map +0 -1
  432. package/dist/shared/await.js.map +0 -1
  433. package/dist/shared/aws-clients.d.ts.map +0 -1
  434. package/dist/shared/aws-clients.js.map +0 -1
  435. package/dist/shared/bundle-site.d.ts.map +0 -1
  436. package/dist/shared/bundle-site.js.map +0 -1
  437. package/dist/shared/call-lambda.d.ts.map +0 -1
  438. package/dist/shared/call-lambda.js.map +0 -1
  439. package/dist/shared/check-credentials.d.ts.map +0 -1
  440. package/dist/shared/check-credentials.js.map +0 -1
  441. package/dist/shared/chunk.d.ts +0 -1
  442. package/dist/shared/chunk.d.ts.map +0 -1
  443. package/dist/shared/chunk.js +0 -11
  444. package/dist/shared/chunk.js.map +0 -1
  445. package/dist/shared/constants.d.ts.map +0 -1
  446. package/dist/shared/constants.js.map +0 -1
  447. package/dist/shared/convert-to-serve-url.d.ts.map +0 -1
  448. package/dist/shared/convert-to-serve-url.js.map +0 -1
  449. package/dist/shared/docs-url.d.ts.map +0 -1
  450. package/dist/shared/docs-url.js.map +0 -1
  451. package/dist/shared/function-zip-path.d.ts.map +0 -1
  452. package/dist/shared/function-zip-path.js.map +0 -1
  453. package/dist/shared/get-account-id.d.ts.map +0 -1
  454. package/dist/shared/get-account-id.js.map +0 -1
  455. package/dist/shared/get-function-version.d.ts.map +0 -1
  456. package/dist/shared/get-function-version.js.map +0 -1
  457. package/dist/shared/hosted-layers.d.ts.map +0 -1
  458. package/dist/shared/hosted-layers.js.map +0 -1
  459. package/dist/shared/is-in-lambda.d.ts.map +0 -1
  460. package/dist/shared/is-in-lambda.js.map +0 -1
  461. package/dist/shared/make-s3-url.d.ts.map +0 -1
  462. package/dist/shared/make-s3-url.js.map +0 -1
  463. package/dist/shared/parse-lambda-initialized-key.d.ts.map +0 -1
  464. package/dist/shared/parse-lambda-initialized-key.js.map +0 -1
  465. package/dist/shared/parse-lambda-timings-key.d.ts.map +0 -1
  466. package/dist/shared/parse-lambda-timings-key.js.map +0 -1
  467. package/dist/shared/random-hash.d.ts.map +0 -1
  468. package/dist/shared/random-hash.js.map +0 -1
  469. package/dist/shared/return-values.d.ts.map +0 -1
  470. package/dist/shared/return-values.js.map +0 -1
  471. package/dist/shared/sleep.d.ts.map +0 -1
  472. package/dist/shared/sleep.js.map +0 -1
  473. package/dist/shared/stream-to-string.d.ts.map +0 -1
  474. package/dist/shared/stream-to-string.js.map +0 -1
  475. package/dist/shared/validate-architecture.d.ts.map +0 -1
  476. package/dist/shared/validate-architecture.js.map +0 -1
  477. package/dist/shared/validate-aws-region.d.ts.map +0 -1
  478. package/dist/shared/validate-aws-region.js.map +0 -1
  479. package/dist/shared/validate-bucketname.d.ts.map +0 -1
  480. package/dist/shared/validate-bucketname.js.map +0 -1
  481. package/dist/shared/validate-disk-size-in-mb.d.ts.map +0 -1
  482. package/dist/shared/validate-disk-size-in-mb.js.map +0 -1
  483. package/dist/shared/validate-frames-per-lambda.d.ts.map +0 -1
  484. package/dist/shared/validate-frames-per-lambda.js.map +0 -1
  485. package/dist/shared/validate-memory-size.d.ts.map +0 -1
  486. package/dist/shared/validate-memory-size.js.map +0 -1
  487. package/dist/shared/validate-outname.d.ts.map +0 -1
  488. package/dist/shared/validate-outname.js.map +0 -1
  489. package/dist/shared/validate-presign-expiration.d.ts.map +0 -1
  490. package/dist/shared/validate-presign-expiration.js.map +0 -1
  491. package/dist/shared/validate-privacy.d.ts.map +0 -1
  492. package/dist/shared/validate-privacy.js.map +0 -1
  493. package/dist/shared/validate-retention-period.d.ts.map +0 -1
  494. package/dist/shared/validate-retention-period.js.map +0 -1
  495. package/dist/shared/validate-retries.d.ts.map +0 -1
  496. package/dist/shared/validate-retries.js.map +0 -1
  497. package/dist/shared/validate-serveurl.d.ts.map +0 -1
  498. package/dist/shared/validate-serveurl.js.map +0 -1
  499. package/dist/shared/validate-site-name.d.ts.map +0 -1
  500. package/dist/shared/validate-site-name.js.map +0 -1
  501. package/dist/shared/validate-timeout.d.ts.map +0 -1
  502. package/dist/shared/validate-timeout.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
2
  export declare type LambdaReadFileProgress = (progress: {
3
3
  totalSize: number;
4
4
  downloaded: number;
5
- progress: number;
5
+ percent: number;
6
6
  }) => unknown;
7
7
  export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, }: {
8
8
  bucketName: string;
@@ -13,4 +13,5 @@ export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region,
13
13
  onProgress: LambdaReadFileProgress;
14
14
  }) => Promise<{
15
15
  sizeInBytes: number;
16
+ to: string;
16
17
  }>;
@@ -13,6 +13,18 @@ const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expecte
13
13
  Key: key,
14
14
  });
15
15
  const presigned = await (0, s3_request_presigner_1.getSignedUrl)(client, command);
16
- return renderer_1.RenderInternals.downloadFile(presigned, outputPath, onProgress);
16
+ const { to, sizeInBytes } = await renderer_1.RenderInternals.downloadFile({
17
+ url: presigned,
18
+ onProgress: ({ downloaded, percent, totalSize }) => {
19
+ // On Lambda, it should always be a number
20
+ onProgress({
21
+ downloaded,
22
+ percent: percent,
23
+ totalSize: totalSize,
24
+ });
25
+ },
26
+ to: () => outputPath,
27
+ });
28
+ return { sizeInBytes, to };
17
29
  };
18
30
  exports.lambdaDownloadFileWithProgress = lambdaDownloadFileWithProgress;
@@ -1,12 +1,18 @@
1
- import { openBrowser } from '@remotion/renderer';
2
- import { TCompMetadata } from 'remotion';
3
- import { Await } from '../../shared/await';
1
+ import type { ChromiumOptions, DownloadMap, FfmpegExecutable, openBrowser } from '@remotion/renderer';
2
+ import type { TCompMetadata } from 'remotion';
3
+ import type { Await } from '../../shared/await';
4
4
  declare type ValidateCompositionOptions = {
5
5
  serveUrl: string;
6
6
  composition: string;
7
7
  browserInstance: Await<ReturnType<typeof openBrowser>>;
8
8
  inputProps: unknown;
9
9
  envVariables: Record<string, string> | undefined;
10
+ ffmpegExecutable: FfmpegExecutable;
11
+ ffprobeExecutable: FfmpegExecutable;
12
+ timeoutInMilliseconds: number;
13
+ chromiumOptions: ChromiumOptions;
14
+ port: number | null;
15
+ downloadMap: DownloadMap;
10
16
  };
11
- export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
17
+ export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
12
18
  export {};
@@ -2,11 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateComposition = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, }) => {
5
+ const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }) => {
6
6
  const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
7
7
  puppeteerInstance: browserInstance,
8
8
  inputProps: inputProps,
9
9
  envVariables,
10
+ ffmpegExecutable,
11
+ ffprobeExecutable,
12
+ timeoutInMilliseconds,
13
+ chromiumOptions,
14
+ port,
15
+ downloadMap,
10
16
  });
11
17
  const found = compositions.find((c) => c.id === composition);
12
18
  if (!found) {
@@ -1,4 +1,4 @@
1
- import { FileNameAndSize } from './get-files-in-folder';
1
+ import type { FileNameAndSize } from './get-files-in-folder';
2
2
  export declare type LambdaErrorInfo = {
3
3
  type: 'renderer' | 'browser' | 'stitcher';
4
4
  message: string;
@@ -33,6 +33,7 @@ const writeLambdaError = async ({ bucketName, renderId, errorInfo, expectedBucke
33
33
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
34
34
  privacy: 'private',
35
35
  expectedBucketOwner,
36
+ downloadBehavior: null,
36
37
  });
37
38
  };
38
39
  exports.writeLambdaError = writeLambdaError;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
2
- import { PostRenderData } from '../../shared/constants';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { PostRenderData } from '../../shared/constants';
3
3
  export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
4
4
  bucketName: string;
5
5
  renderId: string;
@@ -11,6 +11,7 @@ const writePostRenderData = async ({ bucketName, renderId, postRenderData, expec
11
11
  body: JSON.stringify(postRenderData),
12
12
  expectedBucketOwner,
13
13
  region,
14
+ downloadBehavior: null,
14
15
  });
15
16
  };
16
17
  exports.writePostRenderData = writePostRenderData;
@@ -1,5 +1,6 @@
1
- import { LambdaPayload, LambdaRoutines } from '../shared/constants';
2
- import { LambdaReturnValues } from '../shared/return-values';
1
+ import type { LambdaPayload } from '../shared/constants';
2
+ import { LambdaRoutines } from '../shared/constants';
3
+ import type { LambdaReturnValues } from '../shared/return-values';
3
4
  export declare const handler: <T extends LambdaRoutines>(params: LambdaPayload, context: {
4
5
  invokedFunctionArn: string;
5
6
  getRemainingTimeInMillis: () => number;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handler = void 0;
4
- const remotion_1 = require("remotion");
4
+ const renderer_1 = require("@remotion/renderer");
5
5
  const constants_1 = require("../shared/constants");
6
6
  const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
7
7
  const is_warm_1 = require("./helpers/is-warm");
@@ -9,7 +9,7 @@ const print_cloudwatch_helper_1 = require("./helpers/print-cloudwatch-helper");
9
9
  const info_1 = require("./info");
10
10
  const launch_1 = require("./launch");
11
11
  const progress_1 = require("./progress");
12
- const renderer_1 = require("./renderer");
12
+ const renderer_2 = require("./renderer");
13
13
  const start_1 = require("./start");
14
14
  const still_1 = require("./still");
15
15
  const handler = async (params, context) => {
@@ -25,6 +25,7 @@ const handler = async (params, context) => {
25
25
  if (params.type === constants_1.LambdaRoutines.still) {
26
26
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.still, {
27
27
  inputProps: JSON.stringify(params.inputProps),
28
+ isWarm,
28
29
  });
29
30
  return (0, still_1.stillHandler)(params, {
30
31
  expectedBucketOwner: currentUserId,
@@ -33,6 +34,7 @@ const handler = async (params, context) => {
33
34
  if (params.type === constants_1.LambdaRoutines.start) {
34
35
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.start, {
35
36
  inputProps: JSON.stringify(params.inputProps),
37
+ isWarm,
36
38
  });
37
39
  return (0, start_1.startHandler)(params);
38
40
  }
@@ -40,12 +42,14 @@ const handler = async (params, context) => {
40
42
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.launch, {
41
43
  renderId: params.renderId,
42
44
  inputProps: JSON.stringify(params.inputProps),
45
+ isWarm,
43
46
  });
44
47
  return (0, launch_1.launchHandler)(params, { expectedBucketOwner: currentUserId });
45
48
  }
46
49
  if (params.type === constants_1.LambdaRoutines.status) {
47
50
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.status, {
48
51
  renderId: params.renderId,
52
+ isWarm,
49
53
  });
50
54
  return (0, progress_1.progressHandler)(params, {
51
55
  expectedBucketOwner: currentUserId,
@@ -56,16 +60,19 @@ const handler = async (params, context) => {
56
60
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
57
61
  renderId: params.renderId,
58
62
  chunk: String(params.chunk),
59
- dumpLogs: String(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
63
+ dumpLogs: String(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
60
64
  inputProps: JSON.stringify(params.inputProps),
65
+ isWarm,
61
66
  });
62
- return (0, renderer_1.rendererHandler)(params, {
67
+ return (0, renderer_2.rendererHandler)(params, {
63
68
  expectedBucketOwner: currentUserId,
64
69
  isWarm,
65
70
  });
66
71
  }
67
72
  if (params.type === constants_1.LambdaRoutines.info) {
68
- (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {});
73
+ (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {
74
+ isWarm,
75
+ });
69
76
  return (0, info_1.infoHandler)(params);
70
77
  }
71
78
  throw new Error(constants_1.COMMAND_NOT_FOUND);
@@ -1,4 +1,4 @@
1
- import { LambdaPayload, LambdaVersions } from '../shared/constants';
1
+ import type { LambdaPayload, LambdaVersions } from '../shared/constants';
2
2
  export declare const infoHandler: (lambdaParams: LambdaPayload) => Promise<{
3
3
  version: LambdaVersions;
4
4
  }>;
@@ -1,4 +1,4 @@
1
- import { LambdaPayload } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  };
@@ -39,6 +39,27 @@ const timer_1 = require("./helpers/timer");
39
39
  const validate_composition_1 = require("./helpers/validate-composition");
40
40
  const write_lambda_error_1 = require("./helpers/write-lambda-error");
41
41
  const write_post_render_data_1 = require("./helpers/write-post-render-data");
42
+ const callFunctionWithRetry = async (payload, retries = 0) => {
43
+ try {
44
+ await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
45
+ FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
46
+ // @ts-expect-error
47
+ Payload: JSON.stringify(payload),
48
+ InvocationType: 'Event',
49
+ }), {});
50
+ }
51
+ catch (err) {
52
+ if (err.name === 'ResourceConflictException') {
53
+ if (retries > 10) {
54
+ throw err;
55
+ }
56
+ await new Promise((resolve) => {
57
+ setTimeout(resolve, 1000);
58
+ });
59
+ return callFunctionWithRetry(payload, retries + 1);
60
+ }
61
+ }
62
+ };
42
63
  const innerLaunchHandler = async (params, options) => {
43
64
  var _a, _b;
44
65
  if (params.type !== constants_1.LambdaRoutines.launch) {
@@ -46,7 +67,7 @@ const innerLaunchHandler = async (params, options) => {
46
67
  }
47
68
  const startedDate = Date.now();
48
69
  const [browserInstance, optimization] = await Promise.all([
49
- (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'), params.chromiumOptions),
70
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
50
71
  (0, s3_optimization_file_1.getOptimization)({
51
72
  bucketName: params.bucketName,
52
73
  siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
@@ -55,22 +76,30 @@ const innerLaunchHandler = async (params, options) => {
55
76
  expectedBucketOwner: options.expectedBucketOwner,
56
77
  }),
57
78
  ]);
79
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
58
80
  const comp = await (0, validate_composition_1.validateComposition)({
59
81
  serveUrl: params.serveUrl,
60
82
  composition: params.composition,
61
83
  browserInstance,
62
84
  inputProps: params.inputProps,
63
85
  envVariables: params.envVariables,
86
+ ffmpegExecutable: null,
87
+ ffprobeExecutable: null,
88
+ timeoutInMilliseconds: params.timeoutInMilliseconds,
89
+ chromiumOptions: params.chromiumOptions,
90
+ port: null,
91
+ downloadMap,
64
92
  });
65
- remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to <Component />');
66
- remotion_1.Internals.validateFps(comp.fps, 'passed to <Component />');
67
- remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to <Component />');
68
- remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to <Component />');
93
+ remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
94
+ remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
95
+ remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
96
+ remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
97
+ renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
69
98
  const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(comp.durationInFrames, params.frameRange);
70
- const frameCount = renderer_1.RenderInternals.getDurationFromFrameRange(realFrameRange, 0);
71
- const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount);
99
+ const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
100
+ const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
72
101
  (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
73
- const chunkCount = Math.ceil(frameCount / framesPerLambda);
102
+ const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
74
103
  if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
75
104
  throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency for how this parameter is calculated.`);
76
105
  }
@@ -78,12 +107,12 @@ const innerLaunchHandler = async (params, options) => {
78
107
  (0, validate_privacy_1.validatePrivacy)(params.privacy);
79
108
  renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
80
109
  const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
81
- chunkCount,
82
110
  framesPerLambda,
83
111
  optimization,
84
112
  // TODO: Re-enable chunk optimization later
85
113
  shouldUseOptimization: false,
86
114
  frameRange: realFrameRange,
115
+ everyNthFrame: params.everyNthFrame,
87
116
  });
88
117
  const sortedChunks = chunks.slice().sort((a, b) => a[0] - b[0]);
89
118
  const invokers = Math.round(Math.sqrt(chunks.length));
@@ -105,18 +134,21 @@ const innerLaunchHandler = async (params, options) => {
105
134
  inputProps: params.inputProps,
106
135
  renderId: params.renderId,
107
136
  imageFormat: params.imageFormat,
108
- codec: params.codec,
137
+ codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
109
138
  crf: params.crf,
110
139
  envVariables: params.envVariables,
111
140
  pixelFormat: params.pixelFormat,
112
141
  proResProfile: params.proResProfile,
113
142
  quality: params.quality,
114
143
  privacy: params.privacy,
115
- logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
144
+ logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
116
145
  attempt: 1,
117
146
  timeoutInMilliseconds: params.timeoutInMilliseconds,
118
147
  chromiumOptions: params.chromiumOptions,
119
148
  scale: params.scale,
149
+ everyNthFrame: params.everyNthFrame,
150
+ concurrencyPerLambda: params.concurrencyPerLambda,
151
+ muted: params.muted,
120
152
  };
121
153
  return payload;
122
154
  });
@@ -153,22 +185,18 @@ const innerLaunchHandler = async (params, options) => {
153
185
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
154
186
  privacy: 'private',
155
187
  expectedBucketOwner: options.expectedBucketOwner,
188
+ downloadBehavior: null,
156
189
  });
157
190
  await Promise.all(lambdaPayloads.map(async (payload, index) => {
158
191
  const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
159
- await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
160
- FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
161
- // @ts-expect-error
162
- Payload: JSON.stringify(payload),
163
- InvocationType: 'Event',
164
- }), {});
192
+ await callFunctionWithRetry(payload);
165
193
  callingLambdaTimer.end();
166
194
  }));
167
195
  reqSend.end();
168
196
  let lastProgressUploaded = 0;
169
197
  let encodingStop = null;
170
198
  const onProgress = (framesEncoded, start) => {
171
- const relativeProgress = framesEncoded / frameCount;
199
+ const relativeProgress = framesEncoded / frameCount.length;
172
200
  const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
173
201
  if (relativeProgress === 1) {
174
202
  encodingStop = Date.now();
@@ -179,7 +207,7 @@ const innerLaunchHandler = async (params, options) => {
179
207
  lastProgressUploaded = relativeProgress;
180
208
  const encodingProgress = {
181
209
  framesEncoded,
182
- totalFrames: frameCount,
210
+ totalFrames: frameCount.length,
183
211
  doneIn: encodingStop ? encodingStop - start : null,
184
212
  timeToInvoke: null,
185
213
  };
@@ -190,6 +218,7 @@ const innerLaunchHandler = async (params, options) => {
190
218
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
191
219
  privacy: 'private',
192
220
  expectedBucketOwner: options.expectedBucketOwner,
221
+ downloadBehavior: null,
193
222
  }).catch((err) => {
194
223
  (0, write_lambda_error_1.writeLambdaError)({
195
224
  bucketName: params.bucketName,
@@ -211,15 +240,18 @@ const innerLaunchHandler = async (params, options) => {
211
240
  });
212
241
  });
213
242
  };
243
+ const fps = comp.fps / params.everyNthFrame;
214
244
  const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
215
245
  bucket: params.bucketName,
216
246
  expectedFiles: chunkCount,
217
247
  onProgress,
218
- numberOfFrames: frameCount,
248
+ numberOfFrames: frameCount.length,
219
249
  renderId: params.renderId,
220
250
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
221
251
  codec: params.codec,
222
252
  expectedBucketOwner: options.expectedBucketOwner,
253
+ fps,
254
+ numberOfGifLoops: params.numberOfGifLoops,
223
255
  });
224
256
  if (!encodingStop) {
225
257
  encodingStop = Date.now();
@@ -233,6 +265,7 @@ const innerLaunchHandler = async (params, options) => {
233
265
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
234
266
  privacy: params.privacy,
235
267
  expectedBucketOwner: options.expectedBucketOwner,
268
+ downloadBehavior: params.downloadBehavior,
236
269
  });
237
270
  let chunkProm = Promise.resolve();
238
271
  // TODO: Enable in a later release
@@ -257,6 +290,7 @@ const innerLaunchHandler = async (params, options) => {
257
290
  framesPerLambda,
258
291
  lambdaVersion: constants_1.CURRENT_VERSION,
259
292
  frameRange: realFrameRange,
293
+ everyNthFrame: params.everyNthFrame,
260
294
  },
261
295
  expectedBucketOwner: options.expectedBucketOwner,
262
296
  compositionId: params.composition,
@@ -275,10 +309,16 @@ const innerLaunchHandler = async (params, options) => {
275
309
  }),
276
310
  ]);
277
311
  const finalEncodingProgress = {
278
- framesEncoded: frameCount,
279
- totalFrames: frameCount,
312
+ framesEncoded: frameCount.length,
313
+ totalFrames: frameCount.length,
280
314
  doneIn: encodingStop ? encodingStop - encodingStart : null,
281
- timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, params.renderId, renderMetadata.estimatedRenderLambdaInvokations, renderMetadata.startedDate).timeToInvokeLambdas,
315
+ timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
316
+ contents,
317
+ renderId: params.renderId,
318
+ estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
319
+ checkIfAllLambdasWereInvoked: false,
320
+ startDate: renderMetadata.startedDate,
321
+ }).timeToInvokeLambdas,
282
322
  };
283
323
  const finalEncodingProgressProm = (0, io_1.lambdaWriteFile)({
284
324
  bucketName: params.bucketName,
@@ -287,6 +327,7 @@ const innerLaunchHandler = async (params, options) => {
287
327
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
288
328
  privacy: 'private',
289
329
  expectedBucketOwner: options.expectedBucketOwner,
330
+ downloadBehavior: null,
290
331
  });
291
332
  const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
292
333
  contents,
@@ -305,7 +346,7 @@ const innerLaunchHandler = async (params, options) => {
305
346
  contents,
306
347
  jobs,
307
348
  });
308
- const postRenderData = await (0, create_post_render_data_1.createPostRenderData)({
349
+ const postRenderData = (0, create_post_render_data_1.createPostRenderData)({
309
350
  expectedBucketOwner: options.expectedBucketOwner,
310
351
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
311
352
  renderId: params.renderId,
@@ -1,4 +1,4 @@
1
- import { LambdaPayload, RenderProgress } from '../shared/constants';
1
+ import type { LambdaPayload, RenderProgress } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  timeoutInMiliseconds: number;
@@ -1,4 +1,4 @@
1
- import { LambdaPayload } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  isWarm: boolean;