@remotion/renderer 4.0.0-fastlambda.8 → 4.0.0-forcepublish.7
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/dist/assets/calculate-asset-positions.d.ts +2 -2
- package/dist/assets/convert-assets-to-file-urls.d.ts +5 -4
- package/dist/assets/convert-assets-to-file-urls.js +2 -2
- package/dist/assets/download-and-map-assets-to-file.d.ts +15 -6
- package/dist/assets/download-and-map-assets-to-file.js +108 -44
- package/dist/assets/download-file.d.ts +10 -5
- package/dist/assets/download-file.js +18 -5
- package/dist/assets/download-map.d.ts +64 -0
- package/dist/assets/download-map.js +73 -0
- package/dist/assets/ffmpeg-volume-expression.d.ts +3 -3
- package/dist/assets/ffmpeg-volume-expression.js +16 -14
- package/dist/assets/flatten-volume-array.d.ts +1 -1
- package/dist/assets/get-audio-channels.d.ts +3 -4
- package/dist/assets/get-audio-channels.js +14 -4
- package/dist/assets/get-video-stream-duration.d.ts +4 -0
- package/dist/assets/get-video-stream-duration.js +59 -0
- package/dist/assets/read-file.js +4 -1
- package/dist/assets/types.d.ts +1 -1
- package/dist/browser/Browser.d.ts +60 -0
- package/dist/browser/Browser.js +218 -0
- package/dist/browser/BrowserConnector.d.ts +19 -0
- package/dist/browser/BrowserConnector.js +17 -0
- package/dist/browser/BrowserFetcher.d.ts +89 -0
- package/dist/browser/BrowserFetcher.js +510 -0
- package/dist/browser/BrowserPage.d.ts +74 -0
- package/dist/browser/BrowserPage.js +283 -0
- package/dist/browser/BrowserRunner.d.ts +39 -0
- package/dist/browser/BrowserRunner.js +308 -0
- package/dist/browser/Connection.d.ts +42 -0
- package/dist/browser/Connection.js +242 -0
- package/dist/browser/ConsoleMessage.d.ts +31 -0
- package/dist/browser/ConsoleMessage.js +48 -0
- package/dist/browser/DOMWorld.d.ts +52 -0
- package/dist/browser/DOMWorld.js +272 -0
- package/dist/browser/Errors.d.ts +25 -0
- package/dist/browser/Errors.js +35 -0
- package/dist/browser/EvalTypes.d.ts +27 -0
- package/dist/browser/EvalTypes.js +17 -0
- package/dist/browser/EventEmitter.d.ts +23 -0
- package/dist/browser/EventEmitter.js +53 -0
- package/dist/browser/ExecutionContext.d.ts +34 -0
- package/dist/browser/ExecutionContext.js +174 -0
- package/dist/browser/FrameManager.d.ts +93 -0
- package/dist/browser/FrameManager.js +496 -0
- package/dist/browser/HTTPRequest.d.ts +28 -0
- package/dist/browser/HTTPRequest.js +37 -0
- package/dist/browser/HTTPResponse.d.ts +21 -0
- package/dist/browser/HTTPResponse.js +41 -0
- package/dist/browser/JSHandle.d.ts +35 -0
- package/dist/browser/JSHandle.js +90 -0
- package/dist/browser/LaunchOptions.d.ts +37 -0
- package/dist/browser/LaunchOptions.js +17 -0
- package/dist/browser/Launcher.d.ts +9 -0
- package/dist/browser/Launcher.js +504 -0
- package/dist/browser/LifecycleWatcher.d.ts +29 -0
- package/dist/browser/LifecycleWatcher.js +180 -0
- package/dist/browser/NetworkEventManager.d.ts +33 -0
- package/dist/browser/NetworkEventManager.js +81 -0
- package/dist/browser/NetworkManager.d.ts +34 -0
- package/dist/browser/NetworkManager.js +231 -0
- package/dist/browser/NodeWebSocketTransport.d.ts +17 -0
- package/dist/browser/NodeWebSocketTransport.js +87 -0
- package/dist/browser/Product.d.ts +16 -0
- package/dist/browser/Product.js +17 -0
- package/dist/browser/PuppeteerNode.d.ts +40 -0
- package/dist/browser/PuppeteerNode.js +81 -0
- package/dist/browser/PuppeteerViewport.d.ts +5 -0
- package/dist/browser/PuppeteerViewport.js +2 -0
- package/dist/browser/ScreenshotOptions.d.ts +14 -0
- package/dist/browser/ScreenshotOptions.js +2 -0
- package/dist/browser/Target.d.ts +61 -0
- package/dist/browser/Target.js +146 -0
- package/dist/browser/TaskQueue.d.ts +20 -0
- package/dist/browser/TaskQueue.js +47 -0
- package/dist/browser/TimeoutSettings.d.ts +24 -0
- package/dist/browser/TimeoutSettings.js +62 -0
- package/dist/browser/assert.d.ts +1 -0
- package/dist/browser/assert.js +9 -0
- package/dist/browser/create-browser-fetcher.d.ts +17 -0
- package/dist/browser/create-browser-fetcher.js +119 -0
- package/dist/browser/devtools-commands.d.ts +270 -0
- package/dist/browser/devtools-commands.js +2 -0
- package/dist/browser/devtools-types.d.ts +1122 -0
- package/dist/browser/devtools-types.js +2 -0
- package/dist/browser/get-download-destination.d.ts +1 -0
- package/dist/browser/get-download-destination.js +38 -0
- package/dist/browser/mitt/index.d.ts +22 -0
- package/dist/browser/mitt/index.js +49 -0
- package/dist/browser/node.d.ts +2 -0
- package/dist/browser/node.js +9 -0
- package/dist/browser/revisions.d.ts +21 -0
- package/dist/browser/revisions.js +22 -0
- package/dist/browser/util.d.ts +47 -0
- package/dist/browser/util.js +169 -0
- package/dist/browser-executable.d.ts +1 -0
- package/dist/browser-executable.js +2 -0
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +4 -0
- package/dist/calculate-ffmpeg-filters.d.ts +1 -1
- package/dist/calculate-ffmpeg-filters.js +2 -2
- package/dist/calculate-sar-dar-pixels.d.ts +9 -0
- package/dist/calculate-sar-dar-pixels.js +19 -0
- package/dist/can-use-parallel-encoding.d.ts +1 -1
- package/dist/can-use-parallel-encoding.js +2 -2
- package/dist/codec-supports-media.d.ts +7 -0
- package/dist/codec-supports-media.js +49 -0
- package/dist/codec.d.ts +4 -0
- package/dist/codec.js +16 -0
- package/dist/combine-videos.d.ts +4 -2
- package/dist/combine-videos.js +19 -5
- package/dist/compress-assets.d.ts +7 -0
- package/dist/compress-assets.js +25 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
- package/dist/convert-to-pcm.d.ts +1 -1
- package/dist/create-ffmpeg-complex-filter.d.ts +3 -5
- package/dist/create-ffmpeg-complex-filter.js +2 -11
- package/dist/create-ffmpeg-merge-filter.js +3 -3
- package/dist/create-silent-audio.d.ts +1 -1
- package/dist/crf.d.ts +5 -0
- package/dist/crf.js +64 -0
- package/dist/cycle-browser-tabs.d.ts +3 -2
- package/dist/cycle-browser-tabs.js +9 -2
- package/dist/delay-render-embedded-stack.d.ts +1 -1
- package/dist/ensure-frames-in-order.d.ts +1 -1
- package/dist/ensure-frames-in-order.js +3 -2
- package/dist/ensure-presentation-timestamp.d.ts +2 -0
- package/dist/ensure-presentation-timestamp.js +69 -0
- package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
- package/dist/error-handling/handle-javascript-exception.js +3 -4
- package/dist/error-handling/symbolicate-error.d.ts +1 -1
- package/dist/error-handling/symbolicateable-error.d.ts +1 -1
- package/dist/extract-frame-from-video.d.ts +16 -0
- package/dist/extract-frame-from-video.js +254 -0
- package/dist/ffmpeg-executable.d.ts +1 -0
- package/dist/ffmpeg-executable.js +2 -0
- package/dist/ffmpeg-filter-file.d.ts +2 -1
- package/dist/ffmpeg-filter-file.js +4 -6
- package/dist/frame-range.d.ts +2 -0
- package/dist/frame-range.js +49 -0
- package/dist/frame-to-ffmpeg-timestamp.d.ts +1 -0
- package/dist/frame-to-ffmpeg-timestamp.js +8 -0
- package/dist/get-audio-codec-name.d.ts +1 -1
- package/dist/get-audio-codec-name.js +2 -2
- package/dist/get-browser-instance.d.ts +4 -3
- package/dist/get-browser-instance.js +2 -2
- package/dist/get-codec-name.d.ts +1 -1
- package/dist/get-codec-name.js +5 -2
- package/dist/get-compositions.d.ts +15 -5
- package/dist/get-compositions.js +35 -11
- package/dist/get-duration-from-frame-range.d.ts +1 -2
- package/dist/get-duration-from-frame-range.js +13 -9
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/get-extension-from-codec.js +5 -0
- package/dist/get-extension-of-filename.d.ts +1 -1
- package/dist/get-extension-of-filename.js +3 -0
- package/dist/get-frame-padded-index.d.ts +14 -0
- package/dist/get-frame-padded-index.js +33 -0
- package/dist/get-frame-to-render.d.ts +1 -1
- package/dist/get-local-browser-executable.d.ts +2 -1
- package/dist/get-local-browser-executable.js +7 -5
- package/dist/get-port.js +30 -37
- package/dist/get-prores-profile-name.d.ts +2 -1
- package/dist/get-video-info.d.ts +3 -0
- package/dist/get-video-info.js +49 -0
- package/dist/get-video-threads-flag.d.ts +1 -0
- package/dist/get-video-threads-flag.js +18 -0
- package/dist/guess-extension-for-media.d.ts +1 -0
- package/dist/guess-extension-for-media.js +27 -0
- package/dist/image-format.d.ts +6 -1
- package/dist/image-format.js +25 -1
- package/dist/index.d.ts +95 -20
- package/dist/index.js +93 -6
- package/dist/is-audio-codec.d.ts +2 -0
- package/dist/is-audio-codec.js +7 -0
- package/dist/is-beyond-last-frame.d.ts +3 -0
- package/dist/is-beyond-last-frame.js +12 -0
- package/dist/last-frame-from-video-cache.d.ts +17 -0
- package/dist/last-frame-from-video-cache.js +55 -0
- package/dist/log-level.d.ts +4 -0
- package/dist/log-level.js +15 -0
- package/dist/make-cancel-signal.d.ts +7 -0
- package/dist/make-cancel-signal.js +25 -0
- package/dist/merge-audio-track.d.ts +3 -1
- package/dist/merge-audio-track.js +14 -8
- package/dist/mime-db.d.ts +6 -0
- package/dist/mime-db.js +8636 -0
- package/dist/mime-types.d.ts +2 -0
- package/dist/mime-types.js +89 -0
- package/dist/offthread-video-server.d.ts +17 -0
- package/dist/offthread-video-server.js +86 -0
- package/dist/open-browser.d.ts +10 -8
- package/dist/open-browser.js +37 -32
- package/dist/overwrite.d.ts +1 -0
- package/dist/overwrite.js +4 -0
- package/dist/perf.d.ts +5 -0
- package/dist/perf.js +35 -0
- package/dist/pixel-format.d.ts +5 -0
- package/dist/pixel-format.js +26 -0
- package/dist/prepare-server.d.ts +14 -2
- package/dist/prepare-server.js +38 -5
- package/dist/preprocess-audio-track.d.ts +5 -2
- package/dist/preprocess-audio-track.js +3 -3
- package/dist/prespawn-ffmpeg.d.ts +7 -1
- package/dist/prespawn-ffmpeg.js +20 -16
- package/dist/prestitcher-memory-usage.d.ts +12 -0
- package/dist/prestitcher-memory-usage.js +30 -0
- package/dist/prores-profile.d.ts +5 -0
- package/dist/prores-profile.js +23 -0
- package/dist/provide-screenshot.d.ts +5 -4
- package/dist/provide-screenshot.js +1 -2
- package/dist/puppeteer-evaluate.d.ts +1 -1
- package/dist/puppeteer-evaluate.js +3 -4
- package/dist/puppeteer-screenshot.d.ts +4 -2
- package/dist/puppeteer-screenshot.js +7 -5
- package/dist/quality.d.ts +1 -0
- package/dist/quality.js +21 -0
- package/dist/render-frames.d.ts +24 -8
- package/dist/render-frames.js +137 -63
- package/dist/render-media.d.ts +36 -9
- package/dist/render-media.js +191 -70
- package/dist/render-still.d.ts +25 -7
- package/dist/render-still.js +75 -24
- package/dist/screenshot-dom-element.d.ts +7 -7
- package/dist/screenshot-dom-element.js +3 -6
- package/dist/screenshot-task.d.ts +4 -2
- package/dist/screenshot-task.js +36 -23
- package/dist/seek-to-frame.d.ts +2 -2
- package/dist/seek-to-frame.js +2 -2
- package/dist/serve-handler/index.d.ts +4 -0
- package/dist/serve-handler/index.js +204 -0
- package/dist/serve-handler/is-path-inside.d.ts +1 -0
- package/dist/serve-handler/is-path-inside.js +27 -0
- package/dist/serve-handler/range-parser.d.ts +13 -0
- package/dist/serve-handler/range-parser.js +57 -0
- package/dist/serve-static.d.ts +11 -3
- package/dist/serve-static.js +37 -7
- package/dist/set-props-and-env.d.ts +6 -2
- package/dist/set-props-and-env.js +48 -12
- package/dist/stitch-frames-to-video.d.ts +17 -5
- package/dist/stitch-frames-to-video.js +129 -45
- package/dist/stringify-ffmpeg-filter.d.ts +2 -2
- package/dist/stringify-ffmpeg-filter.js +12 -7
- package/dist/symbolicate-stacktrace.d.ts +1 -1
- package/dist/symbolicate-stacktrace.js +3 -3
- package/dist/tmp-dir.js +5 -1
- package/dist/truthy.d.ts +3 -0
- package/dist/truthy.js +7 -0
- package/dist/types.d.ts +1 -1
- package/dist/validate-concurrency.d.ts +1 -0
- package/dist/validate-concurrency.js +24 -0
- package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
- package/dist/validate-even-dimensions-with-codec.js +2 -2
- package/dist/validate-every-nth-frame.d.ts +1 -0
- package/dist/validate-every-nth-frame.js +21 -0
- package/dist/validate-ffmpeg.js +2 -3
- package/dist/validate-frame.d.ts +1 -0
- package/dist/validate-frame.js +24 -0
- package/dist/validate-opengl-renderer.d.ts +5 -0
- package/dist/validate-opengl-renderer.js +15 -0
- package/dist/validate-output-filename.d.ts +1 -1
- package/dist/validate-output-filename.js +5 -0
- package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
- package/dist/wait-for-symbolication-error-to-be-done.js +34 -0
- package/dist/ws/ws-types.d.ts +14 -0
- package/dist/ws/ws-types.js +10 -0
- package/package.json +13 -16
- package/tsconfig.json +2 -2
- package/types/ws/index.d.ts +509 -0
- package/vitest.config.ts +8 -0
- package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
- package/dist/assets/calculate-asset-positions.js.map +0 -1
- package/dist/assets/calculate-atempo.d.ts.map +0 -1
- package/dist/assets/calculate-atempo.js.map +0 -1
- package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
- package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
- package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
- package/dist/assets/download-file.d.ts.map +0 -1
- package/dist/assets/download-file.js.map +0 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
- package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
- package/dist/assets/flatten-volume-array.d.ts.map +0 -1
- package/dist/assets/flatten-volume-array.js.map +0 -1
- package/dist/assets/get-audio-channels.d.ts.map +0 -1
- package/dist/assets/get-audio-channels.js.map +0 -1
- package/dist/assets/read-file.d.ts.map +0 -1
- package/dist/assets/read-file.js.map +0 -1
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
- package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
- package/dist/assets/sanitize-filename.d.ts.map +0 -1
- package/dist/assets/sanitize-filename.js.map +0 -1
- package/dist/assets/sanitize-filepath.d.ts.map +0 -1
- package/dist/assets/sanitize-filepath.js.map +0 -1
- package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
- package/dist/assets/truncate-utf8-bytes.js.map +0 -1
- package/dist/assets/types.d.ts.map +0 -1
- package/dist/assets/types.js.map +0 -1
- package/dist/browser-log.d.ts.map +0 -1
- package/dist/browser-log.js.map +0 -1
- package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
- package/dist/calculate-ffmpeg-filters.js.map +0 -1
- package/dist/can-use-parallel-encoding.d.ts.map +0 -1
- package/dist/can-use-parallel-encoding.js.map +0 -1
- package/dist/chunk.d.ts.map +0 -1
- package/dist/chunk.js.map +0 -1
- package/dist/combine-videos.d.ts.map +0 -1
- package/dist/combine-videos.js.map +0 -1
- package/dist/convert-to-pcm.d.ts.map +0 -1
- package/dist/convert-to-pcm.js.map +0 -1
- package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
- package/dist/create-ffmpeg-complex-filter.js.map +0 -1
- package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
- package/dist/create-ffmpeg-merge-filter.js.map +0 -1
- package/dist/create-silent-audio.d.ts.map +0 -1
- package/dist/create-silent-audio.js.map +0 -1
- package/dist/cycle-browser-tabs.d.ts.map +0 -1
- package/dist/cycle-browser-tabs.js.map +0 -1
- package/dist/delay-render-embedded-stack.d.ts.map +0 -1
- package/dist/delay-render-embedded-stack.js.map +0 -1
- package/dist/delete-directory.d.ts.map +0 -1
- package/dist/delete-directory.js.map +0 -1
- package/dist/ensure-frames-in-order.d.ts.map +0 -1
- package/dist/ensure-frames-in-order.js.map +0 -1
- package/dist/ensure-output-directory.d.ts.map +0 -1
- package/dist/ensure-output-directory.js.map +0 -1
- package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
- package/dist/error-handling/handle-javascript-exception.js.map +0 -1
- package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
- package/dist/error-handling/symbolicate-error.js.map +0 -1
- package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
- package/dist/error-handling/symbolicateable-error.js.map +0 -1
- package/dist/ffmpeg-filter-file.d.ts.map +0 -1
- package/dist/ffmpeg-filter-file.js.map +0 -1
- package/dist/ffmpeg-flags.d.ts.map +0 -1
- package/dist/ffmpeg-flags.js.map +0 -1
- package/dist/get-audio-codec-name.d.ts.map +0 -1
- package/dist/get-audio-codec-name.js.map +0 -1
- package/dist/get-browser-instance.d.ts.map +0 -1
- package/dist/get-browser-instance.js.map +0 -1
- package/dist/get-codec-name.d.ts.map +0 -1
- package/dist/get-codec-name.js.map +0 -1
- package/dist/get-compositions.d.ts.map +0 -1
- package/dist/get-compositions.js.map +0 -1
- package/dist/get-concurrency.d.ts.map +0 -1
- package/dist/get-concurrency.js.map +0 -1
- package/dist/get-duration-from-frame-range.d.ts.map +0 -1
- package/dist/get-duration-from-frame-range.js.map +0 -1
- package/dist/get-extension-from-codec.d.ts.map +0 -1
- package/dist/get-extension-from-codec.js.map +0 -1
- package/dist/get-frame-to-render.d.ts.map +0 -1
- package/dist/get-frame-to-render.js.map +0 -1
- package/dist/get-local-browser-executable.d.ts.map +0 -1
- package/dist/get-local-browser-executable.js.map +0 -1
- package/dist/get-port.d.ts.map +0 -1
- package/dist/get-port.js.map +0 -1
- package/dist/get-prores-profile-name.d.ts.map +0 -1
- package/dist/get-prores-profile-name.js.map +0 -1
- package/dist/image-format.d.ts.map +0 -1
- package/dist/image-format.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/is-serve-url.d.ts.map +0 -1
- package/dist/is-serve-url.js.map +0 -1
- package/dist/legacy-webpack-config.d.ts.map +0 -1
- package/dist/legacy-webpack-config.js.map +0 -1
- package/dist/make-assets-download-dir.d.ts +0 -1
- package/dist/make-assets-download-dir.d.ts.map +0 -1
- package/dist/make-assets-download-dir.js +0 -8
- package/dist/make-assets-download-dir.js.map +0 -1
- package/dist/merge-audio-track.d.ts.map +0 -1
- package/dist/merge-audio-track.js.map +0 -1
- package/dist/normalize-serve-url.d.ts.map +0 -1
- package/dist/normalize-serve-url.js.map +0 -1
- package/dist/open-browser.d.ts.map +0 -1
- package/dist/open-browser.js.map +0 -1
- package/dist/p-limit.d.ts.map +0 -1
- package/dist/p-limit.js.map +0 -1
- package/dist/parse-browser-error-stack.d.ts.map +0 -1
- package/dist/parse-browser-error-stack.js.map +0 -1
- package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
- package/dist/parse-ffmpeg-progress.js.map +0 -1
- package/dist/pool.d.ts.map +0 -1
- package/dist/pool.js.map +0 -1
- package/dist/prepare-server.d.ts.map +0 -1
- package/dist/prepare-server.js.map +0 -1
- package/dist/preprocess-audio-track.d.ts.map +0 -1
- package/dist/preprocess-audio-track.js.map +0 -1
- package/dist/prespawn-ffmpeg.d.ts.map +0 -1
- package/dist/prespawn-ffmpeg.js.map +0 -1
- package/dist/provide-screenshot.d.ts.map +0 -1
- package/dist/provide-screenshot.js.map +0 -1
- package/dist/puppeteer-evaluate.d.ts.map +0 -1
- package/dist/puppeteer-evaluate.js.map +0 -1
- package/dist/puppeteer-screenshot.d.ts.map +0 -1
- package/dist/puppeteer-screenshot.js.map +0 -1
- package/dist/render-frames.d.ts.map +0 -1
- package/dist/render-frames.js.map +0 -1
- package/dist/render-media.d.ts.map +0 -1
- package/dist/render-media.js.map +0 -1
- package/dist/render-still.d.ts.map +0 -1
- package/dist/render-still.js.map +0 -1
- package/dist/resolve-asset-src.d.ts.map +0 -1
- package/dist/resolve-asset-src.js.map +0 -1
- package/dist/sample-rate.d.ts.map +0 -1
- package/dist/sample-rate.js.map +0 -1
- package/dist/screenshot-dom-element.d.ts.map +0 -1
- package/dist/screenshot-dom-element.js.map +0 -1
- package/dist/screenshot-task.d.ts.map +0 -1
- package/dist/screenshot-task.js.map +0 -1
- package/dist/seek-to-frame.d.ts.map +0 -1
- package/dist/seek-to-frame.js.map +0 -1
- package/dist/serve-static.d.ts.map +0 -1
- package/dist/serve-static.js.map +0 -1
- package/dist/set-props-and-env.d.ts.map +0 -1
- package/dist/set-props-and-env.js.map +0 -1
- package/dist/stitch-frames-to-video.d.ts.map +0 -1
- package/dist/stitch-frames-to-video.js.map +0 -1
- package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
- package/dist/stringify-ffmpeg-filter.js.map +0 -1
- package/dist/symbolicate-stacktrace.d.ts.map +0 -1
- package/dist/symbolicate-stacktrace.js.map +0 -1
- package/dist/tmp-dir.d.ts.map +0 -1
- package/dist/tmp-dir.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
- package/dist/validate-even-dimensions-with-codec.js.map +0 -1
- package/dist/validate-ffmpeg.d.ts.map +0 -1
- package/dist/validate-ffmpeg.js.map +0 -1
- package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
- package/dist/validate-puppeteer-timeout.js.map +0 -1
- package/dist/validate-scale.d.ts.map +0 -1
- package/dist/validate-scale.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { DownloadMap } from './assets/download-map';
|
|
2
|
+
export declare const makeFfmpegFilterFile: (complexFilter: string, downloadMap: DownloadMap) => Promise<{
|
|
2
3
|
file: string;
|
|
3
4
|
cleanup: () => void;
|
|
4
5
|
}>;
|
|
@@ -8,16 +8,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.makeFfmpegFilterFile = void 0;
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const tempPath = (0, tmp_dir_1.tmpDir)('remotion-complex-filter');
|
|
15
|
-
const filterFile = path_1.default.join(tempPath, 'complex-filter.txt');
|
|
11
|
+
const makeFfmpegFilterFile = async (complexFilter, downloadMap) => {
|
|
12
|
+
const random = Math.random().toString().replace('.', '');
|
|
13
|
+
const filterFile = path_1.default.join(downloadMap.complexFilter, 'complex-filter-' + random + '.txt');
|
|
16
14
|
await fs_1.default.promises.writeFile(filterFile, complexFilter);
|
|
17
15
|
return {
|
|
18
16
|
file: filterFile,
|
|
19
17
|
cleanup: () => {
|
|
20
|
-
|
|
18
|
+
fs_1.default.unlinkSync(filterFile);
|
|
21
19
|
},
|
|
22
20
|
};
|
|
23
21
|
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateFrameRange = void 0;
|
|
4
|
+
const validateFrameRange = (frameRange) => {
|
|
5
|
+
if (frameRange === null) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (typeof frameRange === 'number') {
|
|
9
|
+
if (frameRange < 0) {
|
|
10
|
+
throw new TypeError('Frame must be a non-negative number, got ' + frameRange);
|
|
11
|
+
}
|
|
12
|
+
if (!Number.isFinite(frameRange)) {
|
|
13
|
+
throw new TypeError('Frame must be a finite number, got ' + frameRange);
|
|
14
|
+
}
|
|
15
|
+
if (!Number.isInteger(frameRange)) {
|
|
16
|
+
throw new Error(`Frame must be an integer, but got a float (${frameRange})`);
|
|
17
|
+
}
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(frameRange)) {
|
|
21
|
+
if (frameRange.length !== 2) {
|
|
22
|
+
throw new TypeError('Frame range must be a tuple, got an array with length ' +
|
|
23
|
+
frameRange.length);
|
|
24
|
+
}
|
|
25
|
+
for (const value of frameRange) {
|
|
26
|
+
if (typeof value !== 'number') {
|
|
27
|
+
throw new Error(`Each value of frame range must be a number, but got ${typeof value} (${JSON.stringify(value)})`);
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isFinite(value)) {
|
|
30
|
+
throw new TypeError('Each value of frame range must be finite, but got ' + value);
|
|
31
|
+
}
|
|
32
|
+
if (!Number.isInteger(value)) {
|
|
33
|
+
throw new Error(`Each value of frame range must be an integer, but got a float (${value})`);
|
|
34
|
+
}
|
|
35
|
+
if (value < 0) {
|
|
36
|
+
throw new Error(`Each value of frame range must be non-negative, but got ${value}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const [first, second] = frameRange;
|
|
40
|
+
if (second < first) {
|
|
41
|
+
throw new Error('The second value of frame range must be not smaller than the first one, but got ' +
|
|
42
|
+
frameRange.join('-'));
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
throw new TypeError('Frame range must be a number or a tuple of numbers, but got object of type ' +
|
|
47
|
+
typeof frameRange);
|
|
48
|
+
};
|
|
49
|
+
exports.validateFrameRange = validateFrameRange;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const frameToFfmpegTimestamp: (time: number) => string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.frameToFfmpegTimestamp = void 0;
|
|
4
|
+
const frameToFfmpegTimestamp = (time) => {
|
|
5
|
+
// We ceil because FFMPEG seeks to the closest frame BEFORE the position
|
|
6
|
+
return (Math.ceil(time * 1000000) / 1000).toFixed(3) + 'ms';
|
|
7
|
+
};
|
|
8
|
+
exports.frameToFfmpegTimestamp = frameToFfmpegTimestamp;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Codec } from '
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
2
|
export declare const getAudioCodecName: (codec: Codec) => string | null;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAudioCodecName = void 0;
|
|
4
|
-
const
|
|
4
|
+
const is_audio_codec_1 = require("./is-audio-codec");
|
|
5
5
|
const getAudioCodecName = (codec) => {
|
|
6
|
-
if (!
|
|
6
|
+
if (!(0, is_audio_codec_1.isAudioCodec)(codec)) {
|
|
7
7
|
// The mkv container supports WAV, but MP4 does only support
|
|
8
8
|
// AAC. Choose MKV codec for better quality because we can put in lossless audio
|
|
9
9
|
if (codec === 'h264-mkv') {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { BrowserExecutable } from './browser-executable';
|
|
2
|
+
import type { Browser } from './browser/Browser';
|
|
3
|
+
import type { Page } from './browser/BrowserPage';
|
|
4
|
+
import type { ChromiumOptions } from './open-browser';
|
|
4
5
|
export declare const getPageAndCleanupFn: ({ passedInInstance, browserExecutable, chromiumOptions, }: {
|
|
5
6
|
passedInInstance: Browser | undefined;
|
|
6
7
|
browserExecutable: BrowserExecutable | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPageAndCleanupFn = void 0;
|
|
4
|
-
const
|
|
4
|
+
const browser_1 = require("./browser");
|
|
5
5
|
const open_browser_1 = require("./open-browser");
|
|
6
6
|
const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromiumOptions, }) => {
|
|
7
7
|
if (passedInInstance) {
|
|
@@ -17,7 +17,7 @@ const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromi
|
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
const browserInstance = await (0, open_browser_1.openBrowser)(
|
|
20
|
+
const browserInstance = await (0, open_browser_1.openBrowser)(browser_1.DEFAULT_BROWSER, {
|
|
21
21
|
browserExecutable,
|
|
22
22
|
chromiumOptions,
|
|
23
23
|
});
|
package/dist/get-codec-name.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Codec } from '
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
2
|
export declare const getCodecName: (codec: Codec) => string | null;
|
package/dist/get-codec-name.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCodecName = void 0;
|
|
4
|
-
const
|
|
4
|
+
const is_audio_codec_1 = require("./is-audio-codec");
|
|
5
5
|
const getCodecName = (codec) => {
|
|
6
|
-
if (
|
|
6
|
+
if ((0, is_audio_codec_1.isAudioCodec)(codec)) {
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
9
|
if (codec === 'h264' || codec === 'h264-mkv') {
|
|
@@ -21,6 +21,9 @@ const getCodecName = (codec) => {
|
|
|
21
21
|
if (codec === 'prores') {
|
|
22
22
|
return 'prores_ks';
|
|
23
23
|
}
|
|
24
|
+
if (codec === 'gif') {
|
|
25
|
+
return 'gif';
|
|
26
|
+
}
|
|
24
27
|
throw new TypeError(`Cannot find FFMPEG codec for ${codec}`);
|
|
25
28
|
};
|
|
26
29
|
exports.getCodecName = getCodecName;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { TCompMetadata } from 'remotion';
|
|
2
|
+
import type { DownloadMap } from './assets/download-map';
|
|
3
|
+
import type { BrowserExecutable } from './browser-executable';
|
|
4
|
+
import type { BrowserLog } from './browser-log';
|
|
5
|
+
import type { Browser } from './browser/Browser';
|
|
6
|
+
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
7
|
+
import type { ChromiumOptions } from './open-browser';
|
|
5
8
|
declare type GetCompositionsConfig = {
|
|
6
9
|
inputProps?: object | null;
|
|
7
10
|
envVariables?: Record<string, string>;
|
|
@@ -10,6 +13,13 @@ declare type GetCompositionsConfig = {
|
|
|
10
13
|
browserExecutable?: BrowserExecutable;
|
|
11
14
|
timeoutInMilliseconds?: number;
|
|
12
15
|
chromiumOptions?: ChromiumOptions;
|
|
16
|
+
ffmpegExecutable?: FfmpegExecutable;
|
|
17
|
+
ffprobeExecutable?: FfmpegExecutable;
|
|
18
|
+
port?: number | null;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Only for Remotion internal usage
|
|
21
|
+
*/
|
|
22
|
+
downloadMap?: DownloadMap;
|
|
13
23
|
};
|
|
14
|
-
export declare const getCompositions: (serveUrlOrWebpackUrl: string, config?: GetCompositionsConfig
|
|
24
|
+
export declare const getCompositions: (serveUrlOrWebpackUrl: string, config?: GetCompositionsConfig) => Promise<TCompMetadata[]>;
|
|
15
25
|
export {};
|
package/dist/get-compositions.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCompositions = void 0;
|
|
4
|
+
const download_map_1 = require("./assets/download-map");
|
|
4
5
|
const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
|
|
5
6
|
const get_browser_instance_1 = require("./get-browser-instance");
|
|
6
7
|
const prepare_server_1 = require("./prepare-server");
|
|
7
8
|
const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
|
|
8
9
|
const set_props_and_env_1 = require("./set-props-and-env");
|
|
9
10
|
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
10
|
-
const innerGetCompositions = async (serveUrl, page, config) => {
|
|
11
|
+
const innerGetCompositions = async (serveUrl, page, config, proxyPort) => {
|
|
11
12
|
if (config === null || config === void 0 ? void 0 : config.onBrowserLog) {
|
|
12
13
|
page.on('console', (log) => {
|
|
13
14
|
var _a;
|
|
14
15
|
(_a = config.onBrowserLog) === null || _a === void 0 ? void 0 : _a.call(config, {
|
|
15
16
|
stackTrace: log.stackTrace(),
|
|
16
|
-
text: log.text
|
|
17
|
-
type: log.type
|
|
17
|
+
text: log.text,
|
|
18
|
+
type: log.type,
|
|
18
19
|
});
|
|
19
20
|
});
|
|
20
21
|
}
|
|
@@ -26,6 +27,10 @@ const innerGetCompositions = async (serveUrl, page, config) => {
|
|
|
26
27
|
serveUrl,
|
|
27
28
|
initialFrame: 0,
|
|
28
29
|
timeoutInMilliseconds: config === null || config === void 0 ? void 0 : config.timeoutInMilliseconds,
|
|
30
|
+
proxyPort,
|
|
31
|
+
retriesRemaining: 2,
|
|
32
|
+
audioEnabled: false,
|
|
33
|
+
videoEnabled: false,
|
|
29
34
|
});
|
|
30
35
|
await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
|
|
31
36
|
page,
|
|
@@ -37,7 +42,7 @@ const innerGetCompositions = async (serveUrl, page, config) => {
|
|
|
37
42
|
frame: null,
|
|
38
43
|
args: [],
|
|
39
44
|
});
|
|
40
|
-
await page.waitForFunction('window.ready === true');
|
|
45
|
+
await page.waitForFunction(page.browser, 'window.ready === true');
|
|
41
46
|
const result = await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
|
|
42
47
|
pageFunction: () => {
|
|
43
48
|
return window.getStaticCompositions();
|
|
@@ -49,28 +54,47 @@ const innerGetCompositions = async (serveUrl, page, config) => {
|
|
|
49
54
|
return result;
|
|
50
55
|
};
|
|
51
56
|
const getCompositions = async (serveUrlOrWebpackUrl, config) => {
|
|
52
|
-
var _a, _b;
|
|
53
|
-
const
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
const downloadMap = (_a = config === null || config === void 0 ? void 0 : config.downloadMap) !== null && _a !== void 0 ? _a : (0, download_map_1.makeDownloadMap)();
|
|
54
59
|
const { page, cleanup } = await (0, get_browser_instance_1.getPageAndCleanupFn)({
|
|
55
60
|
passedInInstance: config === null || config === void 0 ? void 0 : config.puppeteerInstance,
|
|
56
|
-
browserExecutable: (
|
|
57
|
-
chromiumOptions: (
|
|
61
|
+
browserExecutable: (_b = config === null || config === void 0 ? void 0 : config.browserExecutable) !== null && _b !== void 0 ? _b : null,
|
|
62
|
+
chromiumOptions: (_c = config === null || config === void 0 ? void 0 : config.chromiumOptions) !== null && _c !== void 0 ? _c : {},
|
|
58
63
|
});
|
|
59
64
|
return new Promise((resolve, reject) => {
|
|
65
|
+
var _a, _b, _c;
|
|
66
|
+
const onError = (err) => reject(err);
|
|
60
67
|
const cleanupPageError = (0, handle_javascript_exception_1.handleJavascriptException)({
|
|
61
68
|
page,
|
|
62
69
|
frame: null,
|
|
63
|
-
onError
|
|
70
|
+
onError,
|
|
64
71
|
});
|
|
65
|
-
|
|
72
|
+
let close = null;
|
|
73
|
+
(0, prepare_server_1.prepareServer)({
|
|
74
|
+
webpackConfigOrServeUrl: serveUrlOrWebpackUrl,
|
|
75
|
+
onDownload: () => undefined,
|
|
76
|
+
onError,
|
|
77
|
+
ffmpegExecutable: (_a = config === null || config === void 0 ? void 0 : config.ffmpegExecutable) !== null && _a !== void 0 ? _a : null,
|
|
78
|
+
ffprobeExecutable: (_b = config === null || config === void 0 ? void 0 : config.ffprobeExecutable) !== null && _b !== void 0 ? _b : null,
|
|
79
|
+
port: (_c = config === null || config === void 0 ? void 0 : config.port) !== null && _c !== void 0 ? _c : null,
|
|
80
|
+
downloadMap,
|
|
81
|
+
})
|
|
82
|
+
.then(({ serveUrl, closeServer, offthreadPort }) => {
|
|
83
|
+
close = closeServer;
|
|
84
|
+
return innerGetCompositions(serveUrl, page, config !== null && config !== void 0 ? config : {}, offthreadPort);
|
|
85
|
+
})
|
|
66
86
|
.then((comp) => resolve(comp))
|
|
67
87
|
.catch((err) => {
|
|
68
88
|
reject(err);
|
|
69
89
|
})
|
|
70
90
|
.finally(() => {
|
|
71
91
|
cleanup();
|
|
72
|
-
|
|
92
|
+
close === null || close === void 0 ? void 0 : close();
|
|
73
93
|
cleanupPageError();
|
|
94
|
+
// Clean download map if it was not passed in
|
|
95
|
+
if (!(config === null || config === void 0 ? void 0 : config.downloadMap)) {
|
|
96
|
+
(0, download_map_1.cleanDownloadMap)(downloadMap);
|
|
97
|
+
}
|
|
74
98
|
});
|
|
75
99
|
});
|
|
76
100
|
};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const getDurationFromFrameRange: (frameRange: FrameRange | null, durationInFrames: number) => number;
|
|
1
|
+
export declare const getFramesToRender: (frameRange: [number, number], everyNthFrame: number) => number[];
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
if (
|
|
6
|
-
|
|
3
|
+
exports.getFramesToRender = void 0;
|
|
4
|
+
const getFramesToRender = (frameRange, everyNthFrame) => {
|
|
5
|
+
if (everyNthFrame === 0) {
|
|
6
|
+
throw new Error('everyNthFrame cannot be 0');
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
return new Array(frameRange[1] - frameRange[0] + 1)
|
|
9
|
+
.fill(true)
|
|
10
|
+
.map((_, index) => {
|
|
11
|
+
return index + frameRange[0];
|
|
12
|
+
})
|
|
13
|
+
.filter((index) => {
|
|
14
|
+
return index % everyNthFrame === 0;
|
|
15
|
+
});
|
|
12
16
|
};
|
|
13
|
-
exports.
|
|
17
|
+
exports.getFramesToRender = getFramesToRender;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Codec } from '
|
|
2
|
-
export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
|
+
export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "gif" | "webm" | "mp4" | "mov" | "mkv";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getExtensionOfFilename: (filename: string) => string | null;
|
|
1
|
+
export declare const getExtensionOfFilename: (filename: string | null) => string | null;
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getExtensionOfFilename = void 0;
|
|
4
4
|
const getExtensionOfFilename = (filename) => {
|
|
5
|
+
if (filename === null) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
5
8
|
const filenameArr = filename.split('.');
|
|
6
9
|
const hasExtension = filenameArr.length >= 2;
|
|
7
10
|
const filenameArrLength = filenameArr.length;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type CountType = 'from-zero' | 'actual-frames';
|
|
2
|
+
export declare const getFrameOutputFileName: ({ index, frame, imageFormat, countType, lastFrame, totalFrames, }: {
|
|
3
|
+
index: number;
|
|
4
|
+
frame: number;
|
|
5
|
+
imageFormat: 'png' | 'jpeg';
|
|
6
|
+
countType: CountType;
|
|
7
|
+
lastFrame: number;
|
|
8
|
+
totalFrames: number;
|
|
9
|
+
}) => string;
|
|
10
|
+
export declare const getFilePadLength: ({ lastFrame, totalFrames, countType, }: {
|
|
11
|
+
lastFrame: number;
|
|
12
|
+
totalFrames: number;
|
|
13
|
+
countType: CountType;
|
|
14
|
+
}) => number;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Determines the filenames for frames that get rendered.
|
|
3
|
+
// - If passed to FFMPEG, they should be consecutive: element-000.jpg, element-001.jpg, element-002.jpg
|
|
4
|
+
// - If `--every-nth-frame` is passed, only frames 0, 2, 4 are rendered
|
|
5
|
+
// - If an image sequence is created, the filenames should correspond to the frame numbers: element-099.jpg, element-100.jpg
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getFilePadLength = exports.getFrameOutputFileName = void 0;
|
|
8
|
+
const padIndex = ({ num, filePadLength, }) => {
|
|
9
|
+
return String(num).padStart(filePadLength, '0');
|
|
10
|
+
};
|
|
11
|
+
const getFrameOutputFileName = ({ index, frame, imageFormat, countType, lastFrame, totalFrames, }) => {
|
|
12
|
+
const filePadLength = (0, exports.getFilePadLength)({ lastFrame, countType, totalFrames });
|
|
13
|
+
if (countType === 'actual-frames') {
|
|
14
|
+
const paddedIndex = padIndex({ filePadLength, num: frame });
|
|
15
|
+
return `element-${paddedIndex}.${imageFormat}`;
|
|
16
|
+
}
|
|
17
|
+
if (countType === 'from-zero') {
|
|
18
|
+
const paddedIndex = padIndex({ filePadLength, num: index });
|
|
19
|
+
return `element-${paddedIndex}.${imageFormat}`;
|
|
20
|
+
}
|
|
21
|
+
throw new TypeError('Unknown count type');
|
|
22
|
+
};
|
|
23
|
+
exports.getFrameOutputFileName = getFrameOutputFileName;
|
|
24
|
+
const getFilePadLength = ({ lastFrame, totalFrames, countType, }) => {
|
|
25
|
+
if (countType === 'actual-frames') {
|
|
26
|
+
return String(lastFrame).length;
|
|
27
|
+
}
|
|
28
|
+
if (countType === 'from-zero') {
|
|
29
|
+
return String(totalFrames - 1).length;
|
|
30
|
+
}
|
|
31
|
+
throw new Error('Unknown file type');
|
|
32
|
+
};
|
|
33
|
+
exports.getFilePadLength = getFilePadLength;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FrameRange } from '
|
|
1
|
+
import type { FrameRange } from './frame-range';
|
|
2
2
|
export declare const getRealFrameRange: (durationInFrames: number, frameRange: FrameRange | null) => [number, number];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { Browser
|
|
1
|
+
import type { Browser } from './browser';
|
|
2
|
+
import type { BrowserExecutable } from './browser-executable';
|
|
2
3
|
export declare const ensureLocalBrowser: (browser: Browser, preferredBrowserExecutable: BrowserExecutable) => Promise<void>;
|
|
3
4
|
export declare const getLocalBrowserExecutable: (browser: Browser, preferredBrowserExecutable: BrowserExecutable) => string;
|
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getLocalBrowserExecutable = exports.ensureLocalBrowser = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const revisions_1 = require("
|
|
8
|
+
const create_browser_fetcher_1 = require("./browser/create-browser-fetcher");
|
|
9
|
+
const node_1 = require("./browser/node");
|
|
10
|
+
const revisions_1 = require("./browser/revisions");
|
|
11
11
|
const getSearchPathsForProduct = (product) => {
|
|
12
12
|
var _a;
|
|
13
13
|
if (product === 'chrome') {
|
|
@@ -44,8 +44,10 @@ const getLocalBrowser = (product) => {
|
|
|
44
44
|
return null;
|
|
45
45
|
};
|
|
46
46
|
const getBrowserRevision = (product) => {
|
|
47
|
-
const browserFetcher =
|
|
47
|
+
const browserFetcher = node_1.puppeteer.createBrowserFetcher({
|
|
48
48
|
product,
|
|
49
|
+
path: null,
|
|
50
|
+
platform: null,
|
|
49
51
|
});
|
|
50
52
|
const revisionInfo = browserFetcher.revisionInfo(product === 'firefox'
|
|
51
53
|
? revisions_1.PUPPETEER_REVISIONS.firefox
|
|
@@ -73,7 +75,7 @@ const ensureLocalBrowser = async (browser, preferredBrowserExecutable) => {
|
|
|
73
75
|
const status = getBrowserStatus(mapBrowserToProduct(browser), preferredBrowserExecutable);
|
|
74
76
|
if (status.type === 'no-browser') {
|
|
75
77
|
console.log('No local browser could be found. Downloading one from the internet...');
|
|
76
|
-
await (0,
|
|
78
|
+
await (0, create_browser_fetcher_1.downloadBrowser)(browser);
|
|
77
79
|
}
|
|
78
80
|
};
|
|
79
81
|
exports.ensureLocalBrowser = ensureLocalBrowser;
|
package/dist/get-port.js
CHANGED
|
@@ -5,47 +5,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getDesiredPort = void 0;
|
|
7
7
|
const net_1 = __importDefault(require("net"));
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
});
|
|
8
|
+
const p_limit_1 = require("./p-limit");
|
|
9
|
+
const getAvailablePort = (portToTry) => new Promise((resolve) => {
|
|
10
|
+
let status = 'unavailable';
|
|
11
|
+
const host = '127.0.0.1';
|
|
12
|
+
const socket = new net_1.default.Socket();
|
|
13
|
+
socket.on('connect', () => {
|
|
14
|
+
status = 'unavailable';
|
|
15
|
+
socket.destroy();
|
|
17
16
|
});
|
|
17
|
+
socket.setTimeout(3000);
|
|
18
|
+
socket.on('timeout', () => {
|
|
19
|
+
status = 'unavailable';
|
|
20
|
+
socket.destroy();
|
|
21
|
+
resolve(status);
|
|
22
|
+
});
|
|
23
|
+
socket.on('error', () => {
|
|
24
|
+
status = 'available';
|
|
25
|
+
});
|
|
26
|
+
socket.on('close', () => resolve(status));
|
|
27
|
+
socket.connect(portToTry, host);
|
|
18
28
|
});
|
|
19
|
-
const portCheckSequence = function* (ports) {
|
|
20
|
-
if (ports) {
|
|
21
|
-
yield* ports;
|
|
22
|
-
}
|
|
23
|
-
yield 0; // Fall back to 0 if anything else failed
|
|
24
|
-
};
|
|
25
|
-
const isPortAvailable = async (port) => {
|
|
26
|
-
try {
|
|
27
|
-
await getAvailablePort(port);
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
if (!['EADDRINUSE', 'EACCES'].includes(error.code)) {
|
|
32
|
-
throw error;
|
|
33
|
-
}
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
29
|
const getPort = async (from, to) => {
|
|
38
30
|
const ports = makeRange(from, to);
|
|
39
|
-
for (const port of
|
|
40
|
-
if (await
|
|
31
|
+
for (const port of ports) {
|
|
32
|
+
if ((await getAvailablePort(port)) === 'available') {
|
|
41
33
|
return port;
|
|
42
34
|
}
|
|
43
35
|
}
|
|
44
36
|
throw new Error('No available ports found');
|
|
45
37
|
};
|
|
46
|
-
const
|
|
38
|
+
const getDesiredPortUnlimited = async (desiredPort, from, to) => {
|
|
47
39
|
if (typeof desiredPort !== 'undefined' &&
|
|
48
|
-
(await
|
|
40
|
+
(await getAvailablePort(desiredPort)) === 'available') {
|
|
49
41
|
return desiredPort;
|
|
50
42
|
}
|
|
51
43
|
const actualPort = await getPort(from, to);
|
|
@@ -55,6 +47,10 @@ const getDesiredPort = async (desiredPort, from, to) => {
|
|
|
55
47
|
}
|
|
56
48
|
return actualPort;
|
|
57
49
|
};
|
|
50
|
+
const limit = (0, p_limit_1.pLimit)(1);
|
|
51
|
+
const getDesiredPort = (desiredPort, from, to) => {
|
|
52
|
+
return limit(() => getDesiredPortUnlimited(desiredPort, from, to));
|
|
53
|
+
};
|
|
58
54
|
exports.getDesiredPort = getDesiredPort;
|
|
59
55
|
const makeRange = (from, to) => {
|
|
60
56
|
if (!Number.isInteger(from) || !Number.isInteger(to)) {
|
|
@@ -69,10 +65,7 @@ const makeRange = (from, to) => {
|
|
|
69
65
|
if (to < from) {
|
|
70
66
|
throw new RangeError('`to` must be greater than or equal to `from`');
|
|
71
67
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
return generator(from, to);
|
|
68
|
+
return new Array(to - from + 1).fill(true).map((_, i) => {
|
|
69
|
+
return i + from;
|
|
70
|
+
});
|
|
78
71
|
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getVideoInfo = void 0;
|
|
7
|
+
const execa_1 = __importDefault(require("execa"));
|
|
8
|
+
const calculate_sar_dar_pixels_1 = require("./calculate-sar-dar-pixels");
|
|
9
|
+
const p_limit_1 = require("./p-limit");
|
|
10
|
+
const limit = (0, p_limit_1.pLimit)(1);
|
|
11
|
+
async function getVideoInfoUnlimited(downloadMap, src, ffprobeExecutable) {
|
|
12
|
+
var _a;
|
|
13
|
+
if (typeof downloadMap.isVp9VideoCache[src] !== 'undefined') {
|
|
14
|
+
return downloadMap.isVp9VideoCache[src];
|
|
15
|
+
}
|
|
16
|
+
const task = await (0, execa_1.default)(ffprobeExecutable !== null && ffprobeExecutable !== void 0 ? ffprobeExecutable : 'ffprobe', [src]);
|
|
17
|
+
const isVp9 = task.stderr.includes('Video: vp9');
|
|
18
|
+
const isVp8 = task.stderr.includes('Video: vp8');
|
|
19
|
+
const dimensions = (_a = task.stderr
|
|
20
|
+
.split('\n')
|
|
21
|
+
.find((n) => n.trim().startsWith('Stream #'))) === null || _a === void 0 ? void 0 : _a.match(/([0-9]{2,6})x([0-9]{2,6})/);
|
|
22
|
+
const dar = task.stderr.match(/DAR\s([0-9]+):([0-9]+)/);
|
|
23
|
+
let needsResize = null;
|
|
24
|
+
if (dimensions && dar) {
|
|
25
|
+
const width = parseInt(dimensions[1], 10);
|
|
26
|
+
const height = parseInt(dimensions[2], 10);
|
|
27
|
+
const darWidth = parseInt(dar[1], 10);
|
|
28
|
+
const darHeight = parseInt(dar[2], 10);
|
|
29
|
+
const { width: actualWidth, height: actualHeight } = (0, calculate_sar_dar_pixels_1.calculateDisplayVideoSize)({
|
|
30
|
+
darX: darWidth,
|
|
31
|
+
darY: darHeight,
|
|
32
|
+
x: width,
|
|
33
|
+
y: height,
|
|
34
|
+
});
|
|
35
|
+
if (actualWidth !== width || actualHeight !== height) {
|
|
36
|
+
needsResize = [actualWidth, actualHeight];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const result = {
|
|
40
|
+
specialVcodec: isVp9 ? 'vp9' : isVp8 ? 'vp8' : 'none',
|
|
41
|
+
needsResize,
|
|
42
|
+
};
|
|
43
|
+
downloadMap.isVp9VideoCache[src] = result;
|
|
44
|
+
return downloadMap.isVp9VideoCache[src];
|
|
45
|
+
}
|
|
46
|
+
const getVideoInfo = (downloadMap, src, ffprobeExecutable) => {
|
|
47
|
+
return limit(() => getVideoInfoUnlimited(downloadMap, src, ffprobeExecutable));
|
|
48
|
+
};
|
|
49
|
+
exports.getVideoInfo = getVideoInfo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getIdealVideoThreadsFlag: () => number;
|