@remotion/cli 3.3.63 → 3.3.64

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