homebridge-plugin-utils 1.33.0 → 1.35.0

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 (46) hide show
  1. package/build/tsconfig.json +6 -4
  2. package/dist/backpressure.d.ts +79 -0
  3. package/dist/backpressure.js +137 -0
  4. package/dist/backpressure.js.map +1 -0
  5. package/dist/featureoptions.d.ts +3 -3
  6. package/dist/featureoptions.js +122 -97
  7. package/dist/featureoptions.js.map +1 -1
  8. package/dist/ffmpeg/codecs.js +26 -20
  9. package/dist/ffmpeg/codecs.js.map +1 -1
  10. package/dist/ffmpeg/exec.d.ts +1 -1
  11. package/dist/ffmpeg/exec.js.map +1 -1
  12. package/dist/ffmpeg/fmp4.d.ts +21 -2
  13. package/dist/ffmpeg/fmp4.js +55 -2
  14. package/dist/ffmpeg/fmp4.js.map +1 -1
  15. package/dist/ffmpeg/options.d.ts +6 -1
  16. package/dist/ffmpeg/options.js +13 -14
  17. package/dist/ffmpeg/options.js.map +1 -1
  18. package/dist/ffmpeg/process.d.ts +26 -14
  19. package/dist/ffmpeg/process.js +60 -36
  20. package/dist/ffmpeg/process.js.map +1 -1
  21. package/dist/ffmpeg/record.d.ts +121 -122
  22. package/dist/ffmpeg/record.js +363 -285
  23. package/dist/ffmpeg/record.js.map +1 -1
  24. package/dist/ffmpeg/rtp.d.ts +2 -2
  25. package/dist/ffmpeg/rtp.js +9 -2
  26. package/dist/ffmpeg/rtp.js.map +1 -1
  27. package/dist/ffmpeg/settings.d.ts +1 -0
  28. package/dist/ffmpeg/settings.js +3 -0
  29. package/dist/ffmpeg/settings.js.map +1 -1
  30. package/dist/ffmpeg/stream.d.ts +1 -1
  31. package/dist/ffmpeg/stream.js +6 -4
  32. package/dist/ffmpeg/stream.js.map +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/mqttclient.js +6 -5
  37. package/dist/mqttclient.js.map +1 -1
  38. package/dist/service.d.ts +1 -1
  39. package/dist/service.js +10 -4
  40. package/dist/service.js.map +1 -1
  41. package/dist/ui/featureoptions.js +122 -97
  42. package/dist/ui/featureoptions.js.map +1 -1
  43. package/dist/util.d.ts +18 -19
  44. package/dist/util.js +43 -21
  45. package/dist/util.js.map +1 -1
  46. package/package.json +7 -8
@@ -25,8 +25,10 @@
25
25
  import { EOL, cpus } from "node:os";
26
26
  import { execFile } from "node:child_process";
27
27
  import { env, platform } from "node:process";
28
+ import { promisify } from "node:util";
28
29
  import { readFileSync } from "node:fs";
29
- import util from "node:util";
30
+ // Promisified execFile, created once at module level rather than per-invocation.
31
+ const execFileAsync = promisify(execFile);
30
32
  /**
31
33
  * Probe FFmpeg capabilities and codecs on the host system.
32
34
  *
@@ -151,7 +153,7 @@ export class FfmpegCodecs {
151
153
  codec = codec.toLowerCase();
152
154
  decoder = decoder.toLowerCase();
153
155
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
154
- return this.ffmpegCodecs[codec]?.decoders.some(x => x === decoder) ?? false;
156
+ return this.ffmpegCodecs[codec]?.decoders.has(decoder) ?? false;
155
157
  }
156
158
  /**
157
159
  * Checks whether a specific encoder is available for a given codec.
@@ -176,7 +178,7 @@ export class FfmpegCodecs {
176
178
  codec = codec.toLowerCase();
177
179
  encoder = encoder.toLowerCase();
178
180
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
179
- return this.ffmpegCodecs[codec]?.encoders.some(x => x === encoder) ?? false;
181
+ return this.ffmpegCodecs[codec]?.encoders.has(encoder) ?? false;
180
182
  }
181
183
  /**
182
184
  * Checks whether a given hardware acceleration method is available and validated on the host, as provided by the output of `ffmpeg -hwaccels`.
@@ -277,9 +279,9 @@ export class FfmpegCodecs {
277
279
  // Probe our video processor's encoding and decoding capabilities.
278
280
  async probeFfmpegCodecs() {
279
281
  return this.probeCmd(this.ffmpegExec, ["-hide_banner", "-codecs"], (stdout) => {
280
- // A regular expression to parse out the codec and it's supported decoders.
282
+ // A regular expression to parse out the codec and its supported decoders.
281
283
  const decodersRegex = /\S+\s+(\S+).+\(decoders: (.*?)\s*\)/;
282
- // A regular expression to parse out the codec and it's supported encoders.
284
+ // A regular expression to parse out the codec and its supported encoders.
283
285
  const encodersRegex = /\S+\s+(\S+).+\(encoders: (.*?)\s*\)/;
284
286
  // Iterate through each line, and a build a list of encoders.
285
287
  for (const codecLine of stdout.split(EOL)) {
@@ -289,29 +291,34 @@ export class FfmpegCodecs {
289
291
  const encodersMatch = encodersRegex.exec(codecLine);
290
292
  // If we found decoders, add them to our list of supported decoders for this format.
291
293
  if (decodersMatch) {
292
- this.ffmpegCodecs[decodersMatch[1]] = { decoders: [], encoders: [] };
293
- this.ffmpegCodecs[decodersMatch[1]].decoders = decodersMatch[2].split(" ").map(x => x.toLowerCase());
294
+ this.ffmpegCodecs[decodersMatch[1]] ??= { decoders: new Set(), encoders: new Set() };
295
+ for (const decoder of decodersMatch[2].split(" ")) {
296
+ this.ffmpegCodecs[decodersMatch[1]].decoders.add(decoder.toLowerCase());
297
+ }
294
298
  }
295
- // If we found decoders, add them to our list of supported decoders for this format.
299
+ // If we found encoders, add them to our list of supported encoders for this format.
296
300
  if (encodersMatch) {
297
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
298
- this.ffmpegCodecs[encodersMatch[1]] ||= { decoders: [], encoders: [] };
299
- this.ffmpegCodecs[encodersMatch[1]].encoders = encodersMatch[2].split(" ").map(x => x.toLowerCase());
301
+ this.ffmpegCodecs[encodersMatch[1]] ??= { decoders: new Set(), encoders: new Set() };
302
+ for (const encoder of encodersMatch[2].split(" ")) {
303
+ this.ffmpegCodecs[encodersMatch[1]].encoders.add(encoder.toLowerCase());
304
+ }
300
305
  }
301
306
  }
302
307
  });
303
308
  }
304
309
  // Identify what hardware and operating system environment we're actually running on.
305
310
  probeHwOs() {
311
+ // Retrieve the CPU model string once to avoid repeated allocations from cpus().
312
+ const cpuModelString = cpus()[0].model;
306
313
  // Take a look at the platform we're on for an initial hint of what we are.
307
314
  switch (platform) {
308
315
  // The beloved macOS.
309
316
  case "darwin":
310
- this._hostSystem = "macOS." + (cpus()[0].model.includes("Apple") ? "Apple" : "Intel");
317
+ this._hostSystem = "macOS." + (cpuModelString.includes("Apple") ? "Apple" : "Intel");
311
318
  // Identify what generation of Apple Silicon we have.
312
- if (cpus()[0].model.includes("Apple")) {
319
+ if (cpuModelString.includes("Apple")) {
313
320
  // Extract the CPU model.
314
- const cpuModel = /Apple M(\d+) .*/i.exec(cpus()[0].model);
321
+ const cpuModel = /Apple M(\d+) .*/i.exec(cpuModelString);
315
322
  this._cpuGeneration = 0;
316
323
  if (cpuModel?.[1]) {
317
324
  this._cpuGeneration = Number(cpuModel[1]);
@@ -333,9 +340,9 @@ export class FfmpegCodecs {
333
340
  // We aren't especially concerned with errors here, given we're just trying to ascertain the system information through hints.
334
341
  }
335
342
  // Identify what generation of Intel CPU we have if we're on Intel.
336
- if (cpus()[0].model.includes("Intel")) {
343
+ if (cpuModelString.includes("Intel")) {
337
344
  // Extract the CPU model.
338
- const cpuModel = /Intel.*Core.*i\d+-(\d{3,5})/i.exec(cpus()[0].model);
345
+ const cpuModel = /Intel.*Core.*i\d+-(\d{3,5})/i.exec(cpuModelString);
339
346
  this._cpuGeneration = 0;
340
347
  if (cpuModel?.[1]) {
341
348
  // Grab the individual SKU as both a number and string.
@@ -376,10 +383,8 @@ export class FfmpegCodecs {
376
383
  // Utility to probe the capabilities of FFmpeg and the host platform.
377
384
  async probeCmd(command, commandLineArgs, processOutput, quietRunErrors = false) {
378
385
  try {
379
- // Promisify exec to allow us to wait for it asynchronously.
380
- const execAsync = util.promisify(execFile);
381
386
  // Check for the codecs in our video processor.
382
- const { stdout } = await execAsync(command, commandLineArgs);
387
+ const { stdout } = await execFileAsync(command, commandLineArgs);
383
388
  processOutput(stdout);
384
389
  return true;
385
390
  }
@@ -387,12 +392,13 @@ export class FfmpegCodecs {
387
392
  const execError = error;
388
393
  if (execError.code === "ENOENT") {
389
394
  this.log.error("Unable to find '%s' in path: '%s'.", command, env.PATH);
395
+ return false;
390
396
  }
391
397
  else if (quietRunErrors) {
392
398
  return false;
393
399
  }
394
400
  else {
395
- this.log.error("Error running %s: %s", command, execError.message);
401
+ this.log.error("Error running %s: %s.", command, execError.message.replace(/\.$/, ""));
396
402
  }
397
403
  this.log.error("Unable to probe the capabilities of your Homebridge host without access to '%s'. Ensure that it is available in your path and correctly working.", command);
398
404
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../../src/ffmpeg/codecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../../src/ffmpeg/codecs.ts"],"names":[],"mappings":"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"}
@@ -104,5 +104,5 @@ export declare class FfmpegExec extends FfmpegProcess {
104
104
  * @param exitCode - The exit code returned by the FFmpeg process.
105
105
  * @param signal - The signal used to terminate the process, if any.
106
106
  */
107
- protected logFfmpegError(exitCode: number, signal: NodeJS.Signals): void;
107
+ protected logFfmpegError(exitCode: Nullable<number>, signal: Nullable<NodeJS.Signals>): void;
108
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/ffmpeg/exec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAmB7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAa;IAEnC,eAAe,CAAU;IAEjC;;;;;;;;;;;;OAYG;IACH,YAAY,OAAsB,EAAE,eAA0B,EAAE,SAAS,GAAG,IAAI;QAE9E,yBAAyB;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEhC,yCAAyC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,IAAI,CAAC,SAAkB;QAElC,OAAO,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;YAEtD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAG,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAEzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO;YACT,CAAC;YAED,gCAAgC;YAChC,IAAG,SAAS,EAAE,CAAC;gBAEb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,8EAA8E;YAC9E,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAE5C,0CAA0C;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,+BAA+B;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAErC,iCAAiC;gBACjC,OAAO,CAAC;oBAEN,QAAQ;oBACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACO,cAAc,CAAC,QAAgB,EAAE,MAAsB;QAE/D,wCAAwC;QACxC,IAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CAEF"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/ffmpeg/exec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAmB7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAa;IAEnC,eAAe,CAAU;IAEjC;;;;;;;;;;;;OAYG;IACH,YAAY,OAAsB,EAAE,eAA0B,EAAE,SAAS,GAAG,IAAI;QAE9E,yBAAyB;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEhC,yCAAyC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,IAAI,CAAC,SAAkB;QAElC,OAAO,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;YAEtD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAG,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAEzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO;YACT,CAAC;YAED,gCAAgC;YAChC,IAAG,SAAS,EAAE,CAAC;gBAEb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,8EAA8E;YAC9E,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAE5C,0CAA0C;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,+BAA+B;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAErC,iCAAiC;gBACjC,OAAO,CAAC;oBAEN,QAAQ;oBACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACO,cAAc,CAAC,QAA0B,EAAE,MAAgC;QAEnF,wCAAwC;QACxC,IAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAEzB,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CAEF"}
@@ -2,14 +2,20 @@
2
2
  * ISO BMFF (fMP4) box parsing utilities for working with fragmented MP4 data.
3
3
  *
4
4
  * This module provides lightweight, Buffer-based utilities for inspecting ISO Base Media File Format (ISO BMFF) structures commonly found in fragmented MP4 (fMP4)
5
- * streams. It enables locating specific box types, splitting fragments into their moof/mdat components, and detecting keyframe (sync sample) segments by parsing the
6
- * TRUN sample flags.
5
+ * streams. It enables locating specific box types, splitting fragments into their moof/mdat components, detecting keyframe (sync sample) segments by parsing the TRUN
6
+ * sample flags, and identifying audio track presence in initialization segments.
7
7
  *
8
8
  * These utilities operate on complete Buffers and are independent of FFmpeg processes or streaming pipelines.
9
9
  *
10
10
  * @module
11
11
  */
12
12
  import type { Nullable } from "../util.js";
13
+ /**
14
+ * ISO BMFF box header size in bytes: 4 bytes big-endian size + 4 bytes ASCII type.
15
+ *
16
+ * @category FFmpeg
17
+ */
18
+ export declare const BOX_HEADER_SIZE = 8;
13
19
  /**
14
20
  * Describes the location of an ISO BMFF box within a buffer.
15
21
  *
@@ -52,6 +58,19 @@ export declare function findBox(buffer: Buffer, type: string, start?: number, en
52
58
  * @category FFmpeg
53
59
  */
54
60
  export declare function isKeyframe(segment: Buffer): boolean;
61
+ /**
62
+ * Determines whether an fMP4 initialization segment contains an audio track by inspecting the handler type in each track's media handler box.
63
+ *
64
+ * Traverses the box hierarchy `moov -> trak -> mdia -> hdlr` for every track in the init segment and checks the handler_type field for "soun" (0x736F756E). This is the
65
+ * standard ISO BMFF mechanism for identifying track media types - "soun" for audio, "vide" for video, "subt" for subtitles, etc.
66
+ *
67
+ * @param initSegment - A buffer containing a complete fMP4 initialization segment (typically ftyp + moov).
68
+ *
69
+ * @returns `true` if the init segment contains at least one audio track, `false` otherwise.
70
+ *
71
+ * @category FFmpeg
72
+ */
73
+ export declare function hasAudioTrack(initSegment: Buffer): boolean;
55
74
  /**
56
75
  * Splits an fMP4 fragment into its moof and mdat components.
57
76
  *
@@ -2,8 +2,12 @@
2
2
  *
3
3
  * ffmpeg/fmp4.ts: ISO BMFF (fMP4) box parsing utilities.
4
4
  */
5
- // ISO BMFF box header size: 4 bytes big-endian size + 4 bytes ASCII type.
6
- const BOX_HEADER_SIZE = 8;
5
+ /**
6
+ * ISO BMFF box header size in bytes: 4 bytes big-endian size + 4 bytes ASCII type.
7
+ *
8
+ * @category FFmpeg
9
+ */
10
+ export const BOX_HEADER_SIZE = 8;
7
11
  // TRUN fullbox header size: standard box header + 4 bytes version/flags + 4 bytes sample_count.
8
12
  const TRUN_HEADER_SIZE = BOX_HEADER_SIZE + 8;
9
13
  // TRUN box flags indicating the presence of optional fields.
@@ -14,6 +18,10 @@ const TRUN_FLAG_SAMPLE_SIZE = 0x000200;
14
18
  const TRUN_FLAG_SAMPLE_FLAGS = 0x000400;
15
19
  // Sample flags bit indicating a non-sync sample. When this bit is clear (0), the sample is a sync sample (keyframe/IDR).
16
20
  const SAMPLE_FLAG_NON_SYNC = 0x00010000;
21
+ // Handler type for audio tracks in ISO BMFF: "soun" encoded as a 32-bit integer.
22
+ const HDLR_TYPE_SOUN = 0x736F756E;
23
+ // Offset from the start of an hdlr fullbox to the handler_type field: standard box header (8 bytes) + version/flags (4 bytes) + pre_defined (4 bytes).
24
+ const HDLR_TYPE_OFFSET = BOX_HEADER_SIZE + 8;
17
25
  /**
18
26
  * Locates the first ISO BMFF box of a given type within a byte range.
19
27
  *
@@ -121,6 +129,51 @@ export function isKeyframe(segment) {
121
129
  // No sample flags information available in the trun...we can't determine keyframe status.
122
130
  return false;
123
131
  }
132
+ /**
133
+ * Determines whether an fMP4 initialization segment contains an audio track by inspecting the handler type in each track's media handler box.
134
+ *
135
+ * Traverses the box hierarchy `moov -> trak -> mdia -> hdlr` for every track in the init segment and checks the handler_type field for "soun" (0x736F756E). This is the
136
+ * standard ISO BMFF mechanism for identifying track media types - "soun" for audio, "vide" for video, "subt" for subtitles, etc.
137
+ *
138
+ * @param initSegment - A buffer containing a complete fMP4 initialization segment (typically ftyp + moov).
139
+ *
140
+ * @returns `true` if the init segment contains at least one audio track, `false` otherwise.
141
+ *
142
+ * @category FFmpeg
143
+ */
144
+ export function hasAudioTrack(initSegment) {
145
+ // Locate the moov box at the top level.
146
+ const moov = findBox(initSegment, "moov");
147
+ if (!moov) {
148
+ return false;
149
+ }
150
+ const moovStart = moov.offset + BOX_HEADER_SIZE;
151
+ const moovEnd = moov.offset + moov.size;
152
+ // Walk each trak box inside the moov, advancing past each one we find. Once we've passed the last trak, findBox runs out of range and returns null, which is how we
153
+ // know we're done.
154
+ let trakStart = moovStart;
155
+ for (;;) {
156
+ const trak = findBox(initSegment, "trak", trakStart, moovEnd);
157
+ if (!trak) {
158
+ return false;
159
+ }
160
+ // Locate the mdia box inside this trak.
161
+ const mdia = findBox(initSegment, "mdia", trak.offset + BOX_HEADER_SIZE, trak.offset + trak.size);
162
+ if (mdia) {
163
+ // Locate the hdlr box inside the mdia.
164
+ const hdlr = findBox(initSegment, "hdlr", mdia.offset + BOX_HEADER_SIZE, mdia.offset + mdia.size);
165
+ // Read the handler_type field. In a hdlr fullbox, the layout after the standard box header is: version/flags (4 bytes) + pre_defined (4 bytes) + handler_type
166
+ // (4 bytes). We check that the box is large enough to contain the field before reading.
167
+ if (hdlr && (hdlr.size >= (HDLR_TYPE_OFFSET + 4))) {
168
+ if (initSegment.readUInt32BE(hdlr.offset + HDLR_TYPE_OFFSET) === HDLR_TYPE_SOUN) {
169
+ return true;
170
+ }
171
+ }
172
+ }
173
+ // Advance past this trak to search for the next one.
174
+ trakStart = trak.offset + trak.size;
175
+ }
176
+ }
124
177
  /**
125
178
  * Splits an fMP4 fragment into its moof and mdat components.
126
179
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fmp4.js","sourceRoot":"","sources":["../../src/ffmpeg/fmp4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fmp4.js","sourceRoot":"","sources":["../../src/ffmpeg/fmp4.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,11 @@ import type { HomebridgePluginLogging } from "../util.js";
31
31
  * @property log - Logging interface for output and errors.
32
32
  * @property name - Function returning the name or label for this options set.
33
33
  *
34
+ * @remarks The `hardwareDecoding` and `hardwareTranscoding` flags are bidirectional. On input, they express the caller's desired hardware acceleration state. During
35
+ * `FfmpegOptions` construction, the flags are resolved against the host's actual capabilities and the config object is mutated in place to reflect what is available.
36
+ * After construction, these flags represent the resolved state...`hardwareDecoding` or `hardwareTranscoding` may be set to `false` if the required codecs or
37
+ * accelerators are absent, or `hardwareDecoding` may be set to `true` if Intel Quick Sync Video is detected even when not explicitly requested.
38
+ *
34
39
  * @example
35
40
  *
36
41
  * ```ts
@@ -193,7 +198,7 @@ export declare class FfmpegOptions {
193
198
  * FFmpeg codec and hardware capabilities for the current host.
194
199
  *
195
200
  */
196
- codecSupport: FfmpegCodecs;
201
+ readonly codecSupport: FfmpegCodecs;
197
202
  /**
198
203
  * The configuration options used to initialize this instance.
199
204
  */
@@ -133,7 +133,7 @@ export class FfmpegOptions {
133
133
  }
134
134
  return true;
135
135
  };
136
- // Utility function to check that we have a specific decoder codec available to us.
136
+ // Utility function to check that we have a specific hardware accelerator available to us.
137
137
  const validateHwAccel = (accel) => {
138
138
  if (!this.config.codecSupport.hasHwAccel(accel)) {
139
139
  this.log.error("Unable to enable hardware-accelerated decoding. Your video processor does not have support for the " + accel + " hardware accelerator. " +
@@ -158,7 +158,7 @@ export class FfmpegOptions {
158
158
  return false;
159
159
  }
160
160
  // Verify that we have the hardware decoder available to us. Unfortunately, as of FFmpeg 7, it seems that hardware decoding is flaky, at best, on Raspberry Pi.
161
- // validateDecoder("h264_v4l2m2ml", [ "yuv420p" ]);
161
+ // validateDecoder("h264_v4l2m2m", [ "yuv420p" ]);
162
162
  this.config.hardwareDecoding = false;
163
163
  break;
164
164
  default:
@@ -237,12 +237,11 @@ export class FfmpegOptions {
237
237
  const needsUpload = !options.hardwareDecoding && options.hardwareTranscoding;
238
238
  const needsDownload = options.hardwareDecoding && !options.hardwareTranscoding;
239
239
  if (needsUpload) {
240
- // We need to download frames from the GPU to system memory for software encoding.
240
+ // We need to upload frames from system memory to the GPU for hardware encoding.
241
241
  switch (this.codecSupport.hostSystem) {
242
242
  case "macOS.Apple":
243
243
  case "macOS.Intel":
244
- // FFmpeg 8.x on macOS requires explicit upload when moving from VideoToolbox to software.
245
- // We need to upload frames from system memory to the GPU for hardware encoding.
244
+ // FFmpeg 8.x on macOS requires explicit upload when moving from software decoding to VideoToolbox encoding.
246
245
  if (this.config.codecSupport.ffmpegVersion.startsWith("8.")) {
247
246
  filters.push("hwupload");
248
247
  }
@@ -332,7 +331,7 @@ export class FfmpegOptions {
332
331
  */
333
332
  audioEncoder(options = {}) {
334
333
  // Default our codec to AAC_ELD unless specified.
335
- options = Object.assign({}, { codec: 1 /* AudioRecordingCodecType.AAC_ELD */ }, options);
334
+ options = { codec: 1 /* AudioRecordingCodecType.AAC_ELD */, ...options };
336
335
  // If we don't have libfdk_aac available to us, we're essentially dead in the water.
337
336
  let encoderOptions = [];
338
337
  // Utility function to return a default audio encoder codec.
@@ -613,7 +612,7 @@ export class FfmpegOptions {
613
612
  // -filter:v Set the pixel format and scale the video to the size we want while respecting aspect ratios and ensuring our final
614
613
  // dimensions are a power of two.
615
614
  // -g:v Set the group of pictures to the number of frames per second * the interval in between keyframes to ensure a solid
616
- // livestreamng exerience.
615
+ // livestreaming experience.
617
616
  // -bufsize size This is the decoder buffer size, which drives the variability / quality of the output bitrate.
618
617
  // -maxrate bitrate The maximum bitrate tolerance, used with -bufsize. This provides an upper bound on bitrate, with a little bit extra to
619
618
  // allow encoders some variation in order to maximize quality while honoring bandwidth constraints.
@@ -656,9 +655,9 @@ export class FfmpegOptions {
656
655
  recordEncoder(options) {
657
656
  // We always disable smart quality when recording due to HomeKit's strict requirements here.
658
657
  options.smartQuality = false;
659
- // Generaly, we default to using the same encoding options we use to transcode livestreams, unless we have platform-specific quirks we need to address,
658
+ // Generally, we default to using the same encoding options we use to transcode livestreams, unless we have platform-specific quirks we need to address,
660
659
  // such as where we can have hardware-accelerated transcoded livestreaming, but not hardware-accelerated HKSV event recording. The other noteworthy
661
- // aspect here is that HKSV is quite specific in what it wants, and isn't vary tolerant of creative license in how you may choose to alter bitrate to
660
+ // aspect here is that HKSV is quite specific in what it wants, and isn't very tolerant of creative license in how you may choose to alter bitrate to
662
661
  // address quality. When we call our encoders, we also let them know we don't want any additional quality optimizations when transcoding HKSV events.
663
662
  switch (this.codecSupport.hostSystem) {
664
663
  case "raspbian":
@@ -684,7 +683,7 @@ export class FfmpegOptions {
684
683
  */
685
684
  streamEncoder(options) {
686
685
  // Default hardware decoding and smart quality to true unless specified.
687
- options = Object.assign({}, { hardwareDecoding: true, hardwareTranscoding: this.config.hardwareTranscoding, smartQuality: true }, options);
686
+ options = { hardwareDecoding: true, hardwareTranscoding: this.config.hardwareTranscoding, smartQuality: true, ...options };
688
687
  // Disable hardware acceleration if we haven't detected it.
689
688
  if (!this.config.hardwareDecoding) {
690
689
  options.hardwareDecoding = false;
@@ -727,7 +726,7 @@ export class FfmpegOptions {
727
726
  // -filter:v Set the pixel format, adjust the frame rate if needed, and scale the video to the size we want while respecting aspect ratios and
728
727
  // ensuring our final dimensions are a power of two.
729
728
  // -g:v Set the group of pictures to the number of frames per second * the interval in between keyframes to ensure a solid
730
- // livestreamng exerience.
729
+ // livestreaming experience.
731
730
  // -bufsize size This is the decoder buffer size, which drives the variability / quality of the output bitrate.
732
731
  // -maxrate bitrate The maximum bitrate tolerance used in concert with -bufsize to constrain the maximum bitrate permitted.
733
732
  // -r framerate Set the output framerate. We use this to bypass doing this in filters so we can maximize the use of our hardware pipeline.
@@ -759,7 +758,7 @@ export class FfmpegOptions {
759
758
  // -b:v Average bitrate that's being requested by HomeKit. We can't use a quality constraint and allow for more optimization of the
760
759
  // bitrate on Intel-based Macs due to hardware / API limitations.
761
760
  // -g:v Set the group of pictures to the number of frames per second * the interval in between keyframes to ensure a solid
762
- // livestreaming exerience.
761
+ // livestreaming experience.
763
762
  // -bufsize size This is the decoder buffer size, which drives the variability / quality of the output bitrate.
764
763
  // -maxrate bitrate The maximum bitrate tolerance used in concert with -bufsize to constrain the maximum bitrate permitted.
765
764
  // -r framerate Set the output framerate. We use this to bypass doing this in filters so we can maximize the use of our hardware pipeline.
@@ -775,7 +774,7 @@ export class FfmpegOptions {
775
774
  // -b:v Average bitrate that's being requested by HomeKit. We can't use a quality constraint and allow for more optimization of the
776
775
  // bitrate due to v4l2m2m limitations.
777
776
  // -g:v Set the group of pictures to the number of frames per second * the interval in between keyframes to ensure a solid
778
- // livestreamng exerience.
777
+ // livestreaming experience.
779
778
  // -bufsize size This is the decoder buffer size, which drives the variability / quality of the output bitrate.
780
779
  // -maxrate bitrate The maximum bitrate tolerance used in concert with -bufsize to constrain the maximum bitrate permitted.
781
780
  // -r framerate Set the output framerate. We use this to bypass doing this in filters so we can maximize the use of our hardware pipeline.
@@ -793,7 +792,7 @@ export class FfmpegOptions {
793
792
  // -filter:v Set the pixel format, adjust the frame rate if needed, and scale the video to the size we want while respecting aspect ratios and
794
793
  // ensuring our final dimensions are a power of two.
795
794
  // -g:v Set the group of pictures to the number of frames per second * the interval in between keyframes to ensure a solid
796
- // livestreamng exerience.
795
+ // livestreaming experience.
797
796
  // -bufsize size This is the decoder buffer size, which drives the variability / quality of the output bitrate.
798
797
  // -maxrate bitrate The maximum bitrate tolerance used in concert with -bufsize to constrain the maximum bitrate permitted.
799
798
  // -r framerate Set the output framerate. We use this to bypass doing this in filters so we can maximize the use of our hardware pipeline.
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/ffmpeg/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/ffmpeg/options.ts"],"names":[],"mappings":"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"}
@@ -56,18 +56,6 @@ import type { StreamRequestCallback } from "homebridge";
56
56
  * @category FFmpeg
57
57
  */
58
58
  export declare class FfmpegProcess extends EventEmitter {
59
- /**
60
- * Indicates if an error has occurred during FFmpeg process execution.
61
- */
62
- hasError: boolean;
63
- /**
64
- * Indicates whether the FFmpeg process has ended.
65
- */
66
- isEnded: boolean;
67
- /**
68
- * Indicates whether the FFmpeg process has started.
69
- */
70
- isStarted: boolean;
71
59
  /**
72
60
  * Optional callback to be called when the FFmpeg process is ready for streaming.
73
61
  */
@@ -91,14 +79,20 @@ export declare class FfmpegProcess extends EventEmitter {
91
79
  /**
92
80
  * The underlying Node.js ChildProcess instance for the FFmpeg process.
93
81
  */
94
- process: Nullable<ChildProcessWithoutNullStreams>;
82
+ protected process: Nullable<ChildProcessWithoutNullStreams>;
83
+ private _hasError;
84
+ private _isStarted;
95
85
  /**
96
86
  * Accumulated log lines from standard error for error reporting and debugging.
97
87
  */
98
- protected stderrLog: string[];
88
+ private _stderrLog;
99
89
  private ffmpegTimeout?;
100
90
  private isLogging;
101
91
  private stderrBuffer;
92
+ /**
93
+ * Indicates whether the FFmpeg process has ended. Protected to allow subclass state transitions (e.g., signaling generators before shutdown).
94
+ */
95
+ protected _isEnded: boolean;
102
96
  constructor(options: FfmpegOptions, commandLineArgs?: string[], callback?: StreamRequestCallback);
103
97
  private prepareProcess;
104
98
  /**
@@ -134,6 +128,24 @@ export declare class FfmpegProcess extends EventEmitter {
134
128
  * @param signal - The signal, if any, used to terminate the process.
135
129
  */
136
130
  protected logFfmpegError(exitCode: Nullable<number>, signal: Nullable<NodeJS.Signals>): void;
131
+ /**
132
+ * Indicates if an error has occurred during FFmpeg process execution.
133
+ */
134
+ get hasError(): boolean;
135
+ /**
136
+ * Indicates whether the FFmpeg process has ended.
137
+ */
138
+ get isEnded(): boolean;
139
+ /**
140
+ * Indicates whether the FFmpeg process has started.
141
+ */
142
+ get isStarted(): boolean;
143
+ /**
144
+ * Returns the accumulated standard error log lines from the FFmpeg process.
145
+ *
146
+ * @returns An array of stderr log lines.
147
+ */
148
+ get stderrLog(): string[];
137
149
  /**
138
150
  * Returns the writable standard input stream for the FFmpeg process, if available.
139
151
  *