@remotion/cli 3.3.77 → 3.3.79

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 (163) hide show
  1. package/dist/better-opn/index.d.ts +6 -0
  2. package/dist/better-opn/index.js +202 -0
  3. package/dist/editor/helpers/get-timeline-sequence-layout.js +1 -1
  4. package/dist/handle-common-errors.js +16 -0
  5. package/dist/parse-command-line.d.ts +2 -0
  6. package/dist/preview.js +8 -3
  7. package/package.json +7 -7
  8. package/dist/convert-entry-point-to-serve-url.d.ts +0 -1
  9. package/dist/convert-entry-point-to-serve-url.js +0 -15
  10. package/dist/editor/components/Checkbox.d.ts +0 -5
  11. package/dist/editor/components/Checkbox.js +0 -38
  12. package/dist/editor/components/CollapsableOptions.d.ts +0 -6
  13. package/dist/editor/components/CollapsableOptions.js +0 -35
  14. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +0 -3
  15. package/dist/editor/components/CurrentCompositionSideEffects.js +0 -43
  16. package/dist/editor/components/InlineAction.d.ts +0 -5
  17. package/dist/editor/components/InlineAction.js +0 -34
  18. package/dist/editor/components/Modals.d.ts +0 -2
  19. package/dist/editor/components/Modals.js +0 -23
  20. package/dist/editor/components/RenderButton.d.ts +0 -6
  21. package/dist/editor/components/RenderButton.js +0 -67
  22. package/dist/editor/components/RenderModal/CrfSetting.d.ts +0 -15
  23. package/dist/editor/components/RenderModal/CrfSetting.js +0 -43
  24. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +0 -5
  25. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +0 -14
  26. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +0 -8
  27. package/dist/editor/components/RenderModal/FrameRangeSetting.js +0 -42
  28. package/dist/editor/components/RenderModal/MutedSetting.d.ts +0 -5
  29. package/dist/editor/components/RenderModal/MutedSetting.js +0 -14
  30. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +0 -5
  31. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +0 -26
  32. package/dist/editor/components/RenderModal/NumberSetting.d.ts +0 -9
  33. package/dist/editor/components/RenderModal/NumberSetting.js +0 -26
  34. package/dist/editor/components/RenderModal/QualitySetting.d.ts +0 -5
  35. package/dist/editor/components/RenderModal/QualitySetting.js +0 -27
  36. package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +0 -5
  37. package/dist/editor/components/RenderModal/RenderErrorModal.js +0 -64
  38. package/dist/editor/components/RenderModal/RenderModal.d.ts +0 -28
  39. package/dist/editor/components/RenderModal/RenderModal.js +0 -484
  40. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +0 -11
  41. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +0 -15
  42. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +0 -13
  43. package/dist/editor/components/RenderModal/RenderModalAudio.js +0 -22
  44. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +0 -24
  45. package/dist/editor/components/RenderModal/RenderModalBasic.js +0 -87
  46. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +0 -9
  47. package/dist/editor/components/RenderModal/RenderModalGif.js +0 -16
  48. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +0 -2
  49. package/dist/editor/components/RenderModal/RenderModalHr.js +0 -18
  50. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +0 -28
  51. package/dist/editor/components/RenderModal/RenderModalPicture.js +0 -51
  52. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +0 -5
  53. package/dist/editor/components/RenderModal/ScaleSetting.js +0 -11
  54. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +0 -2
  55. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +0 -18
  56. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +0 -2
  57. package/dist/editor/components/RenderModal/human-readable-codec.js +0 -36
  58. package/dist/editor/components/RenderModal/layout.d.ts +0 -5
  59. package/dist/editor/components/RenderModal/layout.js +0 -31
  60. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +0 -5
  61. package/dist/editor/components/RenderQueue/CircularProgress.js +0 -18
  62. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +0 -5
  63. package/dist/editor/components/RenderQueue/RenderQueueError.js +0 -26
  64. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +0 -5
  65. package/dist/editor/components/RenderQueue/RenderQueueItem.js +0 -39
  66. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +0 -5
  67. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +0 -22
  68. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +0 -5
  69. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +0 -27
  70. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +0 -5
  71. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +0 -24
  72. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +0 -5
  73. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +0 -27
  74. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +0 -5
  75. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +0 -23
  76. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +0 -5
  77. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +0 -22
  78. package/dist/editor/components/RenderQueue/actions.d.ts +0 -49
  79. package/dist/editor/components/RenderQueue/actions.js +0 -98
  80. package/dist/editor/components/RenderQueue/context.d.ts +0 -19
  81. package/dist/editor/components/RenderQueue/context.js +0 -56
  82. package/dist/editor/components/RenderQueue/index.d.ts +0 -2
  83. package/dist/editor/components/RenderQueue/index.js +0 -18
  84. package/dist/editor/components/RenderQueue/item-style.d.ts +0 -2
  85. package/dist/editor/components/RenderQueue/item-style.js +0 -21
  86. package/dist/editor/components/RenderToolbarIcon.d.ts +0 -2
  87. package/dist/editor/components/RenderToolbarIcon.js +0 -78
  88. package/dist/editor/components/RendersTab.d.ts +0 -6
  89. package/dist/editor/components/RendersTab.js +0 -43
  90. package/dist/editor/components/SegmentedControl.d.ts +0 -16
  91. package/dist/editor/components/SegmentedControl.js +0 -63
  92. package/dist/editor/components/SidebarContent.d.ts +0 -5
  93. package/dist/editor/components/SidebarContent.js +0 -52
  94. package/dist/editor/components/Tabs/index.d.ts +0 -11
  95. package/dist/editor/components/Tabs/index.js +0 -51
  96. package/dist/editor/helpers/client-id.d.ts +0 -17
  97. package/dist/editor/helpers/client-id.js +0 -46
  98. package/dist/editor/helpers/use-file-existence.d.ts +0 -1
  99. package/dist/editor/helpers/use-file-existence.js +0 -66
  100. package/dist/editor/icons/RenderStillIcon.d.ts +0 -3
  101. package/dist/editor/icons/RenderStillIcon.js +0 -8
  102. package/dist/editor/icons/audio.d.ts +0 -2
  103. package/dist/editor/icons/audio.js +0 -6
  104. package/dist/editor/icons/file.d.ts +0 -2
  105. package/dist/editor/icons/file.js +0 -6
  106. package/dist/editor/icons/frame.d.ts +0 -2
  107. package/dist/editor/icons/frame.js +0 -6
  108. package/dist/editor/icons/gear.d.ts +0 -2
  109. package/dist/editor/icons/gear.js +0 -6
  110. package/dist/editor/icons/gif.d.ts +0 -2
  111. package/dist/editor/icons/gif.js +0 -6
  112. package/dist/editor/icons/render.d.ts +0 -5
  113. package/dist/editor/icons/render.js +0 -8
  114. package/dist/editor/icons/video.d.ts +0 -5
  115. package/dist/editor/icons/video.js +0 -8
  116. package/dist/ffmpeg.d.ts +0 -2
  117. package/dist/ffmpeg.js +0 -21
  118. package/dist/file-watcher.d.ts +0 -9
  119. package/dist/file-watcher.js +0 -35
  120. package/dist/gcp-command.d.ts +0 -1
  121. package/dist/gcp-command.js +0 -27
  122. package/dist/get-default-out-name.d.ts +0 -5
  123. package/dist/get-default-out-name.js +0 -10
  124. package/dist/preview-server/api-routes.d.ts +0 -4
  125. package/dist/preview-server/api-routes.js +0 -17
  126. package/dist/preview-server/api-types.d.ts +0 -27
  127. package/dist/preview-server/api-types.js +0 -2
  128. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  129. package/dist/preview-server/file-existence-watchers.js +0 -62
  130. package/dist/preview-server/handler.d.ts +0 -9
  131. package/dist/preview-server/handler.js +0 -34
  132. package/dist/preview-server/parse-body.d.ts +0 -2
  133. package/dist/preview-server/parse-body.js +0 -16
  134. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +0 -10
  135. package/dist/preview-server/render-queue/get-default-video-contexts.js +0 -13
  136. package/dist/preview-server/render-queue/job.d.ts +0 -114
  137. package/dist/preview-server/render-queue/job.js +0 -2
  138. package/dist/preview-server/render-queue/make-retry-payload.d.ts +0 -3
  139. package/dist/preview-server/render-queue/make-retry-payload.js +0 -79
  140. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +0 -1
  141. package/dist/preview-server/render-queue/open-directory-in-finder.js +0 -34
  142. package/dist/preview-server/render-queue/process-still.d.ts +0 -8
  143. package/dist/preview-server/render-queue/process-still.js +0 -47
  144. package/dist/preview-server/render-queue/process-video.d.ts +0 -8
  145. package/dist/preview-server/render-queue/process-video.js +0 -64
  146. package/dist/preview-server/render-queue/queue.d.ts +0 -21
  147. package/dist/preview-server/render-queue/queue.js +0 -185
  148. package/dist/preview-server/routes/add-render.d.ts +0 -3
  149. package/dist/preview-server/routes/add-render.js +0 -68
  150. package/dist/preview-server/routes/cancel-render.d.ts +0 -3
  151. package/dist/preview-server/routes/cancel-render.js +0 -9
  152. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  153. package/dist/preview-server/routes/open-in-file-explorer.js +0 -14
  154. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  155. package/dist/preview-server/routes/remove-render.js +0 -9
  156. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  157. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  158. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  159. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  160. package/dist/render-flows/render.d.ts +0 -46
  161. package/dist/render-flows/render.js +0 -279
  162. package/dist/render-flows/still.d.ts +0 -29
  163. package/dist/render-flows/still.js +0 -171
@@ -1,114 +0,0 @@
1
- import type { AudioCodec, Codec, makeCancelSignal, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
- declare type RenderJobDynamicStatus = {
3
- status: 'done';
4
- } | {
5
- status: 'running';
6
- progress: number;
7
- message: string;
8
- } | {
9
- status: 'idle';
10
- } | {
11
- status: 'failed';
12
- error: {
13
- message: string;
14
- stack: string | undefined;
15
- };
16
- };
17
- export declare type JobProgressCallback = (options: {
18
- progress: number;
19
- message: string;
20
- }) => void;
21
- declare type RenderJobDynamicFields = {
22
- type: 'still';
23
- imageFormat: StillImageFormat;
24
- quality: number | null;
25
- frame: number;
26
- scale: number;
27
- } | {
28
- type: 'video';
29
- imageFormat: VideoImageFormat;
30
- quality: number | null;
31
- scale: number;
32
- codec: Codec;
33
- audioCodec: AudioCodec;
34
- concurrency: number;
35
- crf: number | null;
36
- startFrame: number;
37
- endFrame: number;
38
- muted: boolean;
39
- enforceAudioTrack: boolean;
40
- proResProfile: ProResProfile | null;
41
- pixelFormat: PixelFormat;
42
- audioBitrate: string | null;
43
- videoBitrate: string | null;
44
- everyNthFrame: number;
45
- numberOfGifLoops: number | null;
46
- delayRenderTimeout: number;
47
- };
48
- export declare type RenderJob = {
49
- startedAt: number;
50
- compositionId: string;
51
- id: string;
52
- outName: string;
53
- deletedOutputLocation: boolean;
54
- verbose: boolean;
55
- cancelToken: ReturnType<typeof makeCancelSignal>;
56
- } & RenderJobDynamicStatus & RenderJobDynamicFields;
57
- export declare type RenderJobWithCleanup = RenderJob & {
58
- cleanup: (() => void)[];
59
- };
60
- declare type AddRenderRequestDynamicFields = {
61
- type: 'still';
62
- imageFormat: StillImageFormat;
63
- quality: number | null;
64
- frame: number;
65
- scale: number;
66
- verbose: boolean;
67
- } | {
68
- type: 'video';
69
- codec: Codec;
70
- audioCodec: AudioCodec;
71
- imageFormat: VideoImageFormat;
72
- quality: number | null;
73
- scale: number;
74
- verbose: boolean;
75
- concurrency: number;
76
- crf: number | null;
77
- startFrame: number;
78
- endFrame: number;
79
- muted: boolean;
80
- enforceAudioTrack: boolean;
81
- proResProfile: ProResProfile | null;
82
- pixelFormat: PixelFormat;
83
- audioBitrate: string | null;
84
- videoBitrate: string | null;
85
- everyNthFrame: number;
86
- numberOfGifLoops: number | null;
87
- delayRenderTimeout: number;
88
- };
89
- export declare type CancelRenderRequest = {
90
- jobId: string;
91
- };
92
- export declare type CancelRenderResponse = {};
93
- export declare type AddRenderRequest = {
94
- compositionId: string;
95
- outName: string;
96
- } & AddRenderRequestDynamicFields;
97
- export declare type RemoveRenderRequest = {
98
- jobId: string;
99
- };
100
- export declare type OpenInFileExplorerRequest = {
101
- directory: string;
102
- };
103
- export declare type SubscribeToFileExistenceRequest = {
104
- file: string;
105
- clientId: string;
106
- };
107
- export declare type SubscribeToFileExistenceResponse = {
108
- exists: boolean;
109
- };
110
- export declare type UnsubscribeFromFileExistenceRequest = {
111
- file: string;
112
- clientId: string;
113
- };
114
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +0,0 @@
1
- import type { RenderModalState } from '../../editor/state/modals';
2
- import type { RenderJob } from './job';
3
- export declare const makeRetryPayload: (job: RenderJob) => RenderModalState;
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRetryPayload = void 0;
4
- const get_default_video_contexts_1 = require("./get-default-video-contexts");
5
- const makeRetryPayload = (job) => {
6
- var _a, _b, _c;
7
- const defaults = window.remotion_renderDefaults;
8
- if (!defaults) {
9
- throw new Error('defaults not set');
10
- }
11
- if (job.type === 'still') {
12
- const { initialAudioCodec, initialRenderType, initialVideoCodec } = (0, get_default_video_contexts_1.getDefaultCodecs)({
13
- defaultCodec: defaults.codec,
14
- isStill: true,
15
- });
16
- return {
17
- type: 'render',
18
- compositionId: job.compositionId,
19
- initialFrame: job.frame,
20
- initialStillImageFormat: job.imageFormat,
21
- // TODO: Take from config
22
- initialVideoImageFormat: 'jpeg',
23
- initialQuality: (_a = job.quality) !== null && _a !== void 0 ? _a : defaults.quality,
24
- initialOutName: job.outName,
25
- initialScale: job.scale,
26
- initialVerbose: job.verbose,
27
- initialAudioCodec,
28
- initialRenderType,
29
- initialVideoCodec,
30
- initialConcurrency: defaults.concurrency,
31
- maxConcurrency: defaults.maxConcurrency,
32
- minConcurrency: defaults.minConcurrency,
33
- initialMuted: defaults.muted,
34
- initialEnforceAudioTrack: defaults.enforceAudioTrack,
35
- initialProResProfile: defaults.proResProfile,
36
- initialPixelFormat: defaults.pixelFormat,
37
- initialAudioBitrate: defaults.audioBitrate,
38
- initialVideoBitrate: defaults.videoBitrate,
39
- initialEveryNthFrame: defaults.everyNthFrame,
40
- initialNumberOfGifLoops: defaults.numberOfGifLoops,
41
- initialDelayRenderTimeout: defaults.delayRenderTimeout,
42
- };
43
- }
44
- if (job.type === 'video') {
45
- const { initialAudioCodec, initialRenderType, initialVideoCodec } = (0, get_default_video_contexts_1.getDefaultCodecs)({
46
- defaultCodec: defaults.codec,
47
- isStill: false,
48
- });
49
- return {
50
- type: 'render',
51
- compositionId: job.compositionId,
52
- // TODO: Take from config
53
- initialStillImageFormat: 'png',
54
- initialVideoImageFormat: job.imageFormat,
55
- initialQuality: (_b = job.quality) !== null && _b !== void 0 ? _b : defaults.quality,
56
- initialOutName: job.outName,
57
- initialScale: job.scale,
58
- initialVerbose: job.verbose,
59
- initialFrame: 0,
60
- initialConcurrency: job.concurrency,
61
- maxConcurrency: defaults.maxConcurrency,
62
- minConcurrency: defaults.minConcurrency,
63
- initialMuted: job.muted,
64
- initialAudioCodec,
65
- initialEnforceAudioTrack: job.enforceAudioTrack,
66
- initialRenderType,
67
- initialVideoCodec,
68
- initialProResProfile: (_c = job.proResProfile) !== null && _c !== void 0 ? _c : defaults.proResProfile,
69
- initialPixelFormat: job.pixelFormat,
70
- initialAudioBitrate: job.audioBitrate,
71
- initialVideoBitrate: job.videoBitrate,
72
- initialEveryNthFrame: job.everyNthFrame,
73
- initialNumberOfGifLoops: job.numberOfGifLoops,
74
- initialDelayRenderTimeout: job.delayRenderTimeout,
75
- };
76
- }
77
- throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
78
- };
79
- exports.makeRetryPayload = makeRetryPayload;
@@ -1 +0,0 @@
1
- export declare const openDirectoryInFinder: (dirToOpen: string) => Promise<void>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openDirectoryInFinder = void 0;
4
- const child_process_1 = require("child_process");
5
- const os_1 = require("os");
6
- const truthy_1 = require("../../truthy");
7
- const openDirectoryInFinder = (dirToOpen) => {
8
- const command = (0, os_1.platform)() === 'darwin'
9
- ? 'open'
10
- : (0, os_1.platform)() === 'linux'
11
- ? 'xdg-open'
12
- : 'start';
13
- const p = (0, child_process_1.spawn)(command, [(0, os_1.platform)() === 'darwin' ? '-R' : null, dirToOpen].filter(truthy_1.truthy));
14
- const stderrChunks = [];
15
- p.stderr.on('data', (d) => stderrChunks.push(d));
16
- return new Promise((resolve, reject) => {
17
- p.on('exit', (code) => {
18
- if (code === 0) {
19
- resolve();
20
- }
21
- else {
22
- const message = Buffer.concat(stderrChunks).toString('utf-8');
23
- reject(new Error(message));
24
- }
25
- });
26
- p.on('error', (err) => {
27
- p.kill();
28
- if (err) {
29
- reject(err);
30
- }
31
- });
32
- });
33
- };
34
- exports.openDirectoryInFinder = openDirectoryInFinder;
@@ -1,8 +0,0 @@
1
- import type { JobProgressCallback, RenderJob } from './job';
2
- export declare const processStill: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }: {
3
- job: RenderJob;
4
- remotionRoot: string;
5
- entryPoint: string;
6
- onProgress: JobProgressCallback;
7
- addCleanupCallback: (cb: () => void) => void;
8
- }) => Promise<void>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processStill = void 0;
4
- const convert_entry_point_to_serve_url_1 = require("../../convert-entry-point-to-serve-url");
5
- const get_cli_options_1 = require("../../get-cli-options");
6
- const still_1 = require("../../render-flows/still");
7
- const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }) => {
8
- var _a;
9
- if (job.type !== 'still') {
10
- throw new Error('Expected still job');
11
- }
12
- const { publicDir, browserExecutable, chromiumOptions, envVariables, inputProps, port, browser, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({
13
- isLambda: false,
14
- type: 'still',
15
- remotionRoot,
16
- });
17
- const fullEntryPoint = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(entryPoint);
18
- await (0, still_1.renderStillFlow)({
19
- remotionRoot,
20
- browser,
21
- browserExecutable,
22
- chromiumOptions,
23
- entryPointReason: 'same as preview',
24
- envVariables,
25
- height: null,
26
- fullEntryPoint,
27
- inputProps,
28
- overwrite: true,
29
- port,
30
- publicDir,
31
- puppeteerTimeout,
32
- quality: (_a = job.quality) !== null && _a !== void 0 ? _a : undefined,
33
- remainingArgs: [],
34
- scale: job.scale,
35
- stillFrame: job.frame,
36
- width: null,
37
- compositionIdFromUi: job.compositionId,
38
- imageFormatFromUi: job.imageFormat,
39
- logLevel: job.verbose ? 'verbose' : 'info',
40
- onProgress,
41
- indentOutput: true,
42
- addCleanupCallback,
43
- cancelSignal: job.cancelToken.cancelSignal,
44
- });
45
- // TODO: Accept CLI options
46
- };
47
- exports.processStill = processStill;
@@ -1,8 +0,0 @@
1
- import type { JobProgressCallback, RenderJob } from './job';
2
- export declare const processVideoJob: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }: {
3
- job: RenderJob;
4
- remotionRoot: string;
5
- entryPoint: string;
6
- onProgress: JobProgressCallback;
7
- addCleanupCallback: (cb: () => void) => void;
8
- }) => Promise<void>;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processVideoJob = void 0;
4
- const convert_entry_point_to_serve_url_1 = require("../../convert-entry-point-to-serve-url");
5
- const get_cli_options_1 = require("../../get-cli-options");
6
- const render_1 = require("../../render-flows/render");
7
- const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }) => {
8
- var _a, _b;
9
- if (job.type !== 'video') {
10
- throw new Error('Expected video job');
11
- }
12
- // TODO: Change until none can be derived from UI
13
- const { publicDir, browserExecutable, chromiumOptions, envVariables, inputProps, port, browser, ffmpegOverride, } = await (0, get_cli_options_1.getCliOptions)({
14
- isLambda: false,
15
- type: 'still',
16
- remotionRoot,
17
- });
18
- const fullEntryPoint = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(entryPoint);
19
- await (0, render_1.renderCompFlow)({
20
- remotionRoot,
21
- browser,
22
- browserExecutable,
23
- chromiumOptions,
24
- entryPointReason: 'same as preview',
25
- envVariables,
26
- height: null,
27
- fullEntryPoint,
28
- inputProps,
29
- overwrite: true,
30
- port,
31
- publicDir,
32
- puppeteerTimeout: job.delayRenderTimeout,
33
- quality: (_a = job.quality) !== null && _a !== void 0 ? _a : undefined,
34
- remainingArgs: [],
35
- scale: job.scale,
36
- width: null,
37
- compositionIdFromUi: job.compositionId,
38
- logLevel: job.verbose ? 'verbose' : 'info',
39
- onProgress,
40
- indent: true,
41
- concurrency: job.concurrency,
42
- everyNthFrame: job.everyNthFrame,
43
- frameRange: [job.startFrame, job.endFrame],
44
- quiet: false,
45
- shouldOutputImageSequence: false,
46
- addCleanupCallback,
47
- outputLocationFromUI: job.outName,
48
- uiCodec: job.codec,
49
- uiImageFormat: job.imageFormat,
50
- cancelSignal: job.cancelToken.cancelSignal,
51
- crf: job.crf,
52
- ffmpegOverride,
53
- audioBitrate: job.audioBitrate,
54
- muted: job.muted,
55
- enforceAudioTrack: job.enforceAudioTrack,
56
- proResProfile: (_b = job.proResProfile) !== null && _b !== void 0 ? _b : undefined,
57
- pixelFormat: job.pixelFormat,
58
- videoBitrate: job.videoBitrate,
59
- numberOfGifLoops: job.numberOfGifLoops,
60
- audioCodec: job.audioCodec,
61
- });
62
- // TODO: Accept CLI options
63
- };
64
- exports.processVideoJob = processVideoJob;
@@ -1,21 +0,0 @@
1
- import type { JobProgressCallback, RenderJob, RenderJobWithCleanup } from './job';
2
- export declare const getRenderQueue: () => RenderJob[];
3
- export declare const notifyClientsOfJobUpdate: () => void;
4
- export declare const processJob: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }: {
5
- job: RenderJob;
6
- remotionRoot: string;
7
- entryPoint: string;
8
- onProgress: JobProgressCallback;
9
- addCleanupCallback: (cb: () => void) => void;
10
- }) => Promise<void>;
11
- export declare const addJob: ({ job, entryPoint, remotionRoot, }: {
12
- job: RenderJobWithCleanup;
13
- entryPoint: string;
14
- remotionRoot: string;
15
- }) => void;
16
- export declare const removeJob: (jobId: string) => void;
17
- export declare const cancelJob: (jobId: string) => void;
18
- export declare const processJobIfPossible: ({ remotionRoot, entryPoint, }: {
19
- remotionRoot: string;
20
- entryPoint: string;
21
- }) => Promise<void>;
@@ -1,185 +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.processJobIfPossible = exports.cancelJob = exports.removeJob = exports.addJob = exports.processJob = exports.notifyClientsOfJobUpdate = exports.getRenderQueue = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const chalk_1 = require("../../chalk");
9
- const file_watcher_1 = require("../../file-watcher");
10
- const log_1 = require("../../log");
11
- const live_events_1 = require("../live-events");
12
- const process_still_1 = require("./process-still");
13
- const process_video_1 = require("./process-video");
14
- let jobQueue = [];
15
- const updateJob = (id, updater) => {
16
- jobQueue = jobQueue.map((j) => {
17
- if (id === j.id) {
18
- return updater(j);
19
- }
20
- return j;
21
- });
22
- (0, exports.notifyClientsOfJobUpdate)();
23
- };
24
- const getRenderQueue = () => {
25
- return jobQueue.map((j) => {
26
- const { cleanup, ...rest } = j;
27
- return rest;
28
- });
29
- };
30
- exports.getRenderQueue = getRenderQueue;
31
- const notifyClientsOfJobUpdate = () => {
32
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
33
- listener.sendEventToClient({
34
- type: 'render-queue-updated',
35
- queue: (0, exports.getRenderQueue)(),
36
- });
37
- });
38
- };
39
- exports.notifyClientsOfJobUpdate = notifyClientsOfJobUpdate;
40
- const processJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }) => {
41
- if (job.type === 'still') {
42
- await (0, process_still_1.processStill)({
43
- job,
44
- remotionRoot,
45
- entryPoint,
46
- onProgress,
47
- addCleanupCallback,
48
- });
49
- return;
50
- }
51
- if (job.type === 'video') {
52
- await (0, process_video_1.processVideoJob)({
53
- job,
54
- remotionRoot,
55
- entryPoint,
56
- onProgress,
57
- addCleanupCallback,
58
- });
59
- return;
60
- }
61
- throw new Error(`Unknown job ${JSON.stringify(job)}`);
62
- };
63
- exports.processJob = processJob;
64
- const addJob = ({ job, entryPoint, remotionRoot, }) => {
65
- jobQueue.push(job);
66
- (0, exports.processJobIfPossible)({ entryPoint, remotionRoot });
67
- (0, exports.notifyClientsOfJobUpdate)();
68
- };
69
- exports.addJob = addJob;
70
- const removeJob = (jobId) => {
71
- jobQueue = jobQueue.filter((job) => {
72
- if (job.id === jobId) {
73
- job.cleanup.forEach((c) => {
74
- c();
75
- });
76
- return false;
77
- }
78
- return true;
79
- });
80
- (0, exports.notifyClientsOfJobUpdate)();
81
- };
82
- exports.removeJob = removeJob;
83
- const cancelJob = (jobId) => {
84
- for (const job of jobQueue) {
85
- if (job.id === jobId) {
86
- if (job.status !== 'running') {
87
- throw new Error('Job is not running');
88
- }
89
- job.cancelToken.cancel();
90
- break;
91
- }
92
- }
93
- };
94
- exports.cancelJob = cancelJob;
95
- const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
96
- const nextJob = jobQueue.find((q) => {
97
- return q.status === 'idle';
98
- });
99
- if (!nextJob) {
100
- return;
101
- }
102
- const jobCleanups = [];
103
- try {
104
- updateJob(nextJob.id, (job) => {
105
- return {
106
- ...job,
107
- status: 'running',
108
- progress: 0,
109
- message: 'Starting job...',
110
- };
111
- });
112
- const startTime = Date.now();
113
- log_1.Log.info(chalk_1.chalk.gray('╭─ Starting render '));
114
- await (0, exports.processJob)({
115
- job: nextJob,
116
- entryPoint,
117
- remotionRoot,
118
- onProgress: ({ message, progress }) => {
119
- updateJob(nextJob.id, (job) => {
120
- // Ignore late callbacks of progress updates after cancelling
121
- if (job.status === 'failed' || job.status === 'done') {
122
- return job;
123
- }
124
- return {
125
- ...job,
126
- status: 'running',
127
- progress,
128
- message,
129
- };
130
- });
131
- },
132
- addCleanupCallback: (cleanup) => {
133
- jobCleanups.push(cleanup);
134
- },
135
- });
136
- log_1.Log.info(chalk_1.chalk.gray('╰─ Done in ' + (Date.now() - startTime) + 'ms.'));
137
- const { unwatch } = (0, file_watcher_1.installFileWatcher)({
138
- file: path_1.default.resolve(remotionRoot, nextJob.outName),
139
- onChange: (type) => {
140
- if (type === 'created') {
141
- updateJob(nextJob.id, (job) => ({
142
- ...job,
143
- deletedOutputLocation: false,
144
- }));
145
- }
146
- if (type === 'deleted') {
147
- updateJob(nextJob.id, (job) => ({
148
- ...job,
149
- deletedOutputLocation: true,
150
- }));
151
- }
152
- },
153
- });
154
- updateJob(nextJob.id, (job) => ({
155
- ...job,
156
- status: 'done',
157
- cleanup: [...job.cleanup, unwatch],
158
- }));
159
- }
160
- catch (err) {
161
- // TODO: Tell to look in preview to find the error
162
- log_1.Log.error(chalk_1.chalk.gray('╰─ Render failed:'), err);
163
- updateJob(nextJob.id, (job) => {
164
- return {
165
- ...job,
166
- status: 'failed',
167
- error: {
168
- message: err.message,
169
- stack: err.stack,
170
- },
171
- };
172
- });
173
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
174
- listener.sendEventToClient({
175
- type: 'render-job-failed',
176
- compositionId: nextJob.compositionId,
177
- error: err,
178
- });
179
- });
180
- }
181
- finally {
182
- await Promise.all(jobCleanups.map((c) => c()));
183
- }
184
- };
185
- exports.processJobIfPossible = processJobIfPossible;
@@ -1,3 +0,0 @@
1
- import type { ApiHandler } from '../api-types';
2
- import type { AddRenderRequest } from '../render-queue/job';
3
- export declare const handleAddRender: ApiHandler<AddRenderRequest, undefined>;
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleAddRender = void 0;
4
- const renderer_1 = require("@remotion/renderer");
5
- const queue_1 = require("../render-queue/queue");
6
- const handleAddRender = ({ input, entryPoint, remotionRoot, }) => {
7
- const id = String(Math.random()).replace('0.', '');
8
- if (input.type === 'video') {
9
- (0, queue_1.addJob)({
10
- entryPoint,
11
- remotionRoot,
12
- job: {
13
- cleanup: [],
14
- codec: input.codec,
15
- audioCodec: input.audioCodec,
16
- compositionId: input.compositionId,
17
- deletedOutputLocation: false,
18
- type: 'video',
19
- status: 'idle',
20
- id,
21
- imageFormat: input.imageFormat,
22
- outName: input.outName,
23
- quality: input.quality,
24
- scale: input.scale,
25
- startedAt: Date.now(),
26
- verbose: input.verbose,
27
- cancelToken: (0, renderer_1.makeCancelSignal)(),
28
- concurrency: input.concurrency,
29
- crf: input.crf,
30
- endFrame: input.endFrame,
31
- startFrame: input.startFrame,
32
- muted: input.muted,
33
- enforceAudioTrack: input.enforceAudioTrack,
34
- proResProfile: input.proResProfile,
35
- pixelFormat: input.pixelFormat,
36
- audioBitrate: input.audioBitrate,
37
- videoBitrate: input.videoBitrate,
38
- everyNthFrame: input.everyNthFrame,
39
- numberOfGifLoops: input.numberOfGifLoops,
40
- delayRenderTimeout: input.delayRenderTimeout,
41
- },
42
- });
43
- }
44
- if (input.type === 'still') {
45
- (0, queue_1.addJob)({
46
- job: {
47
- compositionId: input.compositionId,
48
- id: String(Math.random()).replace('0.', ''),
49
- startedAt: Date.now(),
50
- type: 'still',
51
- outName: input.outName,
52
- status: 'idle',
53
- imageFormat: input.imageFormat,
54
- quality: input.quality,
55
- frame: input.frame,
56
- scale: input.scale,
57
- cleanup: [],
58
- deletedOutputLocation: false,
59
- verbose: input.verbose,
60
- cancelToken: (0, renderer_1.makeCancelSignal)(),
61
- },
62
- entryPoint,
63
- remotionRoot,
64
- });
65
- }
66
- return Promise.resolve(undefined);
67
- };
68
- exports.handleAddRender = handleAddRender;
@@ -1,3 +0,0 @@
1
- import type { ApiHandler } from '../api-types';
2
- import type { CancelRenderRequest, CancelRenderResponse } from '../render-queue/job';
3
- export declare const handleCancelRender: ApiHandler<CancelRenderRequest, CancelRenderResponse>;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleCancelRender = void 0;
4
- const queue_1 = require("../render-queue/queue");
5
- const handleCancelRender = ({ input: { jobId } }) => {
6
- (0, queue_1.cancelJob)(jobId);
7
- return Promise.resolve({});
8
- };
9
- exports.handleCancelRender = handleCancelRender;
@@ -1,3 +0,0 @@
1
- import type { ApiHandler } from '../api-types';
2
- import type { OpenInFileExplorerRequest } from '../render-queue/job';
3
- export declare const handleOpenInFileExplorer: ApiHandler<OpenInFileExplorerRequest, void>;