@modernized/fluent-ffmpeg 0.1.0 → 0.1.2

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 (37) hide show
  1. package/README.md +72 -0
  2. package/dist/lib/capabilities.d.ts.map +1 -1
  3. package/dist/lib/capabilities.js +29 -17
  4. package/dist/lib/capabilities.js.map +1 -1
  5. package/dist/lib/ffprobe.d.ts.map +1 -1
  6. package/dist/lib/ffprobe.js +51 -15
  7. package/dist/lib/ffprobe.js.map +1 -1
  8. package/dist/lib/fluent-ffmpeg.d.ts.map +1 -1
  9. package/dist/lib/fluent-ffmpeg.js +9 -1
  10. package/dist/lib/fluent-ffmpeg.js.map +1 -1
  11. package/dist/lib/options/custom.d.ts.map +1 -1
  12. package/dist/lib/options/custom.js +5 -2
  13. package/dist/lib/options/custom.js.map +1 -1
  14. package/dist/lib/options/inputs.d.ts.map +1 -1
  15. package/dist/lib/options/inputs.js +4 -1
  16. package/dist/lib/options/inputs.js.map +1 -1
  17. package/dist/lib/options/misc.d.ts.map +1 -1
  18. package/dist/lib/options/misc.js +8 -2
  19. package/dist/lib/options/misc.js.map +1 -1
  20. package/dist/lib/options/videosize.d.ts +6 -2
  21. package/dist/lib/options/videosize.d.ts.map +1 -1
  22. package/dist/lib/options/videosize.js +6 -1
  23. package/dist/lib/options/videosize.js.map +1 -1
  24. package/dist/lib/processor.d.ts.map +1 -1
  25. package/dist/lib/processor.js +89 -21
  26. package/dist/lib/processor.js.map +1 -1
  27. package/dist/lib/recipes.d.ts +29 -2
  28. package/dist/lib/recipes.d.ts.map +1 -1
  29. package/dist/lib/recipes.js +33 -9
  30. package/dist/lib/recipes.js.map +1 -1
  31. package/dist/lib/types.d.ts +268 -23
  32. package/dist/lib/types.d.ts.map +1 -1
  33. package/dist/lib/utils.d.ts +1 -1
  34. package/dist/lib/utils.d.ts.map +1 -1
  35. package/dist/lib/utils.js +19 -5
  36. package/dist/lib/utils.js.map +1 -1
  37. package/package.json +22 -4
@@ -1,4 +1,8 @@
1
- import type { FfmpegCommandPrototype } from '../types.js';
1
+ import type { FfmpegCommandPrototype, FilterSpec, OutputState } from '../types.js';
2
+ export declare function getScalePadFilters(width: number, height: number, aspect: number, color: string): FilterSpec[];
3
+ export declare function percentScaleFilter(percent: string): FilterSpec[];
4
+ export declare function fixedSizeFilters(width: number, height: number, pad: string | false): FilterSpec[];
5
+ export declare function partialSizeFilters(fixedWidth: RegExpMatchArray | null, fixedHeight: RegExpMatchArray | null, data: NonNullable<OutputState['sizeData']>): FilterSpec[];
2
6
  declare function applyVideoSizeOptions(proto: FfmpegCommandPrototype): void;
3
- export = applyVideoSizeOptions;
7
+ export default applyVideoSizeOptions;
4
8
  //# sourceMappingURL=videosize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"videosize.d.ts","sourceRoot":"","sources":["../../../lib/options/videosize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AAmHrB,iBAAS,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CA8ElE;AAED,SAAS,qBAAqB,CAAC"}
1
+ {"version":3,"file":"videosize.d.ts","sourceRoot":"","sources":["../../../lib/options/videosize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEtB,UAAU,EACV,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAoBd;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAWhE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,EAAE,CAKjG;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,GAAG,IAAI,EACnC,WAAW,EAAE,gBAAgB,GAAG,IAAI,EACpC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GACzC,UAAU,EAAE,CA2Bd;AAmCD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CA8ElE;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getScalePadFilters = getScalePadFilters;
4
+ exports.percentScaleFilter = percentScaleFilter;
5
+ exports.fixedSizeFilters = fixedSizeFilters;
6
+ exports.partialSizeFilters = partialSizeFilters;
2
7
  function getScalePadFilters(width, height, aspect, color) {
3
8
  return [
4
9
  {
@@ -158,5 +163,5 @@ function applyVideoSizeOptions(proto) {
158
163
  return this;
159
164
  };
160
165
  }
161
- module.exports = applyVideoSizeOptions;
166
+ exports.default = applyVideoSizeOptions;
162
167
  //# sourceMappingURL=videosize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"videosize.js","sourceRoot":"","sources":["../../../lib/options/videosize.ts"],"names":[],"mappings":";AAOA,SAAS,kBAAkB,CACzB,KAAa,EACb,MAAc,EACd,MAAc,EACd,KAAa;IAEb,OAAO;QACL;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,CAAC,EAAE,WAAW,MAAM,KAAK,KAAK,UAAU,MAAM,UAAU;gBACxD,CAAC,EAAE,WAAW,MAAM,KAAK,MAAM,UAAU,KAAK,UAAU;aACzD;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,WAAW,MAAM,QAAQ,KAAK,SAAS;gBAC1C,CAAC,EAAE,WAAW,MAAM,QAAQ,MAAM,SAAS;gBAC3C,KAAK;aACN;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IACpC,OAAO;QACL;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,CAAC,EAAE,YAAY,KAAK,OAAO;gBAC3B,CAAC,EAAE,YAAY,KAAK,OAAO;aAC5B;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,MAAc,EAAE,GAAmB;IAC1E,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmC,EACnC,WAAoC,EACpC,IAA0C;IAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,yFAAyF;QACzF,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,SAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL;gBACE,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE;aACpE;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;SACtE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAmB,EACnB,GAA8B,EAC9B,KAA8B;IAE9B,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAc,CAAC;IAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAExD,IAAI,YAAY;QAAE,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmB,EAAE,OAAqB;IAClE,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA6B;IAC1D,KAAK,CAAC,eAAe;QACnB,KAAK,CAAC,iBAAiB;YACvB,KAAK,CAAC,sBAAsB;gBAC5B,KAAK,CAAC,OAAO;oBACX;wBACE,OAAO,IAAI,CAAC,YAAY,CAAC;4BACvB;gCACE,MAAM,EAAE,OAAO;gCACf,OAAO,EAAE;oCACP,CAAC,EAAE,yBAAyB;oCAC5B,CAAC,EAAE,yBAAyB;iCAC7B;6BACF;4BACD,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;yBACnC,CAAC,CAAC;oBACL,CAAC,CAAC;IAEN,KAAK,CAAC,QAAQ;QACZ,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,IAAI;gBACR,UAAmC,IAAY;oBAC7C,gBAAgB,CACd,IAAI,CAAC,cAAe,EACpB,iBAAiB,CAAC,IAAI,CAAC,cAAe,EAAE,MAAM,EAAE,IAAI,CAAC,CACtD,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;IAEN,KAAK,CAAC,UAAU;QACd,KAAK,CAAC,eAAe;YACrB,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,cAAc;oBACpB,KAAK,CAAC,MAAM;wBACZ,KAAK,CAAC,WAAW;4BACf,UAAmC,MAAuB;gCACxD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gCACvB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oCACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oCACpD,IAAI,CAAC,KAAK,EAAE,CAAC;wCACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;oCACrD,CAAC;oCACD,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1C,CAAC;gCACD,gBAAgB,CACd,IAAI,CAAC,cAAe,EACpB,iBAAiB,CAAC,IAAI,CAAC,cAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CACrD,CAAC;gCACF,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC;IAEN,KAAK,CAAC,gBAAgB;QACpB,KAAK,CAAC,gBAAgB;YACtB,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,YAAY;oBAClB,KAAK,CAAC,eAAe;wBACrB,KAAK,CAAC,eAAe;4BACrB,KAAK,CAAC,WAAW;gCACjB,KAAK,CAAC,WAAW;oCACjB,KAAK,CAAC,OAAO;wCACb,KAAK,CAAC,OAAO;4CACX,UAAmC,GAAsB,EAAE,KAAc;gDACvE,IAAI,OAAgB,CAAC;gDACrB,IAAI,WAAW,GAAG,KAAK,CAAC;gDACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oDAC5B,WAAW,GAAG,GAAG,CAAC;oDAClB,OAAO,GAAG,IAAI,CAAC;gDACjB,CAAC;qDAAM,CAAC;oDACN,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC;gDACxB,CAAC;gDACD,4EAA4E;gDAC5E,MAAM,KAAK,GAAmB,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gDACvE,gBAAgB,CACd,IAAI,CAAC,cAAe,EACpB,iBAAiB,CAAC,IAAI,CAAC,cAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CACtD,CAAC;gDACF,OAAO,IAAI,CAAC;4CACd,CAAC,CAAC;AACR,CAAC;AAED,iBAAS,qBAAqB,CAAC"}
1
+ {"version":3,"file":"videosize.js","sourceRoot":"","sources":["../../../lib/options/videosize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../lib/processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,sBAAsB,EAWvB,MAAM,YAAY,CAAC;AA0RpB,iBAAS,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CA2M3D;AAED,SAAS,cAAc,CAAC"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../lib/processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,sBAAsB,EAUvB,MAAM,YAAY,CAAC;AAsUpB,iBAAS,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAgO3D;AAED,SAAS,cAAc,CAAC"}
@@ -6,7 +6,12 @@ const node_child_process_1 = require("node:child_process");
6
6
  const utils_js_1 = __importDefault(require("./utils.js"));
7
7
  const NICENESS_MIN = -20;
8
8
  const NICENESS_MAX = 20;
9
- const OUTPUT_STREAM_GRACE_MS = 20;
9
+ // Windows-friendly grace: the output stream can finalise (target.on('close'))
10
+ // before ffmpegProc.on('exit') fires, especially on Windows GH Actions where
11
+ // the legacy 20ms grace consistently lost the race and surfaced a spurious
12
+ // `Output stream closed` error after a successful run. 250ms is enough for
13
+ // every platform we ship to (verified in mulmocast-cli CI).
14
+ const OUTPUT_STREAM_GRACE_MS = 250;
10
15
  const MS_PER_SECOND = 1000;
11
16
  function isStreamInput(input) {
12
17
  return input.isStream;
@@ -18,9 +23,14 @@ function runFfprobeIntoCommand(command) {
18
23
  const inputProbeIndex = 0;
19
24
  if (command._inputs[inputProbeIndex]?.isStream)
20
25
  return;
21
- command.ffprobe(inputProbeIndex, (_err, data) => {
22
- if (data)
23
- command._ffprobeData = data;
26
+ command.ffprobe(inputProbeIndex, (err, data) => {
27
+ // FfprobeCallback now declares `data` as non-optional; on error
28
+ // the impl passes a shared empty FfprobeData sentinel to honour
29
+ // the contract. Skip caching that sentinel so `_ffprobeData`
30
+ // stays unset when probing failed.
31
+ if (err)
32
+ return;
33
+ command._ffprobeData = data;
24
34
  });
25
35
  }
26
36
  function buildInputArgs(inputs) {
@@ -31,6 +41,12 @@ function buildInputArgs(inputs) {
31
41
  }
32
42
  function buildOutputArgs(outputs) {
33
43
  return outputs.reduce((args, output) => {
44
+ // The three `as` casts below stay until ArgList becomes generic in
45
+ // its element type. ArgList.get() returns ArgValue[] (the union of
46
+ // string | number | FilterSpec); each call site here narrows by
47
+ // local invariant (sizeFilters store FilterSpec, audioFilters store
48
+ // string, videoFilters store string). Removing the casts requires
49
+ // propagating ArgList<T> through every consumer.
34
50
  const sizeFilters = utils_js_1.default.makeFilterStrings(output.sizeFilters.get());
35
51
  const audioFilters = output.audioFilters.get();
36
52
  const videoFilters = output.videoFilters.get().concat(sizeFilters);
@@ -43,6 +59,13 @@ function buildOutputArgs(outputs) {
43
59
  }, []);
44
60
  }
45
61
  function normaliseSpawnArgs(options, processCB, endCB) {
62
+ // The three `as` casts in the branches below stay: each branch has
63
+ // already disambiguated which positional arg holds the callback (via
64
+ // the typeof / undefined-checks), but the parameter type is the union
65
+ // of all callback shapes. Replacing the casts requires either three
66
+ // overloaded normaliseSpawnArgs signatures or a discriminator-based
67
+ // input shape, both of which ripple through the _spawnFfmpeg overload
68
+ // set in lib/types.ts and every internal caller.
46
69
  if (typeof options === 'function') {
47
70
  // _spawnFfmpeg(args, endCB) — endCB only
48
71
  return {
@@ -126,6 +149,12 @@ function attachStderrEvents(self, stderrRing) {
126
149
  }
127
150
  }
128
151
  function pipeInputStream(inputStream, ffmpegProc, emitEnd) {
152
+ // Caller invariant: this is only called when isStream is true, which
153
+ // implies source is a Readable. The typeof check narrows the union
154
+ // for TS without an `as` cast.
155
+ if (typeof inputStream.source === 'string') {
156
+ throw new TypeError('pipeInputStream: source must be a Readable stream');
157
+ }
129
158
  const source = inputStream.source;
130
159
  source.on('error', (err) => {
131
160
  const reportingErr = new Error(`Input stream error: ${err.message}`);
@@ -139,13 +168,23 @@ function pipeInputStream(inputStream, ffmpegProc, emitEnd) {
139
168
  ffmpegProc.stdin?.on('error', () => { });
140
169
  }
141
170
  function pipeOutputStream(self, outputStream, ffmpegProc, stdoutRing, stderrRing, emitEnd) {
171
+ // Caller invariant: only invoked when target is a Writable stream;
172
+ // the typeof check narrows for TS without an `as` cast.
173
+ if (typeof outputStream.target === 'string' || outputStream.target === undefined) {
174
+ throw new TypeError('pipeOutputStream: target must be a Writable stream');
175
+ }
142
176
  const target = outputStream.target;
143
177
  ffmpegProc.stdout.pipe(target, outputStream.pipeopts);
144
178
  target.on('close', () => {
145
179
  self.logger.debug('Output stream closed, scheduling kill for ffmpeg process');
146
180
  // Give ffmpeg a chance to exit cleanly first; under load 'exit' sometimes
147
- // arrives after the output stream's 'close'.
181
+ // arrives after the output stream's 'close'. The re-check inside the
182
+ // timeout skips the error path when ffmpeg has exited cleanly during
183
+ // the grace window — that is the natural end-of-pipeline shape on
184
+ // streamed output and shouldn't fire `Output stream closed`.
148
185
  setTimeout(() => {
186
+ if (ffmpegProc.exitCode !== null || ffmpegProc.killed)
187
+ return;
149
188
  emitEnd(new Error('Output stream closed'));
150
189
  ffmpegProc.kill();
151
190
  }, OUTPUT_STREAM_GRACE_MS);
@@ -170,6 +209,12 @@ function setupTimeout(self, ffmpegProc, stdoutRing, stderrRing, emitEnd) {
170
209
  }
171
210
  async function runFlvtoolOnOutput(flvtool, output) {
172
211
  return new Promise((resolve, reject) => {
212
+ // flvtool only runs against a file output (caller-side guard); narrow
213
+ // the union via typeof rather than an `as` cast.
214
+ if (typeof output.target !== 'string') {
215
+ reject(new TypeError('runFlvtoolOnOutput: output target must be a file path'));
216
+ return;
217
+ }
173
218
  const target = output.target;
174
219
  const child = (0, node_child_process_1.spawn)(flvtool, ['-U', target], { windowsHide: true });
175
220
  child.on('error', (err) => {
@@ -213,10 +258,13 @@ function applyProcessor(proto) {
213
258
  const { options: opts, callbacks } = normaliseSpawnArgs(options, processCB, endCB);
214
259
  const maxLines = opts.stdoutLines ?? this.options.stdoutLines ?? 100;
215
260
  this._getFfmpegPath((err, command) => {
216
- if (err)
217
- return callbacks.endCB(err);
261
+ if (err) {
262
+ callbacks.endCB(err);
263
+ return;
264
+ }
218
265
  if (!command || command.length === 0) {
219
- return callbacks.endCB(new Error('Cannot find ffmpeg'));
266
+ callbacks.endCB(new Error('Cannot find ffmpeg'));
267
+ return;
220
268
  }
221
269
  const niced = applyNiceness(command, args, opts.niceness);
222
270
  const stdoutRing = utils_js_1.default.linesRing(maxLines);
@@ -237,15 +285,23 @@ function applyProcessor(proto) {
237
285
  };
238
286
  proto._getArguments = function () {
239
287
  const fileOutput = this._outputs.some((o) => o.isFile === true);
240
- return [].concat(buildInputArgs(this._inputs), this._global.get(), fileOutput ? ['-y'] : [], this._complexFilters.get(), buildOutputArgs(this._outputs));
288
+ return [
289
+ ...buildInputArgs(this._inputs),
290
+ ...this._global.get(),
291
+ ...(fileOutput ? ['-y'] : []),
292
+ ...this._complexFilters.get(),
293
+ ...buildOutputArgs(this._outputs),
294
+ ];
241
295
  };
242
296
  proto._prepare = function (callback, readMetadata) {
243
297
  const checkCapabilities = () => new Promise((resolve, reject) => {
244
298
  this._checkCapabilities((err) => (err ? reject(err) : resolve()));
245
299
  });
246
300
  const readFfprobe = () => new Promise((resolve) => {
247
- this.ffprobe(0, (_err, data) => {
248
- if (data)
301
+ this.ffprobe(0, (err, data) => {
302
+ // Skip caching the sentinel data emitted on probe error
303
+ // (see runFfprobeIntoCommand for the rationale).
304
+ if (!err)
249
305
  this._ffprobeData = data;
250
306
  resolve();
251
307
  });
@@ -258,8 +314,10 @@ function applyProcessor(proto) {
258
314
  }
259
315
  return output.flags.flvmeta;
260
316
  });
261
- if (!needsFlvtool)
262
- return resolve();
317
+ if (!needsFlvtool) {
318
+ resolve();
319
+ return;
320
+ }
263
321
  this._getFlvtoolPath((err) => (err ? reject(err) : resolve()));
264
322
  });
265
323
  const fetchEncoders = () => new Promise((resolve, reject) => {
@@ -273,7 +331,7 @@ function applyProcessor(proto) {
273
331
  const args = this._getArguments();
274
332
  const encoders = await fetchEncoders();
275
333
  return injectStrictExperimental(args, encoders).map(String);
276
- })().then((args) => callback(null, args), (err) => callback(err));
334
+ })().then((args) => callback(null, args), (err) => callback(err instanceof Error ? err : new Error(String(err))));
277
335
  if (!readMetadata)
278
336
  startEarlyMetadataProbe(this);
279
337
  };
@@ -297,8 +355,10 @@ function applyProcessor(proto) {
297
355
  this.emit('end', stdout, stderr);
298
356
  };
299
357
  this._prepare((err, args) => {
300
- if (err || !args)
301
- return emitEnd(err);
358
+ if (err || !args) {
359
+ emitEnd(err);
360
+ return;
361
+ }
302
362
  this._spawnFfmpeg(args, {
303
363
  captureStdout: !outputStream,
304
364
  niceness: this.options.niceness,
@@ -321,16 +381,20 @@ function applyProcessor(proto) {
321
381
  if (stderrRing && /ffmpeg exited with code/.test(spawnErr.message)) {
322
382
  spawnErr.message += `: ${utils_js_1.default.extractError(stderrRing.get())}`;
323
383
  }
324
- return emitEnd(spawnErr, stdoutRing?.get(), stderrRing?.get());
384
+ emitEnd(spawnErr, stdoutRing?.get(), stderrRing?.get());
385
+ return;
325
386
  }
326
387
  const flvmetaOutputs = this._outputs.filter((o) => o.flags.flvmeta);
327
388
  if (flvmetaOutputs.length === 0) {
328
- return emitEnd(null, stdoutRing?.get(), stderrRing?.get());
389
+ emitEnd(null, stdoutRing?.get(), stderrRing?.get());
390
+ return;
329
391
  }
330
392
  this._getFlvtoolPath((flvErr, flvtool) => {
331
- if (flvErr || !flvtool)
332
- return emitEnd(flvErr ?? new Error('flvtool not found'));
333
- Promise.all(flvmetaOutputs.map((o) => runFlvtoolOnOutput(flvtool, o))).then(() => emitEnd(null, stdoutRing?.get(), stderrRing?.get()), (err) => emitEnd(err));
393
+ if (flvErr || !flvtool) {
394
+ emitEnd(flvErr ?? new Error('flvtool not found'));
395
+ return;
396
+ }
397
+ Promise.all(flvmetaOutputs.map((o) => runFlvtoolOnOutput(flvtool, o))).then(() => emitEnd(null, stdoutRing?.get(), stderrRing?.get()), (flvtoolErr) => emitEnd(flvtoolErr));
334
398
  });
335
399
  });
336
400
  });
@@ -369,6 +433,10 @@ function applyProcessor(proto) {
369
433
  this.logger.warn('No running ffmpeg process, cannot send signal');
370
434
  }
371
435
  else {
436
+ // The cast stays: FfmpegCommandThis.kill accepts an arbitrary
437
+ // string for upstream-compat (`@types/fluent-ffmpeg` typed it as
438
+ // `string`), but ChildProcess.kill expects `NodeJS.Signals | number`.
439
+ // Tightening the public parameter type would break consumer code.
372
440
  this.ffmpegProc.kill((signal ?? 'SIGKILL'));
373
441
  }
374
442
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../lib/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../lib/processor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,31 @@
1
- import type { FfmpegCommandPrototype } from './types.js';
1
+ import type { FfmpegCommandPrototype, FfprobeData, FfprobeStream } from './types.js';
2
+ export interface ScreenshotConfig {
3
+ count?: number;
4
+ folder?: string;
5
+ filename?: string;
6
+ timemarks?: (string | number)[];
7
+ timestamps?: (string | number)[];
8
+ fastSeek?: boolean;
9
+ size?: string;
10
+ }
11
+ export interface ResolvedSize {
12
+ fixedSize: RegExpMatchArray | null;
13
+ fixedWidth: RegExpMatchArray | null;
14
+ fixedHeight: RegExpMatchArray | null;
15
+ percentSize: RegExpMatchArray | null;
16
+ }
17
+ export declare function pickBiggestVideoStream(meta: FfprobeData): FfprobeStream;
18
+ export declare function normaliseScreenshotConfig(input: number | ScreenshotConfig | undefined, folder?: string): ScreenshotConfig;
19
+ export declare function parseSizeSpec(size: string | undefined): ResolvedSize;
20
+ export declare function isPercentTimemark(t: string | number): boolean;
21
+ export declare function fixPattern(config: ScreenshotConfig): string;
22
+ export declare function replaceFilenameTokens(pattern: string, source: string | unknown): string;
23
+ export interface SizeForTokens {
24
+ width: number;
25
+ height: number;
26
+ }
27
+ export declare function replaceSizeTokens(pattern: string, size: SizeForTokens): string;
28
+ export declare function generateFilenames(pattern: string, timemarks: (string | number)[]): string[];
2
29
  declare function applyRecipes(proto: FfmpegCommandPrototype): void;
3
- export = applyRecipes;
30
+ export default applyRecipes;
4
31
  //# sourceMappingURL=recipes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../lib/recipes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAuQpB,iBAAS,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CA8FzD;AAED,SAAS,YAAY,CAAC"}
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../lib/recipes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EAEtB,WAAW,EACX,aAAa,EAEd,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAavE;AAiBD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,EAC5C,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAkBlB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAUpE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE7D;AA6BD,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAQ3D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAQvF;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAyCD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAK9E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAS3F;AA0DD,iBAAS,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAuGzD;AAED,eAAe,YAAY,CAAC"}
@@ -2,6 +2,15 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pickBiggestVideoStream = pickBiggestVideoStream;
7
+ exports.normaliseScreenshotConfig = normaliseScreenshotConfig;
8
+ exports.parseSizeSpec = parseSizeSpec;
9
+ exports.isPercentTimemark = isPercentTimemark;
10
+ exports.fixPattern = fixPattern;
11
+ exports.replaceFilenameTokens = replaceFilenameTokens;
12
+ exports.replaceSizeTokens = replaceSizeTokens;
13
+ exports.generateFilenames = generateFilenames;
5
14
  const promises_1 = require("node:fs/promises");
6
15
  const node_path_1 = __importDefault(require("node:path"));
7
16
  const node_stream_1 = require("node:stream");
@@ -18,14 +27,16 @@ async function fileExists(p) {
18
27
  }
19
28
  }
20
29
  function pickBiggestVideoStream(meta) {
30
+ // Fresh seed per call: a shared singleton would let a caller poison later
31
+ // lookups by mutating the returned stream object.
32
+ const seed = { width: 0, height: 0 };
21
33
  return meta.streams.reduce((biggest, stream) => {
22
34
  if (stream.codec_type === 'video' &&
23
- Number(stream.width) * Number(stream.height) >
24
- Number(biggest.width) * Number(biggest.height)) {
35
+ Number(stream.width) * Number(stream.height) > Number(biggest.width) * Number(biggest.height)) {
25
36
  return stream;
26
37
  }
27
38
  return biggest;
28
- }, { width: 0, height: 0 });
39
+ }, seed);
29
40
  }
30
41
  function probeFfprobe(self) {
31
42
  return new Promise((resolve, reject) => {
@@ -181,6 +192,9 @@ function buildScreenshotFilters(self, config) {
181
192
  let filters = [split];
182
193
  if (config.size !== undefined) {
183
194
  self.size(config.size);
195
+ // The `as FilterSpec[]` cast stays until ArgList becomes generic in
196
+ // its element type. Here sizeFilters' callsite stores FilterSpec
197
+ // entries; ArgList.get() returns the union ArgValue[].
184
198
  const sizeFilters = self._currentOutput.sizeFilters.get().map((f, i) => {
185
199
  if (i > 0)
186
200
  f.inputs = `size${i - 1}`;
@@ -216,15 +230,25 @@ function applyRecipes(proto) {
216
230
  proto.pipe =
217
231
  proto.stream =
218
232
  function (streamArg, options) {
233
+ // Distinguish a Writable-stream argument from a plain options
234
+ // object via duck-typing on `.pipe`. `'writable' in X` alone
235
+ // does not narrow the union for TypeScript, so a type predicate
236
+ // is required.
237
+ const isWritableStream = (v) => {
238
+ if (typeof v !== 'object' || v === null)
239
+ return false;
240
+ if (!('pipe' in v))
241
+ return false;
242
+ return typeof v.pipe === 'function';
243
+ };
219
244
  let stream;
220
245
  let opts = options;
221
- if (streamArg && typeof streamArg === 'object' && !('writable' in streamArg)) {
222
- opts = streamArg;
223
- stream = undefined;
224
- }
225
- else {
246
+ if (isWritableStream(streamArg)) {
226
247
  stream = streamArg;
227
248
  }
249
+ else if (streamArg) {
250
+ opts = streamArg;
251
+ }
228
252
  if (!stream)
229
253
  stream = new node_stream_1.PassThrough();
230
254
  this.output(stream, opts).run();
@@ -287,5 +311,5 @@ function applyRecipes(proto) {
287
311
  return this;
288
312
  };
289
313
  }
290
- module.exports = applyRecipes;
314
+ exports.default = applyRecipes;
291
315
  //# sourceMappingURL=recipes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../lib/recipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../lib/recipes.ts"],"names":[],"mappings":"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"}