@remotion/renderer 3.0.0-lambda.424 → 3.0.0-lambda.444

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.
@@ -1,5 +1,5 @@
1
- @remotion/renderer:build: cache hit, replaying output 3187d9e7a3598445
1
+ @remotion/renderer:build: cache hit, replaying output 6bb965532c36697f
2
2
  @remotion/renderer:build: 
3
- @remotion/renderer:build: > @remotion/renderer@2.6.12 build /Users/jonathanburger/remotion/packages/renderer
3
+ @remotion/renderer:build: > @remotion/renderer@2.6.14 build /Users/jonathanburger/remotion/packages/renderer
4
4
  @remotion/renderer:build: > tsc -d
5
5
  @remotion/renderer:build: 
@@ -0,0 +1,19 @@
1
+ @remotion/renderer:lint: cache hit, replaying output 4013b1f962c66a79
2
+ @remotion/renderer:lint: 
3
+ @remotion/renderer:lint: > @remotion/renderer@2.6.12 lint /Users/jonathanburger/remotion/packages/renderer
4
+ @remotion/renderer:lint: > eslint src --ext ts,tsx
5
+ @remotion/renderer:lint: 
6
+ @remotion/renderer:lint: 
7
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/assets/ffmpeg-volume-expression.ts
8
+ @remotion/renderer:lint:  76:1 warning Unexpected 'todo' comment: 'TODO: Should remove irrelevant frames' no-warning-comments
9
+ @remotion/renderer:lint: 
10
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/stitcher.ts
11
+ @remotion/renderer:lint:  35:2 warning Unexpected 'todo' comment: 'TODO: Let's make this parameter...' no-warning-comments
12
+ @remotion/renderer:lint:  40:2 warning Unexpected 'todo' comment: 'TODO: Do we want a parallelism flag for...' no-warning-comments
13
+ @remotion/renderer:lint: 
14
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/test/validate-config-stitcher.test.ts
15
+ @remotion/renderer:lint:  17:34 warning Async arrow function has no 'await' expression require-await
16
+ @remotion/renderer:lint:  29:33 warning Async arrow function has no 'await' expression require-await
17
+ @remotion/renderer:lint: 
18
+ @remotion/renderer:lint: ✖ 5 problems (0 errors, 5 warnings)
19
+ @remotion/renderer:lint: 
@@ -0,0 +1,39 @@
1
+ @remotion/renderer:test: cache hit, replaying output 4972c1ca66e7245b
2
+ @remotion/renderer:test: 
3
+ @remotion/renderer:test: > @remotion/renderer@2.6.12 test /Users/jonathanburger/remotion/packages/renderer
4
+ @remotion/renderer:test: > jest
5
+ @remotion/renderer:test: 
6
+ @remotion/renderer:test: watchman warning: Recrawled this watch 3 times, most recently because:
7
+ @remotion/renderer:test: MustScanSubDirs UserDroppedTo resolve, please review the information on
8
+ @remotion/renderer:test: https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl
9
+ @remotion/renderer:test: To clear this warning, run:
10
+ @remotion/renderer:test: `watchman watch-del '/Users/jonathanburger/remotion' ; watchman watch-project '/Users/jonathanburger/remotion'`
11
+ @remotion/renderer:test: 
12
+ @remotion/renderer:test: PASS src/test/ffmpeg-volume-expression.test.ts (36.214 s)
13
+ @remotion/renderer:test: PASS src/test/split-assets-into-segments.test.tsx (37.984 s)
14
+ @remotion/renderer:test: PASS src/test/ffmpeg-filters.test.ts (36.919 s)
15
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-version.test.ts (37.238 s)
16
+ @remotion/renderer:test: PASS src/test/dont-skip-assets.test.ts (37.293 s)
17
+ @remotion/renderer:test: PASS src/test/avoid-asset-zero-length.test.ts
18
+ @remotion/renderer:test: PASS src/test/asset-is-used-at-time.test.ts
19
+ @remotion/renderer:test: PASS src/test/asset-compression.test.ts
20
+ @remotion/renderer:test: PASS src/test/calculate-atempo.test.ts
21
+ @remotion/renderer:test: PASS src/test/get-audio-channels.test.ts
22
+ @remotion/renderer:test: PASS src/test/handle-weird-file-names.test.ts
23
+ @remotion/renderer:test: PASS src/test/map-localhost-to-file.test.ts
24
+ @remotion/renderer:test: PASS src/test/min-max.test.ts
25
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-progress.test.ts
26
+ @remotion/renderer:test: PASS src/test/avoid-ffmpeg-stackoverflow.test.ts
27
+ @remotion/renderer:test: PASS src/test/download-file.test.ts
28
+ @remotion/renderer:test: PASS src/test/flatten-volume-array.test.tsx
29
+ @remotion/renderer:test: PASS src/test/frame-range.test.ts
30
+ @remotion/renderer:test: PASS src/test/validate-config-stitcher.test.ts
31
+ @remotion/renderer:test: PASS src/test/render-still.test.ts
32
+ @remotion/renderer:test: PASS src/test/validate-config.test.ts (39.366 s)
33
+ @remotion/renderer:test: PASS src/test/asset-calculation.test.tsx (47.094 s)
34
+ @remotion/renderer:test: 
35
+ @remotion/renderer:test: Test Suites: 22 passed, 22 total
36
+ @remotion/renderer:test: Tests: 66 passed, 66 total
37
+ @remotion/renderer:test: Snapshots: 0 total
38
+ @remotion/renderer:test: Time: 52.1 s
39
+ @remotion/renderer:test: Ran all test suites.
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-filepath.d.ts","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,WAKtD,CAAC"}
1
+ {"version":3,"file":"sanitize-filepath.d.ts","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,WAKtD,CAAC"}
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.sanitizeFilePath = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const sanitize_filename_1 = require("./sanitize-filename");
9
+ const pathSeparators = /[/\\]/;
9
10
  const sanitizeFilePath = (pathToSanitize) => {
10
11
  return pathToSanitize
11
- .split(path_1.default.sep)
12
+ .split(pathSeparators)
12
13
  .map((s) => (0, sanitize_filename_1.sanitizeFilename)(s))
13
14
  .join(path_1.default.sep);
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-filepath.js","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2DAAqD;AAE9C,MAAM,gBAAgB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC1D,OAAO,cAAc;SACnB,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,CAAC;SAC/B,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B"}
1
+ {"version":3,"file":"sanitize-filepath.js","sourceRoot":"","sources":["../../src/assets/sanitize-filepath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2DAAqD;AAErD,MAAM,cAAc,GAAG,OAAO,CAAC;AAExB,MAAM,gBAAgB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC1D,OAAO,cAAc;SACnB,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,CAAC;SAC/B,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B"}
@@ -1,3 +1,3 @@
1
1
  import { Codec } from 'remotion';
2
- export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "mp4" | "mkv" | "mov" | "webm";
2
+ export declare const getFileExtensionFromCodec: (codec: Codec, type: 'chunk' | 'final') => "mp3" | "aac" | "wav" | "webm" | "mp4" | "mkv" | "mov";
3
3
  //# sourceMappingURL=get-extension-from-codec.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "3.0.0-lambda.424+994a31b6b",
3
+ "version": "3.0.0-lambda.444+a8ef3231a",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,11 +20,11 @@
20
20
  "url": "https://github.com/remotion-dev/remotion/issues"
21
21
  },
22
22
  "dependencies": {
23
- "@remotion/bundler": "3.0.0-lambda.424+994a31b6b",
23
+ "@remotion/bundler": "3.0.0-lambda.444+a8ef3231a",
24
24
  "execa": "5.1.1",
25
25
  "p-limit": "3.1.0",
26
26
  "puppeteer-core": "13.1.2",
27
- "remotion": "3.0.0-lambda.424+994a31b6b",
27
+ "remotion": "3.0.0-lambda.444+a8ef3231a",
28
28
  "serve-handler": "6.1.3"
29
29
  },
30
30
  "peerDependencies": {
@@ -58,5 +58,5 @@
58
58
  "publishConfig": {
59
59
  "access": "public"
60
60
  },
61
- "gitHead": "994a31b6bfd812c7552c8d157c14c59667f8efce"
61
+ "gitHead": "a8ef3231acb202a8992e83fb38f56532395021aa"
62
62
  }
@@ -1,7 +0,0 @@
1
- export declare const getPcmOutputName: (inputName: string) => string;
2
- export declare const conversionStarted: {
3
- [key: string]: boolean;
4
- };
5
- export declare const convertMp3ToPcm: (source: string) => Promise<string>;
6
- export declare const clearMp3Conversions: () => void;
7
- //# sourceMappingURL=convert-mp3-to-pcm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-mp3-to-pcm.d.ts","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,cAAe,MAAM,WAMjD,CAAC;AAQF,eAAO,MAAM,iBAAiB,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,CAAC;AAE9D,eAAO,MAAM,eAAe,WAAkB,MAAM,oBAcnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAI/B,CAAC"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- // For the h264-mkv format, we need to convert an MP3 file to PCM first
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.clearMp3Conversions = exports.convertMp3ToPcm = exports.conversionStarted = exports.getPcmOutputName = void 0;
8
- const execa_1 = __importDefault(require("execa"));
9
- const path_1 = __importDefault(require("path"));
10
- const getPcmOutputName = (inputName) => {
11
- const dirname = path_1.default.dirname(inputName);
12
- const extension = path_1.default.extname(inputName);
13
- const filename = path_1.default.basename(inputName, extension);
14
- return path_1.default.join(dirname, `${filename}-converted.wav`);
15
- };
16
- exports.getPcmOutputName = getPcmOutputName;
17
- const isMp3 = async (source) => {
18
- const { stderr } = await (0, execa_1.default)('ffprobe', [source]);
19
- return stderr.includes('Audio: mp3');
20
- };
21
- exports.conversionStarted = {};
22
- const convertMp3ToPcm = async (source) => {
23
- const outname = (0, exports.getPcmOutputName)(source);
24
- if (!(await isMp3(source))) {
25
- return source;
26
- }
27
- if (exports.conversionStarted[source]) {
28
- return outname;
29
- }
30
- exports.conversionStarted[source] = true;
31
- await (0, execa_1.default)('ffmpeg', ['-y', '-i', source, (0, exports.getPcmOutputName)(source)]);
32
- return outname;
33
- };
34
- exports.convertMp3ToPcm = convertMp3ToPcm;
35
- const clearMp3Conversions = () => {
36
- Object.keys(exports.conversionStarted).forEach((key) => {
37
- delete exports.conversionStarted[key];
38
- });
39
- };
40
- exports.clearMp3Conversions = clearMp3Conversions;
41
- //# sourceMappingURL=convert-mp3-to-pcm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-mp3-to-pcm.js","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":";AAAA,uEAAuE;;;;;;AAEvE,kDAA0B;AAC1B,gDAAwB;AAEjB,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAErD,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC;AACxD,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF,MAAM,KAAK,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACtC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,eAAK,EAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAA6B,EAAE,CAAC;AAEvD,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;QAC3B,OAAO,MAAM,CAAC;KACd;IAED,IAAI,yBAAiB,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC;KACf;IAED,yBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEjC,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,OAAO,yBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=handle-null-audio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-null-audio.d.ts","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=handle-null-audio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-null-audio.js","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const isServeUrl: (potentialUrl: string) => boolean;
2
- //# sourceMappingURL=is-local-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-local-file.d.ts","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,iBAAkB,MAAM,YAY9C,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isServeUrl = void 0;
4
- const isServeUrl = (potentialUrl) => {
5
- // Theoretically not a valid URL but handle the most basic cases of forgetting protocol in front
6
- if (potentialUrl.startsWith('www.') ||
7
- potentialUrl.includes('amazonaws.com')) {
8
- return true;
9
- }
10
- return (potentialUrl.startsWith('https://') || !potentialUrl.startsWith('http://'));
11
- };
12
- exports.isServeUrl = isServeUrl;
13
- //# sourceMappingURL=is-local-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-local-file.js","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,EAAE;IAClD,gGAAgG;IAChG,IACC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;QAC/B,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EACrC;QACD,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CACN,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1E,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
@@ -1,38 +0,0 @@
1
- import type { Browser as PuppeteerBrowser } from 'puppeteer-core';
2
- import { Browser, Codec, FfmpegExecutable, FrameRange, PixelFormat, ProResProfile, TCompMetadata } from 'remotion';
3
- export declare type RenderVideoOnDownload = (src: string) => void;
4
- export declare type RenderVideoOnProgress = (progress: {
5
- renderedFrames: number;
6
- encodedFrames: number;
7
- encodedDoneIn: number | null;
8
- renderedDoneIn: number | null;
9
- stitchStage: 'encoding' | 'muxing';
10
- }) => void;
11
- export declare type RenderVideoOptions = {
12
- proResProfile: ProResProfile | undefined;
13
- parallelism: number | null;
14
- parallelEncoding: boolean;
15
- crf: number | null;
16
- outputDir: string;
17
- config: TCompMetadata;
18
- imageFormat: 'png' | 'jpeg' | 'none';
19
- ffmpegExecutable: FfmpegExecutable;
20
- inputProps: object;
21
- pixelFormat: PixelFormat;
22
- codec: Codec;
23
- envVariables: Record<string, string>;
24
- quality: number | undefined;
25
- frameRange: FrameRange | null;
26
- browser: Browser;
27
- serveUrl: string;
28
- openedBrowser: PuppeteerBrowser;
29
- overwrite: boolean;
30
- absoluteOutputFile: string;
31
- onProgress: RenderVideoOnProgress;
32
- shouldOutputImageSequence: boolean;
33
- fileExtension: string | null;
34
- bundled: string;
35
- onDownload: (src: string) => void;
36
- };
37
- export declare const renderVideo: ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, shouldOutputImageSequence, fileExtension, bundled, onDownload, }: RenderVideoOptions) => Promise<void>;
38
- //# sourceMappingURL=render-video.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-video.d.ts","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACN,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,UAAU,EAEV,WAAW,EACX,aAAa,EACb,aAAa,EACb,MAAM,UAAU,CAAC;AAIlB,oBAAY,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,oBAAY,qBAAqB,GAAG,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC,KAAK,IAAI,CAAC;AAEX,oBAAY,kBAAkB,GAAG;IAChC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,qBAAqB,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,WAAW,4TAyBrB,kBAAkB,kBAuKpB,CAAC"}
@@ -1,169 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderVideo = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const remotion_1 = require("remotion");
10
- const stitcher_1 = require("./stitcher");
11
- const render_1 = require("./render");
12
- const renderVideo = async ({ parallelism, proResProfile, parallelEncoding, crf, outputDir, config, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, browser, serveUrl, openedBrowser, absoluteOutputFile, onProgress, overwrite, shouldOutputImageSequence, fileExtension, bundled, onDownload, }) => {
13
- var _a, _b;
14
- let stitcherFfmpeg;
15
- let preStitcher;
16
- let encodedFrames = 0;
17
- let renderedFrames = 0;
18
- let preEncodedFileLocation;
19
- let renderedDoneIn = null;
20
- let encodedDoneIn = null;
21
- const renderStart = Date.now();
22
- if (parallelEncoding) {
23
- if (typeof crf !== 'number') {
24
- throw new TypeError('CRF is unexpectedly not a number');
25
- }
26
- preEncodedFileLocation = path_1.default.join(outputDir, 'pre-encode.' + fileExtension);
27
- preStitcher = await (0, stitcher_1.spawnFfmpeg)({
28
- dir: outputDir,
29
- width: config.width,
30
- height: config.height,
31
- fps: config.fps,
32
- outputLocation: preEncodedFileLocation,
33
- force: true,
34
- imageFormat,
35
- pixelFormat,
36
- codec,
37
- proResProfile,
38
- crf,
39
- parallelism,
40
- onProgress: (frame) => {
41
- encodedFrames = frame;
42
- onProgress({
43
- encodedFrames,
44
- renderedFrames,
45
- encodedDoneIn: null,
46
- renderedDoneIn: null,
47
- stitchStage: 'encoding',
48
- });
49
- },
50
- verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel('verbose'),
51
- parallelEncoding,
52
- webpackBundle: bundled,
53
- ffmpegExecutable,
54
- assetsInfo: { assets: [] },
55
- });
56
- stitcherFfmpeg = preStitcher.task;
57
- }
58
- const renderer = (0, render_1.renderFrames)({
59
- config,
60
- onFrameUpdate: (frame) => {
61
- renderedFrames = frame;
62
- onProgress({
63
- encodedFrames,
64
- renderedFrames,
65
- encodedDoneIn,
66
- renderedDoneIn,
67
- stitchStage: 'encoding',
68
- });
69
- },
70
- parallelism,
71
- parallelEncoding,
72
- outputDir,
73
- onStart: () => {
74
- renderedFrames = 0;
75
- onProgress({
76
- encodedDoneIn,
77
- encodedFrames,
78
- renderedDoneIn,
79
- renderedFrames,
80
- // TODO: Keep a state
81
- stitchStage: 'encoding',
82
- });
83
- },
84
- inputProps,
85
- envVariables,
86
- imageFormat,
87
- quality,
88
- browser,
89
- frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
90
- puppeteerInstance: openedBrowser,
91
- writeFrame: async (buffer) => {
92
- var _a;
93
- (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.write(buffer);
94
- },
95
- serveUrl,
96
- });
97
- const { assetsInfo } = await renderer;
98
- if (stitcherFfmpeg) {
99
- (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.end();
100
- await stitcherFfmpeg;
101
- (_b = preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.cleanup) === null || _b === void 0 ? void 0 : _b.call(preStitcher);
102
- }
103
- const closeBrowserPromise = openedBrowser.close();
104
- renderedDoneIn = Date.now() - renderStart;
105
- onProgress({
106
- encodedFrames,
107
- renderedFrames,
108
- renderedDoneIn,
109
- encodedDoneIn,
110
- stitchStage: 'encoding',
111
- });
112
- if (process.env.DEBUG) {
113
- remotion_1.Internals.perf.logPerf();
114
- }
115
- if (shouldOutputImageSequence) {
116
- return;
117
- }
118
- if (typeof crf !== 'number') {
119
- throw new TypeError('CRF is unexpectedly not a number');
120
- }
121
- const dirName = path_1.default.dirname(absoluteOutputFile);
122
- if (!fs_1.default.existsSync(dirName)) {
123
- fs_1.default.mkdirSync(dirName, {
124
- recursive: true,
125
- });
126
- }
127
- const stitchStart = Date.now();
128
- await (0, stitcher_1.stitchFramesToVideo)({
129
- dir: outputDir,
130
- width: config.width,
131
- height: config.height,
132
- fps: config.fps,
133
- outputLocation: absoluteOutputFile,
134
- preEncodedFileLocation,
135
- force: overwrite,
136
- imageFormat,
137
- pixelFormat,
138
- codec,
139
- proResProfile,
140
- crf,
141
- assetsInfo,
142
- parallelism,
143
- ffmpegExecutable,
144
- onProgress: (frame) => {
145
- onProgress({
146
- encodedFrames: frame,
147
- renderedFrames,
148
- renderedDoneIn,
149
- encodedDoneIn,
150
- stitchStage: 'muxing',
151
- });
152
- },
153
- // TODO: Optimization, Now can download before!
154
- onDownload,
155
- webpackBundle: bundled,
156
- verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel('verbose'),
157
- });
158
- encodedDoneIn = Date.now() - stitchStart;
159
- onProgress({
160
- encodedDoneIn,
161
- encodedFrames,
162
- renderedDoneIn,
163
- renderedFrames,
164
- stitchStage: 'muxing',
165
- });
166
- await closeBrowserPromise;
167
- };
168
- exports.renderVideo = renderVideo;
169
- //# sourceMappingURL=render-video.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-video.js","sourceRoot":"","sources":["../src/render-video.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const validateFrame: (frame: number, durationInFrames: number) => void;
2
- //# sourceMappingURL=validate-frame.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frame.d.ts","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAAW,MAAM,oBAAoB,MAAM,SAgCpE,CAAC"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateFrame = void 0;
4
- const validateFrame = (frame, durationInFrames) => {
5
- if (typeof frame === 'undefined') {
6
- throw new TypeError(`Argument missing for parameter "frame"`);
7
- }
8
- if (typeof frame !== 'number') {
9
- throw new TypeError(`Argument passed for "frame" is not a number: ${frame}`);
10
- }
11
- if (frame < 0) {
12
- throw new RangeError(`Frame ${frame} cannot be negative`);
13
- }
14
- if (!Number.isFinite(frame)) {
15
- throw new RangeError(`Frame ${frame} is not finite`);
16
- }
17
- if (frame % 1 !== 0) {
18
- throw new RangeError(`Argument for frame must be an integer, but got ${frame}`);
19
- }
20
- if (frame > durationInFrames - 1) {
21
- throw new RangeError(`Cannot use frame ${frame}: Duration of composition is ${durationInFrames}, therefore the highest frame that can be rendered is ${durationInFrames - 1}`);
22
- }
23
- };
24
- exports.validateFrame = validateFrame;
25
- //# sourceMappingURL=validate-frame.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frame.js","sourceRoot":"","sources":["../src/validate-frame.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,gBAAwB,EAAE,EAAE;IACxE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;KAC9D;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,SAAS,CAClB,gDAAgD,KAAK,EAAE,CACvD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,CAAC,EAAE;QACd,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,qBAAqB,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,UAAU,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;KACrD;IAED,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,UAAU,CACnB,kDAAkD,KAAK,EAAE,CACzD,CAAC;KACF;IAED,IAAI,KAAK,GAAG,gBAAgB,GAAG,CAAC,EAAE;QACjC,MAAM,IAAI,UAAU,CACnB,oBAAoB,KAAK,gCAAgC,gBAAgB,yDACxE,gBAAgB,GAAG,CACpB,EAAE,CACF,CAAC;KACF;AACF,CAAC,CAAC;AAhCW,QAAA,aAAa,iBAgCxB"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=validate-quality.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-quality.d.ts","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=validate-quality.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-quality.js","sourceRoot":"","sources":["../src/validate-quality.ts"],"names":[],"mappings":""}