@remotion/renderer 4.0.0-webhook.26 → 4.1.0-alpha1
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.
- package/LICENSE.md +8 -8
- package/README.md +9 -0
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/dist/assets/calculate-asset-positions.d.ts +0 -0
- package/dist/assets/calculate-asset-positions.js +1 -0
- package/dist/assets/calculate-atempo.d.ts +0 -0
- package/dist/assets/calculate-atempo.js +0 -0
- package/dist/assets/convert-assets-to-file-urls.d.ts +0 -0
- package/dist/assets/convert-assets-to-file-urls.js +0 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts +6 -4
- package/dist/assets/download-and-map-assets-to-file.js +49 -19
- package/dist/assets/download-file.d.ts +8 -5
- package/dist/assets/download-file.js +71 -8
- package/dist/assets/download-map.d.ts +8 -29
- package/dist/assets/download-map.js +15 -16
- package/dist/assets/ffmpeg-volume-expression.d.ts +4 -3
- package/dist/assets/ffmpeg-volume-expression.js +5 -3
- package/dist/assets/flatten-volume-array.d.ts +0 -0
- package/dist/assets/flatten-volume-array.js +0 -0
- package/dist/assets/get-audio-channels.d.ts +2 -2
- package/dist/assets/get-audio-channels.js +14 -12
- package/dist/assets/read-file.d.ts +1 -1
- package/dist/assets/read-file.js +5 -7
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
- package/dist/assets/sanitize-filename.d.ts +0 -0
- package/dist/assets/sanitize-filename.js +0 -0
- package/dist/assets/sanitize-filepath.d.ts +0 -0
- package/dist/assets/sanitize-filepath.js +2 -2
- package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
- package/dist/assets/truncate-utf8-bytes.js +0 -0
- package/dist/assets/types.d.ts +5 -4
- package/dist/assets/types.js +0 -0
- package/dist/audio-codec.d.ts +28 -0
- package/dist/audio-codec.js +83 -0
- package/dist/browser/Browser.d.ts +16 -14
- package/dist/browser/Browser.js +69 -72
- package/dist/browser/BrowserConnector.d.ts +0 -0
- package/dist/browser/BrowserConnector.js +0 -0
- package/dist/browser/BrowserFetcher.d.ts +16 -64
- package/dist/browser/BrowserFetcher.js +147 -235
- package/dist/browser/BrowserPage.d.ts +21 -6
- package/dist/browser/BrowserPage.js +54 -22
- package/dist/browser/BrowserRunner.d.ts +1 -1
- package/dist/browser/BrowserRunner.js +32 -22
- package/dist/browser/Connection.d.ts +0 -0
- package/dist/browser/Connection.js +1 -1
- package/dist/browser/ConsoleMessage.d.ts +1 -1
- package/dist/browser/ConsoleMessage.js +0 -0
- package/dist/browser/DOMWorld.d.ts +5 -4
- package/dist/browser/DOMWorld.js +16 -9
- package/dist/browser/Errors.d.ts +0 -0
- package/dist/browser/Errors.js +0 -0
- package/dist/browser/EvalTypes.d.ts +7 -7
- package/dist/browser/EvalTypes.js +0 -0
- package/dist/browser/EventEmitter.d.ts +0 -0
- package/dist/browser/EventEmitter.js +0 -0
- package/dist/browser/ExecutionContext.d.ts +0 -0
- package/dist/browser/ExecutionContext.js +0 -0
- package/dist/browser/FrameManager.d.ts +0 -2
- package/dist/browser/FrameManager.js +13 -17
- package/dist/browser/HTTPRequest.d.ts +0 -0
- package/dist/browser/HTTPRequest.js +0 -0
- package/dist/browser/HTTPResponse.d.ts +0 -0
- package/dist/browser/HTTPResponse.js +0 -0
- package/dist/browser/JSHandle.d.ts +0 -0
- package/dist/browser/JSHandle.js +14 -14
- package/dist/browser/LaunchOptions.d.ts +2 -2
- package/dist/browser/LaunchOptions.js +0 -0
- package/dist/browser/Launcher.d.ts +9 -3
- package/dist/browser/Launcher.js +16 -29
- package/dist/browser/LifecycleWatcher.d.ts +1 -1
- package/dist/browser/LifecycleWatcher.js +0 -0
- package/dist/browser/NetworkEventManager.d.ts +4 -4
- package/dist/browser/NetworkEventManager.js +0 -0
- package/dist/browser/NetworkManager.d.ts +0 -0
- package/dist/browser/NetworkManager.js +0 -0
- package/dist/browser/NodeWebSocketTransport.d.ts +0 -0
- package/dist/browser/NodeWebSocketTransport.js +21 -21
- package/dist/browser/Product.d.ts +1 -1
- package/dist/browser/Product.js +0 -0
- package/dist/browser/PuppeteerNode.d.ts +2 -5
- package/dist/browser/PuppeteerNode.js +2 -11
- package/dist/browser/PuppeteerViewport.d.ts +0 -0
- package/dist/browser/PuppeteerViewport.js +0 -0
- package/dist/browser/ScreenshotOptions.d.ts +0 -14
- package/dist/browser/ScreenshotOptions.js +0 -1
- package/dist/browser/Target.d.ts +4 -3
- package/dist/browser/Target.js +8 -2
- package/dist/browser/TaskQueue.d.ts +0 -0
- package/dist/browser/TaskQueue.js +0 -0
- package/dist/browser/TimeoutSettings.d.ts +0 -0
- package/dist/browser/TimeoutSettings.js +0 -0
- package/dist/browser/assert.d.ts +0 -0
- package/dist/browser/assert.js +0 -0
- package/dist/browser/create-browser-fetcher.d.ts +0 -0
- package/dist/browser/create-browser-fetcher.js +34 -48
- package/dist/browser/devtools-commands.d.ts +5 -1
- package/dist/browser/devtools-commands.js +0 -0
- package/dist/browser/devtools-types.d.ts +92 -10
- package/dist/browser/devtools-types.js +0 -0
- package/dist/browser/get-download-destination.d.ts +0 -0
- package/dist/browser/get-download-destination.js +8 -8
- package/dist/browser/is-target-closed-err.d.ts +1 -0
- package/dist/browser/is-target-closed-err.js +9 -0
- package/dist/browser/mitt/index.d.ts +6 -6
- package/dist/browser/mitt/index.js +0 -0
- package/dist/browser/node.d.ts +0 -0
- package/dist/browser/node.js +0 -0
- package/dist/browser/revisions.d.ts +1 -1
- package/dist/browser/revisions.js +0 -0
- package/dist/browser/should-log-message.d.ts +24 -0
- package/dist/browser/should-log-message.js +72 -0
- package/dist/browser/util.d.ts +2 -2
- package/dist/browser/util.js +0 -0
- package/dist/browser-executable.d.ts +1 -1
- package/dist/browser-executable.js +0 -0
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser-log.js +0 -0
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +0 -0
- package/dist/calculate-ffmpeg-filters.d.ts +2 -1
- package/dist/calculate-ffmpeg-filters.js +1 -0
- package/dist/call-ffmpeg.d.ts +14 -0
- package/dist/call-ffmpeg.js +42 -0
- package/dist/can-use-parallel-encoding.d.ts +0 -0
- package/dist/can-use-parallel-encoding.js +0 -0
- package/dist/chalk/index.d.ts +54 -0
- package/dist/chalk/index.js +135 -0
- package/dist/chalk/is-color-supported.d.ts +1 -0
- package/dist/chalk/is-color-supported.js +37 -0
- package/dist/check-apple-silicon.d.ts +1 -1
- package/dist/check-apple-silicon.js +8 -47
- package/dist/chunk.d.ts +0 -0
- package/dist/chunk.js +0 -0
- package/dist/client.d.ts +204 -0
- package/dist/client.js +49 -0
- package/dist/codec-supports-media.d.ts +3 -2
- package/dist/codec-supports-media.js +20 -5
- package/dist/codec.d.ts +2 -2
- package/dist/codec.js +0 -0
- package/dist/combine-videos.d.ts +6 -2
- package/dist/combine-videos.js +17 -17
- package/dist/compositor/compose.d.ts +26 -0
- package/dist/compositor/compose.js +82 -0
- package/dist/compositor/compositor.d.ts +11 -0
- package/dist/compositor/compositor.js +219 -0
- package/dist/compositor/get-executable-path.d.ts +1 -0
- package/dist/compositor/get-executable-path.js +57 -0
- package/dist/compositor/make-nonce.d.ts +1 -0
- package/dist/compositor/make-nonce.js +8 -0
- package/dist/compositor/payloads.d.ts +68 -0
- package/dist/{ffmpeg-executable.js → compositor/payloads.js} +0 -0
- package/dist/compress-assets.d.ts +0 -0
- package/dist/compress-assets.js +0 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +0 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.js +0 -0
- package/dist/convert-to-positive-frame-index.d.ts +0 -0
- package/dist/convert-to-positive-frame-index.js +0 -0
- package/dist/create-ffmpeg-complex-filter.d.ts +5 -1
- package/dist/create-ffmpeg-complex-filter.js +6 -4
- package/dist/create-ffmpeg-merge-filter.d.ts +5 -1
- package/dist/create-ffmpeg-merge-filter.js +21 -13
- package/dist/create-silent-audio.d.ts +1 -3
- package/dist/create-silent-audio.js +3 -6
- package/dist/crf.d.ts +6 -2
- package/dist/crf.js +41 -8
- package/dist/cycle-browser-tabs.d.ts +2 -5
- package/dist/cycle-browser-tabs.js +5 -5
- package/dist/delay-render-embedded-stack.d.ts +0 -0
- package/dist/delay-render-embedded-stack.js +0 -0
- package/dist/delete-directory.d.ts +1 -1
- package/dist/delete-directory.js +43 -17
- package/dist/does-have-m2-bug.d.ts +3 -0
- package/dist/does-have-m2-bug.js +12 -0
- package/dist/ensure-frames-in-order.d.ts +0 -0
- package/dist/ensure-frames-in-order.js +0 -0
- package/dist/ensure-output-directory.d.ts +0 -0
- package/dist/ensure-output-directory.js +5 -5
- package/dist/error-handling/handle-javascript-exception.d.ts +0 -0
- package/dist/error-handling/handle-javascript-exception.js +10 -0
- package/dist/error-handling/symbolicate-error.d.ts +0 -0
- package/dist/error-handling/symbolicate-error.js +6 -3
- package/dist/error-handling/symbolicateable-error.d.ts +0 -0
- package/dist/error-handling/symbolicateable-error.js +0 -0
- package/dist/ffmpeg-filter-file.d.ts +6 -1
- package/dist/ffmpeg-filter-file.js +40 -8
- package/dist/ffmpeg-override.d.ts +1 -1
- package/dist/ffmpeg-override.js +0 -0
- package/dist/file-extensions.d.ts +14 -0
- package/dist/file-extensions.js +76 -0
- package/dist/find-closest-package-json.d.ts +2 -0
- package/dist/find-closest-package-json.js +31 -0
- package/dist/frame-range.d.ts +1 -1
- package/dist/frame-range.js +0 -0
- package/dist/get-browser-instance.d.ts +8 -3
- package/dist/get-browser-instance.js +10 -5
- package/dist/get-codec-name.d.ts +0 -0
- package/dist/get-codec-name.js +0 -0
- package/dist/get-compositions.d.ts +27 -14
- package/dist/get-compositions.js +72 -39
- package/dist/get-concurrency.d.ts +1 -1
- package/dist/get-concurrency.js +11 -4
- package/dist/get-duration-from-frame-range.d.ts +0 -0
- package/dist/get-duration-from-frame-range.js +0 -0
- package/dist/get-extension-from-codec.d.ts +5 -1
- package/dist/get-extension-from-codec.js +56 -32
- package/dist/get-extension-of-filename.d.ts +0 -0
- package/dist/get-extension-of-filename.js +5 -1
- package/dist/get-frame-padded-index.d.ts +3 -2
- package/dist/get-frame-padded-index.js +3 -2
- package/dist/get-frame-to-render.d.ts +0 -0
- package/dist/get-frame-to-render.js +1 -1
- package/dist/get-local-browser-executable.d.ts +0 -0
- package/dist/get-local-browser-executable.js +7 -15
- package/dist/get-port.d.ts +4 -1
- package/dist/get-port.js +8 -8
- package/dist/get-prores-profile-name.d.ts +0 -0
- package/dist/get-prores-profile-name.js +0 -0
- package/dist/get-video-threads-flag.d.ts +0 -0
- package/dist/get-video-threads-flag.js +3 -3
- package/dist/guess-extension-for-media.d.ts +3 -1
- package/dist/guess-extension-for-media.js +4 -7
- package/dist/image-format.d.ts +12 -6
- package/dist/image-format.js +19 -13
- package/dist/index.d.ts +368 -49
- package/dist/index.js +68 -46
- package/dist/is-audio-codec.d.ts +0 -0
- package/dist/is-audio-codec.js +0 -0
- package/dist/is-serve-url.d.ts +0 -0
- package/dist/is-serve-url.js +0 -0
- package/dist/jpeg-quality.d.ts +2 -0
- package/dist/jpeg-quality.js +22 -0
- package/dist/locks.d.ts +7 -0
- package/dist/locks.js +44 -0
- package/dist/log-level.d.ts +1 -1
- package/dist/log-level.js +0 -0
- package/dist/logger.d.ts +24 -0
- package/dist/logger.js +68 -0
- package/dist/make-cancel-signal.d.ts +13 -2
- package/dist/make-cancel-signal.js +24 -1
- package/dist/merge-audio-track.d.ts +4 -4
- package/dist/merge-audio-track.js +38 -33
- package/dist/mime-db.d.ts +0 -0
- package/dist/mime-db.js +0 -0
- package/dist/mime-types.d.ts +0 -0
- package/dist/mime-types.js +3 -3
- package/dist/normalize-serve-url.d.ts +0 -0
- package/dist/normalize-serve-url.js +0 -0
- package/dist/offthread-video-server.d.ts +47 -11
- package/dist/offthread-video-server.js +111 -58
- package/dist/open-browser.d.ts +21 -6
- package/dist/open-browser.js +37 -16
- package/dist/options/audio-bitrate.d.ts +2 -0
- package/dist/options/audio-bitrate.js +11 -0
- package/dist/options/crf.d.ts +2 -0
- package/dist/options/crf.js +11 -0
- package/dist/options/enforce-audio.d.ts +2 -0
- package/dist/options/enforce-audio.js +11 -0
- package/dist/options/jpeg-quality.d.ts +2 -0
- package/dist/options/jpeg-quality.js +11 -0
- package/dist/options/mute.d.ts +2 -0
- package/dist/options/mute.js +11 -0
- package/dist/options/option.d.ts +8 -0
- package/dist/options/option.js +2 -0
- package/dist/options/scale.d.ts +2 -0
- package/dist/options/scale.js +11 -0
- package/dist/options/video-bitrate.d.ts +2 -0
- package/dist/options/video-bitrate.js +11 -0
- package/dist/options/video-codec.d.ts +2 -0
- package/dist/options/video-codec.js +11 -0
- package/dist/overwrite.d.ts +0 -0
- package/dist/overwrite.js +0 -0
- package/dist/p-limit.d.ts +0 -0
- package/dist/p-limit.js +0 -0
- package/dist/parse-browser-error-stack.d.ts +1 -1
- package/dist/parse-browser-error-stack.js +0 -0
- package/dist/parse-ffmpeg-progress.d.ts +0 -0
- package/dist/parse-ffmpeg-progress.js +0 -0
- package/dist/perf.d.ts +2 -2
- package/dist/perf.js +9 -7
- package/dist/pixel-format.d.ts +2 -2
- package/dist/pixel-format.js +3 -0
- package/dist/pool.d.ts +0 -0
- package/dist/pool.js +0 -0
- package/dist/prepare-server.d.ts +25 -10
- package/dist/prepare-server.js +71 -18
- package/dist/preprocess-audio-track.d.ts +7 -5
- package/dist/preprocess-audio-track.js +7 -8
- package/dist/prespawn-ffmpeg.d.ts +20 -10
- package/dist/prespawn-ffmpeg.js +67 -29
- package/dist/prestitcher-memory-usage.d.ts +0 -4
- package/dist/prestitcher-memory-usage.js +4 -5
- package/dist/prores-profile.d.ts +6 -4
- package/dist/prores-profile.js +8 -8
- package/dist/provide-screenshot.d.ts +8 -4
- package/dist/provide-screenshot.js +5 -2
- package/dist/puppeteer-evaluate.d.ts +0 -0
- package/dist/puppeteer-evaluate.js +20 -12
- package/dist/puppeteer-screenshot.d.ts +12 -2
- package/dist/puppeteer-screenshot.js +18 -45
- package/dist/redirect-status-codes.d.ts +1 -0
- package/dist/redirect-status-codes.js +6 -0
- package/dist/render-frames.d.ts +52 -35
- package/dist/render-frames.js +248 -143
- package/dist/render-media.d.ts +76 -29
- package/dist/render-media.js +324 -195
- package/dist/render-still.d.ts +46 -19
- package/dist/render-still.js +128 -69
- package/dist/replace-browser.d.ts +6 -0
- package/dist/replace-browser.js +47 -0
- package/dist/resolve-asset-src.d.ts +0 -0
- package/dist/resolve-asset-src.js +2 -2
- package/dist/sample-rate.d.ts +0 -0
- package/dist/sample-rate.js +0 -0
- package/dist/screenshot-dom-element.d.ts +8 -4
- package/dist/screenshot-dom-element.js +15 -4
- package/dist/screenshot-task.d.ts +11 -2
- package/dist/screenshot-task.js +43 -13
- package/dist/seek-to-frame.d.ts +1 -0
- package/dist/seek-to-frame.js +49 -3
- package/dist/select-composition.d.ts +41 -0
- package/dist/select-composition.js +156 -0
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/index.js +21 -19
- package/dist/serve-handler/is-path-inside.d.ts +0 -0
- package/dist/serve-handler/is-path-inside.js +3 -3
- package/dist/serve-handler/range-parser.d.ts +0 -0
- package/dist/serve-handler/range-parser.js +0 -0
- package/dist/serve-static.d.ts +8 -6
- package/dist/serve-static.js +85 -59
- package/dist/set-props-and-env.d.ts +5 -3
- package/dist/set-props-and-env.js +18 -10
- package/dist/stitch-frames-to-video.d.ts +39 -16
- package/dist/stitch-frames-to-video.js +210 -121
- package/dist/stringify-ffmpeg-filter.d.ts +10 -2
- package/dist/stringify-ffmpeg-filter.js +37 -34
- package/dist/symbolicate-stacktrace.d.ts +16 -3
- package/dist/symbolicate-stacktrace.js +49 -24
- package/dist/take-frame-and-compose.d.ts +22 -0
- package/dist/take-frame-and-compose.js +103 -0
- package/dist/tmp-dir.d.ts +0 -0
- package/dist/tmp-dir.js +7 -8
- package/dist/truthy.d.ts +1 -1
- package/dist/truthy.js +0 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.js +0 -0
- package/dist/validate-concurrency.d.ts +2 -0
- package/dist/validate-concurrency.js +21 -10
- package/dist/validate-even-dimensions-with-codec.d.ts +0 -0
- package/dist/validate-even-dimensions-with-codec.js +0 -0
- package/dist/validate-every-nth-frame.d.ts +2 -1
- package/dist/validate-every-nth-frame.js +8 -1
- package/dist/validate-ffmpeg-override.d.ts +0 -0
- package/dist/validate-ffmpeg-override.js +0 -0
- package/dist/validate-number-of-gif-loops.d.ts +2 -0
- package/dist/validate-number-of-gif-loops.js +24 -0
- package/dist/validate-opengl-renderer.d.ts +2 -3
- package/dist/validate-opengl-renderer.js +9 -4
- package/dist/validate-output-filename.d.ts +7 -2
- package/dist/validate-output-filename.js +20 -51
- package/dist/validate-puppeteer-timeout.d.ts +0 -0
- package/dist/validate-puppeteer-timeout.js +1 -0
- package/dist/validate-scale.d.ts +0 -0
- package/dist/validate-scale.js +0 -0
- package/dist/validate-videobitrate.d.ts +1 -0
- package/dist/validate-videobitrate.js +20 -0
- package/dist/wait-for-symbolication-error-to-be-done.d.ts +0 -0
- package/dist/wait-for-symbolication-error-to-be-done.js +5 -31
- package/dist/ws/ws-types.d.ts +0 -0
- package/dist/ws/ws-types.js +2 -1
- package/install-toolchain.mjs +36 -0
- package/package.json +70 -60
- package/types/ws/index.d.ts +5 -5
- package/.prettierrc.js +0 -14
- package/dist/assets/dl-browser.d.ts +0 -1
- package/dist/assets/dl-browser.js +0 -38
- package/dist/assets/get-video-stream-duration.d.ts +0 -4
- package/dist/assets/get-video-stream-duration.js +0 -59
- package/dist/calculate-sar-dar-pixels.d.ts +0 -9
- package/dist/calculate-sar-dar-pixels.js +0 -19
- package/dist/convert-to-pcm.d.ts +0 -6
- package/dist/convert-to-pcm.js +0 -20
- package/dist/ensure-presentation-timestamp.d.ts +0 -2
- package/dist/ensure-presentation-timestamp.js +0 -69
- package/dist/extract-frame-from-video.d.ts +0 -16
- package/dist/extract-frame-from-video.js +0 -277
- package/dist/ffmpeg-executable.d.ts +0 -1
- package/dist/ffmpeg-flags.d.ts +0 -12
- package/dist/ffmpeg-flags.js +0 -45
- package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -1
- package/dist/frame-to-ffmpeg-timestamp.js +0 -8
- package/dist/get-audio-codec-name.d.ts +0 -2
- package/dist/get-audio-codec-name.js +0 -28
- package/dist/get-video-info.d.ts +0 -3
- package/dist/get-video-info.js +0 -49
- package/dist/is-beyond-last-frame.d.ts +0 -3
- package/dist/is-beyond-last-frame.js +0 -12
- package/dist/last-frame-from-video-cache.d.ts +0 -17
- package/dist/last-frame-from-video-cache.js +0 -55
- package/dist/legacy-webpack-config.d.ts +0 -9
- package/dist/legacy-webpack-config.js +0 -13
- package/dist/quality.d.ts +0 -1
- package/dist/quality.js +0 -21
- package/dist/validate-ffmpeg.d.ts +0 -2
- package/dist/validate-ffmpeg.js +0 -72
- package/dist/validate-frame.d.ts +0 -1
- package/dist/validate-frame.js +0 -24
- package/tsconfig.json +0 -10
- package/vitest.config.ts +0 -8
package/dist/index.js
CHANGED
|
@@ -26,23 +26,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.
|
|
29
|
+
exports.RenderInternals = exports.validateOutputFilename = exports.stitchFramesToVideo = exports.selectComposition = exports.renderStill = exports.renderMedia = exports.renderFrames = exports.openBrowser = exports.makeCancelSignal = exports.validateSelectedPixelFormatAndImageFormatCombination = exports.getCompositions = exports.ErrorWithStackFrame = void 0;
|
|
30
30
|
const execa_1 = __importDefault(require("execa"));
|
|
31
31
|
const download_file_1 = require("./assets/download-file");
|
|
32
|
-
const
|
|
32
|
+
const audio_codec_1 = require("./audio-codec");
|
|
33
33
|
const browser_1 = require("./browser");
|
|
34
|
+
const Browser_1 = require("./browser/Browser");
|
|
34
35
|
const TimeoutSettings_1 = require("./browser/TimeoutSettings");
|
|
36
|
+
const call_ffmpeg_1 = require("./call-ffmpeg");
|
|
35
37
|
const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
|
|
38
|
+
const chalk_1 = require("./chalk");
|
|
39
|
+
const is_color_supported_1 = require("./chalk/is-color-supported");
|
|
36
40
|
const check_apple_silicon_1 = require("./check-apple-silicon");
|
|
37
41
|
const codec_1 = require("./codec");
|
|
42
|
+
const combine_videos_1 = require("./combine-videos");
|
|
43
|
+
const get_executable_path_1 = require("./compositor/get-executable-path");
|
|
38
44
|
const convert_to_positive_frame_index_1 = require("./convert-to-positive-frame-index");
|
|
39
|
-
const crf_1 = require("./crf");
|
|
40
45
|
const delete_directory_1 = require("./delete-directory");
|
|
41
46
|
const ensure_output_directory_1 = require("./ensure-output-directory");
|
|
42
47
|
const symbolicate_error_1 = require("./error-handling/symbolicate-error");
|
|
43
48
|
const symbolicateable_error_1 = require("./error-handling/symbolicateable-error");
|
|
44
|
-
const
|
|
49
|
+
const file_extensions_1 = require("./file-extensions");
|
|
50
|
+
const find_closest_package_json_1 = require("./find-closest-package-json");
|
|
45
51
|
const frame_range_1 = require("./frame-range");
|
|
52
|
+
const get_compositions_1 = require("./get-compositions");
|
|
46
53
|
const get_concurrency_1 = require("./get-concurrency");
|
|
47
54
|
const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
|
|
48
55
|
const get_extension_from_codec_1 = require("./get-extension-from-codec");
|
|
@@ -53,63 +60,55 @@ const get_port_1 = require("./get-port");
|
|
|
53
60
|
const image_format_1 = require("./image-format");
|
|
54
61
|
const is_audio_codec_1 = require("./is-audio-codec");
|
|
55
62
|
const is_serve_url_1 = require("./is-serve-url");
|
|
63
|
+
const jpeg_quality_1 = require("./jpeg-quality");
|
|
56
64
|
const log_level_1 = require("./log-level");
|
|
65
|
+
const logger_1 = require("./logger");
|
|
57
66
|
const mime_types_1 = require("./mime-types");
|
|
58
|
-
const normalize_serve_url_1 = require("./normalize-serve-url");
|
|
59
67
|
const open_browser_1 = require("./open-browser");
|
|
60
68
|
const parse_browser_error_stack_1 = require("./parse-browser-error-stack");
|
|
61
69
|
const perf = __importStar(require("./perf"));
|
|
62
70
|
const pixel_format_1 = require("./pixel-format");
|
|
63
|
-
const
|
|
64
|
-
const
|
|
71
|
+
const prepare_server_1 = require("./prepare-server");
|
|
72
|
+
const render_frames_1 = require("./render-frames");
|
|
73
|
+
const render_media_1 = require("./render-media");
|
|
74
|
+
const render_still_1 = require("./render-still");
|
|
75
|
+
const select_composition_1 = require("./select-composition");
|
|
65
76
|
const is_path_inside_1 = require("./serve-handler/is-path-inside");
|
|
66
77
|
const serve_static_1 = require("./serve-static");
|
|
67
|
-
const stitch_frames_to_video_1 = require("./stitch-frames-to-video");
|
|
68
78
|
const tmp_dir_1 = require("./tmp-dir");
|
|
69
79
|
const validate_concurrency_1 = require("./validate-concurrency");
|
|
70
80
|
const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
|
|
71
|
-
const validate_every_nth_frame_1 = require("./validate-every-nth-frame");
|
|
72
|
-
const validate_ffmpeg_1 = require("./validate-ffmpeg");
|
|
73
|
-
const validate_frame_1 = require("./validate-frame");
|
|
74
81
|
const validate_opengl_renderer_1 = require("./validate-opengl-renderer");
|
|
75
82
|
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
76
|
-
const
|
|
83
|
+
const validate_videobitrate_1 = require("./validate-videobitrate");
|
|
77
84
|
const wait_for_symbolication_error_to_be_done_1 = require("./wait-for-symbolication-error-to-be-done");
|
|
78
|
-
var combine_videos_1 = require("./combine-videos");
|
|
79
|
-
Object.defineProperty(exports, "combineVideos", { enumerable: true, get: function () { return combine_videos_1.combineVideos; } });
|
|
80
85
|
var handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
|
81
86
|
Object.defineProperty(exports, "ErrorWithStackFrame", { enumerable: true, get: function () { return handle_javascript_exception_1.ErrorWithStackFrame; } });
|
|
82
|
-
var
|
|
83
|
-
Object.defineProperty(exports, "getCompositions", { enumerable: true, get: function () { return
|
|
87
|
+
var get_compositions_2 = require("./get-compositions");
|
|
88
|
+
Object.defineProperty(exports, "getCompositions", { enumerable: true, get: function () { return get_compositions_2.getCompositions; } });
|
|
84
89
|
var image_format_2 = require("./image-format");
|
|
85
90
|
Object.defineProperty(exports, "validateSelectedPixelFormatAndImageFormatCombination", { enumerable: true, get: function () { return image_format_2.validateSelectedPixelFormatAndImageFormatCombination; } });
|
|
86
|
-
Object.defineProperty(exports, "validImageFormats", { enumerable: true, get: function () { return image_format_2.validImageFormats; } });
|
|
87
91
|
var make_cancel_signal_1 = require("./make-cancel-signal");
|
|
88
92
|
Object.defineProperty(exports, "makeCancelSignal", { enumerable: true, get: function () { return make_cancel_signal_1.makeCancelSignal; } });
|
|
89
93
|
var open_browser_2 = require("./open-browser");
|
|
90
94
|
Object.defineProperty(exports, "openBrowser", { enumerable: true, get: function () { return open_browser_2.openBrowser; } });
|
|
91
|
-
var
|
|
92
|
-
Object.defineProperty(exports, "renderFrames", { enumerable: true, get: function () { return
|
|
93
|
-
var
|
|
94
|
-
Object.defineProperty(exports, "renderMedia", { enumerable: true, get: function () { return
|
|
95
|
-
var
|
|
96
|
-
Object.defineProperty(exports, "renderStill", { enumerable: true, get: function () { return
|
|
97
|
-
var
|
|
98
|
-
Object.defineProperty(exports, "
|
|
95
|
+
var render_frames_2 = require("./render-frames");
|
|
96
|
+
Object.defineProperty(exports, "renderFrames", { enumerable: true, get: function () { return render_frames_2.renderFrames; } });
|
|
97
|
+
var render_media_2 = require("./render-media");
|
|
98
|
+
Object.defineProperty(exports, "renderMedia", { enumerable: true, get: function () { return render_media_2.renderMedia; } });
|
|
99
|
+
var render_still_2 = require("./render-still");
|
|
100
|
+
Object.defineProperty(exports, "renderStill", { enumerable: true, get: function () { return render_still_2.renderStill; } });
|
|
101
|
+
var select_composition_2 = require("./select-composition");
|
|
102
|
+
Object.defineProperty(exports, "selectComposition", { enumerable: true, get: function () { return select_composition_2.selectComposition; } });
|
|
103
|
+
var stitch_frames_to_video_1 = require("./stitch-frames-to-video");
|
|
104
|
+
Object.defineProperty(exports, "stitchFramesToVideo", { enumerable: true, get: function () { return stitch_frames_to_video_1.stitchFramesToVideo; } });
|
|
99
105
|
var validate_output_filename_1 = require("./validate-output-filename");
|
|
100
106
|
Object.defineProperty(exports, "validateOutputFilename", { enumerable: true, get: function () { return validate_output_filename_1.validateOutputFilename; } });
|
|
101
107
|
exports.RenderInternals = {
|
|
102
108
|
ensureLocalBrowser: get_local_browser_executable_1.ensureLocalBrowser,
|
|
103
|
-
ffmpegHasFeature: ffmpeg_flags_1.ffmpegHasFeature,
|
|
104
109
|
getActualConcurrency: get_concurrency_1.getActualConcurrency,
|
|
105
|
-
getFfmpegVersion: ffmpeg_flags_1.getFfmpegVersion,
|
|
106
|
-
validateFfmpeg: validate_ffmpeg_1.validateFfmpeg,
|
|
107
|
-
binaryExists: validate_ffmpeg_1.binaryExists,
|
|
108
|
-
getFfmpegBuildInfo: ffmpeg_flags_1.getFfmpegBuildInfo,
|
|
109
110
|
serveStatic: serve_static_1.serveStatic,
|
|
110
111
|
validateEvenDimensionsWithCodec: validate_even_dimensions_with_codec_1.validateEvenDimensionsWithCodec,
|
|
111
|
-
normalizeServeUrl: normalize_serve_url_1.normalizeServeUrl,
|
|
112
|
-
spawnFfmpeg: stitch_frames_to_video_1.spawnFfmpeg,
|
|
113
112
|
getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
|
|
114
113
|
tmpDir: tmp_dir_1.tmpDir,
|
|
115
114
|
deleteDirectory: delete_directory_1.deleteDirectory,
|
|
@@ -118,7 +117,6 @@ exports.RenderInternals = {
|
|
|
118
117
|
getRealFrameRange: get_frame_to_render_1.getRealFrameRange,
|
|
119
118
|
validatePuppeteerTimeout: validate_puppeteer_timeout_1.validatePuppeteerTimeout,
|
|
120
119
|
downloadFile: download_file_1.downloadFile,
|
|
121
|
-
validateScale: validate_scale_1.validateScale,
|
|
122
120
|
killAllBrowsers: open_browser_1.killAllBrowsers,
|
|
123
121
|
parseStack: parse_browser_error_stack_1.parseStack,
|
|
124
122
|
symbolicateError: symbolicate_error_1.symbolicateError,
|
|
@@ -139,28 +137,52 @@ exports.RenderInternals = {
|
|
|
139
137
|
validateFrameRange: frame_range_1.validateFrameRange,
|
|
140
138
|
DEFAULT_OPENGL_RENDERER: validate_opengl_renderer_1.DEFAULT_OPENGL_RENDERER,
|
|
141
139
|
validateOpenGlRenderer: validate_opengl_renderer_1.validateOpenGlRenderer,
|
|
142
|
-
getDefaultCrfForCodec: crf_1.getDefaultCrfForCodec,
|
|
143
|
-
validateSelectedCrfAndCodecCombination: crf_1.validateSelectedCrfAndCodecCombination,
|
|
144
|
-
validImageFormats: image_format_1.validImageFormats,
|
|
145
140
|
validCodecs: codec_1.validCodecs,
|
|
146
141
|
DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
|
|
147
|
-
|
|
148
|
-
validateFrame: validate_frame_1.validateFrame,
|
|
142
|
+
validateJpegQuality: jpeg_quality_1.validateJpegQuality,
|
|
149
143
|
DEFAULT_TIMEOUT: TimeoutSettings_1.DEFAULT_TIMEOUT,
|
|
150
|
-
getValidCrfRanges: crf_1.getValidCrfRanges,
|
|
151
|
-
validateSelectedPixelFormatAndCodecCombination: pixel_format_1.validateSelectedPixelFormatAndCodecCombination,
|
|
152
|
-
validateSelectedCodecAndProResCombination: prores_profile_1.validateSelectedCodecAndProResCombination,
|
|
153
|
-
validateSelectedPixelFormatAndImageFormatCombination: image_format_1.validateSelectedPixelFormatAndImageFormatCombination,
|
|
154
144
|
DEFAULT_CODEC: codec_1.DEFAULT_CODEC,
|
|
155
145
|
isAudioCodec: is_audio_codec_1.isAudioCodec,
|
|
156
146
|
logLevels: log_level_1.logLevels,
|
|
157
147
|
isEqualOrBelowLogLevel: log_level_1.isEqualOrBelowLogLevel,
|
|
158
148
|
isValidLogLevel: log_level_1.isValidLogLevel,
|
|
159
|
-
validateEveryNthFrame: validate_every_nth_frame_1.validateEveryNthFrame,
|
|
160
149
|
perf,
|
|
161
|
-
makeDownloadMap: download_map_1.makeDownloadMap,
|
|
162
|
-
cleanDownloadMap: download_map_1.cleanDownloadMap,
|
|
163
150
|
convertToPositiveFrameIndex: convert_to_positive_frame_index_1.convertToPositiveFrameIndex,
|
|
151
|
+
findRemotionRoot: find_closest_package_json_1.findRemotionRoot,
|
|
152
|
+
validateBitrate: validate_videobitrate_1.validateBitrate,
|
|
153
|
+
combineVideos: combine_videos_1.combineVideos,
|
|
154
|
+
getMinConcurrency: validate_concurrency_1.getMinConcurrency,
|
|
155
|
+
getMaxConcurrency: validate_concurrency_1.getMaxConcurrency,
|
|
156
|
+
getDefaultAudioCodec: audio_codec_1.getDefaultAudioCodec,
|
|
157
|
+
validAudioCodecs: audio_codec_1.validAudioCodecs,
|
|
158
|
+
defaultFileExtensionMap: file_extensions_1.defaultFileExtensionMap,
|
|
159
|
+
supportedAudioCodecs: audio_codec_1.supportedAudioCodecs,
|
|
160
|
+
makeFileExtensionMap: get_extension_from_codec_1.makeFileExtensionMap,
|
|
161
|
+
defaultCodecsForFileExtension: get_extension_from_codec_1.defaultCodecsForFileExtension,
|
|
162
|
+
getExecutablePath: get_executable_path_1.getExecutablePath,
|
|
163
|
+
callFf: call_ffmpeg_1.callFf,
|
|
164
|
+
dynamicLibraryPathOptions: call_ffmpeg_1.dynamicLibraryPathOptions,
|
|
165
|
+
validStillImageFormats: image_format_1.validStillImageFormats,
|
|
166
|
+
validVideoImageFormats: image_format_1.validVideoImageFormats,
|
|
167
|
+
DEFAULT_STILL_IMAGE_FORMAT: image_format_1.DEFAULT_STILL_IMAGE_FORMAT,
|
|
168
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: image_format_1.DEFAULT_VIDEO_IMAGE_FORMAT,
|
|
169
|
+
DEFAULT_JPEG_QUALITY: jpeg_quality_1.DEFAULT_JPEG_QUALITY,
|
|
170
|
+
chalk: chalk_1.chalk,
|
|
171
|
+
Log: logger_1.Log,
|
|
172
|
+
getLogLevel: logger_1.getLogLevel,
|
|
173
|
+
setLogLevel: logger_1.setLogLevel,
|
|
174
|
+
INDENT_TOKEN: logger_1.INDENT_TOKEN,
|
|
175
|
+
isColorSupported: is_color_supported_1.isColorSupported,
|
|
176
|
+
HeadlessBrowser: Browser_1.HeadlessBrowser,
|
|
177
|
+
prepareServer: prepare_server_1.prepareServer,
|
|
178
|
+
makeOrReuseServer: prepare_server_1.makeOrReuseServer,
|
|
179
|
+
internalRenderStill: render_still_1.internalRenderStill,
|
|
180
|
+
internalOpenBrowser: open_browser_1.internalOpenBrowser,
|
|
181
|
+
internalSelectComposition: select_composition_1.internalSelectComposition,
|
|
182
|
+
internalGetCompositions: get_compositions_1.internalGetCompositions,
|
|
183
|
+
internalRenderFrames: render_frames_1.internalRenderFrames,
|
|
184
|
+
internalRenderMedia: render_media_1.internalRenderMedia,
|
|
185
|
+
validOpenGlRenderers: validate_opengl_renderer_1.validOpenGlRenderers,
|
|
164
186
|
};
|
|
165
187
|
// Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
|
|
166
|
-
(0, check_apple_silicon_1.
|
|
188
|
+
(0, check_apple_silicon_1.checkNodeVersionAndWarnAboutRosetta)();
|
package/dist/is-audio-codec.d.ts
CHANGED
|
File without changes
|
package/dist/is-audio-codec.js
CHANGED
|
File without changes
|
package/dist/is-serve-url.d.ts
CHANGED
|
File without changes
|
package/dist/is-serve-url.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateJpegQuality = exports.DEFAULT_JPEG_QUALITY = void 0;
|
|
4
|
+
exports.DEFAULT_JPEG_QUALITY = 80;
|
|
5
|
+
const validateJpegQuality = (q) => {
|
|
6
|
+
if (typeof q !== 'undefined' && typeof q !== 'number') {
|
|
7
|
+
throw new Error(`JPEG Quality option must be a number or undefined. Got ${typeof q} (${JSON.stringify(q)})`);
|
|
8
|
+
}
|
|
9
|
+
if (typeof q === 'undefined') {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!Number.isFinite(q)) {
|
|
13
|
+
throw new RangeError(`JPEG Quality must be a finite number, but is ${q}`);
|
|
14
|
+
}
|
|
15
|
+
if (Number.isNaN(q)) {
|
|
16
|
+
throw new RangeError(`JPEG Quality is NaN, but must be a real number`);
|
|
17
|
+
}
|
|
18
|
+
if (q > 100 || q < 0) {
|
|
19
|
+
throw new RangeError('JPEG Quality option must be between 0 and 100.');
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.validateJpegQuality = validateJpegQuality;
|
package/dist/locks.d.ts
ADDED
package/dist/locks.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLock = void 0;
|
|
4
|
+
const createLock = ({ timeout }) => {
|
|
5
|
+
let locks = [];
|
|
6
|
+
const waiters = [];
|
|
7
|
+
const lock = () => {
|
|
8
|
+
const id = Math.random();
|
|
9
|
+
locks.push(id);
|
|
10
|
+
return id;
|
|
11
|
+
};
|
|
12
|
+
const unlock = (id) => {
|
|
13
|
+
locks = locks.filter((l) => l !== id);
|
|
14
|
+
resolveWaiters();
|
|
15
|
+
};
|
|
16
|
+
const resolveWaiters = () => {
|
|
17
|
+
if (locks.length === 0) {
|
|
18
|
+
waiters.forEach((w) => w());
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const waitForAllToBeDone = () => {
|
|
22
|
+
const success = new Promise((resolve) => {
|
|
23
|
+
waiters.push(() => {
|
|
24
|
+
resolve();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
resolveWaiters();
|
|
28
|
+
if (timeout === null) {
|
|
29
|
+
return success;
|
|
30
|
+
}
|
|
31
|
+
const timeoutFn = new Promise((resolve) => {
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
return resolve();
|
|
34
|
+
}, timeout);
|
|
35
|
+
});
|
|
36
|
+
return Promise.race([success, timeoutFn]);
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
lock,
|
|
40
|
+
unlock,
|
|
41
|
+
waitForAllToBeDone,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
exports.createLock = createLock;
|
package/dist/log-level.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
2
|
-
export
|
|
2
|
+
export type LogLevel = typeof logLevels[number];
|
|
3
3
|
export declare const isValidLogLevel: (level: string) => boolean;
|
|
4
4
|
export declare const isEqualOrBelowLogLevel: (currentLevel: LogLevel, level: LogLevel) => boolean;
|
package/dist/log-level.js
CHANGED
|
File without changes
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { LogLevel } from './log-level';
|
|
2
|
+
export declare const INDENT_TOKEN: string;
|
|
3
|
+
type LogOptions = {
|
|
4
|
+
indent: boolean;
|
|
5
|
+
logLevel: LogLevel;
|
|
6
|
+
};
|
|
7
|
+
type VerboseLogOptions = LogOptions & {
|
|
8
|
+
tag?: string;
|
|
9
|
+
secondTag?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const verboseTag: (str: string) => string;
|
|
12
|
+
export declare const secondverboseTag: (str: string) => string;
|
|
13
|
+
export declare const Log: {
|
|
14
|
+
verbose: (message?: any, ...optionalParams: any[]) => void;
|
|
15
|
+
verboseAdvanced: (options: VerboseLogOptions, message?: any, ...optionalParams: any[]) => void;
|
|
16
|
+
info: (message?: any, ...optionalParams: any[]) => void;
|
|
17
|
+
infoAdvanced: (options: LogOptions, message?: any, ...optionalParams: any[]) => void;
|
|
18
|
+
warn: (message?: any, ...optionalParams: any[]) => void;
|
|
19
|
+
warnAdvanced: (options: LogOptions, message?: any, ...optionalParams: any[]) => void;
|
|
20
|
+
error: (message?: any, ...optionalParams: any[]) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare const getLogLevel: () => "error" | "verbose" | "info" | "warn";
|
|
23
|
+
export declare const setLogLevel: (newLogLevel: LogLevel) => void;
|
|
24
|
+
export {};
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLogLevel = exports.getLogLevel = exports.Log = exports.secondverboseTag = exports.verboseTag = exports.INDENT_TOKEN = void 0;
|
|
4
|
+
const chalk_1 = require("./chalk");
|
|
5
|
+
const is_color_supported_1 = require("./chalk/is-color-supported");
|
|
6
|
+
const log_level_1 = require("./log-level");
|
|
7
|
+
const truthy_1 = require("./truthy");
|
|
8
|
+
exports.INDENT_TOKEN = chalk_1.chalk.gray('│');
|
|
9
|
+
const verboseTag = (str) => {
|
|
10
|
+
return is_color_supported_1.isColorSupported ? chalk_1.chalk.bgBlack(` ${str} `) : `[${str}]`;
|
|
11
|
+
};
|
|
12
|
+
exports.verboseTag = verboseTag;
|
|
13
|
+
const secondverboseTag = (str) => {
|
|
14
|
+
return is_color_supported_1.isColorSupported ? chalk_1.chalk.bgWhite(` ${str} `) : `[${str}]`;
|
|
15
|
+
};
|
|
16
|
+
exports.secondverboseTag = secondverboseTag;
|
|
17
|
+
exports.Log = {
|
|
18
|
+
verbose: (...args) => {
|
|
19
|
+
exports.Log.verboseAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
|
|
20
|
+
},
|
|
21
|
+
verboseAdvanced: (options, ...args) => {
|
|
22
|
+
if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'verbose')) {
|
|
23
|
+
return console.log(...[
|
|
24
|
+
options.indent ? exports.INDENT_TOKEN : null,
|
|
25
|
+
[
|
|
26
|
+
options.tag ? (0, exports.verboseTag)(options.tag) : null,
|
|
27
|
+
options.secondTag ? (0, exports.secondverboseTag)(options.secondTag) : null,
|
|
28
|
+
]
|
|
29
|
+
.filter(truthy_1.truthy)
|
|
30
|
+
.join(''),
|
|
31
|
+
...args.map((a) => chalk_1.chalk.gray(a)),
|
|
32
|
+
].filter(truthy_1.truthy));
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
info: (...args) => {
|
|
36
|
+
exports.Log.infoAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
|
|
37
|
+
},
|
|
38
|
+
infoAdvanced: (options, ...args) => {
|
|
39
|
+
if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'info')) {
|
|
40
|
+
return console.log(...[options.indent ? exports.INDENT_TOKEN : null, ...args].filter(truthy_1.truthy));
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
warn: (...args) => {
|
|
44
|
+
exports.Log.warnAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
|
|
45
|
+
},
|
|
46
|
+
warnAdvanced: (options, ...args) => {
|
|
47
|
+
if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'warn')) {
|
|
48
|
+
return console.warn(...[
|
|
49
|
+
options.indent ? chalk_1.chalk.yellow(exports.INDENT_TOKEN) : null,
|
|
50
|
+
...args.map((a) => chalk_1.chalk.yellow(a)),
|
|
51
|
+
].filter(truthy_1.truthy));
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
error: (...args) => {
|
|
55
|
+
if ((0, log_level_1.isEqualOrBelowLogLevel)((0, exports.getLogLevel)(), 'error')) {
|
|
56
|
+
return console.error(...args.map((a) => chalk_1.chalk.red(a)));
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
let logLevel = 'info';
|
|
61
|
+
const getLogLevel = () => {
|
|
62
|
+
return logLevel;
|
|
63
|
+
};
|
|
64
|
+
exports.getLogLevel = getLogLevel;
|
|
65
|
+
const setLogLevel = (newLogLevel) => {
|
|
66
|
+
logLevel = newLogLevel;
|
|
67
|
+
};
|
|
68
|
+
exports.setLogLevel = setLogLevel;
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
type Callback = () => void;
|
|
2
|
+
export type CancelSignal = (callback: Callback) => void;
|
|
3
|
+
/**
|
|
4
|
+
* @description Returns a signal and a cancel function that allows to you cancel a render triggered using renderMedia(), renderStill(), renderFrames() or stitchFramesToVideo().
|
|
5
|
+
* @see [Documentation](https://www.remotion.dev/docs/renderer/make-cancel-signal)
|
|
6
|
+
*/
|
|
3
7
|
export declare const makeCancelSignal: () => {
|
|
4
8
|
cancelSignal: CancelSignal;
|
|
5
9
|
cancel: () => void;
|
|
6
10
|
};
|
|
11
|
+
export declare const cancelErrorMessages: {
|
|
12
|
+
renderMedia: string;
|
|
13
|
+
renderFrames: string;
|
|
14
|
+
renderStill: string;
|
|
15
|
+
stitchFramesToVideo: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const isUserCancelledRender: (err: unknown) => boolean;
|
|
7
18
|
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeCancelSignal = void 0;
|
|
3
|
+
exports.isUserCancelledRender = exports.cancelErrorMessages = exports.makeCancelSignal = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @description Returns a signal and a cancel function that allows to you cancel a render triggered using renderMedia(), renderStill(), renderFrames() or stitchFramesToVideo().
|
|
6
|
+
* @see [Documentation](https://www.remotion.dev/docs/renderer/make-cancel-signal)
|
|
7
|
+
*/
|
|
4
8
|
const makeCancelSignal = () => {
|
|
5
9
|
const callbacks = [];
|
|
6
10
|
let cancelled = false;
|
|
@@ -23,3 +27,22 @@ const makeCancelSignal = () => {
|
|
|
23
27
|
};
|
|
24
28
|
};
|
|
25
29
|
exports.makeCancelSignal = makeCancelSignal;
|
|
30
|
+
exports.cancelErrorMessages = {
|
|
31
|
+
renderMedia: 'renderMedia() got cancelled',
|
|
32
|
+
renderFrames: 'renderFrames() got cancelled',
|
|
33
|
+
renderStill: 'renderStill() got cancelled',
|
|
34
|
+
stitchFramesToVideo: 'stitchFramesToVideo() got cancelled',
|
|
35
|
+
};
|
|
36
|
+
const isUserCancelledRender = (err) => {
|
|
37
|
+
if (typeof err === 'object' &&
|
|
38
|
+
err !== null &&
|
|
39
|
+
'message' in err &&
|
|
40
|
+
typeof err.message === 'string') {
|
|
41
|
+
return (err.message.includes(exports.cancelErrorMessages.renderMedia) ||
|
|
42
|
+
err.message.includes(exports.cancelErrorMessages.renderFrames) ||
|
|
43
|
+
err.message.includes(exports.cancelErrorMessages.renderStill) ||
|
|
44
|
+
err.message.includes(exports.cancelErrorMessages.stitchFramesToVideo));
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
};
|
|
48
|
+
exports.isUserCancelledRender = isUserCancelledRender;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { DownloadMap } from './assets/download-map';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
files: string[];
|
|
2
|
+
import type { PreprocessedAudioTrack } from './preprocess-audio-track';
|
|
3
|
+
type Options = {
|
|
4
|
+
files: PreprocessedAudioTrack[];
|
|
6
5
|
outName: string;
|
|
7
6
|
numberOfSeconds: number;
|
|
8
7
|
downloadMap: DownloadMap;
|
|
8
|
+
remotionRoot: string;
|
|
9
9
|
};
|
|
10
10
|
export declare const mergeAudioTrack: (options: Options) => Promise<void>;
|
|
11
11
|
export {};
|
|
@@ -4,69 +4,74 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.mergeAudioTrack = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const call_ffmpeg_1 = require("./call-ffmpeg");
|
|
9
9
|
const chunk_1 = require("./chunk");
|
|
10
|
-
const convert_to_pcm_1 = require("./convert-to-pcm");
|
|
11
10
|
const create_ffmpeg_complex_filter_1 = require("./create-ffmpeg-complex-filter");
|
|
11
|
+
const create_ffmpeg_merge_filter_1 = require("./create-ffmpeg-merge-filter");
|
|
12
12
|
const create_silent_audio_1 = require("./create-silent-audio");
|
|
13
13
|
const delete_directory_1 = require("./delete-directory");
|
|
14
14
|
const p_limit_1 = require("./p-limit");
|
|
15
15
|
const tmp_dir_1 = require("./tmp-dir");
|
|
16
16
|
const truthy_1 = require("./truthy");
|
|
17
|
-
const mergeAudioTrackUnlimited = async ({
|
|
17
|
+
const mergeAudioTrackUnlimited = async ({ outName, files, numberOfSeconds, downloadMap, remotionRoot, }) => {
|
|
18
18
|
if (files.length === 0) {
|
|
19
19
|
await (0, create_silent_audio_1.createSilentAudio)({
|
|
20
20
|
outName,
|
|
21
|
-
ffmpegExecutable,
|
|
22
21
|
numberOfSeconds,
|
|
23
22
|
});
|
|
24
23
|
return;
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
await (0, convert_to_pcm_1.convertToPcm)({
|
|
28
|
-
outName,
|
|
29
|
-
ffmpegExecutable,
|
|
30
|
-
input: files[0],
|
|
31
|
-
});
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
25
|
+
// Previously a bug: We cannot optimize for files.length === 1 because we need to pad the audio
|
|
34
26
|
// In FFMPEG, the total number of left and right tracks that can be merged at one time is limited to 64
|
|
35
27
|
if (files.length >= 32) {
|
|
36
28
|
const chunked = (0, chunk_1.chunk)(files, 10);
|
|
37
29
|
const tempPath = (0, tmp_dir_1.tmpDir)('remotion-large-audio-mixing');
|
|
38
|
-
|
|
39
|
-
const
|
|
30
|
+
try {
|
|
31
|
+
const chunkNames = await Promise.all(chunked.map(async (chunkFiles, i) => {
|
|
32
|
+
const chunkOutname = node_path_1.default.join(tempPath, `chunk-${i}.wav`);
|
|
33
|
+
await (0, exports.mergeAudioTrack)({
|
|
34
|
+
files: chunkFiles,
|
|
35
|
+
numberOfSeconds,
|
|
36
|
+
outName: chunkOutname,
|
|
37
|
+
downloadMap,
|
|
38
|
+
remotionRoot,
|
|
39
|
+
});
|
|
40
|
+
return chunkOutname;
|
|
41
|
+
}));
|
|
40
42
|
await (0, exports.mergeAudioTrack)({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
files: chunkNames.map((c) => ({
|
|
44
|
+
filter: {
|
|
45
|
+
pad_end: null,
|
|
46
|
+
pad_start: null,
|
|
47
|
+
},
|
|
48
|
+
outName: c,
|
|
49
|
+
})),
|
|
43
50
|
numberOfSeconds,
|
|
44
|
-
outName
|
|
51
|
+
outName,
|
|
45
52
|
downloadMap,
|
|
53
|
+
remotionRoot,
|
|
46
54
|
});
|
|
47
|
-
return
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
numberOfSeconds,
|
|
53
|
-
outName,
|
|
54
|
-
downloadMap,
|
|
55
|
-
});
|
|
56
|
-
await (0, delete_directory_1.deleteDirectory)(tempPath);
|
|
57
|
-
return;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
(0, delete_directory_1.deleteDirectory)(tempPath);
|
|
59
|
+
}
|
|
58
60
|
}
|
|
59
|
-
const { complexFilterFlag: mergeFilter, cleanup } = await (0, create_ffmpeg_complex_filter_1.createFfmpegComplexFilter)(
|
|
61
|
+
const { complexFilterFlag: mergeFilter, cleanup } = await (0, create_ffmpeg_complex_filter_1.createFfmpegComplexFilter)({
|
|
62
|
+
filters: files,
|
|
63
|
+
downloadMap,
|
|
64
|
+
});
|
|
60
65
|
const args = [
|
|
61
|
-
...files.map((f) => ['-i', f]),
|
|
66
|
+
...files.map((f) => ['-i', f.outName]),
|
|
62
67
|
mergeFilter,
|
|
63
68
|
['-c:a', 'pcm_s16le'],
|
|
64
|
-
['-map',
|
|
69
|
+
['-map', `[${create_ffmpeg_merge_filter_1.OUTPUT_FILTER_NAME}]`],
|
|
65
70
|
['-y', outName],
|
|
66
71
|
]
|
|
67
72
|
.filter(truthy_1.truthy)
|
|
68
73
|
.flat(2);
|
|
69
|
-
const task = (0,
|
|
74
|
+
const task = (0, call_ffmpeg_1.callFf)('ffmpeg', args);
|
|
70
75
|
await task;
|
|
71
76
|
cleanup();
|
|
72
77
|
};
|
package/dist/mime-db.d.ts
CHANGED
|
File without changes
|
package/dist/mime-db.js
CHANGED
|
File without changes
|
package/dist/mime-types.d.ts
CHANGED
|
File without changes
|
package/dist/mime-types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mimeContentType = exports.mimeLookup = exports.getExt = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
5
|
const mime_db_1 = require("./mime-db");
|
|
6
6
|
const extensions = {};
|
|
7
7
|
const types = {};
|
|
@@ -17,7 +17,7 @@ function mimeLookup(path) {
|
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
19
|
// get the extension ("ext" or ".ext" or full path)
|
|
20
|
-
const ext = (0,
|
|
20
|
+
const ext = (0, node_path_1.extname)('.' + path)
|
|
21
21
|
.toLowerCase()
|
|
22
22
|
.substr(1);
|
|
23
23
|
if (!ext) {
|
|
@@ -36,7 +36,7 @@ function populateMaps(exts, _types) {
|
|
|
36
36
|
Object.keys(mime_db_1.mimeDb).forEach((type) => {
|
|
37
37
|
const mime = mime_db_1.mimeDb[type];
|
|
38
38
|
const _exts = mime.extensions;
|
|
39
|
-
if (!_exts ||
|
|
39
|
+
if (!(_exts === null || _exts === void 0 ? void 0 : _exts.length)) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
// mime -> extensions
|
|
File without changes
|
|
File without changes
|