@remotion/cli 3.3.45 → 3.3.52

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 (171) hide show
  1. package/dist/config/height.js +0 -1
  2. package/dist/config/index.js +0 -1
  3. package/dist/config/log.d.ts +1 -1
  4. package/dist/config/still-frame.js +2 -2
  5. package/dist/config/width.js +0 -1
  6. package/dist/gcp-command.d.ts +1 -0
  7. package/dist/gcp-command.js +27 -0
  8. package/dist/get-cli-options.d.ts +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/preview-server/dev-middleware/middleware.js +3 -4
  11. package/dist/previewEntry.js +0 -1
  12. package/dist/render.js +0 -1
  13. package/package.json +7 -7
  14. package/dist/convert-entry-point-to-serve-url.d.ts +0 -1
  15. package/dist/convert-entry-point-to-serve-url.js +0 -15
  16. package/dist/derive-codec-from-file-extension.d.ts +0 -1
  17. package/dist/derive-codec-from-file-extension.js +0 -27
  18. package/dist/editor/components/Checkbox.d.ts +0 -5
  19. package/dist/editor/components/Checkbox.js +0 -38
  20. package/dist/editor/components/CollapsableOptions.d.ts +0 -6
  21. package/dist/editor/components/CollapsableOptions.js +0 -35
  22. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +0 -3
  23. package/dist/editor/components/CurrentCompositionSideEffects.js +0 -43
  24. package/dist/editor/components/InlineAction.d.ts +0 -5
  25. package/dist/editor/components/InlineAction.js +0 -34
  26. package/dist/editor/components/Modals.d.ts +0 -2
  27. package/dist/editor/components/Modals.js +0 -23
  28. package/dist/editor/components/RenderButton.d.ts +0 -6
  29. package/dist/editor/components/RenderButton.js +0 -67
  30. package/dist/editor/components/RenderModal/CrfSetting.d.ts +0 -15
  31. package/dist/editor/components/RenderModal/CrfSetting.js +0 -43
  32. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +0 -5
  33. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +0 -14
  34. package/dist/editor/components/RenderModal/EveryNthFrameSetting.d.ts +0 -5
  35. package/dist/editor/components/RenderModal/EveryNthFrameSetting.js +0 -9
  36. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +0 -8
  37. package/dist/editor/components/RenderModal/FrameRangeSetting.js +0 -42
  38. package/dist/editor/components/RenderModal/MutedSetting.d.ts +0 -5
  39. package/dist/editor/components/RenderModal/MutedSetting.js +0 -14
  40. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +0 -5
  41. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +0 -26
  42. package/dist/editor/components/RenderModal/NumberSetting.d.ts +0 -9
  43. package/dist/editor/components/RenderModal/NumberSetting.js +0 -26
  44. package/dist/editor/components/RenderModal/QualitySetting.d.ts +0 -5
  45. package/dist/editor/components/RenderModal/QualitySetting.js +0 -27
  46. package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +0 -5
  47. package/dist/editor/components/RenderModal/RenderErrorModal.js +0 -64
  48. package/dist/editor/components/RenderModal/RenderModal.d.ts +0 -28
  49. package/dist/editor/components/RenderModal/RenderModal.js +0 -421
  50. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +0 -11
  51. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +0 -15
  52. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +0 -13
  53. package/dist/editor/components/RenderModal/RenderModalAudio.js +0 -22
  54. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +0 -22
  55. package/dist/editor/components/RenderModal/RenderModalBasic.js +0 -70
  56. package/dist/editor/components/RenderModal/RenderModalGeneral.d.ts +0 -0
  57. package/dist/editor/components/RenderModal/RenderModalGeneral.js +0 -1
  58. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +0 -9
  59. package/dist/editor/components/RenderModal/RenderModalGif.js +0 -16
  60. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +0 -2
  61. package/dist/editor/components/RenderModal/RenderModalHr.js +0 -18
  62. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +0 -28
  63. package/dist/editor/components/RenderModal/RenderModalPicture.js +0 -51
  64. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +0 -5
  65. package/dist/editor/components/RenderModal/ScaleSetting.js +0 -11
  66. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +0 -2
  67. package/dist/editor/components/RenderModal/human-readable-codec.js +0 -36
  68. package/dist/editor/components/RenderModal/layout.d.ts +0 -5
  69. package/dist/editor/components/RenderModal/layout.js +0 -31
  70. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +0 -5
  71. package/dist/editor/components/RenderQueue/CircularProgress.js +0 -18
  72. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +0 -5
  73. package/dist/editor/components/RenderQueue/RenderQueueError.js +0 -26
  74. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +0 -5
  75. package/dist/editor/components/RenderQueue/RenderQueueItem.js +0 -39
  76. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +0 -5
  77. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +0 -22
  78. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +0 -5
  79. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +0 -27
  80. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +0 -5
  81. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +0 -24
  82. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +0 -5
  83. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +0 -27
  84. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +0 -5
  85. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +0 -23
  86. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +0 -5
  87. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +0 -22
  88. package/dist/editor/components/RenderQueue/actions.d.ts +0 -48
  89. package/dist/editor/components/RenderQueue/actions.js +0 -97
  90. package/dist/editor/components/RenderQueue/context.d.ts +0 -19
  91. package/dist/editor/components/RenderQueue/context.js +0 -56
  92. package/dist/editor/components/RenderQueue/index.d.ts +0 -2
  93. package/dist/editor/components/RenderQueue/index.js +0 -18
  94. package/dist/editor/components/RenderQueue/item-style.d.ts +0 -2
  95. package/dist/editor/components/RenderQueue/item-style.js +0 -21
  96. package/dist/editor/components/RenderToolbarIcon.d.ts +0 -2
  97. package/dist/editor/components/RenderToolbarIcon.js +0 -78
  98. package/dist/editor/components/RendersTab.d.ts +0 -6
  99. package/dist/editor/components/RendersTab.js +0 -43
  100. package/dist/editor/components/SegmentedControl.d.ts +0 -16
  101. package/dist/editor/components/SegmentedControl.js +0 -63
  102. package/dist/editor/components/SidebarContent.d.ts +0 -5
  103. package/dist/editor/components/SidebarContent.js +0 -52
  104. package/dist/editor/components/Tabs/index.d.ts +0 -11
  105. package/dist/editor/components/Tabs/index.js +0 -51
  106. package/dist/editor/helpers/client-id.d.ts +0 -17
  107. package/dist/editor/helpers/client-id.js +0 -46
  108. package/dist/editor/helpers/use-file-existence.d.ts +0 -1
  109. package/dist/editor/helpers/use-file-existence.js +0 -66
  110. package/dist/editor/icons/RenderStillIcon.d.ts +0 -3
  111. package/dist/editor/icons/RenderStillIcon.js +0 -8
  112. package/dist/editor/icons/audio.d.ts +0 -2
  113. package/dist/editor/icons/audio.js +0 -6
  114. package/dist/editor/icons/file.d.ts +0 -2
  115. package/dist/editor/icons/file.js +0 -6
  116. package/dist/editor/icons/frame.d.ts +0 -2
  117. package/dist/editor/icons/frame.js +0 -6
  118. package/dist/editor/icons/gear.d.ts +0 -2
  119. package/dist/editor/icons/gear.js +0 -6
  120. package/dist/editor/icons/gif.d.ts +0 -2
  121. package/dist/editor/icons/gif.js +0 -6
  122. package/dist/editor/icons/render.d.ts +0 -5
  123. package/dist/editor/icons/render.js +0 -8
  124. package/dist/editor/icons/video.d.ts +0 -5
  125. package/dist/editor/icons/video.js +0 -8
  126. package/dist/file-watcher.d.ts +0 -9
  127. package/dist/file-watcher.js +0 -35
  128. package/dist/get-default-out-name.d.ts +0 -5
  129. package/dist/get-default-out-name.js +0 -10
  130. package/dist/preview-server/api-routes.d.ts +0 -4
  131. package/dist/preview-server/api-routes.js +0 -17
  132. package/dist/preview-server/api-types.d.ts +0 -27
  133. package/dist/preview-server/api-types.js +0 -2
  134. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  135. package/dist/preview-server/file-existence-watchers.js +0 -62
  136. package/dist/preview-server/handler.d.ts +0 -9
  137. package/dist/preview-server/handler.js +0 -34
  138. package/dist/preview-server/parse-body.d.ts +0 -2
  139. package/dist/preview-server/parse-body.js +0 -16
  140. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +0 -10
  141. package/dist/preview-server/render-queue/get-default-video-contexts.js +0 -13
  142. package/dist/preview-server/render-queue/job.d.ts +0 -112
  143. package/dist/preview-server/render-queue/job.js +0 -2
  144. package/dist/preview-server/render-queue/make-retry-payload.d.ts +0 -3
  145. package/dist/preview-server/render-queue/make-retry-payload.js +0 -79
  146. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +0 -1
  147. package/dist/preview-server/render-queue/open-directory-in-finder.js +0 -34
  148. package/dist/preview-server/render-queue/process-still.d.ts +0 -8
  149. package/dist/preview-server/render-queue/process-still.js +0 -50
  150. package/dist/preview-server/render-queue/process-video.d.ts +0 -8
  151. package/dist/preview-server/render-queue/process-video.js +0 -66
  152. package/dist/preview-server/render-queue/queue.d.ts +0 -21
  153. package/dist/preview-server/render-queue/queue.js +0 -185
  154. package/dist/preview-server/routes/add-render.d.ts +0 -3
  155. package/dist/preview-server/routes/add-render.js +0 -67
  156. package/dist/preview-server/routes/cancel-render.d.ts +0 -3
  157. package/dist/preview-server/routes/cancel-render.js +0 -9
  158. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  159. package/dist/preview-server/routes/open-in-file-explorer.js +0 -14
  160. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  161. package/dist/preview-server/routes/remove-render.js +0 -9
  162. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  163. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  164. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  165. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  166. package/dist/render-flows/render.d.ts +0 -48
  167. package/dist/render-flows/render.js +0 -283
  168. package/dist/render-flows/still.d.ts +0 -32
  169. package/dist/render-flows/still.js +0 -170
  170. package/dist/setup-env-variables.d.ts +0 -2
  171. package/dist/setup-env-variables.js +0 -36
@@ -1,283 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderCompFlow = 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 renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable, ffprobeExecutable, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, configFileImageFormat, outputLocationFromUI, quality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, }) => {
25
- var _a;
26
- const downloads = [];
27
- const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
28
- addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
29
- const ffmpegVersion = await renderer_1.RenderInternals.getFfmpegVersion({
30
- ffmpegExecutable,
31
- remotionRoot,
32
- });
33
- log_1.Log.verboseAdvanced({ indent, logLevel }, 'FFMPEG Version:', ffmpegVersion ? ffmpegVersion.join('.') : 'Built from source');
34
- log_1.Log.verboseAdvanced({ indent, logLevel }, 'Browser executable: ', browserExecutable);
35
- log_1.Log.verboseAdvanced({ indent, logLevel }, 'Asset dirs', downloadMap.assetDir);
36
- const browserInstance = (0, renderer_1.openBrowser)(browser, {
37
- browserExecutable,
38
- shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
39
- chromiumOptions,
40
- forceDeviceScaleFactor: scale,
41
- indentationString: indent ? log_1.INDENT_TOKEN + ' ' : '',
42
- });
43
- const steps = [
44
- renderer_1.RenderInternals.isServeUrl(fullEntryPoint) ? null : 'bundling',
45
- 'rendering',
46
- shouldOutputImageSequence ? null : 'stitching',
47
- ].filter(truthy_1.truthy);
48
- const { urlOrBundle, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
49
- fullPath: fullEntryPoint,
50
- remotionRoot,
51
- steps,
52
- publicDir,
53
- // TODO: Implement onProgress
54
- onProgress: () => undefined,
55
- indentOutput: indent,
56
- logLevel,
57
- });
58
- addCleanupCallback(cleanupBundle);
59
- const onDownload = (src) => {
60
- const id = Math.random();
61
- const download = {
62
- id,
63
- name: src,
64
- progress: 0,
65
- downloaded: 0,
66
- totalBytes: null,
67
- };
68
- downloads.push(download);
69
- updateRenderProgress();
70
- return ({ percent, downloaded, totalSize }) => {
71
- download.progress = percent;
72
- download.totalBytes = totalSize;
73
- download.downloaded = downloaded;
74
- updateRenderProgress();
75
- };
76
- };
77
- const puppeteerInstance = await browserInstance;
78
- addCleanupCallback(() => puppeteerInstance.close(false));
79
- const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
80
- inputProps,
81
- puppeteerInstance,
82
- envVariables,
83
- timeoutInMilliseconds: puppeteerTimeout,
84
- chromiumOptions,
85
- browserExecutable,
86
- downloadMap,
87
- port,
88
- });
89
- const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
90
- validCompositions: comps,
91
- height,
92
- width,
93
- args: remainingArgs,
94
- compositionIdFromUi,
95
- });
96
- const { codec, reason: codecReason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
97
- cliFlag: parse_command_line_1.parsedCli.codec,
98
- configFile: (_a = config_1.ConfigInternals.getOutputCodecOrUndefined()) !== null && _a !== void 0 ? _a : null,
99
- downloadName: null,
100
- outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
101
- uiCodec,
102
- });
103
- await (0, get_cli_options_1.validateFfmpegCanUseCodec)(codec, remotionRoot);
104
- renderer_1.RenderInternals.validateEvenDimensionsWithCodec({
105
- width: config.width,
106
- height: config.height,
107
- codec,
108
- scale,
109
- });
110
- const relativeOutputLocation = (0, get_filename_1.getOutputFilename)({
111
- codec,
112
- imageSequence: shouldOutputImageSequence,
113
- compositionName: compositionId,
114
- defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec),
115
- args: argsAfterComposition,
116
- indent,
117
- fromUi: outputLocationFromUI,
118
- logLevel,
119
- });
120
- log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason}), Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
121
- const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
122
- const outputDir = shouldOutputImageSequence
123
- ? absoluteOutputFile
124
- : await fs_1.default.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'react-motion-render'));
125
- log_1.Log.verboseAdvanced({ indent, logLevel }, 'Output dir', outputDir);
126
- const renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
127
- quiet,
128
- cancelSignal,
129
- });
130
- const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(config.durationInFrames, frameRange);
131
- const totalFrames = renderer_1.RenderInternals.getFramesToRender(realFrameRange, everyNthFrame);
132
- let encodedFrames = 0;
133
- let renderedFrames = 0;
134
- let encodedDoneIn = null;
135
- let renderedDoneIn = null;
136
- let stitchStage = 'encoding';
137
- const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
138
- const updateRenderProgress = () => {
139
- if (totalFrames.length === 0) {
140
- throw new Error('totalFrames should not be 0');
141
- }
142
- const { output, message, progress } = (0, progress_bar_1.makeRenderingAndStitchingProgress)({
143
- rendering: {
144
- frames: renderedFrames,
145
- totalFrames: totalFrames.length,
146
- concurrency: actualConcurrency,
147
- doneIn: renderedDoneIn,
148
- steps,
149
- },
150
- stitching: shouldOutputImageSequence
151
- ? null
152
- : {
153
- doneIn: encodedDoneIn,
154
- frames: encodedFrames,
155
- stage: stitchStage,
156
- steps,
157
- totalFrames: totalFrames.length,
158
- codec,
159
- },
160
- downloads,
161
- bundling: {
162
- message: 'Bundled',
163
- progress: 1,
164
- },
165
- }, indent);
166
- onProgress({ progress, message });
167
- return renderProgress.update(output);
168
- };
169
- const imageFormat = (0, image_formats_1.getImageFormat)({
170
- codec: shouldOutputImageSequence ? undefined : codec,
171
- configFileImageFormat,
172
- uiImageFormat,
173
- });
174
- if (shouldOutputImageSequence) {
175
- fs_1.default.mkdirSync(absoluteOutputFile, {
176
- recursive: true,
177
- });
178
- if (imageFormat === 'none') {
179
- throw new Error(`Cannot render an image sequence with a codec that renders no images. codec = ${codec}, imageFormat = ${imageFormat}`);
180
- }
181
- await (0, renderer_1.renderFrames)({
182
- config,
183
- imageFormat,
184
- inputProps,
185
- onFrameUpdate: (rendered) => {
186
- renderedFrames = rendered;
187
- updateRenderProgress();
188
- },
189
- onStart: () => undefined,
190
- onDownload: (src) => {
191
- if (src.startsWith('data:')) {
192
- log_1.Log.infoAdvanced({ indent, logLevel }, '\nWriting Data URL to file: ', src.substring(0, 30) + '...');
193
- }
194
- else {
195
- log_1.Log.infoAdvanced({ indent, logLevel }, '\nDownloading asset... ', src);
196
- }
197
- },
198
- cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
199
- outputDir,
200
- serveUrl: urlOrBundle,
201
- dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
202
- everyNthFrame,
203
- envVariables,
204
- frameRange,
205
- concurrency: actualConcurrency,
206
- puppeteerInstance,
207
- quality,
208
- timeoutInMilliseconds: puppeteerTimeout,
209
- chromiumOptions,
210
- scale,
211
- ffmpegExecutable,
212
- ffprobeExecutable,
213
- browserExecutable,
214
- port,
215
- downloadMap,
216
- });
217
- updateRenderProgress();
218
- process.stdout.write('\n');
219
- log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
220
- }
221
- 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
- ffmpegExecutable,
231
- ffprobeExecutable,
232
- frameRange,
233
- inputProps,
234
- overwrite,
235
- pixelFormat,
236
- proResProfile,
237
- quality,
238
- dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
239
- chromiumOptions,
240
- timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
241
- scale,
242
- port,
243
- numberOfGifLoops,
244
- everyNthFrame,
245
- verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
246
- muted,
247
- enforceAudioTrack,
248
- browserExecutable,
249
- ffmpegOverride,
250
- concurrency,
251
- serveUrl: urlOrBundle,
252
- codec,
253
- audioBitrate,
254
- videoBitrate,
255
- onProgress: (update) => {
256
- encodedDoneIn = update.encodedDoneIn;
257
- encodedFrames = update.encodedFrames;
258
- renderedDoneIn = update.renderedDoneIn;
259
- stitchStage = update.stitchStage;
260
- renderedFrames = update.renderedFrames;
261
- updateRenderProgress();
262
- },
263
- puppeteerInstance,
264
- onDownload,
265
- downloadMap,
266
- cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
267
- onSlowestFrames: (slowestFrames) => {
268
- log_1.Log.verboseAdvanced({ indent, logLevel });
269
- log_1.Log.verboseAdvanced({ indent, logLevel }, `Slowest frames:`);
270
- slowestFrames.forEach(({ frame, time }) => {
271
- log_1.Log.verboseAdvanced({ indent, logLevel }, `Frame ${frame} (${time.toFixed(3)}ms)`);
272
- });
273
- },
274
- printLog: (...str) => log_1.Log.verboseAdvanced({ indent, logLevel }, ...str),
275
- });
276
- updateRenderProgress();
277
- process.stdout.write('\n');
278
- log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
279
- for (const line of renderer_1.RenderInternals.perf.getPerf()) {
280
- log_1.Log.verboseAdvanced({ indent, logLevel }, line);
281
- }
282
- };
283
- exports.renderCompFlow = renderCompFlow;
@@ -1,32 +0,0 @@
1
- import type { Browser, BrowserExecutable, CancelSignal, ChromiumOptions, FfmpegExecutable, ImageFormat, 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, ffmpegExecutable, ffprobeExecutable, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, quality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, configFileImageFormat, 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
- ffmpegExecutable: FfmpegExecutable;
17
- ffprobeExecutable: FfmpegExecutable;
18
- overwrite: boolean;
19
- puppeteerTimeout: number;
20
- port: number | null;
21
- publicDir: string | null;
22
- height: number | null;
23
- width: number | null;
24
- compositionIdFromUi: string | null;
25
- imageFormatFromUi: StillImageFormat | null;
26
- logLevel: LogLevel;
27
- configFileImageFormat: ImageFormat | undefined;
28
- onProgress: JobProgressCallback;
29
- indentOutput: boolean;
30
- addCleanupCallback: (cb: () => Promise<void>) => void;
31
- cancelSignal: CancelSignal | null;
32
- }) => Promise<void>;
@@ -1,170 +0,0 @@
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 determine_image_format_1 = require("../determine-image-format");
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 log_1 = require("../log");
16
- const parse_command_line_1 = require("../parse-command-line");
17
- const progress_bar_1 = require("../progress-bar");
18
- const setup_cache_1 = require("../setup-cache");
19
- const truthy_1 = require("../truthy");
20
- const user_passed_output_location_1 = require("../user-passed-output-location");
21
- const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, ffmpegExecutable, ffprobeExecutable, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, quality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, configFileImageFormat, onProgress, indentOutput, addCleanupCallback, cancelSignal, }) => {
22
- var _a;
23
- const downloads = [];
24
- const aggregate = {
25
- rendering: null,
26
- downloads,
27
- stitching: null,
28
- bundling: {
29
- message: null,
30
- progress: 0,
31
- },
32
- };
33
- let renderProgress = null;
34
- const updateProgress = () => {
35
- const { output, progress, message } = (0, progress_bar_1.makeRenderingAndStitchingProgress)(aggregate, indentOutput);
36
- if (renderProgress) {
37
- renderProgress.update(output);
38
- }
39
- onProgress({ progress, message });
40
- };
41
- log_1.Log.verboseAdvanced({ indent: indentOutput, logLevel }, 'Browser executable: ', browserExecutable);
42
- const shouldDumpIo = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
43
- const browserInstance = (0, renderer_1.openBrowser)(browser, {
44
- browserExecutable,
45
- chromiumOptions,
46
- shouldDumpIo,
47
- forceDeviceScaleFactor: scale,
48
- indentationString: indentOutput ? log_1.INDENT_TOKEN + ' ' : '',
49
- });
50
- const steps = [
51
- renderer_1.RenderInternals.isServeUrl(fullEntryPoint) ? null : 'bundling',
52
- 'rendering',
53
- ].filter(truthy_1.truthy);
54
- const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
55
- fullPath: fullEntryPoint,
56
- remotionRoot,
57
- steps,
58
- publicDir,
59
- onProgress: (progress) => {
60
- aggregate.bundling = progress;
61
- updateProgress();
62
- },
63
- indentOutput,
64
- logLevel,
65
- });
66
- addCleanupCallback(cleanupBundle);
67
- const puppeteerInstance = await browserInstance;
68
- addCleanupCallback(() => puppeteerInstance.close(false));
69
- const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
70
- addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
71
- const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
72
- inputProps,
73
- puppeteerInstance,
74
- envVariables,
75
- timeoutInMilliseconds: puppeteerTimeout,
76
- chromiumOptions,
77
- port,
78
- browserExecutable,
79
- ffmpegExecutable,
80
- ffprobeExecutable,
81
- downloadMap,
82
- });
83
- const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
84
- validCompositions: comps,
85
- height,
86
- width,
87
- args: remainingArgs,
88
- compositionIdFromUi,
89
- });
90
- const { format: imageFormat, source } = (0, determine_image_format_1.determineFinalImageFormat)({
91
- cliFlag: (_a = parse_command_line_1.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
92
- configImageFormat: configFileImageFormat !== null && configFileImageFormat !== void 0 ? configFileImageFormat : null,
93
- downloadName: null,
94
- outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
95
- isLambda: false,
96
- fromUi: imageFormatFromUi,
97
- });
98
- const relativeOutputLocation = (0, user_passed_output_location_1.getOutputLocation)({
99
- compositionId,
100
- defaultExtension: imageFormat,
101
- args: argsAfterComposition,
102
- type: 'asset',
103
- });
104
- const absoluteOutputLocation = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
105
- (0, fs_1.mkdirSync)(path_1.default.join(absoluteOutputLocation, '..'), {
106
- recursive: true,
107
- });
108
- log_1.Log.infoAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason}), Output = ${relativeOutputLocation}, Format = ${imageFormat} (${source}), Composition = ${compositionId} (${reason})`));
109
- renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
110
- quiet: (0, parse_command_line_1.quietFlagProvided)(),
111
- cancelSignal,
112
- });
113
- const renderStart = Date.now();
114
- aggregate.rendering = {
115
- frames: 0,
116
- concurrency: 1,
117
- doneIn: null,
118
- steps,
119
- totalFrames: 1,
120
- };
121
- updateProgress();
122
- const onDownload = (src) => {
123
- const id = Math.random();
124
- const download = {
125
- id,
126
- name: src,
127
- progress: 0,
128
- downloaded: 0,
129
- totalBytes: null,
130
- };
131
- downloads.push(download);
132
- updateProgress();
133
- return ({ percent }) => {
134
- download.progress = percent;
135
- updateProgress();
136
- };
137
- };
138
- await (0, renderer_1.renderStill)({
139
- composition: config,
140
- frame: stillFrame,
141
- output: absoluteOutputLocation,
142
- serveUrl: urlOrBundle,
143
- quality,
144
- dumpBrowserLogs: shouldDumpIo,
145
- envVariables,
146
- imageFormat,
147
- inputProps,
148
- chromiumOptions,
149
- timeoutInMilliseconds: puppeteerTimeout,
150
- scale,
151
- ffmpegExecutable,
152
- browserExecutable,
153
- overwrite,
154
- onDownload,
155
- port,
156
- downloadMap,
157
- puppeteerInstance,
158
- });
159
- aggregate.rendering = {
160
- frames: 1,
161
- concurrency: 1,
162
- doneIn: Date.now() - renderStart,
163
- steps,
164
- totalFrames: 1,
165
- };
166
- updateProgress();
167
- log_1.Log.infoAdvanced({ indent: indentOutput, logLevel });
168
- log_1.Log.infoAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.cyan(`▶️ ${absoluteOutputLocation}`));
169
- };
170
- exports.renderStillFlow = renderStillFlow;
@@ -1,2 +0,0 @@
1
- export declare const ENV_VARIABLES_ENV_NAME: "ENV_VARIABLES";
2
- export declare const setupEnvVariables: () => void;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupEnvVariables = exports.ENV_VARIABLES_ENV_NAME = void 0;
4
- const get_environment_1 = require("remotion/src/get-environment");
5
- exports.ENV_VARIABLES_ENV_NAME = 'ENV_VARIABLES';
6
- const getEnvVariables = () => {
7
- if ((0, get_environment_1.getRemotionEnvironment)() === 'rendering') {
8
- const param = window.remotion_envVariables;
9
- if (!param) {
10
- return {};
11
- }
12
- return { ...JSON.parse(param), NODE_ENV: process.env.NODE_ENV };
13
- }
14
- if ((0, get_environment_1.getRemotionEnvironment)() === 'preview') {
15
- // Webpack will convert this to an object at compile time.
16
- // Don't convert this syntax to a computed property.
17
- return {
18
- ...process.env.ENV_VARIABLES,
19
- NODE_ENV: process.env.NODE_ENV,
20
- };
21
- }
22
- throw new Error('Can only call getEnvVariables() if environment is `rendering` or `preview`');
23
- };
24
- const setupEnvVariables = () => {
25
- const env = getEnvVariables();
26
- if (!window.process) {
27
- window.process = {};
28
- }
29
- if (!window.process.env) {
30
- window.process.env = {};
31
- }
32
- Object.keys(env).forEach((key) => {
33
- window.process.env[key] = env[key];
34
- });
35
- };
36
- exports.setupEnvVariables = setupEnvVariables;