@remotion/renderer 3.0.1 → 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 (98) 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/download-and-map-assets-to-file.js +1 -1
  5. package/dist/assets/download-and-map-assets-to-file.js.map +1 -1
  6. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -2
  7. package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -1
  8. package/dist/assets/ffmpeg-volume-expression.js +3 -5
  9. package/dist/assets/ffmpeg-volume-expression.js.map +1 -1
  10. package/dist/assets/get-asset-audio-details.js +2 -5
  11. package/dist/assets/get-asset-audio-details.js.map +1 -1
  12. package/dist/assets-to-ffmpeg-inputs.d.ts +6 -3
  13. package/dist/assets-to-ffmpeg-inputs.d.ts.map +1 -1
  14. package/dist/assets-to-ffmpeg-inputs.js +3 -3
  15. package/dist/assets-to-ffmpeg-inputs.js.map +1 -1
  16. package/dist/calculate-ffmpeg-filters.d.ts +6 -10
  17. package/dist/calculate-ffmpeg-filters.d.ts.map +1 -1
  18. package/dist/calculate-ffmpeg-filters.js +20 -30
  19. package/dist/calculate-ffmpeg-filters.js.map +1 -1
  20. package/dist/create-ffmpeg-complex-filter.d.ts +5 -3
  21. package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -1
  22. package/dist/create-ffmpeg-complex-filter.js +10 -32
  23. package/dist/create-ffmpeg-complex-filter.js.map +1 -1
  24. package/dist/create-ffmpeg-merge-filter.d.ts +2 -0
  25. package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
  26. package/dist/create-ffmpeg-merge-filter.js +22 -0
  27. package/dist/create-ffmpeg-merge-filter.js.map +1 -0
  28. package/dist/create-silent-audio.d.ts +8 -0
  29. package/dist/create-silent-audio.d.ts.map +1 -0
  30. package/dist/create-silent-audio.js +22 -0
  31. package/dist/create-silent-audio.js.map +1 -0
  32. package/dist/cycle-browser-tabs.d.ts +1 -1
  33. package/dist/cycle-browser-tabs.d.ts.map +1 -1
  34. package/dist/cycle-browser-tabs.js +6 -1
  35. package/dist/cycle-browser-tabs.js.map +1 -1
  36. package/dist/delete-directory.js +1 -1
  37. package/dist/delete-directory.js.map +1 -1
  38. package/dist/ensure-frames-in-order.d.ts.map +1 -1
  39. package/dist/ensure-frames-in-order.js +1 -1
  40. package/dist/ensure-frames-in-order.js.map +1 -1
  41. package/dist/ffmpeg-filter-file.d.ts +5 -0
  42. package/dist/ffmpeg-filter-file.d.ts.map +1 -0
  43. package/dist/ffmpeg-filter-file.js +25 -0
  44. package/dist/ffmpeg-filter-file.js.map +1 -0
  45. package/dist/get-duration-from-frame-range.d.ts +3 -0
  46. package/dist/get-duration-from-frame-range.d.ts.map +1 -0
  47. package/dist/get-duration-from-frame-range.js +14 -0
  48. package/dist/get-duration-from-frame-range.js.map +1 -0
  49. package/dist/get-extension-from-codec.d.ts +1 -1
  50. package/dist/index.d.ts +3 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +2 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/merge-audio-track.d.ts +11 -0
  55. package/dist/merge-audio-track.d.ts.map +1 -0
  56. package/dist/merge-audio-track.js +41 -0
  57. package/dist/merge-audio-track.js.map +1 -0
  58. package/dist/p-limit.d.ts +2 -0
  59. package/dist/p-limit.d.ts.map +1 -0
  60. package/dist/p-limit.js +58 -0
  61. package/dist/p-limit.js.map +1 -0
  62. package/dist/preprocess-audio-track.d.ts +14 -0
  63. package/dist/preprocess-audio-track.d.ts.map +1 -0
  64. package/dist/preprocess-audio-track.js +54 -0
  65. package/dist/preprocess-audio-track.js.map +1 -0
  66. package/dist/prespawn-ffmpeg.d.ts +21 -0
  67. package/dist/prespawn-ffmpeg.d.ts.map +1 -0
  68. package/dist/prespawn-ffmpeg.js +92 -0
  69. package/dist/prespawn-ffmpeg.js.map +1 -0
  70. package/dist/provide-screenshot.d.ts +0 -1
  71. package/dist/provide-screenshot.d.ts.map +1 -1
  72. package/dist/puppeteer-screenshot.d.ts +0 -1
  73. package/dist/puppeteer-screenshot.d.ts.map +1 -1
  74. package/dist/render-frames.d.ts +2 -1
  75. package/dist/render-frames.d.ts.map +1 -1
  76. package/dist/render-frames.js +7 -5
  77. package/dist/render-frames.js.map +1 -1
  78. package/dist/render-media.d.ts.map +1 -1
  79. package/dist/render-media.js +8 -15
  80. package/dist/render-media.js.map +1 -1
  81. package/dist/screenshot-dom-element.d.ts +0 -1
  82. package/dist/screenshot-dom-element.d.ts.map +1 -1
  83. package/dist/screenshot-task.d.ts +0 -1
  84. package/dist/screenshot-task.d.ts.map +1 -1
  85. package/dist/stitch-frames-to-video.d.ts +6 -7
  86. package/dist/stitch-frames-to-video.d.ts.map +1 -1
  87. package/dist/stitch-frames-to-video.js +114 -105
  88. package/dist/stitch-frames-to-video.js.map +1 -1
  89. package/dist/stringify-ffmpeg-filter.d.ts +2 -3
  90. package/dist/stringify-ffmpeg-filter.d.ts.map +1 -1
  91. package/dist/stringify-ffmpeg-filter.js +4 -5
  92. package/dist/stringify-ffmpeg-filter.js.map +1 -1
  93. package/dist/tmp-dir.d.ts.map +1 -1
  94. package/dist/tmp-dir.js +21 -3
  95. package/dist/tmp-dir.js.map +1 -1
  96. package/dist/validate-scale.d.ts.map +1 -1
  97. package/dist/validate-scale.js.map +1 -1
  98. package/package.json +4 -5
@@ -11,16 +11,18 @@ const remotion_1 = require("remotion");
11
11
  const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
12
12
  const ensure_frames_in_order_1 = require("./ensure-frames-in-order");
13
13
  const ensure_output_directory_1 = require("./ensure-output-directory");
14
+ const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
14
15
  const get_extension_from_codec_1 = require("./get-extension-from-codec");
15
16
  const get_frame_to_render_1 = require("./get-frame-to-render");
16
17
  const legacy_webpack_config_1 = require("./legacy-webpack-config");
18
+ const prespawn_ffmpeg_1 = require("./prespawn-ffmpeg");
17
19
  const render_frames_1 = require("./render-frames");
18
20
  const stitch_frames_to_video_1 = require("./stitch-frames-to-video");
19
21
  const tmp_dir_1 = require("./tmp-dir");
20
22
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
21
23
  const validate_scale_1 = require("./validate-scale");
22
24
  const renderMedia = async ({ parallelism, proResProfile, crf, composition, imageFormat, ffmpegExecutable, inputProps, pixelFormat, codec, envVariables, quality, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, dumpBrowserLogs, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, ...options }) => {
23
- var _a, _b;
25
+ var _a;
24
26
  remotion_1.Internals.validateQuality(quality);
25
27
  if (typeof crf !== 'undefined' && crf !== null) {
26
28
  remotion_1.Internals.validateSelectedCrfAndCodecCombination(crf, codec);
@@ -61,12 +63,11 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
61
63
  });
62
64
  };
63
65
  if (preEncodedFileLocation) {
64
- preStitcher = await (0, stitch_frames_to_video_1.spawnFfmpeg)({
66
+ preStitcher = await (0, prespawn_ffmpeg_1.prespawnFfmpeg)({
65
67
  width: composition.width * (scale !== null && scale !== void 0 ? scale : 1),
66
68
  height: composition.height * (scale !== null && scale !== void 0 ? scale : 1),
67
69
  fps: composition.fps,
68
70
  outputLocation: preEncodedFileLocation,
69
- force: true,
70
71
  pixelFormat,
71
72
  codec,
72
73
  proResProfile,
@@ -77,16 +78,12 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
77
78
  },
78
79
  verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
79
80
  ffmpegExecutable,
80
- internalOptions: {
81
- parallelEncoding,
82
- preEncodedFileLocation: null,
83
- imageFormat: actualImageFormat,
84
- },
85
- assetsInfo: null,
81
+ imageFormat: actualImageFormat,
86
82
  });
87
83
  stitcherFfmpeg = preStitcher.task;
88
84
  }
89
- const { waitForRightTimeOfFrameToBeInserted, setFrameToStitch, waitForFinish, } = (0, ensure_frames_in_order_1.ensureFramesInOrder)((0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange !== null && frameRange !== void 0 ? frameRange : null));
85
+ const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange !== null && frameRange !== void 0 ? frameRange : null);
86
+ const { waitForRightTimeOfFrameToBeInserted, setFrameToStitch, waitForFinish, } = (0, ensure_frames_in_order_1.ensureFramesInOrder)(realFrameRange);
90
87
  const { assetsInfo } = await (0, render_frames_1.renderFrames)({
91
88
  config: composition,
92
89
  onFrameUpdate: (frame) => {
@@ -131,9 +128,6 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
131
128
  catch (err) {
132
129
  throw new Error(preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.getLogs());
133
130
  }
134
- finally {
135
- (_b = preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.cleanup) === null || _b === void 0 ? void 0 : _b.call(preStitcher);
136
- }
137
131
  }
138
132
  renderedDoneIn = Date.now() - renderStart;
139
133
  callUpdate();
@@ -145,7 +139,6 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
145
139
  fps: composition.fps,
146
140
  outputLocation,
147
141
  internalOptions: {
148
- parallelEncoding: false,
149
142
  preEncodedFileLocation,
150
143
  imageFormat: actualImageFormat,
151
144
  },
@@ -165,7 +158,7 @@ const renderMedia = async ({ parallelism, proResProfile, crf, composition, image
165
158
  verbose: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
166
159
  dir: outputDir !== null && outputDir !== void 0 ? outputDir : undefined,
167
160
  });
168
- encodedFrames = composition.durationInFrames;
161
+ encodedFrames = (0, get_duration_from_frame_range_1.getDurationFromFrameRange)(frameRange !== null && frameRange !== void 0 ? frameRange : null, composition.durationInFrames);
169
162
  encodedDoneIn = Date.now() - stitchStart;
170
163
  callUpdate();
171
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-media.js","sourceRoot":"","sources":["../src/render-media.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AAExB,uCAQkB;AAGlB,2EAAmE;AACnE,qEAA6D;AAC7D,uEAAgE;AAChE,yEAAqE;AACrE,+DAAwD;AACxD,mEAGiC;AAEjC,mDAA6C;AAC7C,qEAA0E;AAC1E,uCAAiC;AAEjC,+FAAsF;AACtF,qDAA+C;AAwCxC,MAAM,WAAW,GAAG,KAAK,EAAE,EACjC,WAAW,EACX,aAAa,EACb,GAAG,EACH,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,EACZ,OAAO,EACP,qBAAqB,EACrB,eAAe,EACf,KAAK,EACL,GAAG,OAAO,EACU,EAAE,EAAE;;IACxB,oBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE;QAC/C,oBAAS,CAAC,sCAAsC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC7D;IAED,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,IAAA,+CAAuB,EAAC,OAAO,CAAC,CAAC;IAElD,IAAI,WAAW,GAAmB,UAAU,CAAC;IAC7C,IAAI,cAAqD,CAAC;IAC1D,IAAI,WAAW,GAAiD,IAAI,CAAC;IACrE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,YAAY,CAAC,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAA,kDAAsB,EAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM,CAAC;IAEhD,MAAM,sBAAsB,GAAG,gBAAgB;QAC9C,CAAC,CAAC,cAAI,CAAC,IAAI,CACT,MAAM,EACN,aAAa,GAAG,IAAA,oDAAyB,EAAC,KAAK,EAAE,OAAO,CAAC,CACxD;QACH,CAAC,CAAC,IAAI,CAAC;IAER,MAAM,SAAS,GAAG,gBAAgB;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE5E,IAAA,qEAA+B,EAAC;QAC/B,KAAK;QACL,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC;QACjB,KAAK,EAAE,WAAW,CAAC,KAAK;KACxB,CAAC,CAAC;IAEH,IAAI;QACH,MAAM,UAAU,GAAG,GAAG,EAAE;YACvB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG;gBACZ,aAAa;gBACb,aAAa;gBACb,cAAc;gBACd,cAAc;gBACd,WAAW;aACX,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,sBAAsB,EAAE;YAC3B,WAAW,GAAG,MAAM,IAAA,oCAAW,EAAC;gBAC/B,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;gBACvC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;gBACzC,GAAG,EAAE,WAAW,CAAC,GAAG;gBACpB,cAAc,EAAE,sBAAsB;gBACtC,KAAK,EAAE,IAAI;gBACX,WAAW;gBACX,KAAK;gBACL,aAAa;gBACb,GAAG;gBACH,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC7B,aAAa,GAAG,KAAK,CAAC;oBACtB,UAAU,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,oBAAS,CAAC,OAAO,CAAC,sBAAsB,CAChD,oBAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAC/B,SAAS,CACT;gBACD,gBAAgB;gBAChB,eAAe,EAAE;oBAChB,gBAAgB;oBAChB,sBAAsB,EAAE,IAAI;oBAC5B,WAAW,EAAE,iBAAiB;iBAC9B;gBACD,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;SAClC;QAED,MAAM,EACL,mCAAmC,EACnC,gBAAgB,EAChB,aAAa,GACb,GAAG,IAAA,4CAAmB,EACtB,IAAA,uCAAiB,EAAC,WAAW,CAAC,gBAAgB,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CAAC,CACnE,CAAC;QAEF,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,IAAA,4BAAY,EAAC;YACvC,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;gBAChC,cAAc,GAAG,KAAK,CAAC;gBACvB,UAAU,EAAE,CAAC;YACd,CAAC;YACD,WAAW;YACX,SAAS;YACT,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,cAAc,GAAG,CAAC,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,UAAU;YACV,YAAY;YACZ,WAAW,EAAE,iBAAiB;YAC9B,OAAO;YACP,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI;YAC9B,iBAAiB;YACjB,aAAa,EAAE,gBAAgB;gBAC9B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;;oBACxB,MAAM,mCAAmC,CAAC,KAAK,CAAC,CAAC;oBACjD,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAErC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACH,CAAC,CAAC,SAAS;YACZ,QAAQ;YACR,eAAe;YACf,YAAY;YACZ,UAAU;YACV,qBAAqB;YACrB,eAAe;YACf,KAAK;SACL,CAAC,CAAC;QACH,IAAI,cAAc,EAAE;YACnB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,GAAG,EAAE,CAAC;YAC7B,IAAI;gBACH,MAAM,cAAc,CAAC;aACrB;YAAC,OAAO,GAAG,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC,CAAC;aACxC;oBAAS;gBACT,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,+CAApB,WAAW,CAAa,CAAC;aACzB;SACD;QAED,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QAC1C,UAAU,EAAE,CAAC;QAEb,IAAA,+CAAqB,EAAC,cAAc,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,MAAM,IAAA,4CAAmB,EAAC;YACzB,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;YACvC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;YACzC,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,cAAc;YACd,eAAe,EAAE;gBAChB,gBAAgB,EAAE,KAAK;gBACvB,sBAAsB;gBACtB,WAAW,EAAE,iBAAiB;aAC9B;YACD,KAAK,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,oBAAS,CAAC,iBAAiB;YAC/C,WAAW;YACX,KAAK;YACL,aAAa;YACb,GAAG;YACH,UAAU;YACV,gBAAgB;YAChB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7B,WAAW,GAAG,QAAQ,CAAC;gBACvB,aAAa,GAAG,KAAK,CAAC;gBACtB,UAAU,EAAE,CAAC;YACd,CAAC;YACD,UAAU;YACV,OAAO,EAAE,oBAAS,CAAC,OAAO,CAAC,sBAAsB,CAChD,oBAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAC/B,SAAS,CACT;YACD,GAAG,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;SAC3B,CAAC,CAAC;QACH,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAC7C,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QACzC,UAAU,EAAE,CAAC;KACb;YAAS;QACT,IACC,sBAAsB,KAAK,IAAI;YAC/B,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACpC;YACD,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;SACtC;KACD;AACF,CAAC,CAAC;AAhNW,QAAA,WAAW,eAgNtB"}
1
+ {"version":3,"file":"render-media.js","sourceRoot":"","sources":["../src/render-media.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 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 = {
@@ -7,7 +6,7 @@ export declare type StitcherOptions = {
7
6
  height: number;
8
7
  outputLocation: string;
9
8
  force: boolean;
10
- assetsInfo: RenderAssetInfo | null;
9
+ assetsInfo: RenderAssetInfo;
11
10
  pixelFormat?: PixelFormat;
12
11
  codec?: Codec;
13
12
  crf?: number | null;
@@ -19,14 +18,14 @@ export declare type StitcherOptions = {
19
18
  dir?: string;
20
19
  internalOptions?: {
21
20
  preEncodedFileLocation: string | null;
22
- parallelEncoding: boolean;
23
21
  imageFormat: ImageFormat;
24
22
  };
25
23
  };
26
- export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<{
27
- task: execa.ExecaChildProcess<string>;
28
- cleanup: (() => void) | undefined;
24
+ declare type ReturnType = {
25
+ task: Promise<unknown>;
29
26
  getLogs: () => string;
30
- }>;
27
+ };
28
+ export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<ReturnType>;
31
29
  export declare const stitchFramesToVideo: (options: StitcherOptions) => Promise<void>;
30
+ export {};
32
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,GAAG,IAAI,CAAC;IACnC,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,gBAAgB,EAAE,OAAO,CAAC;QAC1B,WAAW,EAAE,WAAW,CAAC;KACzB,CAAC;CACF,CAAC;AA+CF,eAAO,MAAM,WAAW,YAAmB,eAAe;;;;EA0JzD,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,60 +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;
28
- const fileUrlAssets = await (options.assetsInfo
29
- ? (0, convert_assets_to_file_urls_1.convertAssetsToFileUrls)({
30
- assets: options.assetsInfo.assets,
31
- downloadDir: options.assetsInfo.downloadDir,
32
- onDownload: (_b = options.onDownload) !== null && _b !== void 0 ? _b : (() => () => undefined),
33
- })
34
- : null);
35
- (0, download_and_map_assets_to_file_1.markAllAssetsAsDownloaded)();
36
- const assetPositions = fileUrlAssets === null ? [] : (0, calculate_asset_positions_1.calculateAssetPositions)(fileUrlAssets);
37
- (0, download_and_map_assets_to_file_1.markAllAssetsAsDownloaded)();
38
- const assetAudioDetails = await (0, get_asset_audio_details_1.getAssetAudioDetails)({
39
- assetPaths: assetPositions.map((a) => a.src),
26
+ const getAssetsData = async ({ assets, downloadDir, onDownload, fps, expectedFrames, verbose, ffmpegExecutable, onProgress, codec, }) => {
27
+ const fileUrlAssets = await (0, convert_assets_to_file_urls_1.convertAssetsToFileUrls)({
28
+ assets,
29
+ downloadDir,
30
+ onDownload: onDownload !== null && onDownload !== void 0 ? onDownload : (() => () => undefined),
40
31
  });
41
- const filters = (0, calculate_ffmpeg_filters_1.calculateFfmpegFilters)({
42
- assetAudioDetails,
43
- assetPositions,
44
- fps: options.fps,
45
- videoTrackCount: isAudioOnly ? 0 : 1,
46
- });
47
- if (options.verbose) {
32
+ (0, download_and_map_assets_to_file_1.markAllAssetsAsDownloaded)();
33
+ const assetPositions = (0, calculate_asset_positions_1.calculateAssetPositions)(fileUrlAssets);
34
+ if (verbose) {
48
35
  console.log('asset positions', assetPositions);
49
36
  }
50
- if (options.verbose) {
51
- console.log('filters', filters);
52
- }
53
- const { complexFilterFlag, cleanup } = await (0, create_ffmpeg_complex_filter_1.createFfmpegComplexFilter)(filters);
54
- return {
55
- complexFilterFlag,
56
- cleanup,
57
- 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);
58
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;
59
73
  };
60
74
  const spawnFfmpeg = async (options) => {
61
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
62
76
  remotion_1.Internals.validateDimension(options.height, 'height', 'passed to `stitchFramesToVideo()`');
63
77
  remotion_1.Internals.validateDimension(options.width, 'width', 'passed to `stitchFramesToVideo()`');
64
78
  remotion_1.Internals.validateFps(options.fps, 'passed to `stitchFramesToVideo()`');
@@ -91,78 +105,63 @@ const spawnFfmpeg = async (options) => {
91
105
  }
92
106
  remotion_1.Internals.validateSelectedCrfAndCodecCombination(crf, codec);
93
107
  remotion_1.Internals.validateSelectedPixelFormatAndCodecCombination(pixelFormat, codec);
94
- const { complexFilterFlag = undefined, cleanup = undefined, assetPositions = undefined, } = ((_f = options.internalOptions) === null || _f === void 0 ? void 0 : _f.parallelEncoding)
95
- ? {}
96
- : await getAssetsData(options);
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
+ }
97
132
  const ffmpegArgs = [
98
133
  ['-r', String(options.fps)],
99
- ...(((_g = options.internalOptions) === null || _g === void 0 ? void 0 : _g.preEncodedFileLocation)
100
- ? [['-i', (_h = options.internalOptions) === null || _h === void 0 ? void 0 : _h.preEncodedFileLocation]]
101
- : isAudioOnly
102
- ? []
103
- : [
104
- [
105
- '-f',
106
- ((_j = options.internalOptions) === null || _j === void 0 ? void 0 : _j.parallelEncoding)
107
- ? ['image2pipe']
108
- : 'image2',
109
- ],
110
- ['-s', `${options.width}x${options.height}`],
111
- options.assetsInfo
112
- ? ['-start_number', String(options.assetsInfo.firstFrameIndex)]
113
- : null,
114
- options.assetsInfo
115
- ? ['-i', options.assetsInfo.imageSequenceName]
116
- : null,
117
- // If scale is very small (like 0.1), FFMPEG cannot figure out the image
118
- // format on it's own and we need to hint the format
119
- ((_k = options.internalOptions) === null || _k === void 0 ? void 0 : _k.parallelEncoding)
120
- ? [
121
- '-vcodec',
122
- options.internalOptions.imageFormat === 'jpeg'
123
- ? 'mjpeg'
124
- : 'png',
125
- ]
126
- : null,
127
- ((_l = options.internalOptions) === null || _l === void 0 ? void 0 : _l.parallelEncoding) ? ['-i', '-'] : null,
128
- ]),
129
- ...(options.assetsInfo && assetPositions
130
- ? (0, assets_to_ffmpeg_inputs_1.assetsToFfmpegInputs)({
131
- assets: assetPositions.map((a) => a.src),
132
- isAudioOnly,
133
- fps: options.fps,
134
- frameCount: options.assetsInfo.assets.length,
135
- })
136
- : []),
137
- encoderName
138
- ? // -c:v is the same as -vcodec as -codec:video
139
- // and specified the video codec.
140
- ['-c:v', encoderName]
141
- : // If only exporting audio, we drop the video explicitly
142
- ['-vn'],
143
- ...(((_m = options.internalOptions) === null || _m === void 0 ? void 0 : _m.preEncodedFileLocation)
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
+ ]),
142
+ ...(0, assets_to_ffmpeg_inputs_1.assetsToFfmpegInputs)({
143
+ asset: audio,
144
+ isAudioOnly,
145
+ fps: options.fps,
146
+ frameCount: expectedFrames,
147
+ }),
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)
144
152
  ? []
145
153
  : [
146
154
  proResProfileName ? ['-profile:v', proResProfileName] : null,
147
155
  supportsCrf ? ['-crf', String(crf)] : null,
148
- isAudioOnly ? null : ['-pix_fmt', pixelFormat],
156
+ ['-pix_fmt', pixelFormat],
149
157
  // Without explicitly disabling auto-alt-ref,
150
158
  // transparent WebM generation doesn't work
151
159
  pixelFormat === 'yuva420p' ? ['-auto-alt-ref', '0'] : null,
152
- isAudioOnly ? null : ['-b:v', '1M'],
160
+ ['-b:v', '1M'],
153
161
  ]),
154
- '-ar',
155
- String(sample_rate_1.DEFAULT_SAMPLE_RATE),
156
- // Stereo sound, even force mono to be stereo
157
- // Otherwise mixing mono + stereo ends up speeding up the audio
158
- '-ac',
159
- '2',
160
162
  audioCodecName ? ['-c:a', audioCodecName] : null,
161
- complexFilterFlag,
162
- // Ignore audio from image sequence
163
- isAudioOnly ? null : ['-map', '0:v'],
164
163
  // Ignore metadata that may come from remote media
165
- isAudioOnly ? null : ['-map_metadata', '-1'],
164
+ ['-map_metadata', '-1'],
166
165
  options.force ? '-y' : null,
167
166
  options.outputLocation,
168
167
  ];
@@ -171,34 +170,44 @@ const spawnFfmpeg = async (options) => {
171
170
  console.log(ffmpegArgs);
172
171
  }
173
172
  const ffmpegString = ffmpegArgs.flat(2).filter(Boolean);
174
- const task = (0, execa_1.default)((_o = options.ffmpegExecutable) !== null && _o !== void 0 ? _o : 'ffmpeg', ffmpegString, {
175
- cwd: ((_p = options.internalOptions) === null || _p === void 0 ? void 0 : _p.parallelEncoding) ? undefined : options.dir,
173
+ const task = (0, execa_1.default)((_m = options.ffmpegExecutable) !== null && _m !== void 0 ? _m : 'ffmpeg', ffmpegString, {
174
+ cwd: options.dir,
176
175
  });
177
176
  let ffmpegOutput = '';
178
- (_q = task.stderr) === null || _q === void 0 ? void 0 : _q.on('data', (data) => {
177
+ let isFinished = false;
178
+ (_o = task.stderr) === null || _o === void 0 ? void 0 : _o.on('data', (data) => {
179
+ var _a;
179
180
  const str = data.toString();
180
181
  ffmpegOutput += str;
181
182
  if (options.onProgress) {
182
183
  const parsed = (0, parse_ffmpeg_progress_1.parseFfmpegProgress)(str);
184
+ // FFMPEG bug: In some cases, FFMPEG does hang after it is finished with it's job
185
+ // Example repo: https://github.com/JonnyBurger/ffmpeg-repro (access can be given upon request)
183
186
  if (parsed !== undefined) {
187
+ // If two times in a row the finishing frame is logged, we quit the render
188
+ if (parsed === expectedFrames) {
189
+ if (isFinished) {
190
+ (_a = task.stdin) === null || _a === void 0 ? void 0 : _a.write('q');
191
+ }
192
+ else {
193
+ isFinished = true;
194
+ }
195
+ }
184
196
  options.onProgress(parsed);
185
197
  }
186
198
  }
187
199
  });
188
- return { task, cleanup, getLogs: () => ffmpegOutput };
200
+ return { task, getLogs: () => ffmpegOutput };
189
201
  };
190
202
  exports.spawnFfmpeg = spawnFfmpeg;
191
203
  const stitchFramesToVideo = async (options) => {
192
- const { task, cleanup, getLogs } = await (0, exports.spawnFfmpeg)(options);
204
+ const { task, getLogs } = await (0, exports.spawnFfmpeg)(options);
193
205
  try {
194
206
  await task;
195
207
  }
196
208
  catch (err) {
197
209
  throw new Error(getLogs());
198
210
  }
199
- finally {
200
- cleanup === null || cleanup === void 0 ? void 0 : cleanup();
201
- }
202
211
  };
203
212
  exports.stitchFramesToVideo = stitchFramesToVideo;
204
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"}
@@ -4,17 +4,15 @@ exports.stringifyFfmpegFilter = void 0;
4
4
  const remotion_1 = require("remotion");
5
5
  const calculate_atempo_1 = require("./assets/calculate-atempo");
6
6
  const ffmpeg_volume_expression_1 = require("./assets/ffmpeg-volume-expression");
7
- const stringifyFfmpegFilter = ({ streamIndex, trimLeft, trimRight, channels, startInVideo, simulatenousAssets, volume, fps, playbackRate, }) => {
7
+ const stringifyFfmpegFilter = ({ trimLeft, trimRight, channels, startInVideo, volume, fps, playbackRate, durationInFrames, }) => {
8
8
  const startInVideoSeconds = ((startInVideo / fps) * 1000).toFixed(); // in milliseconds
9
9
  const volumeFilter = (0, ffmpeg_volume_expression_1.ffmpegVolumeExpression)({
10
10
  volume,
11
- multiplier: simulatenousAssets,
12
11
  startInVideo,
13
12
  fps,
14
13
  });
15
- return (`[${streamIndex}:a]` +
14
+ return (`[0:a]` +
16
15
  [
17
- 'apad',
18
16
  `atrim=${trimLeft}:${trimRight}`,
19
17
  // For n channels, we delay n + 1 channels.
20
18
  // This is because `ffprobe` for some audio files reports the wrong amount
@@ -25,10 +23,11 @@ const stringifyFfmpegFilter = ({ streamIndex, trimLeft, trimRight, channels, sta
25
23
  `adelay=${new Array(channels + 1).fill(startInVideoSeconds).join('|')}`,
26
24
  (0, calculate_atempo_1.calculateATempo)(playbackRate),
27
25
  `volume=${volumeFilter.value}:eval=${volumeFilter.eval}`,
26
+ 'apad=whole_dur=' + (durationInFrames / fps).toFixed(3),
28
27
  ]
29
28
  .filter(remotion_1.Internals.truthy)
30
29
  .join(',') +
31
- `[a${streamIndex}]`);
30
+ `[a0]`);
32
31
  };
33
32
  exports.stringifyFfmpegFilter = stringifyFfmpegFilter;
34
33
  //# sourceMappingURL=stringify-ffmpeg-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-ffmpeg-filter.js","sourceRoot":"","sources":["../src/stringify-ffmpeg-filter.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,gEAA0D;AAC1D,gFAAyE;AAGlE,MAAM,qBAAqB,GAAG,CAAC,EACrC,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,GAAG,EACH,YAAY,GAWZ,EAAE,EAAE;IACJ,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,kBAAkB;IAEvF,MAAM,YAAY,GAAG,IAAA,iDAAsB,EAAC;QAC3C,MAAM;QACN,UAAU,EAAE,kBAAkB;QAC9B,YAAY;QACZ,GAAG;KACH,CAAC,CAAC;IACH,OAAO,CACN,IAAI,WAAW,KAAK;QACpB;YACC,MAAM;YACN,SAAS,QAAQ,IAAI,SAAS,EAAE;YAChC,2CAA2C;YAC3C,0EAA0E;YAC1E,eAAe;YACf,2DAA2D;YAC3D,4CAA4C;YAC5C,gDAAgD;YAChD,UAAU,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACvE,IAAA,kCAAe,EAAC,YAAY,CAAC;YAC7B,UAAU,YAAY,CAAC,KAAK,SAAS,YAAY,CAAC,IAAI,EAAE;SACxD;aACC,MAAM,CAAC,oBAAS,CAAC,MAAM,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC;QACX,KAAK,WAAW,GAAG,CACnB,CAAC;AACH,CAAC,CAAC;AAhDW,QAAA,qBAAqB,yBAgDhC"}
1
+ {"version":3,"file":"stringify-ffmpeg-filter.js","sourceRoot":"","sources":["../src/stringify-ffmpeg-filter.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,gEAA0D;AAC1D,gFAAyE;AAGlE,MAAM,qBAAqB,GAAG,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,gBAAgB,GAUhB,EAAE,EAAE;IACJ,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,kBAAkB;IAEvF,MAAM,YAAY,GAAG,IAAA,iDAAsB,EAAC;QAC3C,MAAM;QACN,YAAY;QACZ,GAAG;KACH,CAAC,CAAC;IACH,OAAO,CACN,OAAO;QACP;YACC,SAAS,QAAQ,IAAI,SAAS,EAAE;YAChC,2CAA2C;YAC3C,0EAA0E;YAC1E,eAAe;YACf,2DAA2D;YAC3D,4CAA4C;YAC5C,gDAAgD;YAChD,UAAU,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACvE,IAAA,kCAAe,EAAC,YAAY,CAAC;YAC7B,UAAU,YAAY,CAAC,KAAK,SAAS,YAAY,CAAC,IAAI,EAAE;YACxD,iBAAiB,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACvD;aACC,MAAM,CAAC,oBAAS,CAAC,MAAM,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC;QACX,MAAM,CACN,CAAC;AACH,CAAC,CAAC;AA7CW,QAAA,qBAAqB,yBA6ChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tmp-dir.d.ts","sourceRoot":"","sources":["../src/tmp-dir.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,MAAM,QAAS,MAAM,WAYjC,CAAC"}
1
+ {"version":3,"file":"tmp-dir.d.ts","sourceRoot":"","sources":["../src/tmp-dir.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,MAAM,QAAS,MAAM,WAYjC,CAAC"}
package/dist/tmp-dir.js CHANGED
@@ -1,11 +1,29 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
5
24
  Object.defineProperty(exports, "__esModule", { value: true });
6
25
  exports.tmpDir = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const fs_2 = require("fs");
26
+ const fs_1 = __importStar(require("fs"));
9
27
  const os_1 = __importDefault(require("os"));
10
28
  const path_1 = __importDefault(require("path"));
11
29
  const alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
@@ -26,7 +44,7 @@ const tmpDir = (str) => {
26
44
  force: true,
27
45
  });
28
46
  }
29
- (0, fs_2.mkdirSync)(newDir);
47
+ (0, fs_1.mkdirSync)(newDir);
30
48
  return newDir;
31
49
  };
32
50
  exports.tmpDir = tmpDir;