@remotion/renderer 3.0.3 → 4.0.0-audio.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts.map +1 -1
  2. package/dist/assets/calculate-asset-positions.js +2 -5
  3. package/dist/assets/calculate-asset-positions.js.map +1 -1
  4. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -2
  5. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -1
  6. package/dist/assets/ffmpeg-volume-expression.js +3 -5
  7. package/dist/assets/ffmpeg-volume-expression.js.map +1 -1
  8. package/dist/assets/get-asset-audio-details.js +2 -5
  9. package/dist/assets/get-asset-audio-details.js.map +1 -1
  10. package/dist/assets-to-ffmpeg-inputs.d.ts +2 -2
  11. package/dist/assets-to-ffmpeg-inputs.d.ts.map +1 -1
  12. package/dist/assets-to-ffmpeg-inputs.js +3 -3
  13. package/dist/assets-to-ffmpeg-inputs.js.map +1 -1
  14. package/dist/calculate-ffmpeg-filters.d.ts +6 -10
  15. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -1
  16. package/dist/calculate-ffmpeg-filters.js +20 -30
  17. package/dist/calculate-ffmpeg-filters.js.map +1 -1
  18. package/dist/create-ffmpeg-complex-filter.d.ts +1 -2
  19. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -1
  20. package/dist/create-ffmpeg-complex-filter.js +10 -32
  21. package/dist/create-ffmpeg-complex-filter.js.map +1 -1
  22. package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -1
  23. package/dist/create-ffmpeg-merge-filter.js +0 -2
  24. package/dist/create-ffmpeg-merge-filter.js.map +1 -1
  25. package/dist/create-silent-audio.d.ts +8 -0
  26. package/dist/create-silent-audio.d.ts.map +1 -0
  27. package/dist/create-silent-audio.js +22 -0
  28. package/dist/create-silent-audio.js.map +1 -0
  29. package/dist/delete-directory.js +1 -1
  30. package/dist/delete-directory.js.map +1 -1
  31. package/dist/ffmpeg-filter-file.d.ts +5 -0
  32. package/dist/ffmpeg-filter-file.d.ts.map +1 -0
  33. package/dist/ffmpeg-filter-file.js +25 -0
  34. package/dist/ffmpeg-filter-file.js.map +1 -0
  35. package/dist/get-extension-from-codec.d.ts +1 -1
  36. package/dist/index.d.ts +1 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/merge-audio-track.d.ts +4 -3
  39. package/dist/merge-audio-track.d.ts.map +1 -1
  40. package/dist/merge-audio-track.js +17 -11
  41. package/dist/merge-audio-track.js.map +1 -1
  42. package/dist/p-limit.d.ts +2 -0
  43. package/dist/p-limit.d.ts.map +1 -0
  44. package/dist/p-limit.js +58 -0
  45. package/dist/p-limit.js.map +1 -0
  46. package/dist/preprocess-audio-track.d.ts +7 -4
  47. package/dist/preprocess-audio-track.d.ts.map +1 -1
  48. package/dist/preprocess-audio-track.js +27 -4
  49. package/dist/preprocess-audio-track.js.map +1 -1
  50. package/dist/prespawn-ffmpeg.d.ts.map +1 -1
  51. package/dist/prespawn-ffmpeg.js +0 -15
  52. package/dist/prespawn-ffmpeg.js.map +1 -1
  53. package/dist/provide-screenshot.d.ts +0 -1
  54. package/dist/provide-screenshot.d.ts.map +1 -1
  55. package/dist/puppeteer-screenshot.d.ts +0 -1
  56. package/dist/puppeteer-screenshot.d.ts.map +1 -1
  57. package/dist/screenshot-dom-element.d.ts +0 -1
  58. package/dist/screenshot-dom-element.d.ts.map +1 -1
  59. package/dist/screenshot-task.d.ts +0 -1
  60. package/dist/screenshot-task.d.ts.map +1 -1
  61. package/dist/stitch-frames-to-video.d.ts +5 -5
  62. package/dist/stitch-frames-to-video.d.ts.map +1 -1
  63. package/dist/stitch-frames-to-video.js +92 -71
  64. package/dist/stitch-frames-to-video.js.map +1 -1
  65. package/dist/stringify-ffmpeg-filter.d.ts +2 -3
  66. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -1
  67. package/dist/stringify-ffmpeg-filter.js +4 -5
  68. package/dist/stringify-ffmpeg-filter.js.map +1 -1
  69. package/dist/tmp-dir.d.ts.map +1 -1
  70. package/dist/tmp-dir.js +21 -3
  71. package/dist/tmp-dir.js.map +1 -1
  72. package/dist/validate-scale.d.ts.map +1 -1
  73. package/dist/validate-scale.js.map +1 -1
  74. package/package.json +4 -5
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pLimit = void 0;
4
+ const pLimit = (concurrency) => {
5
+ const queue = [];
6
+ let activeCount = 0;
7
+ const next = () => {
8
+ var _a;
9
+ activeCount--;
10
+ if (queue.length > 0) {
11
+ (_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
12
+ }
13
+ };
14
+ const run = async (fn, resolve, ...args) => {
15
+ activeCount++;
16
+ // eslint-disable-next-line require-await
17
+ const result = (async () => fn(...args))();
18
+ resolve(result);
19
+ try {
20
+ await result;
21
+ }
22
+ catch (_a) { }
23
+ next();
24
+ };
25
+ const enqueue = (fn, resolve, ...args) => {
26
+ queue.push(() => run(fn, resolve, ...args));
27
+ (async () => {
28
+ var _a;
29
+ // This function needs to wait until the next microtask before comparing
30
+ // `activeCount` to `concurrency`, because `activeCount` is updated asynchronously
31
+ // when the run function is dequeued and called. The comparison in the if-statement
32
+ // needs to happen asynchronously as well to get an up-to-date value for `activeCount`.
33
+ await Promise.resolve();
34
+ if (activeCount < concurrency && queue.length > 0) {
35
+ (_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
36
+ }
37
+ })();
38
+ };
39
+ const generator = (fn, ...args) => new Promise((resolve) => {
40
+ enqueue(fn, resolve, ...args);
41
+ });
42
+ Object.defineProperties(generator, {
43
+ activeCount: {
44
+ get: () => activeCount,
45
+ },
46
+ pendingCount: {
47
+ get: () => queue.length,
48
+ },
49
+ clearQueue: {
50
+ value: () => {
51
+ queue.length = 0;
52
+ },
53
+ },
54
+ });
55
+ return generator;
56
+ };
57
+ exports.pLimit = pLimit;
58
+ //# sourceMappingURL=p-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-limit.js","sourceRoot":"","sources":["../src/p-limit.ts"],"names":[],"mappings":";;;AAAO,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAG,EAAE;;QACjB,WAAW,EAAE,CAAC;QAEd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAA,KAAK,CAAC,KAAK,EAAE,2CAAI,CAAC;SAClB;IACF,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,EAChB,EAAsE,EACtE,OAA2C,EAC3C,GAAG,IAAe,EACjB,EAAE;QACH,WAAW,EAAE,CAAC;QAEd,yCAAyC;QACzC,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QAE3C,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI;YACH,MAAM,MAAM,CAAC;SACb;QAAC,WAAM,GAAE;QAEV,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACf,EAAsE,EACtE,OAA2C,EAC3C,GAAG,IAAe,EACjB,EAAE;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAE5C,CAAC,KAAK,IAAI,EAAE;;YACX,wEAAwE;YACxE,kFAAkF;YAClF,mFAAmF;YACnF,uFAAuF;YACvF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAExB,IAAI,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAA,KAAK,CAAC,KAAK,EAAE,2CAAI,CAAC;aAClB;QACF,CAAC,CAAC,EAAE,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CACjB,EAAsE,EACtE,GAAG,IAAe,EACjB,EAAE,CACH,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;QACnC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;QAClC,WAAW,EAAE;YACZ,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW;SACtB;QACD,YAAY,EAAE;YACb,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM;SACvB;QACD,UAAU,EAAE;YACX,KAAK,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,CAAC;SACD;KACD,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AA1EW,QAAA,MAAM,UA0EjB"}
@@ -1,11 +1,14 @@
1
- import { FfmpegExecutable } from 'remotion';
1
+ import { Codec, FfmpegExecutable } from 'remotion';
2
+ import { MediaAsset } from './assets/types';
2
3
  declare type Options = {
3
4
  ffmpegExecutable: FfmpegExecutable;
4
- audioFile: string;
5
- filter: string;
6
5
  outName: string;
7
6
  onProgress: (progress: number) => void;
7
+ asset: MediaAsset;
8
+ expectedFrames: number;
9
+ fps: number;
10
+ codec: Codec;
8
11
  };
9
- export declare const preprocessAudioTrack: ({ ffmpegExecutable, audioFile, filter, outName, onProgress, }: Options) => Promise<void>;
12
+ export declare const preprocessAudioTrack: (options: Options) => Promise<void>;
10
13
  export {};
11
14
  //# sourceMappingURL=preprocess-audio-track.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preprocess-audio-track.d.ts","sourceRoot":"","sources":["../src/preprocess-audio-track.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAI1C,aAAK,OAAO,GAAG;IACd,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kEAM9B,OAAO,kBAqBT,CAAC"}
1
+ {"version":3,"file":"preprocess-audio-track.d.ts","sourceRoot":"","sources":["../src/preprocess-audio-track.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAS1C,aAAK,OAAO,GAAG;IACd,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACb,CAAC;AAoDF,eAAO,MAAM,oBAAoB,YAAa,OAAO,kBAEpD,CAAC"}
@@ -5,16 +5,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.preprocessAudioTrack = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
+ const get_audio_channels_1 = require("./assets/get-audio-channels");
9
+ const calculate_ffmpeg_filters_1 = require("./calculate-ffmpeg-filters");
10
+ const ffmpeg_filter_file_1 = require("./ffmpeg-filter-file");
11
+ const get_audio_codec_name_1 = require("./get-audio-codec-name");
12
+ const p_limit_1 = require("./p-limit");
8
13
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
14
+ const resolve_asset_src_1 = require("./resolve-asset-src");
9
15
  const sample_rate_1 = require("./sample-rate");
10
- const preprocessAudioTrack = async ({ ffmpegExecutable, audioFile, filter, outName, onProgress, }) => {
16
+ const preprocessAudioTrackUnlimited = async ({ ffmpegExecutable, outName, onProgress, asset, expectedFrames, fps, codec, }) => {
11
17
  var _a;
18
+ const channels = await (0, get_audio_channels_1.getAudioChannels)((0, resolve_asset_src_1.resolveAssetSrc)(asset.src));
19
+ const filter = await (0, calculate_ffmpeg_filters_1.calculateFfmpegFilter)({
20
+ asset,
21
+ durationInFrames: expectedFrames,
22
+ fps,
23
+ channels,
24
+ });
25
+ if (filter === null) {
26
+ onProgress(1);
27
+ return;
28
+ }
29
+ const { cleanup, file } = await (0, ffmpeg_filter_file_1.makeFfmpegFilterFile)(filter);
12
30
  const args = [
13
- ['-i', audioFile],
31
+ ['-i', (0, resolve_asset_src_1.resolveAssetSrc)(asset.src)],
14
32
  ['-ac', '2'],
15
- ['-af', filter],
33
+ ['-filter_script:a', file],
16
34
  ['-ar', String(sample_rate_1.DEFAULT_SAMPLE_RATE)],
17
- ['-c:a', 'aac'],
35
+ ['-c:a', (0, get_audio_codec_name_1.getAudioCodecName)(codec)],
18
36
  ['-y', outName],
19
37
  ].flat(2);
20
38
  const task = (0, execa_1.default)(ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : 'ffmpeg', args);
@@ -26,6 +44,11 @@ const preprocessAudioTrack = async ({ ffmpegExecutable, audioFile, filter, outNa
26
44
  }
27
45
  });
28
46
  await task;
47
+ cleanup();
48
+ };
49
+ const limit = (0, p_limit_1.pLimit)(2);
50
+ const preprocessAudioTrack = (options) => {
51
+ return limit(preprocessAudioTrackUnlimited, options);
29
52
  };
30
53
  exports.preprocessAudioTrack = preprocessAudioTrack;
31
54
  //# sourceMappingURL=preprocess-audio-track.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preprocess-audio-track.js","sourceRoot":"","sources":["../src/preprocess-audio-track.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,mEAA4D;AAC5D,+CAAkD;AAU3C,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAC1C,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,OAAO,EACP,UAAU,GACD,EAAE,EAAE;;IACb,MAAM,IAAI,GAAG;QACZ,CAAC,IAAI,EAAE,SAAS,CAAC;QACjB,CAAC,KAAK,EAAE,GAAG,CAAC;QACZ,CAAC,KAAK,EAAE,MAAM,CAAC;QACf,CAAC,KAAK,EAAE,MAAM,CAAC,iCAAmB,CAAC,CAAC;QACpC,CAAC,MAAM,EAAE,KAAK,CAAC;QACf,CAAC,IAAI,EAAE,OAAO,CAAC;KACf,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEV,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEvD,MAAA,IAAI,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE;YACzB,UAAU,CAAC,MAAM,CAAC,CAAC;SACnB;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC;AACZ,CAAC,CAAC;AA3BW,QAAA,oBAAoB,wBA2B/B"}
1
+ {"version":3,"file":"preprocess-audio-track.js","sourceRoot":"","sources":["../src/preprocess-audio-track.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oEAA6D;AAE7D,yEAAiE;AACjE,6DAA0D;AAC1D,iEAAyD;AACzD,uCAAiC;AACjC,mEAA4D;AAC5D,2DAAoD;AACpD,+CAAkD;AAYlD,MAAM,6BAA6B,GAAG,KAAK,EAAE,EAC5C,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,KAAK,EACL,cAAc,EACd,GAAG,EACH,KAAK,GACI,EAAE,EAAE;;IACb,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAgB,EAAC,IAAA,mCAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,gDAAqB,EAAC;QAC1C,KAAK;QACL,gBAAgB,EAAE,cAAc;QAChC,GAAG;QACH,QAAQ;KACR,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,IAAI,EAAE;QACpB,UAAU,CAAC,CAAC,CAAC,CAAC;QACd,OAAO;KACP;IAED,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,MAAM,IAAA,yCAAoB,EAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG;QACZ,CAAC,IAAI,EAAE,IAAA,mCAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,KAAK,EAAE,GAAG,CAAC;QACZ,CAAC,kBAAkB,EAAE,IAAI,CAAC;QAC1B,CAAC,KAAK,EAAE,MAAM,CAAC,iCAAmB,CAAC,CAAC;QACpC,CAAC,MAAM,EAAE,IAAA,wCAAiB,EAAC,KAAK,CAAW,CAAC;QAC5C,CAAC,IAAI,EAAE,OAAO,CAAC;KACf,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEV,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEvD,MAAA,IAAI,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE;YACzB,UAAU,CAAC,MAAM,CAAC,CAAC;SACnB;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC;IACX,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,IAAA,gBAAM,EAAC,CAAC,CAAC,CAAC;AAEjB,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACxD,OAAO,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"prespawn-ffmpeg.d.ts","sourceRoot":"","sources":["../src/prespawn-ffmpeg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,aAAa,EACb,MAAM,UAAU,CAAC;AASlB,oBAAY,iBAAiB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,iBAAiB;;;EA8G9D,CAAC"}
1
+ {"version":3,"file":"prespawn-ffmpeg.d.ts","sourceRoot":"","sources":["../src/prespawn-ffmpeg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,aAAa,EACb,MAAM,UAAU,CAAC;AAOlB,oBAAY,iBAAiB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,iBAAiB;;;EAiG9D,CAAC"}
@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.prespawnFfmpeg = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
8
  const remotion_1 = require("remotion");
9
- const get_audio_codec_name_1 = require("./get-audio-codec-name");
10
9
  const get_codec_name_1 = require("./get-codec-name");
11
10
  const get_prores_profile_name_1 = require("./get-prores-profile-name");
12
11
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
13
- const sample_rate_1 = require("./sample-rate");
14
12
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
15
13
  const validate_ffmpeg_1 = require("./validate-ffmpeg");
16
14
  const prespawnFfmpeg = async (options) => {
@@ -29,7 +27,6 @@ const prespawnFfmpeg = async (options) => {
29
27
  const pixelFormat = (_c = options.pixelFormat) !== null && _c !== void 0 ? _c : remotion_1.Internals.DEFAULT_PIXEL_FORMAT;
30
28
  await (0, validate_ffmpeg_1.validateFfmpeg)((_d = options.ffmpegExecutable) !== null && _d !== void 0 ? _d : null);
31
29
  const encoderName = (0, get_codec_name_1.getCodecName)(codec);
32
- const audioCodecName = (0, get_audio_codec_name_1.getAudioCodecName)(codec);
33
30
  const proResProfileName = (0, get_prores_profile_name_1.getProResProfileName)(codec, options.proResProfile);
34
31
  if (encoderName === null) {
35
32
  throw new TypeError('encoderName is null: ' + JSON.stringify(options));
@@ -38,7 +35,6 @@ const prespawnFfmpeg = async (options) => {
38
35
  if (options.verbose) {
39
36
  console.log('[verbose] ffmpeg', (_e = options.ffmpegExecutable) !== null && _e !== void 0 ? _e : 'ffmpeg in PATH');
40
37
  console.log('[verbose] encoder', encoderName);
41
- console.log('[verbose] audioCodec', audioCodecName);
42
38
  console.log('[verbose] pixelFormat', pixelFormat);
43
39
  if (supportsCrf) {
44
40
  console.log('[verbose] crf', crf);
@@ -70,17 +66,6 @@ const prespawnFfmpeg = async (options) => {
70
66
  pixelFormat === 'yuva420p' ? ['-auto-alt-ref', '0'] : null,
71
67
  ['-b:v', '1M'],
72
68
  ],
73
- '-ar',
74
- String(sample_rate_1.DEFAULT_SAMPLE_RATE),
75
- // Stereo sound, even force mono to be stereo
76
- // Otherwise mixing mono + stereo ends up speeding up the audio
77
- '-ac',
78
- '2',
79
- audioCodecName ? ['-c:a', audioCodecName] : null,
80
- // Ignore audio from image sequence
81
- ['-map', '0:v'],
82
- // Ignore metadata that may come from remote media
83
- ['-map_metadata', '-1'],
84
69
  '-y',
85
70
  options.outputLocation,
86
71
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"prespawn-ffmpeg.js","sourceRoot":"","sources":["../src/prespawn-ffmpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prespawn-ffmpeg.js","sourceRoot":"","sources":["../src/prespawn-ffmpeg.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import puppeteer from 'puppeteer-core';
3
2
  import { ImageFormat } from 'remotion';
4
3
  export declare const provideScreenshot: ({ page, imageFormat, options, quality, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"provide-screenshot.d.ts","sourceRoot":"","sources":["../src/provide-screenshot.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,iBAAiB;UAMvB,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;aAClB;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB;MACE,QAAQ,MAAM,CAUjB,CAAC"}
1
+ {"version":3,"file":"provide-screenshot.d.ts","sourceRoot":"","sources":["../src/provide-screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,iBAAiB;UAMvB,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;aAClB;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB;MACE,QAAQ,MAAM,CAUjB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Page, ScreenshotOptions } from 'puppeteer-core';
3
2
  export declare const screenshot: (page: Page, options?: ScreenshotOptions) => Promise<Buffer | string | void>;
4
3
  //# sourceMappingURL=puppeteer-screenshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-screenshot.d.ts","sourceRoot":"","sources":["../src/puppeteer-screenshot.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAIvD,eAAO,MAAM,UAAU,SAChB,IAAI,YACD,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,GAAG,IAAI,CAyFhC,CAAC"}
1
+ {"version":3,"file":"puppeteer-screenshot.d.ts","sourceRoot":"","sources":["../src/puppeteer-screenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAIvD,eAAO,MAAM,UAAU,SAChB,IAAI,YACD,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,GAAG,IAAI,CAyFhC,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import puppeteer from 'puppeteer-core';
3
2
  import { ImageFormat } from 'remotion';
4
3
  export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-dom-element.d.ts","sourceRoot":"","sources":["../src/screenshot-dom-element.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAIrC,eAAO,MAAM,oBAAoB;UAM1B,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;;;;;MAKxB,QAAQ,MAAM,CAoCjB,CAAC"}
1
+ {"version":3,"file":"screenshot-dom-element.d.ts","sourceRoot":"","sources":["../src/screenshot-dom-element.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAIrC,eAAO,MAAM,oBAAoB;UAM1B,UAAU,IAAI;iBACP,WAAW;aACf,MAAM,GAAG,SAAS;;;;;MAKxB,QAAQ,MAAM,CAoCjB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Page, ScreenshotOptions } from 'puppeteer-core';
3
2
  import { StillImageFormat } from 'remotion';
4
3
  export declare const _screenshotTask: (page: Page, format: StillImageFormat, options: ScreenshotOptions) => Promise<Buffer | string>;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-task.d.ts","sourceRoot":"","sources":["../src/screenshot-task.ts"],"names":[],"mappings":";AACA,OAAO,EAAa,IAAI,EAAE,iBAAiB,EAAS,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAY,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe,SACrB,IAAI,UACF,gBAAgB,WACf,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,CAqCzB,CAAC"}
1
+ {"version":3,"file":"screenshot-task.d.ts","sourceRoot":"","sources":["../src/screenshot-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,IAAI,EAAE,iBAAiB,EAAS,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAY,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe,SACrB,IAAI,UACF,gBAAgB,WACf,iBAAiB,KACxB,QAAQ,MAAM,GAAG,MAAM,CAqCzB,CAAC"}
@@ -1,4 +1,3 @@
1
- import execa from 'execa';
2
1
  import { Codec, FfmpegExecutable, ImageFormat, PixelFormat, ProResProfile, RenderAssetInfo } from 'remotion';
3
2
  import { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
4
3
  export declare type StitcherOptions = {
@@ -22,10 +21,11 @@ export declare type StitcherOptions = {
22
21
  imageFormat: ImageFormat;
23
22
  };
24
23
  };
25
- export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<{
26
- task: execa.ExecaChildProcess<string>;
27
- cleanup: () => void;
24
+ declare type ReturnType = {
25
+ task: Promise<unknown>;
28
26
  getLogs: () => string;
29
- }>;
27
+ };
28
+ export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<ReturnType>;
30
29
  export declare const stitchFramesToVideo: (options: StitcherOptions) => Promise<void>;
30
+ export {};
31
31
  //# sourceMappingURL=stitch-frames-to-video.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stitch-frames-to-video.d.ts","sourceRoot":"","sources":["../src/stitch-frames-to-video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,aAAa,EACb,eAAe,EACf,MAAM,UAAU,CAAC;AAIlB,OAAO,EAEN,qBAAqB,EACrB,MAAM,0CAA0C,CAAC;AAalD,oBAAY,eAAe,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE;QACjB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,WAAW,CAAC;KACzB,CAAC;CACF,CAAC;AA4CF,eAAO,MAAM,WAAW,YAAmB,eAAe;;;;EA8IzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACtB,eAAe,KACtB,QAAQ,IAAI,CASd,CAAC"}
1
+ {"version":3,"file":"stitch-frames-to-video.d.ts","sourceRoot":"","sources":["../src/stitch-frames-to-video.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACX,aAAa,EACb,eAAe,EAEf,MAAM,UAAU,CAAC;AAIlB,OAAO,EAEN,qBAAqB,EACrB,MAAM,0CAA0C,CAAC;AAclD,oBAAY,eAAe,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE;QACjB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,WAAW,EAAE,WAAW,CAAC;KACzB,CAAC;CACF,CAAC;AAEF,aAAK,UAAU,GAAG;IACjB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC;AA6FF,eAAO,MAAM,WAAW,YACd,eAAe,KACtB,QAAQ,UAAU,CAyJpB,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACtB,eAAe,KACtB,QAAQ,IAAI,CAOd,CAAC"}
@@ -5,58 +5,74 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.stitchFramesToVideo = exports.spawnFfmpeg = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
8
10
  const remotion_1 = require("remotion");
9
11
  const assets_to_ffmpeg_inputs_1 = require("./assets-to-ffmpeg-inputs");
10
12
  const calculate_asset_positions_1 = require("./assets/calculate-asset-positions");
11
13
  const convert_assets_to_file_urls_1 = require("./assets/convert-assets-to-file-urls");
12
14
  const download_and_map_assets_to_file_1 = require("./assets/download-and-map-assets-to-file");
13
- const get_asset_audio_details_1 = require("./assets/get-asset-audio-details");
14
- const calculate_ffmpeg_filters_1 = require("./calculate-ffmpeg-filters");
15
- const create_ffmpeg_complex_filter_1 = require("./create-ffmpeg-complex-filter");
15
+ const delete_directory_1 = require("./delete-directory");
16
16
  const get_audio_codec_name_1 = require("./get-audio-codec-name");
17
17
  const get_codec_name_1 = require("./get-codec-name");
18
+ const get_extension_from_codec_1 = require("./get-extension-from-codec");
18
19
  const get_prores_profile_name_1 = require("./get-prores-profile-name");
20
+ const merge_audio_track_1 = require("./merge-audio-track");
19
21
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
20
- const sample_rate_1 = require("./sample-rate");
22
+ const preprocess_audio_track_1 = require("./preprocess-audio-track");
23
+ const tmp_dir_1 = require("./tmp-dir");
21
24
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
22
25
  const validate_ffmpeg_1 = require("./validate-ffmpeg");
23
- const getAssetsData = async (options) => {
24
- var _a, _b;
25
- const codec = (_a = options.codec) !== null && _a !== void 0 ? _a : remotion_1.Internals.DEFAULT_CODEC;
26
- const encoderName = (0, get_codec_name_1.getCodecName)(codec);
27
- const isAudioOnly = encoderName === null;
26
+ const getAssetsData = async ({ assets, downloadDir, onDownload, fps, expectedFrames, verbose, ffmpegExecutable, onProgress, codec, }) => {
28
27
  const fileUrlAssets = await (0, convert_assets_to_file_urls_1.convertAssetsToFileUrls)({
29
- assets: options.assetsInfo.assets,
30
- downloadDir: options.assetsInfo.downloadDir,
31
- onDownload: (_b = options.onDownload) !== null && _b !== void 0 ? _b : (() => () => undefined),
28
+ assets,
29
+ downloadDir,
30
+ onDownload: onDownload !== null && onDownload !== void 0 ? onDownload : (() => () => undefined),
32
31
  });
33
32
  (0, download_and_map_assets_to_file_1.markAllAssetsAsDownloaded)();
34
33
  const assetPositions = (0, calculate_asset_positions_1.calculateAssetPositions)(fileUrlAssets);
35
- (0, download_and_map_assets_to_file_1.markAllAssetsAsDownloaded)();
36
- const assetAudioDetails = await (0, get_asset_audio_details_1.getAssetAudioDetails)({
37
- assetPaths: assetPositions.map((a) => a.src),
38
- });
39
- const filters = (0, calculate_ffmpeg_filters_1.calculateFfmpegFilters)({
40
- assetAudioDetails,
41
- assetPositions,
42
- fps: options.fps,
43
- videoTrackCount: isAudioOnly ? 0 : 1,
44
- });
45
- if (options.verbose) {
34
+ if (verbose) {
46
35
  console.log('asset positions', assetPositions);
47
36
  }
48
- if (options.verbose) {
49
- console.log('filters', filters);
50
- }
51
- const { complexFilterFlag, cleanup } = await (0, create_ffmpeg_complex_filter_1.createFfmpegComplexFilter)(filters);
52
- return {
53
- complexFilterFlag,
54
- cleanup,
55
- assetPositions,
37
+ const tempPath = (0, tmp_dir_1.tmpDir)('remotion-audio-mixing');
38
+ const preprocessProgress = new Array(assetPositions.length).fill(0);
39
+ const updateProgress = () => {
40
+ onProgress(preprocessProgress.reduce((a, b) => a + b, 0) / assetPositions.length);
56
41
  };
42
+ const audioCodec = remotion_1.Internals.isAudioCodec(codec) ? codec : 'aac';
43
+ const preprocessed = await Promise.all(assetPositions.map(async (asset, index) => {
44
+ const filterFile = path_1.default.join(tempPath, `${index}.${(0, get_extension_from_codec_1.getFileExtensionFromCodec)(audioCodec, 'final')}`);
45
+ await (0, preprocess_audio_track_1.preprocessAudioTrack)({
46
+ ffmpegExecutable: ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : null,
47
+ onProgress: (prog) => {
48
+ // TODO: Does not parse
49
+ preprocessProgress[index] = prog;
50
+ updateProgress();
51
+ },
52
+ outName: filterFile,
53
+ asset,
54
+ expectedFrames,
55
+ fps,
56
+ codec: audioCodec,
57
+ });
58
+ return filterFile;
59
+ }));
60
+ const outName = path_1.default.join(tempPath, `audio.${(0, get_extension_from_codec_1.getFileExtensionFromCodec)(audioCodec, 'final')}`);
61
+ await (0, merge_audio_track_1.mergeAudioTrack)({
62
+ ffmpegExecutable: ffmpegExecutable !== null && ffmpegExecutable !== void 0 ? ffmpegExecutable : null,
63
+ files: preprocessed,
64
+ outName,
65
+ codec,
66
+ numberOfSeconds: Number((expectedFrames / fps).toFixed(3)),
67
+ });
68
+ onProgress(1);
69
+ preprocessed.forEach((p) => {
70
+ (0, delete_directory_1.deleteDirectory)(p);
71
+ });
72
+ return outName;
57
73
  };
58
74
  const spawnFfmpeg = async (options) => {
59
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
60
76
  remotion_1.Internals.validateDimension(options.height, 'height', 'passed to `stitchFramesToVideo()`');
61
77
  remotion_1.Internals.validateDimension(options.width, 'width', 'passed to `stitchFramesToVideo()`');
62
78
  remotion_1.Internals.validateFps(options.fps, 'passed to `stitchFramesToVideo()`');
@@ -89,55 +105,63 @@ const spawnFfmpeg = async (options) => {
89
105
  }
90
106
  remotion_1.Internals.validateSelectedCrfAndCodecCombination(crf, codec);
91
107
  remotion_1.Internals.validateSelectedPixelFormatAndCodecCombination(pixelFormat, codec);
92
- const { complexFilterFlag, cleanup, assetPositions } = await getAssetsData(options);
93
108
  const expectedFrames = options.assetsInfo.assets.length;
109
+ const audio = await getAssetsData({
110
+ assets: options.assetsInfo.assets,
111
+ downloadDir: options.assetsInfo.downloadDir,
112
+ onDownload: options.onDownload,
113
+ fps: options.fps,
114
+ expectedFrames,
115
+ verbose: (_f = options.verbose) !== null && _f !== void 0 ? _f : false,
116
+ ffmpegExecutable: (_g = options.ffmpegExecutable) !== null && _g !== void 0 ? _g : null,
117
+ onProgress: (prog) => { var _a; return (_a = options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, prog); },
118
+ codec,
119
+ });
120
+ if (isAudioOnly) {
121
+ if (!audio) {
122
+ // TODO: Just return an empty audio
123
+ throw new TypeError('Audio output was selected but the composition contained no audio.');
124
+ }
125
+ await fs_1.default.promises.copyFile(audio, options.outputLocation);
126
+ (_h = options.onProgress) === null || _h === void 0 ? void 0 : _h.call(options, 1);
127
+ return {
128
+ getLogs: () => '',
129
+ task: Promise.resolve(),
130
+ };
131
+ }
94
132
  const ffmpegArgs = [
95
133
  ['-r', String(options.fps)],
96
- ...(((_f = options.internalOptions) === null || _f === void 0 ? void 0 : _f.preEncodedFileLocation)
97
- ? [['-i', (_g = options.internalOptions) === null || _g === void 0 ? void 0 : _g.preEncodedFileLocation]]
98
- : isAudioOnly
99
- ? []
100
- : [
101
- ['-f', 'image2'],
102
- ['-s', `${options.width}x${options.height}`],
103
- ['-start_number', String(options.assetsInfo.firstFrameIndex)],
104
- ['-i', options.assetsInfo.imageSequenceName],
105
- ]),
134
+ ...(((_j = options.internalOptions) === null || _j === void 0 ? void 0 : _j.preEncodedFileLocation)
135
+ ? [['-i', (_k = options.internalOptions) === null || _k === void 0 ? void 0 : _k.preEncodedFileLocation]]
136
+ : [
137
+ ['-f', 'image2'],
138
+ ['-s', `${options.width}x${options.height}`],
139
+ ['-start_number', String(options.assetsInfo.firstFrameIndex)],
140
+ ['-i', options.assetsInfo.imageSequenceName],
141
+ ]),
106
142
  ...(0, assets_to_ffmpeg_inputs_1.assetsToFfmpegInputs)({
107
- assets: assetPositions.map((a) => a.src),
143
+ asset: audio,
108
144
  isAudioOnly,
109
145
  fps: options.fps,
110
- frameCount: options.assetsInfo.assets.length,
146
+ frameCount: expectedFrames,
111
147
  }),
112
- encoderName
113
- ? // -c:v is the same as -vcodec as -codec:video
114
- // and specified the video codec.
115
- ['-c:v', encoderName]
116
- : // If only exporting audio, we drop the video explicitly
117
- ['-vn'],
118
- ...(((_h = options.internalOptions) === null || _h === void 0 ? void 0 : _h.preEncodedFileLocation)
148
+ // -c:v is the same as -vcodec as -codec:video
149
+ // and specified the video codec.
150
+ ['-c:v', encoderName],
151
+ ...(((_l = options.internalOptions) === null || _l === void 0 ? void 0 : _l.preEncodedFileLocation)
119
152
  ? []
120
153
  : [
121
154
  proResProfileName ? ['-profile:v', proResProfileName] : null,
122
155
  supportsCrf ? ['-crf', String(crf)] : null,
123
- isAudioOnly ? null : ['-pix_fmt', pixelFormat],
156
+ ['-pix_fmt', pixelFormat],
124
157
  // Without explicitly disabling auto-alt-ref,
125
158
  // transparent WebM generation doesn't work
126
159
  pixelFormat === 'yuva420p' ? ['-auto-alt-ref', '0'] : null,
127
- isAudioOnly ? null : ['-b:v', '1M'],
160
+ ['-b:v', '1M'],
128
161
  ]),
129
- '-ar',
130
- String(sample_rate_1.DEFAULT_SAMPLE_RATE),
131
- // Stereo sound, even force mono to be stereo
132
- // Otherwise mixing mono + stereo ends up speeding up the audio
133
- '-ac',
134
- '2',
135
162
  audioCodecName ? ['-c:a', audioCodecName] : null,
136
- complexFilterFlag,
137
- // Ignore audio from image sequence
138
- isAudioOnly ? null : ['-map', '0:v'],
139
163
  // Ignore metadata that may come from remote media
140
- isAudioOnly ? null : ['-map_metadata', '-1'],
164
+ ['-map_metadata', '-1'],
141
165
  options.force ? '-y' : null,
142
166
  options.outputLocation,
143
167
  ];
@@ -146,12 +170,12 @@ const spawnFfmpeg = async (options) => {
146
170
  console.log(ffmpegArgs);
147
171
  }
148
172
  const ffmpegString = ffmpegArgs.flat(2).filter(Boolean);
149
- const task = (0, execa_1.default)((_j = options.ffmpegExecutable) !== null && _j !== void 0 ? _j : 'ffmpeg', ffmpegString, {
173
+ const task = (0, execa_1.default)((_m = options.ffmpegExecutable) !== null && _m !== void 0 ? _m : 'ffmpeg', ffmpegString, {
150
174
  cwd: options.dir,
151
175
  });
152
176
  let ffmpegOutput = '';
153
177
  let isFinished = false;
154
- (_k = task.stderr) === null || _k === void 0 ? void 0 : _k.on('data', (data) => {
178
+ (_o = task.stderr) === null || _o === void 0 ? void 0 : _o.on('data', (data) => {
155
179
  var _a;
156
180
  const str = data.toString();
157
181
  ffmpegOutput += str;
@@ -173,20 +197,17 @@ const spawnFfmpeg = async (options) => {
173
197
  }
174
198
  }
175
199
  });
176
- return { task, cleanup, getLogs: () => ffmpegOutput };
200
+ return { task, getLogs: () => ffmpegOutput };
177
201
  };
178
202
  exports.spawnFfmpeg = spawnFfmpeg;
179
203
  const stitchFramesToVideo = async (options) => {
180
- const { task, cleanup, getLogs } = await (0, exports.spawnFfmpeg)(options);
204
+ const { task, getLogs } = await (0, exports.spawnFfmpeg)(options);
181
205
  try {
182
206
  await task;
183
207
  }
184
208
  catch (err) {
185
209
  throw new Error(getLogs());
186
210
  }
187
- finally {
188
- cleanup === null || cleanup === void 0 ? void 0 : cleanup();
189
- }
190
211
  };
191
212
  exports.stitchFramesToVideo = stitchFramesToVideo;
192
213
  //# sourceMappingURL=stitch-frames-to-video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stitch-frames-to-video.js","sourceRoot":"","sources":["../src/stitch-frames-to-video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stitch-frames-to-video.js","sourceRoot":"","sources":["../src/stitch-frames-to-video.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { AssetVolume } from './assets/types';
2
- export declare const stringifyFfmpegFilter: ({ streamIndex, trimLeft, trimRight, channels, startInVideo, simulatenousAssets, volume, fps, playbackRate, }: {
3
- streamIndex: number;
2
+ export declare const stringifyFfmpegFilter: ({ trimLeft, trimRight, channels, startInVideo, volume, fps, playbackRate, durationInFrames, }: {
4
3
  trimLeft: string;
5
4
  trimRight: string;
6
5
  channels: number;
7
6
  startInVideo: number;
8
- simulatenousAssets: number;
9
7
  volume: AssetVolume;
10
8
  fps: number;
9
+ durationInFrames: number;
11
10
  playbackRate: number;
12
11
  }) => string;
13
12
  //# sourceMappingURL=stringify-ffmpeg-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-ffmpeg-filter.d.ts","sourceRoot":"","sources":["../src/stringify-ffmpeg-filter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,qBAAqB;iBAWpB,MAAM;cACT,MAAM;eACL,MAAM;cACP,MAAM;kBACF,MAAM;wBACA,MAAM;YAClB,WAAW;SACd,MAAM;kBACG,MAAM;YA6BpB,CAAC"}
1
+ {"version":3,"file":"stringify-ffmpeg-filter.d.ts","sourceRoot":"","sources":["../src/stringify-ffmpeg-filter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,qBAAqB;cAUvB,MAAM;eACL,MAAM;cACP,MAAM;kBACF,MAAM;YACZ,WAAW;SACd,MAAM;sBACO,MAAM;kBACV,MAAM;YA4BpB,CAAC"}