@remotion/renderer 4.0.0-webhook.27 → 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
|
@@ -1,17 +1,53 @@
|
|
|
1
|
-
import type { RequestListener } from 'http';
|
|
2
|
-
import type { OffthreadVideoImageFormat } from 'remotion';
|
|
3
|
-
import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
|
|
1
|
+
import type { RequestListener } from 'node:http';
|
|
4
2
|
import type { DownloadMap } from './assets/download-map';
|
|
5
|
-
import type {
|
|
3
|
+
import type { Compositor } from './compositor/compositor';
|
|
6
4
|
export declare const extractUrlAndSourceFromUrl: (url: string) => {
|
|
7
5
|
src: string;
|
|
8
6
|
time: number;
|
|
9
|
-
|
|
7
|
+
transparent: boolean;
|
|
10
8
|
};
|
|
11
|
-
export declare const startOffthreadVideoServer: ({
|
|
12
|
-
ffmpegExecutable: FfmpegExecutable;
|
|
13
|
-
ffprobeExecutable: FfmpegExecutable;
|
|
14
|
-
onDownload: RenderMediaOnDownload;
|
|
15
|
-
onError: (err: Error) => void;
|
|
9
|
+
export declare const startOffthreadVideoServer: ({ downloadMap, concurrency, verbose, indent, }: {
|
|
16
10
|
downloadMap: DownloadMap;
|
|
17
|
-
|
|
11
|
+
concurrency: number;
|
|
12
|
+
verbose: boolean;
|
|
13
|
+
indent: boolean;
|
|
14
|
+
}) => {
|
|
15
|
+
listener: RequestListener;
|
|
16
|
+
close: () => Promise<void>;
|
|
17
|
+
compositor: Compositor;
|
|
18
|
+
events: OffthreadVideoServerEmitter;
|
|
19
|
+
};
|
|
20
|
+
type DownloadEventPayload = {
|
|
21
|
+
src: string;
|
|
22
|
+
};
|
|
23
|
+
type ProgressEventPayload = {
|
|
24
|
+
percent: number | null;
|
|
25
|
+
downloaded: number;
|
|
26
|
+
totalSize: number | null;
|
|
27
|
+
src: string;
|
|
28
|
+
};
|
|
29
|
+
type ErrorEventPayload = {
|
|
30
|
+
error: Error;
|
|
31
|
+
};
|
|
32
|
+
type EventMap = {
|
|
33
|
+
progress: ProgressEventPayload;
|
|
34
|
+
error: ErrorEventPayload;
|
|
35
|
+
download: DownloadEventPayload;
|
|
36
|
+
};
|
|
37
|
+
export type EventTypes = keyof EventMap;
|
|
38
|
+
export type CallbackListener<T extends EventTypes> = (data: {
|
|
39
|
+
detail: EventMap[T];
|
|
40
|
+
}) => void;
|
|
41
|
+
type Listeners = {
|
|
42
|
+
[EventType in EventTypes]: CallbackListener<EventType>[];
|
|
43
|
+
};
|
|
44
|
+
export declare class OffthreadVideoServerEmitter {
|
|
45
|
+
listeners: Listeners;
|
|
46
|
+
addEventListener<Q extends EventTypes>(name: Q, callback: CallbackListener<Q>): () => void;
|
|
47
|
+
removeEventListener<Q extends EventTypes>(name: Q, callback: CallbackListener<Q>): void;
|
|
48
|
+
private dispatchEvent;
|
|
49
|
+
dispatchError(error: Error): void;
|
|
50
|
+
dispatchDownloadProgress(src: string, percent: number | null, downloaded: number, totalSize: number | null): void;
|
|
51
|
+
dispatchDownload(src: string): void;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.startOffthreadVideoServer = exports.extractUrlAndSourceFromUrl = void 0;
|
|
4
|
-
const
|
|
5
|
-
const url_1 = require("url");
|
|
3
|
+
exports.OffthreadVideoServerEmitter = exports.startOffthreadVideoServer = exports.extractUrlAndSourceFromUrl = void 0;
|
|
4
|
+
const node_url_1 = require("node:url");
|
|
6
5
|
const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
|
|
7
|
-
const
|
|
6
|
+
const compositor_1 = require("./compositor/compositor");
|
|
8
7
|
const extractUrlAndSourceFromUrl = (url) => {
|
|
9
8
|
const parsed = new URL(url, 'http://localhost');
|
|
10
9
|
const query = parsed.search;
|
|
11
10
|
if (!query.trim()) {
|
|
12
11
|
throw new Error('Expected query from ' + url);
|
|
13
12
|
}
|
|
14
|
-
const params = new
|
|
13
|
+
const params = new node_url_1.URLSearchParams(query);
|
|
15
14
|
const src = params.get('src');
|
|
16
15
|
if (!src) {
|
|
17
16
|
throw new Error('Did not pass `src` parameter');
|
|
@@ -20,67 +19,121 @@ const extractUrlAndSourceFromUrl = (url) => {
|
|
|
20
19
|
if (!time) {
|
|
21
20
|
throw new Error('Did not get `time` parameter');
|
|
22
21
|
}
|
|
23
|
-
const
|
|
24
|
-
if (!imageFormat) {
|
|
25
|
-
throw new TypeError('Did not get `imageFormat` parameter');
|
|
26
|
-
}
|
|
27
|
-
remotion_1.Internals.validateOffthreadVideoImageFormat(imageFormat);
|
|
22
|
+
const transparent = params.get('transparent');
|
|
28
23
|
return {
|
|
29
24
|
src,
|
|
30
25
|
time: parseFloat(time),
|
|
31
|
-
|
|
26
|
+
transparent: transparent === 'true',
|
|
32
27
|
};
|
|
33
28
|
};
|
|
34
29
|
exports.extractUrlAndSourceFromUrl = extractUrlAndSourceFromUrl;
|
|
35
|
-
const startOffthreadVideoServer = ({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// Chrome sends Private Network Access preflights for subresources
|
|
51
|
-
if (req.method === 'OPTIONS') {
|
|
52
|
-
res.statusCode = 200;
|
|
53
|
-
if (req.headers['access-control-request-private-network']) {
|
|
54
|
-
res.setHeader('Access-Control-Allow-Private-Network', 'true');
|
|
30
|
+
const startOffthreadVideoServer = ({ downloadMap, concurrency, verbose, indent, }) => {
|
|
31
|
+
const events = new OffthreadVideoServerEmitter();
|
|
32
|
+
const compositor = (0, compositor_1.startCompositor)('StartLongRunningProcess', {
|
|
33
|
+
concurrency,
|
|
34
|
+
maximum_frame_cache_items: (0, compositor_1.getIdealMaximumFrameCacheItems)(),
|
|
35
|
+
verbose,
|
|
36
|
+
}, indent);
|
|
37
|
+
return {
|
|
38
|
+
close: () => {
|
|
39
|
+
compositor.finishCommands();
|
|
40
|
+
return compositor.waitForDone();
|
|
41
|
+
},
|
|
42
|
+
listener: (req, res) => {
|
|
43
|
+
if (!req.url) {
|
|
44
|
+
throw new Error('Request came in without URL');
|
|
55
45
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
.then((to) => {
|
|
61
|
-
return (0, extract_frame_from_video_1.extractFrameFromVideo)({
|
|
62
|
-
time,
|
|
63
|
-
src: to,
|
|
64
|
-
ffmpegExecutable,
|
|
65
|
-
ffprobeExecutable,
|
|
66
|
-
imageFormat,
|
|
67
|
-
downloadMap,
|
|
68
|
-
});
|
|
69
|
-
})
|
|
70
|
-
.then((readable) => {
|
|
71
|
-
if (!readable) {
|
|
72
|
-
throw new Error('no readable from ffmpeg');
|
|
46
|
+
if (!req.url.startsWith('/proxy')) {
|
|
47
|
+
res.writeHead(404);
|
|
48
|
+
res.end();
|
|
49
|
+
return;
|
|
73
50
|
}
|
|
74
|
-
|
|
75
|
-
res.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
51
|
+
const { src, time, transparent } = (0, exports.extractUrlAndSourceFromUrl)(req.url);
|
|
52
|
+
res.setHeader('access-control-allow-origin', '*');
|
|
53
|
+
if (transparent) {
|
|
54
|
+
res.setHeader('content-type', `image/png`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
res.setHeader('content-type', `image/bmp`);
|
|
58
|
+
}
|
|
59
|
+
// Handling this case on Lambda:
|
|
60
|
+
// https://support.google.com/chrome/a/answer/7679408?hl=en
|
|
61
|
+
// Chrome sends Private Network Access preflights for subresources
|
|
62
|
+
if (req.method === 'OPTIONS') {
|
|
63
|
+
res.statusCode = 200;
|
|
64
|
+
if (req.headers['access-control-request-private-network']) {
|
|
65
|
+
res.setHeader('Access-Control-Allow-Private-Network', 'true');
|
|
66
|
+
}
|
|
67
|
+
res.end();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
(0, download_and_map_assets_to_file_1.downloadAsset)({ src, emitter: events, downloadMap })
|
|
71
|
+
.then((to) => {
|
|
72
|
+
return compositor.executeCommand('ExtractFrame', {
|
|
73
|
+
input: to,
|
|
74
|
+
time,
|
|
75
|
+
transparent,
|
|
76
|
+
});
|
|
77
|
+
})
|
|
78
|
+
.then((readable) => {
|
|
79
|
+
if (!readable) {
|
|
80
|
+
throw new Error('no readable from ffmpeg');
|
|
81
|
+
}
|
|
82
|
+
res.writeHead(200);
|
|
83
|
+
res.write(readable);
|
|
84
|
+
res.end();
|
|
85
|
+
})
|
|
86
|
+
.catch((err) => {
|
|
87
|
+
res.writeHead(500);
|
|
88
|
+
res.end();
|
|
89
|
+
events.dispatchError(err);
|
|
90
|
+
console.log('Error occurred', err);
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
compositor,
|
|
94
|
+
events,
|
|
84
95
|
};
|
|
85
96
|
};
|
|
86
97
|
exports.startOffthreadVideoServer = startOffthreadVideoServer;
|
|
98
|
+
class OffthreadVideoServerEmitter {
|
|
99
|
+
constructor() {
|
|
100
|
+
this.listeners = {
|
|
101
|
+
error: [],
|
|
102
|
+
progress: [],
|
|
103
|
+
download: [],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
addEventListener(name, callback) {
|
|
107
|
+
this.listeners[name].push(callback);
|
|
108
|
+
return () => {
|
|
109
|
+
this.removeEventListener(name, callback);
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
removeEventListener(name, callback) {
|
|
113
|
+
this.listeners[name] = this.listeners[name].filter((l) => l !== callback);
|
|
114
|
+
}
|
|
115
|
+
dispatchEvent(dispatchName, context) {
|
|
116
|
+
this.listeners[dispatchName].forEach((callback) => {
|
|
117
|
+
callback({ detail: context });
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
dispatchError(error) {
|
|
121
|
+
this.dispatchEvent('error', {
|
|
122
|
+
error,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
dispatchDownloadProgress(src, percent, downloaded, totalSize) {
|
|
126
|
+
this.dispatchEvent('progress', {
|
|
127
|
+
downloaded,
|
|
128
|
+
percent,
|
|
129
|
+
totalSize,
|
|
130
|
+
src,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
dispatchDownload(src) {
|
|
134
|
+
this.dispatchEvent('download', {
|
|
135
|
+
src,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.OffthreadVideoServerEmitter = OffthreadVideoServerEmitter;
|
package/dist/open-browser.d.ts
CHANGED
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import type { Browser } from './browser';
|
|
2
|
-
import type {
|
|
2
|
+
import type { HeadlessBrowser } from './browser/Browser';
|
|
3
3
|
import type { Viewport } from './browser/PuppeteerViewport';
|
|
4
4
|
declare const validRenderers: readonly ["swangle", "angle", "egl", "swiftshader"];
|
|
5
|
-
|
|
6
|
-
export
|
|
5
|
+
type OpenGlRenderer = typeof validRenderers[number];
|
|
6
|
+
export type ChromiumOptions = {
|
|
7
7
|
ignoreCertificateErrors?: boolean;
|
|
8
8
|
disableWebSecurity?: boolean;
|
|
9
9
|
gl?: OpenGlRenderer | null;
|
|
10
10
|
headless?: boolean;
|
|
11
|
+
userAgent?: string | null;
|
|
11
12
|
};
|
|
12
13
|
export declare const killAllBrowsers: () => Promise<void>;
|
|
13
|
-
|
|
14
|
+
type InternalOpenBrowserOptions = {
|
|
15
|
+
shouldDumpIo: boolean;
|
|
16
|
+
browserExecutable: string | null;
|
|
17
|
+
chromiumOptions: ChromiumOptions;
|
|
18
|
+
forceDeviceScaleFactor: number | undefined;
|
|
19
|
+
viewport: Viewport | null;
|
|
20
|
+
indent: boolean;
|
|
21
|
+
browser: Browser;
|
|
22
|
+
};
|
|
23
|
+
export type OpenBrowserOptions = {
|
|
14
24
|
shouldDumpIo?: boolean;
|
|
15
25
|
browserExecutable?: string | null;
|
|
16
26
|
chromiumOptions?: ChromiumOptions;
|
|
17
27
|
forceDeviceScaleFactor?: number;
|
|
18
|
-
|
|
19
|
-
}) => Promise<
|
|
28
|
+
};
|
|
29
|
+
export declare const internalOpenBrowser: ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, shouldDumpIo, viewport, }: InternalOpenBrowserOptions) => Promise<HeadlessBrowser>;
|
|
30
|
+
/**
|
|
31
|
+
* @description Opens a Chrome or Chromium browser instance.
|
|
32
|
+
* @see [Documentation](https://www.remotion.dev/docs/renderer/open-browser)
|
|
33
|
+
*/
|
|
34
|
+
export declare const openBrowser: (browser: Browser, options?: OpenBrowserOptions) => Promise<HeadlessBrowser>;
|
|
20
35
|
export {};
|
package/dist/open-browser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openBrowser = exports.killAllBrowsers = void 0;
|
|
3
|
+
exports.openBrowser = exports.internalOpenBrowser = exports.killAllBrowsers = void 0;
|
|
4
4
|
const node_1 = require("./browser/node");
|
|
5
5
|
const get_local_browser_executable_1 = require("./get-local-browser-executable");
|
|
6
6
|
const get_video_threads_flag_1 = require("./get-video-threads-flag");
|
|
@@ -21,24 +21,25 @@ const browserInstances = [];
|
|
|
21
21
|
const killAllBrowsers = async () => {
|
|
22
22
|
for (const browser of browserInstances) {
|
|
23
23
|
try {
|
|
24
|
-
await browser.close();
|
|
24
|
+
await browser.close(true);
|
|
25
25
|
}
|
|
26
26
|
catch (err) { }
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
exports.killAllBrowsers = killAllBrowsers;
|
|
30
|
-
const
|
|
31
|
-
var _a, _b
|
|
30
|
+
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, shouldDumpIo, viewport, }) => {
|
|
31
|
+
var _a, _b;
|
|
32
32
|
if (browser === 'firefox') {
|
|
33
33
|
throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
|
|
34
34
|
}
|
|
35
|
-
await (0, get_local_browser_executable_1.ensureLocalBrowser)(browser,
|
|
36
|
-
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browser,
|
|
37
|
-
const customGlRenderer = getOpenGlRenderer((
|
|
35
|
+
await (0, get_local_browser_executable_1.ensureLocalBrowser)(browser, browserExecutable);
|
|
36
|
+
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browser, browserExecutable);
|
|
37
|
+
const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
|
|
38
38
|
const browserInstance = await node_1.puppeteer.launch({
|
|
39
39
|
executablePath,
|
|
40
40
|
product: browser,
|
|
41
|
-
dumpio:
|
|
41
|
+
dumpio: shouldDumpIo,
|
|
42
|
+
indent,
|
|
42
43
|
args: [
|
|
43
44
|
'about:blank',
|
|
44
45
|
'--allow-pre-commit-input',
|
|
@@ -51,11 +52,11 @@ const openBrowser = async (browser, options) => {
|
|
|
51
52
|
'--disable-component-extensions-with-background-pages',
|
|
52
53
|
'--disable-default-apps',
|
|
53
54
|
'--disable-dev-shm-usage',
|
|
54
|
-
'--disable-extensions',
|
|
55
55
|
'--no-proxy-server',
|
|
56
56
|
"--proxy-server='direct://'",
|
|
57
57
|
'--proxy-bypass-list=*',
|
|
58
58
|
'--disable-hang-monitor',
|
|
59
|
+
'--disable-extensions',
|
|
59
60
|
'--disable-ipc-flooding-protection',
|
|
60
61
|
'--disable-popup-blocking',
|
|
61
62
|
'--disable-prompt-on-repost',
|
|
@@ -71,7 +72,7 @@ const openBrowser = async (browser, options) => {
|
|
|
71
72
|
'--enable-blink-features=IdleDetection',
|
|
72
73
|
'--export-tagged-pdf',
|
|
73
74
|
'--intensive-wake-up-throttling-policy=0',
|
|
74
|
-
((
|
|
75
|
+
((_b = chromiumOptions.headless) !== null && _b !== void 0 ? _b : true) ? '--headless' : null,
|
|
75
76
|
'--no-sandbox',
|
|
76
77
|
'--disable-setuid-sandbox',
|
|
77
78
|
...customGlRenderer,
|
|
@@ -89,17 +90,20 @@ const openBrowser = async (browser, options) => {
|
|
|
89
90
|
'--no-pings',
|
|
90
91
|
'--font-render-hinting=none',
|
|
91
92
|
'--no-zygote',
|
|
92
|
-
|
|
93
|
-
?
|
|
94
|
-
:
|
|
95
|
-
|
|
93
|
+
typeof forceDeviceScaleFactor === 'undefined'
|
|
94
|
+
? null
|
|
95
|
+
: `--force-device-scale-factor=${forceDeviceScaleFactor}`,
|
|
96
|
+
chromiumOptions.ignoreCertificateErrors
|
|
96
97
|
? '--ignore-certificate-errors'
|
|
97
98
|
: null,
|
|
98
|
-
...((
|
|
99
|
+
...((chromiumOptions === null || chromiumOptions === void 0 ? void 0 : chromiumOptions.disableWebSecurity)
|
|
99
100
|
? ['--disable-web-security']
|
|
100
101
|
: []),
|
|
102
|
+
(chromiumOptions === null || chromiumOptions === void 0 ? void 0 : chromiumOptions.userAgent)
|
|
103
|
+
? `--user-agent="${chromiumOptions.userAgent}"`
|
|
104
|
+
: null,
|
|
101
105
|
].filter(Boolean),
|
|
102
|
-
defaultViewport:
|
|
106
|
+
defaultViewport: viewport !== null && viewport !== void 0 ? viewport : {
|
|
103
107
|
height: 720,
|
|
104
108
|
width: 1280,
|
|
105
109
|
deviceScaleFactor: 1,
|
|
@@ -110,4 +114,21 @@ const openBrowser = async (browser, options) => {
|
|
|
110
114
|
browserInstances.push(browserInstance);
|
|
111
115
|
return browserInstance;
|
|
112
116
|
};
|
|
117
|
+
exports.internalOpenBrowser = internalOpenBrowser;
|
|
118
|
+
/**
|
|
119
|
+
* @description Opens a Chrome or Chromium browser instance.
|
|
120
|
+
* @see [Documentation](https://www.remotion.dev/docs/renderer/open-browser)
|
|
121
|
+
*/
|
|
122
|
+
const openBrowser = (browser, options) => {
|
|
123
|
+
const { browserExecutable, chromiumOptions, forceDeviceScaleFactor, shouldDumpIo, } = options !== null && options !== void 0 ? options : {};
|
|
124
|
+
return (0, exports.internalOpenBrowser)({
|
|
125
|
+
browser,
|
|
126
|
+
browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
|
|
127
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
128
|
+
forceDeviceScaleFactor,
|
|
129
|
+
indent: false,
|
|
130
|
+
shouldDumpIo: shouldDumpIo !== null && shouldDumpIo !== void 0 ? shouldDumpIo : false,
|
|
131
|
+
viewport: null,
|
|
132
|
+
});
|
|
133
|
+
};
|
|
113
134
|
exports.openBrowser = openBrowser;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.audioBitrateOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.audioBitrateOption = {
|
|
6
|
+
name: 'Audio Bitrate',
|
|
7
|
+
cliFlag: '--audio-bitrate',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFMPEGs", (0, jsx_runtime_1.jsx)("code", { children: "-b:a" }), " parameter should be used. FFMPEG may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps. Default: ", (0, jsx_runtime_1.jsx)("code", { children: "320k" })] })),
|
|
9
|
+
ssrName: 'audioBitrate',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#audiobitrate-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.crfOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.crfOption = {
|
|
6
|
+
name: 'CRF',
|
|
7
|
+
cliFlag: '--crf',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "No matter which codec you end up using, there's always a tradeoff between file size and video quality. You can control it by setting the so called CRF (Constant Rate Factor). The lower the number, the better the quality, the higher the number, the smaller the file is \u2013 of course at the cost of quality." })),
|
|
9
|
+
ssrName: 'crf',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enforceAudioOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.enforceAudioOption = {
|
|
6
|
+
name: 'Enforce Audio Track',
|
|
7
|
+
cliFlag: '--enforce-audio-track',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Render a silent audio track if there would be none otherwise." })),
|
|
9
|
+
ssrName: 'enforceAudioTrack',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/config#setenforceaudiotrack-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jpegQualityOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.jpegQualityOption = {
|
|
6
|
+
name: 'JPEG Quality',
|
|
7
|
+
cliFlag: '--jpeg-quality',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default: 80." })),
|
|
9
|
+
ssrName: 'jpegQuality',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#jpeg-quality',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.muteOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.muteOption = {
|
|
6
|
+
name: 'Muted',
|
|
7
|
+
cliFlag: '--muted',
|
|
8
|
+
description: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "The Audio of the video will be omitted." }),
|
|
9
|
+
ssrName: 'muted',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/using-audio/#muted-property',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scaleOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.scaleOption = {
|
|
6
|
+
name: 'Scale',
|
|
7
|
+
cliFlag: '--scale',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Scales the output by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ", (0, jsx_runtime_1.jsx)("code", { children: "1.5" }), ". Vector elements like fonts and HTML markups will be rendered with extra details."] })),
|
|
9
|
+
ssrName: 'scale',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/scaling',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.videoBitrate = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.videoBitrate = {
|
|
6
|
+
name: 'Video Bitrate',
|
|
7
|
+
cliFlag: '--video-bitrate',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFMPEGs", (0, jsx_runtime_1.jsx)("code", { children: "-b:v" }), " parameter should be used. FFMPEG may encode the video in a way that will not result in the exact video bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps."] })),
|
|
9
|
+
ssrName: 'videoBitrate',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#videobitrate-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.videoCodecOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.videoCodecOption = {
|
|
6
|
+
name: 'Codec',
|
|
7
|
+
cliFlag: '--codec',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM and ProRes support transparency." })),
|
|
9
|
+
ssrName: 'codec',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/encoding/#choosing-a-codec',
|
|
11
|
+
};
|
package/dist/overwrite.d.ts
CHANGED
|
File without changes
|
package/dist/overwrite.js
CHANGED
|
File without changes
|
package/dist/p-limit.d.ts
CHANGED
|
File without changes
|
package/dist/p-limit.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/perf.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
type PerfId = 'activate-target' | 'capture' | 'save' | 'extract-frame' | 'piping';
|
|
2
2
|
export declare const startPerfMeasure: (marker: PerfId) => number;
|
|
3
3
|
export declare const stopPerfMeasure: (id: number) => void;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const getPerf: () => string[];
|
|
5
5
|
export {};
|
package/dist/perf.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getPerf = exports.stopPerfMeasure = exports.startPerfMeasure = void 0;
|
|
4
4
|
const perf = {
|
|
5
5
|
'activate-target': [],
|
|
6
6
|
capture: [],
|
|
@@ -26,10 +26,12 @@ const stopPerfMeasure = (id) => {
|
|
|
26
26
|
delete map[id];
|
|
27
27
|
};
|
|
28
28
|
exports.stopPerfMeasure = stopPerfMeasure;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
const getPerf = () => {
|
|
30
|
+
return [
|
|
31
|
+
'Render performance:',
|
|
32
|
+
...Object.keys(perf).map((p) => {
|
|
33
|
+
return ` ${p} => ${perf[p].reduce((a, b) => a + b, 0) / perf[p].length} (n = ${perf[p].length})`;
|
|
34
|
+
}),
|
|
35
|
+
];
|
|
34
36
|
};
|
|
35
|
-
exports.
|
|
37
|
+
exports.getPerf = getPerf;
|
package/dist/pixel-format.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
3
|
-
export
|
|
3
|
+
export type PixelFormat = typeof validPixelFormats[number];
|
|
4
4
|
export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
|
|
5
|
-
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat, codec: Codec) =>
|
|
5
|
+
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
|