@remotion/cli 3.3.79 → 3.3.81

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 (249) hide show
  1. package/dist/codemods/update-default-props.d.ts +5 -0
  2. package/dist/codemods/update-default-props.js +144 -0
  3. package/dist/convert-entry-point-to-serve-url.d.ts +1 -0
  4. package/dist/convert-entry-point-to-serve-url.js +15 -0
  5. package/dist/editor/components/Checkbox.d.ts +6 -0
  6. package/dist/editor/components/Checkbox.js +42 -0
  7. package/dist/editor/components/CollapsableOptions.d.ts +6 -0
  8. package/dist/editor/components/CollapsableOptions.js +35 -0
  9. package/dist/editor/components/CollapsedSidebarExpander.d.ts +5 -0
  10. package/dist/editor/components/CollapsedSidebarExpander.js +41 -0
  11. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +3 -0
  12. package/dist/editor/components/CurrentCompositionSideEffects.js +51 -0
  13. package/dist/editor/components/InlineAction.d.ts +5 -0
  14. package/dist/editor/components/InlineAction.js +35 -0
  15. package/dist/editor/components/Modals.d.ts +2 -0
  16. package/dist/editor/components/Modals.js +23 -0
  17. package/dist/editor/components/NewComposition/RemTextarea.d.ts +7 -0
  18. package/dist/editor/components/NewComposition/RemTextarea.js +92 -0
  19. package/dist/editor/components/RenderButton.d.ts +6 -0
  20. package/dist/editor/components/RenderButton.js +73 -0
  21. package/dist/editor/components/RenderModal/CliCopyButton.d.ts +4 -0
  22. package/dist/editor/components/RenderModal/CliCopyButton.js +22 -0
  23. package/dist/editor/components/RenderModal/CrfSetting.d.ts +16 -0
  24. package/dist/editor/components/RenderModal/CrfSetting.js +43 -0
  25. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +8 -0
  26. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +16 -0
  27. package/dist/editor/components/RenderModal/EnvInput.d.ts +11 -0
  28. package/dist/editor/components/RenderModal/EnvInput.js +74 -0
  29. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +8 -0
  30. package/dist/editor/components/RenderModal/FrameRangeSetting.js +42 -0
  31. package/dist/editor/components/RenderModal/GuiRenderStatus.d.ts +5 -0
  32. package/dist/editor/components/RenderModal/GuiRenderStatus.js +78 -0
  33. package/dist/editor/components/RenderModal/InfoBubble.d.ts +5 -0
  34. package/dist/editor/components/RenderModal/InfoBubble.js +115 -0
  35. package/dist/editor/components/RenderModal/InfoTooltip.d.ts +5 -0
  36. package/dist/editor/components/RenderModal/InfoTooltip.js +40 -0
  37. package/dist/editor/components/RenderModal/InlineEyeIcon.d.ts +5 -0
  38. package/dist/editor/components/RenderModal/InlineEyeIcon.js +14 -0
  39. package/dist/editor/components/RenderModal/InlineRemoveButton.d.ts +4 -0
  40. package/dist/editor/components/RenderModal/InlineRemoveButton.js +12 -0
  41. package/dist/editor/components/RenderModal/JpegQualitySetting.d.ts +5 -0
  42. package/dist/editor/components/RenderModal/JpegQualitySetting.js +12 -0
  43. package/dist/editor/components/RenderModal/MutedSetting.d.ts +8 -0
  44. package/dist/editor/components/RenderModal/MutedSetting.js +16 -0
  45. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
  46. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
  47. package/dist/editor/components/RenderModal/NumberSetting.d.ts +12 -0
  48. package/dist/editor/components/RenderModal/NumberSetting.js +29 -0
  49. package/dist/editor/components/RenderModal/OptionExplainer.d.ts +5 -0
  50. package/dist/editor/components/RenderModal/OptionExplainer.js +45 -0
  51. package/dist/editor/components/RenderModal/RenderModal.d.ts +34 -0
  52. package/dist/editor/components/RenderModal/RenderModal.js +566 -0
  53. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +26 -0
  54. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +59 -0
  55. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +17 -0
  56. package/dist/editor/components/RenderModal/RenderModalAudio.js +46 -0
  57. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +23 -0
  58. package/dist/editor/components/RenderModal/RenderModalBasic.js +79 -0
  59. package/dist/editor/components/RenderModal/RenderModalData.d.ts +9 -0
  60. package/dist/editor/components/RenderModal/RenderModalData.js +63 -0
  61. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.d.ts +5 -0
  62. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.js +55 -0
  63. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
  64. package/dist/editor/components/RenderModal/RenderModalGif.js +19 -0
  65. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
  66. package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
  67. package/dist/editor/components/RenderModal/RenderModalInput.d.ts +10 -0
  68. package/dist/editor/components/RenderModal/RenderModalInput.js +13 -0
  69. package/dist/editor/components/RenderModal/RenderModalJSONInputPropsEditor.d.ts +10 -0
  70. package/dist/editor/components/RenderModal/RenderModalJSONInputPropsEditor.js +98 -0
  71. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
  72. package/dist/editor/components/RenderModal/RenderModalPicture.js +56 -0
  73. package/dist/editor/components/RenderModal/RenderStatusModal.d.ts +4 -0
  74. package/dist/editor/components/RenderModal/RenderStatusModal.js +72 -0
  75. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +5 -0
  76. package/dist/editor/components/RenderModal/ScaleSetting.js +17 -0
  77. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +12 -0
  78. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +70 -0
  79. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.d.ts +2 -0
  80. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.js +15 -0
  81. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +15 -0
  82. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +41 -0
  83. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.d.ts +4 -0
  84. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.js +12 -0
  85. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.d.ts +4 -0
  86. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.js +12 -0
  87. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +14 -0
  88. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +71 -0
  89. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +13 -0
  90. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +28 -0
  91. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +12 -0
  92. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +27 -0
  93. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +14 -0
  94. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +76 -0
  95. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +14 -0
  96. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +51 -0
  97. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +14 -0
  98. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +69 -0
  99. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +5 -0
  100. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -0
  101. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +8 -0
  102. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +27 -0
  103. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +14 -0
  104. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +89 -0
  105. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +14 -0
  106. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +57 -0
  107. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +14 -0
  108. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +43 -0
  109. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +14 -0
  110. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +61 -0
  111. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.d.ts +2 -0
  112. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.js +21 -0
  113. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.d.ts +2 -0
  114. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.js +15 -0
  115. package/dist/editor/components/RenderModal/SchemaEditor/schema-serialization.d.ts +2 -0
  116. package/dist/editor/components/RenderModal/SchemaEditor/schema-serialization.js +21 -0
  117. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.d.ts +1 -0
  118. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.js +2 -0
  119. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +2 -0
  120. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +18 -0
  121. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
  122. package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
  123. package/dist/editor/components/RenderModal/layout.d.ts +7 -0
  124. package/dist/editor/components/RenderModal/layout.js +46 -0
  125. package/dist/editor/components/RenderModal/out-name-checker.d.ts +15 -0
  126. package/dist/editor/components/RenderModal/out-name-checker.js +80 -0
  127. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +5 -0
  128. package/dist/editor/components/RenderQueue/CircularProgress.js +18 -0
  129. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +5 -0
  130. package/dist/editor/components/RenderQueue/RenderQueueError.js +26 -0
  131. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +5 -0
  132. package/dist/editor/components/RenderQueue/RenderQueueItem.js +40 -0
  133. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +5 -0
  134. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +22 -0
  135. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +5 -0
  136. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +43 -0
  137. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.d.ts +5 -0
  138. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.js +22 -0
  139. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +5 -0
  140. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +26 -0
  141. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +5 -0
  142. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +26 -0
  143. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +5 -0
  144. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +33 -0
  145. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +5 -0
  146. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +22 -0
  147. package/dist/editor/components/RenderQueue/SuccessIcon.d.ts +2 -0
  148. package/dist/editor/components/RenderQueue/SuccessIcon.js +14 -0
  149. package/dist/editor/components/RenderQueue/actions.d.ts +59 -0
  150. package/dist/editor/components/RenderQueue/actions.js +114 -0
  151. package/dist/editor/components/RenderQueue/context.d.ts +18 -0
  152. package/dist/editor/components/RenderQueue/context.js +49 -0
  153. package/dist/editor/components/RenderQueue/index.d.ts +2 -0
  154. package/dist/editor/components/RenderQueue/index.js +19 -0
  155. package/dist/editor/components/RenderQueue/item-style.d.ts +2 -0
  156. package/dist/editor/components/RenderQueue/item-style.js +21 -0
  157. package/dist/editor/components/RenderToolbarIcon.d.ts +2 -0
  158. package/dist/editor/components/RenderToolbarIcon.js +84 -0
  159. package/dist/editor/components/RendersTab.d.ts +6 -0
  160. package/dist/editor/components/RendersTab.js +43 -0
  161. package/dist/editor/components/RightPanel.d.ts +8 -0
  162. package/dist/editor/components/RightPanel.js +81 -0
  163. package/dist/editor/components/SegmentedControl.d.ts +16 -0
  164. package/dist/editor/components/SegmentedControl.js +63 -0
  165. package/dist/editor/components/Tabs/index.d.ts +11 -0
  166. package/dist/editor/components/Tabs/index.js +51 -0
  167. package/dist/editor/helpers/client-id.d.ts +17 -0
  168. package/dist/editor/helpers/client-id.js +46 -0
  169. package/dist/editor/helpers/convert-env-variables.d.ts +2 -0
  170. package/dist/editor/helpers/convert-env-variables.js +20 -0
  171. package/dist/editor/helpers/prores-labels.d.ts +2 -0
  172. package/dist/editor/helpers/prores-labels.js +25 -0
  173. package/dist/editor/helpers/render-modal-sections.d.ts +9 -0
  174. package/dist/editor/helpers/render-modal-sections.js +32 -0
  175. package/dist/editor/helpers/use-breakpoint.d.ts +1 -0
  176. package/dist/editor/helpers/use-breakpoint.js +17 -0
  177. package/dist/editor/helpers/use-file-existence.d.ts +1 -0
  178. package/dist/editor/helpers/use-file-existence.js +66 -0
  179. package/dist/editor/icons/RenderStillIcon.d.ts +3 -0
  180. package/dist/editor/icons/RenderStillIcon.js +8 -0
  181. package/dist/editor/icons/audio.d.ts +2 -0
  182. package/dist/editor/icons/audio.js +6 -0
  183. package/dist/editor/icons/data.d.ts +2 -0
  184. package/dist/editor/icons/data.js +8 -0
  185. package/dist/editor/icons/file.d.ts +2 -0
  186. package/dist/editor/icons/file.js +6 -0
  187. package/dist/editor/icons/frame.d.ts +2 -0
  188. package/dist/editor/icons/frame.js +6 -0
  189. package/dist/editor/icons/gear.d.ts +2 -0
  190. package/dist/editor/icons/gear.js +6 -0
  191. package/dist/editor/icons/gif.d.ts +2 -0
  192. package/dist/editor/icons/gif.js +6 -0
  193. package/dist/editor/icons/render.d.ts +8 -0
  194. package/dist/editor/icons/render.js +12 -0
  195. package/dist/editor/icons/video.d.ts +5 -0
  196. package/dist/editor/icons/video.js +8 -0
  197. package/dist/ffmpeg.d.ts +2 -0
  198. package/dist/ffmpeg.js +21 -0
  199. package/dist/file-watcher.d.ts +9 -0
  200. package/dist/file-watcher.js +35 -0
  201. package/dist/get-default-out-name.d.ts +5 -0
  202. package/dist/get-default-out-name.js +10 -0
  203. package/dist/preview-server/api-routes.d.ts +4 -0
  204. package/dist/preview-server/api-routes.js +19 -0
  205. package/dist/preview-server/api-types.d.ts +28 -0
  206. package/dist/preview-server/api-types.js +2 -0
  207. package/dist/preview-server/file-existence-watchers.d.ts +13 -0
  208. package/dist/preview-server/file-existence-watchers.js +62 -0
  209. package/dist/preview-server/handler.d.ts +9 -0
  210. package/dist/preview-server/handler.js +34 -0
  211. package/dist/preview-server/parse-body.d.ts +2 -0
  212. package/dist/preview-server/parse-body.js +16 -0
  213. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +10 -0
  214. package/dist/preview-server/render-queue/get-default-video-contexts.js +13 -0
  215. package/dist/preview-server/render-queue/job.d.ts +129 -0
  216. package/dist/preview-server/render-queue/job.js +2 -0
  217. package/dist/preview-server/render-queue/make-retry-payload.d.ts +3 -0
  218. package/dist/preview-server/render-queue/make-retry-payload.js +89 -0
  219. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +1 -0
  220. package/dist/preview-server/render-queue/open-directory-in-finder.js +43 -0
  221. package/dist/preview-server/render-queue/process-still.d.ts +8 -0
  222. package/dist/preview-server/render-queue/process-still.js +46 -0
  223. package/dist/preview-server/render-queue/process-video.d.ts +8 -0
  224. package/dist/preview-server/render-queue/process-video.js +63 -0
  225. package/dist/preview-server/render-queue/queue.d.ts +21 -0
  226. package/dist/preview-server/render-queue/queue.js +208 -0
  227. package/dist/preview-server/routes/add-render.d.ts +3 -0
  228. package/dist/preview-server/routes/add-render.js +76 -0
  229. package/dist/preview-server/routes/cancel-render.d.ts +3 -0
  230. package/dist/preview-server/routes/cancel-render.js +9 -0
  231. package/dist/preview-server/routes/open-in-file-explorer.d.ts +3 -0
  232. package/dist/preview-server/routes/open-in-file-explorer.js +8 -0
  233. package/dist/preview-server/routes/remove-render.d.ts +3 -0
  234. package/dist/preview-server/routes/remove-render.js +9 -0
  235. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +3 -0
  236. package/dist/preview-server/routes/subscribe-to-file-existence.js +13 -0
  237. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +3 -0
  238. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +13 -0
  239. package/dist/preview-server/routes/update-default-props.d.ts +3 -0
  240. package/dist/preview-server/routes/update-default-props.js +22 -0
  241. package/dist/progress-types.d.ts +32 -0
  242. package/dist/progress-types.js +17 -0
  243. package/dist/render-flows/render.d.ts +47 -0
  244. package/dist/render-flows/render.js +290 -0
  245. package/dist/render-flows/still.d.ts +29 -0
  246. package/dist/render-flows/still.js +168 -0
  247. package/dist/required-chromium-options.d.ts +3 -0
  248. package/dist/required-chromium-options.js +2 -0
  249. package/package.json +6 -6
@@ -0,0 +1,290 @@
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.renderVideoFlow = void 0;
7
+ const renderer_1 = require("@remotion/renderer");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const os_1 = __importDefault(require("os"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const chalk_1 = require("../chalk");
12
+ const config_1 = require("../config");
13
+ const get_cli_options_1 = require("../get-cli-options");
14
+ const get_composition_with_dimension_override_1 = require("../get-composition-with-dimension-override");
15
+ const get_filename_1 = require("../get-filename");
16
+ const get_final_output_codec_1 = require("../get-final-output-codec");
17
+ const image_formats_1 = require("../image-formats");
18
+ const log_1 = require("../log");
19
+ const parse_command_line_1 = require("../parse-command-line");
20
+ const progress_bar_1 = require("../progress-bar");
21
+ const setup_cache_1 = require("../setup-cache");
22
+ const truthy_1 = require("../truthy");
23
+ const user_passed_output_location_1 = require("../user-passed-output-location");
24
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, quality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, disallowParallelEncoding, }) => {
25
+ var _a;
26
+ const downloads = [];
27
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
28
+ addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
29
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Browser executable: ', browserExecutable);
30
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Asset dirs', downloadMap.assetDir);
31
+ const browserInstance = (0, renderer_1.openBrowser)(browser, {
32
+ browserExecutable,
33
+ shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
34
+ chromiumOptions,
35
+ forceDeviceScaleFactor: scale,
36
+ indentationString: indent ? log_1.INDENT_TOKEN + ' ' : '',
37
+ });
38
+ const renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
39
+ quiet,
40
+ cancelSignal,
41
+ });
42
+ const steps = [
43
+ renderer_1.RenderInternals.isServeUrl(fullEntryPoint) ? null : 'bundling',
44
+ 'rendering',
45
+ shouldOutputImageSequence ? null : 'stitching',
46
+ ].filter(truthy_1.truthy);
47
+ let bundlingProgress = {
48
+ doneIn: null,
49
+ progress: 0,
50
+ };
51
+ let renderingProgress = null;
52
+ let stitchingProgress = null;
53
+ let copyingState = {
54
+ bytes: 0,
55
+ doneIn: null,
56
+ };
57
+ const updateRenderProgress = () => {
58
+ const aggregateRenderProgress = {
59
+ rendering: renderingProgress,
60
+ stitching: shouldOutputImageSequence ? null : stitchingProgress,
61
+ downloads,
62
+ bundling: bundlingProgress,
63
+ copyingState,
64
+ };
65
+ const { output, message, progress } = (0, progress_bar_1.makeRenderingAndStitchingProgress)({
66
+ prog: aggregateRenderProgress,
67
+ indent,
68
+ steps: steps.length,
69
+ stitchingStep: steps.indexOf('bundling'),
70
+ });
71
+ onProgress({ message, value: progress, ...aggregateRenderProgress });
72
+ return renderProgress.update(output);
73
+ };
74
+ const { urlOrBundle, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
75
+ fullPath: fullEntryPoint,
76
+ remotionRoot,
77
+ publicDir,
78
+ onProgress: ({ bundling, copying }) => {
79
+ bundlingProgress = bundling;
80
+ copyingState = copying;
81
+ updateRenderProgress();
82
+ },
83
+ indentOutput: indent,
84
+ logLevel,
85
+ bundlingStep: steps.indexOf('bundling'),
86
+ steps: steps.length,
87
+ });
88
+ addCleanupCallback(() => cleanupBundle());
89
+ const onDownload = (src) => {
90
+ const id = Math.random();
91
+ const download = {
92
+ id,
93
+ name: src,
94
+ progress: 0,
95
+ downloaded: 0,
96
+ totalBytes: null,
97
+ };
98
+ downloads.push(download);
99
+ updateRenderProgress();
100
+ return ({ percent, downloaded, totalSize }) => {
101
+ download.progress = percent;
102
+ download.totalBytes = totalSize;
103
+ download.downloaded = downloaded;
104
+ updateRenderProgress();
105
+ };
106
+ };
107
+ const puppeteerInstance = await browserInstance;
108
+ addCleanupCallback(() => puppeteerInstance.close(false));
109
+ const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
110
+ inputProps,
111
+ puppeteerInstance,
112
+ envVariables,
113
+ timeoutInMilliseconds: puppeteerTimeout,
114
+ chromiumOptions,
115
+ browserExecutable,
116
+ downloadMap,
117
+ port,
118
+ });
119
+ const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
120
+ validCompositions: comps,
121
+ height,
122
+ width,
123
+ args: remainingArgs,
124
+ compositionIdFromUi,
125
+ });
126
+ const { codec, reason: codecReason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
127
+ cliFlag: parse_command_line_1.parsedCli.codec,
128
+ configFile: (_a = config_1.ConfigInternals.getOutputCodecOrUndefined()) !== null && _a !== void 0 ? _a : null,
129
+ downloadName: null,
130
+ outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
131
+ uiCodec,
132
+ });
133
+ renderer_1.RenderInternals.validateEvenDimensionsWithCodec({
134
+ width: config.width,
135
+ height: config.height,
136
+ codec,
137
+ scale,
138
+ });
139
+ const relativeOutputLocation = (0, get_filename_1.getOutputFilename)({
140
+ imageSequence: shouldOutputImageSequence,
141
+ compositionName: compositionId,
142
+ defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec, audioCodec),
143
+ args: argsAfterComposition,
144
+ indent,
145
+ fromUi: outputLocationFromUI,
146
+ logLevel,
147
+ });
148
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason}), Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
149
+ const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
150
+ const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(config.durationInFrames, frameRange);
151
+ const totalFrames = renderer_1.RenderInternals.getFramesToRender(realFrameRange, everyNthFrame);
152
+ const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
153
+ renderingProgress = {
154
+ frames: 0,
155
+ totalFrames: totalFrames.length,
156
+ concurrency: actualConcurrency,
157
+ doneIn: null,
158
+ steps,
159
+ };
160
+ const imageFormat = (0, image_formats_1.getVideoImageFormat)({
161
+ codec: shouldOutputImageSequence ? undefined : codec,
162
+ uiImageFormat,
163
+ });
164
+ if (shouldOutputImageSequence) {
165
+ fs_1.default.mkdirSync(absoluteOutputFile, {
166
+ recursive: true,
167
+ });
168
+ if (imageFormat === 'none') {
169
+ throw new Error(`Cannot render an image sequence with a codec that renders no images. codec = ${codec}, imageFormat = ${imageFormat}`);
170
+ }
171
+ const outputDir = shouldOutputImageSequence
172
+ ? absoluteOutputFile
173
+ : await fs_1.default.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'react-motion-render'));
174
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Output dir', outputDir);
175
+ await (0, renderer_1.renderFrames)({
176
+ imageFormat,
177
+ inputProps,
178
+ onFrameUpdate: (rendered) => {
179
+ renderingProgress.frames = rendered;
180
+ updateRenderProgress();
181
+ },
182
+ onStart: () => undefined,
183
+ onDownload: (src) => {
184
+ if (src.startsWith('data:')) {
185
+ log_1.Log.infoAdvanced({ indent, logLevel }, '\nWriting Data URL to file: ', src.substring(0, 30) + '...');
186
+ }
187
+ else {
188
+ log_1.Log.infoAdvanced({ indent, logLevel }, '\nDownloading asset... ', src);
189
+ }
190
+ },
191
+ cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
192
+ outputDir,
193
+ serveUrl: urlOrBundle,
194
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
195
+ everyNthFrame,
196
+ envVariables,
197
+ frameRange,
198
+ concurrency: actualConcurrency,
199
+ puppeteerInstance,
200
+ quality,
201
+ timeoutInMilliseconds: puppeteerTimeout,
202
+ chromiumOptions,
203
+ scale,
204
+ browserExecutable,
205
+ port,
206
+ downloadMap,
207
+ composition: config,
208
+ });
209
+ updateRenderProgress();
210
+ process.stdout.write('\n');
211
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
212
+ return;
213
+ }
214
+ stitchingProgress = {
215
+ doneIn: null,
216
+ frames: 0,
217
+ stage: 'encoding',
218
+ totalFrames: totalFrames.length,
219
+ codec,
220
+ };
221
+ const { slowestFrames } = await (0, renderer_1.renderMedia)({
222
+ outputLocation: absoluteOutputFile,
223
+ composition: {
224
+ ...config,
225
+ width: width !== null && width !== void 0 ? width : config.width,
226
+ height: height !== null && height !== void 0 ? height : config.height,
227
+ },
228
+ crf,
229
+ envVariables,
230
+ frameRange,
231
+ inputProps,
232
+ overwrite,
233
+ pixelFormat,
234
+ proResProfile,
235
+ quality,
236
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
237
+ chromiumOptions,
238
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
239
+ scale,
240
+ port,
241
+ numberOfGifLoops,
242
+ everyNthFrame,
243
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
244
+ muted,
245
+ enforceAudioTrack,
246
+ browserExecutable,
247
+ ffmpegOverride,
248
+ concurrency,
249
+ serveUrl: urlOrBundle,
250
+ codec,
251
+ audioBitrate,
252
+ videoBitrate,
253
+ onProgress: (update) => {
254
+ stitchingProgress.doneIn =
255
+ update.encodedDoneIn;
256
+ stitchingProgress.frames =
257
+ update.encodedFrames;
258
+ stitchingProgress.stage = update.stitchStage;
259
+ renderingProgress.doneIn =
260
+ update.renderedDoneIn;
261
+ renderingProgress.frames =
262
+ update.renderedFrames;
263
+ updateRenderProgress();
264
+ },
265
+ puppeteerInstance,
266
+ onDownload,
267
+ internal: {
268
+ onCtrlCExit: addCleanupCallback,
269
+ downloadMap,
270
+ },
271
+ cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
272
+ printLog: (...str) => log_1.Log.verboseAdvanced({ indent, logLevel }, ...str),
273
+ audioCodec,
274
+ preferLossless: false,
275
+ imageFormat,
276
+ disallowParallelEncoding,
277
+ });
278
+ log_1.Log.verboseAdvanced({ indent, logLevel });
279
+ log_1.Log.verboseAdvanced({ indent, logLevel }, `Slowest frames:`);
280
+ slowestFrames.forEach(({ frame, time }) => {
281
+ log_1.Log.verboseAdvanced({ indent, logLevel }, `Frame ${frame} (${time.toFixed(3)}ms)`);
282
+ });
283
+ updateRenderProgress();
284
+ process.stdout.write('\n');
285
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
286
+ for (const line of renderer_1.RenderInternals.perf.getPerf()) {
287
+ log_1.Log.verboseAdvanced({ indent, logLevel }, line);
288
+ }
289
+ };
290
+ exports.renderVideoFlow = renderVideoFlow;
@@ -0,0 +1,29 @@
1
+ import type { Browser, BrowserExecutable, CancelSignal, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
2
+ import type { JobProgressCallback } from '../preview-server/render-queue/job';
3
+ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, quality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indentOutput, addCleanupCallback, cancelSignal, }: {
4
+ remotionRoot: string;
5
+ fullEntryPoint: string;
6
+ entryPointReason: string;
7
+ remainingArgs: string[];
8
+ inputProps: object;
9
+ envVariables: Record<string, string>;
10
+ quality: number | undefined;
11
+ browser: Browser;
12
+ stillFrame: number;
13
+ browserExecutable: BrowserExecutable;
14
+ chromiumOptions: ChromiumOptions;
15
+ scale: number;
16
+ overwrite: boolean;
17
+ puppeteerTimeout: number;
18
+ port: number | null;
19
+ publicDir: string | null;
20
+ height: number | null;
21
+ width: number | null;
22
+ compositionIdFromUi: string | null;
23
+ imageFormatFromUi: StillImageFormat | null;
24
+ logLevel: LogLevel;
25
+ onProgress: JobProgressCallback;
26
+ indentOutput: boolean;
27
+ addCleanupCallback: (cb: () => void) => void;
28
+ cancelSignal: CancelSignal | null;
29
+ }) => Promise<void>;
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ // Prints to CLI and also reports back to browser
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.renderStillFlow = void 0;
8
+ const renderer_1 = require("@remotion/renderer");
9
+ const fs_1 = require("fs");
10
+ const path_1 = __importDefault(require("path"));
11
+ const chalk_1 = require("../chalk");
12
+ const config_1 = require("../config");
13
+ const determine_image_format_1 = require("../determine-image-format");
14
+ const get_cli_options_1 = require("../get-cli-options");
15
+ const get_composition_with_dimension_override_1 = require("../get-composition-with-dimension-override");
16
+ const log_1 = require("../log");
17
+ const parse_command_line_1 = require("../parse-command-line");
18
+ const progress_bar_1 = require("../progress-bar");
19
+ const progress_types_1 = require("../progress-types");
20
+ const setup_cache_1 = require("../setup-cache");
21
+ const truthy_1 = require("../truthy");
22
+ const user_passed_output_location_1 = require("../user-passed-output-location");
23
+ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, quality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indentOutput, addCleanupCallback, cancelSignal, }) => {
24
+ var _a, _b;
25
+ const downloads = [];
26
+ const aggregate = (0, progress_types_1.initialAggregateRenderProgress)();
27
+ let renderProgress = null;
28
+ const steps = [
29
+ renderer_1.RenderInternals.isServeUrl(fullEntryPoint) ? null : 'bundling',
30
+ 'rendering',
31
+ ].filter(truthy_1.truthy);
32
+ const updateProgress = () => {
33
+ const { output, progress, message } = (0, progress_bar_1.makeRenderingAndStitchingProgress)({
34
+ prog: aggregate,
35
+ indent: indentOutput,
36
+ steps: steps.length,
37
+ stitchingStep: steps.indexOf('stitching'),
38
+ });
39
+ if (renderProgress) {
40
+ renderProgress.update(output);
41
+ }
42
+ onProgress({ message, value: progress, ...aggregate });
43
+ };
44
+ log_1.Log.verboseAdvanced({ indent: indentOutput, logLevel }, 'Browser executable: ', browserExecutable);
45
+ const shouldDumpIo = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
46
+ const browserInstance = (0, renderer_1.openBrowser)(browser, {
47
+ browserExecutable,
48
+ chromiumOptions,
49
+ shouldDumpIo,
50
+ forceDeviceScaleFactor: scale,
51
+ indentationString: indentOutput ? log_1.INDENT_TOKEN + ' ' : '',
52
+ });
53
+ const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
54
+ fullPath: fullEntryPoint,
55
+ remotionRoot,
56
+ steps: steps.length,
57
+ publicDir,
58
+ onProgress: ({ copying, bundling }) => {
59
+ aggregate.bundling = bundling;
60
+ aggregate.copyingState = copying;
61
+ updateProgress();
62
+ },
63
+ indentOutput,
64
+ logLevel,
65
+ bundlingStep: steps.indexOf('bundling'),
66
+ });
67
+ addCleanupCallback(() => cleanupBundle());
68
+ const puppeteerInstance = await browserInstance;
69
+ addCleanupCallback(() => puppeteerInstance.close(false));
70
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
71
+ addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
72
+ const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
73
+ inputProps,
74
+ puppeteerInstance,
75
+ envVariables,
76
+ timeoutInMilliseconds: puppeteerTimeout,
77
+ chromiumOptions,
78
+ port,
79
+ browserExecutable,
80
+ downloadMap,
81
+ });
82
+ const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
83
+ validCompositions: comps,
84
+ height,
85
+ width,
86
+ args: remainingArgs,
87
+ compositionIdFromUi,
88
+ });
89
+ const { format: imageFormat, source } = (0, determine_image_format_1.determineFinalStillImageFormat)({
90
+ cliFlag: (_a = parse_command_line_1.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
91
+ configImageFormat: (_b = config_1.ConfigInternals.getUserPreferredStillImageFormat()) !== null && _b !== void 0 ? _b : null,
92
+ downloadName: null,
93
+ outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
94
+ isLambda: false,
95
+ fromUi: imageFormatFromUi,
96
+ });
97
+ const relativeOutputLocation = (0, user_passed_output_location_1.getOutputLocation)({
98
+ compositionId,
99
+ defaultExtension: imageFormat,
100
+ args: argsAfterComposition,
101
+ type: 'asset',
102
+ });
103
+ const absoluteOutputLocation = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
104
+ (0, fs_1.mkdirSync)(path_1.default.join(absoluteOutputLocation, '..'), {
105
+ recursive: true,
106
+ });
107
+ log_1.Log.infoAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason}), Output = ${relativeOutputLocation}, Format = ${imageFormat} (${source}), Composition = ${compositionId} (${reason})`));
108
+ renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
109
+ quiet: (0, parse_command_line_1.quietFlagProvided)(),
110
+ cancelSignal,
111
+ });
112
+ const renderStart = Date.now();
113
+ aggregate.rendering = {
114
+ frames: 0,
115
+ concurrency: 1,
116
+ doneIn: null,
117
+ steps,
118
+ totalFrames: 1,
119
+ };
120
+ updateProgress();
121
+ const onDownload = (src) => {
122
+ const id = Math.random();
123
+ const download = {
124
+ id,
125
+ name: src,
126
+ progress: 0,
127
+ downloaded: 0,
128
+ totalBytes: null,
129
+ };
130
+ downloads.push(download);
131
+ updateProgress();
132
+ return ({ percent }) => {
133
+ download.progress = percent;
134
+ updateProgress();
135
+ };
136
+ };
137
+ await (0, renderer_1.renderStill)({
138
+ composition: config,
139
+ frame: stillFrame,
140
+ output: absoluteOutputLocation,
141
+ serveUrl: urlOrBundle,
142
+ quality,
143
+ dumpBrowserLogs: shouldDumpIo,
144
+ envVariables,
145
+ imageFormat,
146
+ inputProps,
147
+ chromiumOptions,
148
+ timeoutInMilliseconds: puppeteerTimeout,
149
+ scale,
150
+ browserExecutable,
151
+ overwrite,
152
+ onDownload,
153
+ port,
154
+ downloadMap,
155
+ puppeteerInstance,
156
+ });
157
+ aggregate.rendering = {
158
+ frames: 1,
159
+ concurrency: 1,
160
+ doneIn: Date.now() - renderStart,
161
+ steps,
162
+ totalFrames: 1,
163
+ };
164
+ updateProgress();
165
+ log_1.Log.infoAdvanced({ indent: indentOutput, logLevel });
166
+ log_1.Log.infoAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.cyan(`▶️ ${absoluteOutputLocation}`));
167
+ };
168
+ exports.renderStillFlow = renderStillFlow;
@@ -0,0 +1,3 @@
1
+ import type { ChromiumOptions, OpenGlRenderer } from '@remotion/renderer';
2
+ export declare type RequiredChromiumOptions = Required<ChromiumOptions>;
3
+ export declare type UiOpenGlOptions = OpenGlRenderer | 'default';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "3.3.79",
3
+ "version": "3.3.81",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -16,16 +16,16 @@
16
16
  "author": "Jonny Burger <jonny@remotion.dev>",
17
17
  "license": "SEE LICENSE IN LICENSE.md",
18
18
  "dependencies": {
19
- "@remotion/bundler": "3.3.79",
20
- "@remotion/media-utils": "3.3.79",
21
- "@remotion/player": "3.3.79",
22
- "@remotion/renderer": "3.3.79",
19
+ "@remotion/bundler": "3.3.81",
20
+ "@remotion/media-utils": "3.3.81",
21
+ "@remotion/player": "3.3.81",
22
+ "@remotion/renderer": "3.3.81",
23
23
  "dotenv": "9.0.2",
24
24
  "memfs": "3.4.3",
25
25
  "minimist": "1.2.6",
26
26
  "open": "^8.4.2",
27
27
  "prompts": "2.4.1",
28
- "remotion": "3.3.79",
28
+ "remotion": "3.3.81",
29
29
  "semver": "7.3.5",
30
30
  "source-map": "0.6.1"
31
31
  },