homebridge-plugin-utils 1.34.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.
- package/dist/backpressure.d.ts +79 -0
- package/dist/backpressure.js +137 -0
- package/dist/backpressure.js.map +1 -0
- package/dist/ffmpeg/codecs.js +8 -3
- package/dist/ffmpeg/codecs.js.map +1 -1
- package/dist/ffmpeg/fmp4.d.ts +21 -2
- package/dist/ffmpeg/fmp4.js +55 -2
- package/dist/ffmpeg/fmp4.js.map +1 -1
- package/dist/ffmpeg/options.d.ts +1 -1
- package/dist/ffmpeg/options.js +1 -1
- package/dist/ffmpeg/options.js.map +1 -1
- package/dist/ffmpeg/process.d.ts +18 -12
- package/dist/ffmpeg/process.js +41 -28
- package/dist/ffmpeg/process.js.map +1 -1
- package/dist/ffmpeg/record.d.ts +3 -3
- package/dist/ffmpeg/record.js +23 -16
- package/dist/ffmpeg/record.js.map +1 -1
- package/dist/ffmpeg/rtp.d.ts +2 -2
- package/dist/ffmpeg/rtp.js +8 -1
- package/dist/ffmpeg/rtp.js.map +1 -1
- package/dist/ffmpeg/settings.d.ts +1 -0
- package/dist/ffmpeg/settings.js +3 -0
- package/dist/ffmpeg/settings.js.map +1 -1
- package/dist/ffmpeg/stream.js +5 -3
- package/dist/ffmpeg/stream.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mqttclient.js +1 -1
- package/dist/mqttclient.js.map +1 -1
- package/dist/service.d.ts +1 -1
- package/dist/service.js +1 -1
- package/dist/util.d.ts +0 -5
- package/dist/util.js +24 -10
- package/dist/util.js.map +1 -1
- package/package.json +2 -2
package/dist/ffmpeg/process.js
CHANGED
|
@@ -24,8 +24,9 @@
|
|
|
24
24
|
* @module
|
|
25
25
|
*/
|
|
26
26
|
import { spawn } from "node:child_process";
|
|
27
|
+
import { EOL } from "node:os";
|
|
27
28
|
import { EventEmitter } from "node:events";
|
|
28
|
-
import
|
|
29
|
+
import { FFMPEG_INPUT_TIMEOUT } from "./settings.js";
|
|
29
30
|
import util from "node:util";
|
|
30
31
|
// Matches non-printable control characters for stripping from FFmpeg stderr output. Compiled once at module scope rather than per data event.
|
|
31
32
|
const NON_PRINTABLE_CHARS = /\p{C}+/gu;
|
|
@@ -60,18 +61,6 @@ const NON_PRINTABLE_CHARS = /\p{C}+/gu;
|
|
|
60
61
|
* @category FFmpeg
|
|
61
62
|
*/
|
|
62
63
|
export class FfmpegProcess extends EventEmitter {
|
|
63
|
-
/**
|
|
64
|
-
* Indicates if an error has occurred during FFmpeg process execution.
|
|
65
|
-
*/
|
|
66
|
-
hasError;
|
|
67
|
-
/**
|
|
68
|
-
* Indicates whether the FFmpeg process has ended.
|
|
69
|
-
*/
|
|
70
|
-
isEnded;
|
|
71
|
-
/**
|
|
72
|
-
* Indicates whether the FFmpeg process has started.
|
|
73
|
-
*/
|
|
74
|
-
isStarted;
|
|
75
64
|
/**
|
|
76
65
|
* Optional callback to be called when the FFmpeg process is ready for streaming.
|
|
77
66
|
*/
|
|
@@ -96,6 +85,8 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
96
85
|
* The underlying Node.js ChildProcess instance for the FFmpeg process.
|
|
97
86
|
*/
|
|
98
87
|
process;
|
|
88
|
+
_hasError;
|
|
89
|
+
_isStarted;
|
|
99
90
|
/**
|
|
100
91
|
* Accumulated log lines from standard error for error reporting and debugging.
|
|
101
92
|
*/
|
|
@@ -103,16 +94,20 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
103
94
|
ffmpegTimeout;
|
|
104
95
|
isLogging;
|
|
105
96
|
stderrBuffer;
|
|
97
|
+
/**
|
|
98
|
+
* Indicates whether the FFmpeg process has ended. Protected to allow subclass state transitions (e.g., signaling generators before shutdown).
|
|
99
|
+
*/
|
|
100
|
+
_isEnded;
|
|
106
101
|
// Create a new FFmpeg process instance.
|
|
107
102
|
constructor(options, commandLineArgs, callback) {
|
|
108
103
|
// Initialize our parent.
|
|
109
104
|
super();
|
|
110
105
|
this.callback = null;
|
|
111
106
|
this.commandLineArgs = [];
|
|
112
|
-
this.
|
|
107
|
+
this._hasError = false;
|
|
108
|
+
this._isEnded = false;
|
|
109
|
+
this._isStarted = false;
|
|
113
110
|
this.isLogging = false;
|
|
114
|
-
this.isEnded = false;
|
|
115
|
-
this.isStarted = false;
|
|
116
111
|
this.log = options.log;
|
|
117
112
|
this.options = options;
|
|
118
113
|
this.process = null;
|
|
@@ -141,8 +136,8 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
141
136
|
// See if we should display ffmpeg command output.
|
|
142
137
|
this.isLogging = false;
|
|
143
138
|
// Track if we've started or ended FFmpeg.
|
|
144
|
-
this.
|
|
145
|
-
this.
|
|
139
|
+
this._isStarted = false;
|
|
140
|
+
this._isEnded = false;
|
|
146
141
|
// If we've got a loglevel specified, ensure we display it.
|
|
147
142
|
if (this.commandLineArgs.includes("-loglevel")) {
|
|
148
143
|
this.isLogging = true;
|
|
@@ -207,9 +202,9 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
207
202
|
// Inform us when we start receiving data back from FFmpeg. We do this here because it's the only
|
|
208
203
|
// truly reliable place we can check on FFmpeg. stdin and stdout may not be used at all, depending
|
|
209
204
|
// on the way FFmpeg is called, but stderr will always be there.
|
|
210
|
-
if (!this.
|
|
211
|
-
this.
|
|
212
|
-
this.
|
|
205
|
+
if (!this._isStarted) {
|
|
206
|
+
this._isStarted = true;
|
|
207
|
+
this._isEnded = false;
|
|
213
208
|
this.log.debug("FFmpeg process started.");
|
|
214
209
|
// Always remember to execute the callback once we're setup to let homebridge know we're streaming.
|
|
215
210
|
if (this.callback) {
|
|
@@ -218,18 +213,18 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
218
213
|
}
|
|
219
214
|
}
|
|
220
215
|
// Append to the current line we've been buffering. We don't want to output not-printable characters to ensure the log output is readable.
|
|
221
|
-
this.stderrBuffer += data.toString().replace(NON_PRINTABLE_CHARS,
|
|
216
|
+
this.stderrBuffer += data.toString().replace(NON_PRINTABLE_CHARS, EOL);
|
|
222
217
|
// Debugging and additional logging collection.
|
|
223
218
|
for (;;) {
|
|
224
219
|
// Find the next newline.
|
|
225
|
-
const lineIndex = this.stderrBuffer.indexOf(
|
|
220
|
+
const lineIndex = this.stderrBuffer.indexOf(EOL);
|
|
226
221
|
// If there's no newline, we're done until we get more data.
|
|
227
222
|
if (lineIndex === -1) {
|
|
228
223
|
return;
|
|
229
224
|
}
|
|
230
225
|
// Grab the next complete line, and increment our buffer.
|
|
231
226
|
const line = this.stderrBuffer.slice(0, lineIndex);
|
|
232
|
-
this.stderrBuffer = this.stderrBuffer.slice(lineIndex +
|
|
227
|
+
this.stderrBuffer = this.stderrBuffer.slice(lineIndex + EOL.length);
|
|
233
228
|
this._stderrLog.push(line);
|
|
234
229
|
// Show it to the user if it's been requested.
|
|
235
230
|
if (this.isLogging || this.isVerbose || this.options.debug) {
|
|
@@ -243,8 +238,8 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
243
238
|
if (this.ffmpegTimeout) {
|
|
244
239
|
clearTimeout(this.ffmpegTimeout);
|
|
245
240
|
}
|
|
246
|
-
this.
|
|
247
|
-
this.
|
|
241
|
+
this._isStarted = false;
|
|
242
|
+
this._isEnded = true;
|
|
248
243
|
// Some utilities to streamline things.
|
|
249
244
|
const logPrefix = "FFmpeg process ended ";
|
|
250
245
|
// FFmpeg ended normally and our canary didn't need to enforce FFmpeg's extinction.
|
|
@@ -257,7 +252,7 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
257
252
|
}
|
|
258
253
|
else {
|
|
259
254
|
// Flag that we've run into an FFmpeg error.
|
|
260
|
-
this.
|
|
255
|
+
this._hasError = true;
|
|
261
256
|
// Flush out any remaining output in our error buffer.
|
|
262
257
|
if (this.stderrBuffer.length) {
|
|
263
258
|
this._stderrLog.push(this.stderrBuffer + "\n");
|
|
@@ -288,7 +283,7 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
288
283
|
// In case we need to kill it again, just to be sure it's really dead.
|
|
289
284
|
this.ffmpegTimeout = setTimeout(() => {
|
|
290
285
|
this.process?.kill("SIGKILL");
|
|
291
|
-
},
|
|
286
|
+
}, FFMPEG_INPUT_TIMEOUT);
|
|
292
287
|
// Send the kill shot.
|
|
293
288
|
this.process?.kill();
|
|
294
289
|
}
|
|
@@ -318,6 +313,24 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
318
313
|
this.log.error(x);
|
|
319
314
|
}
|
|
320
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Indicates if an error has occurred during FFmpeg process execution.
|
|
318
|
+
*/
|
|
319
|
+
get hasError() {
|
|
320
|
+
return this._hasError;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Indicates whether the FFmpeg process has ended.
|
|
324
|
+
*/
|
|
325
|
+
get isEnded() {
|
|
326
|
+
return this._isEnded;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Indicates whether the FFmpeg process has started.
|
|
330
|
+
*/
|
|
331
|
+
get isStarted() {
|
|
332
|
+
return this._isStarted;
|
|
333
|
+
}
|
|
321
334
|
/**
|
|
322
335
|
* Returns the accumulated standard error log lines from the FFmpeg process.
|
|
323
336
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/ffmpeg/process.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAuC,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/ffmpeg/process.ts"],"names":[],"mappings":"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"}
|
package/dist/ffmpeg/record.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ declare abstract class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
143
143
|
protected abstract videoEncoderArgs(): string[];
|
|
144
144
|
protected abstract postFilterArgs(): string[];
|
|
145
145
|
protected abstract metadataLabel(): string;
|
|
146
|
-
protected abstract handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type:
|
|
146
|
+
protected abstract handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: number): void;
|
|
147
147
|
/**
|
|
148
148
|
* Prepares and configures the FFmpeg process for reading and parsing output fMP4 data. The box parsing loop is shared...each complete box is dispatched to the
|
|
149
149
|
* subclass via handleParsedBox().
|
|
@@ -212,7 +212,7 @@ export declare class FfmpegRecordingProcess extends FfmpegFMp4Process {
|
|
|
212
212
|
protected videoEncoderArgs(): string[];
|
|
213
213
|
protected postFilterArgs(): string[];
|
|
214
214
|
protected metadataLabel(): string;
|
|
215
|
-
protected handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type:
|
|
215
|
+
protected handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: number): void;
|
|
216
216
|
/**
|
|
217
217
|
* Stops the FFmpeg process and performs cleanup, ensuring the segment generator can exit.
|
|
218
218
|
*/
|
|
@@ -276,7 +276,7 @@ export declare class FfmpegLivestreamProcess extends FfmpegFMp4Process {
|
|
|
276
276
|
protected videoEncoderArgs(): string[];
|
|
277
277
|
protected postFilterArgs(): string[];
|
|
278
278
|
protected metadataLabel(): string;
|
|
279
|
-
protected handleParsedBox(header: Buffer, data: Buffer, _dataLength: number, type:
|
|
279
|
+
protected handleParsedBox(header: Buffer, data: Buffer, _dataLength: number, type: number): void;
|
|
280
280
|
/**
|
|
281
281
|
* Starts the FFmpeg process, adjusting the fragment duration if segmentLength has been set.
|
|
282
282
|
*
|
package/dist/ffmpeg/record.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { HKSV_IDR_INTERVAL, HKSV_TIMEOUT } from "./settings.js";
|
|
6
6
|
import { runWithTimeout } from "../util.js";
|
|
7
|
+
import { BOX_HEADER_SIZE } from "./fmp4.js";
|
|
7
8
|
import { FfmpegProcess } from "./process.js";
|
|
8
9
|
import { once } from "node:events";
|
|
9
10
|
// Utility to map HKSV audio recording codec types to their AAC Object Type identifiers. We also use satisfies here to ensure we account for any future changes that
|
|
@@ -21,6 +22,10 @@ const translateAudioSampleRate = {
|
|
|
21
22
|
[4 /* AudioRecordingSamplerate.KHZ_44_1 */]: "44.1",
|
|
22
23
|
[5 /* AudioRecordingSamplerate.KHZ_48 */]: "48"
|
|
23
24
|
};
|
|
25
|
+
// ISO BMFF box type constants encoded as 32-bit integers for comparison without string allocation in the box-parsing hot path.
|
|
26
|
+
const BOX_TYPE_MDAT = 0x6D646174;
|
|
27
|
+
const BOX_TYPE_MOOF = 0x6D6F6F66;
|
|
28
|
+
const BOX_TYPE_MOOV = 0x6D6F6F76;
|
|
24
29
|
// Reusable empty buffer sentinel for the box-parsing loop. Avoids repeated zero-byte allocations on every box reset.
|
|
25
30
|
const EMPTY_BUFFER = Buffer.alloc(0);
|
|
26
31
|
// Known HKSV-related errors due to occasional inconsistencies produced by the input stream and FFmpeg's own occasional quirkiness. Compiled once at module scope
|
|
@@ -82,7 +87,8 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
82
87
|
// own state, which avoids the virtual-call-from-constructor problem.
|
|
83
88
|
this._isVerbose = isVerbose;
|
|
84
89
|
}
|
|
85
|
-
//
|
|
90
|
+
// Per-instance verbose flag, distinct from the inherited isVerbose which reflects the global codecSupport.verbose setting. We keep both so either a global debug
|
|
91
|
+
// setting or a per-session opt-in can enable verbose FFmpeg logging...the check in buildCommandLine() ORs them together.
|
|
86
92
|
_isVerbose;
|
|
87
93
|
// Assembles the FFmpeg command line by calling hook methods in the standard order. The shared skeleton lives here; mode-specific pieces come from subclass overrides.
|
|
88
94
|
// Subclasses call this as the last step of their constructor, after their own state is fully initialized.
|
|
@@ -176,7 +182,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
176
182
|
let header = EMPTY_BUFFER;
|
|
177
183
|
let bufferRemaining = EMPTY_BUFFER;
|
|
178
184
|
let dataLength = 0;
|
|
179
|
-
let type =
|
|
185
|
+
let type = 0;
|
|
180
186
|
// Process FFmpeg output and parse out the fMP4 stream it's generating. Here, we take on the task of parsing the fMP4 stream that's being generated and split it up
|
|
181
187
|
// into the MP4 boxes that HAP-NodeJS is ultimately expecting.
|
|
182
188
|
this.process?.stdout.on("data", dataListener = (buffer) => {
|
|
@@ -193,20 +199,21 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
193
199
|
// No existing header, let's start a new box.
|
|
194
200
|
if (!header.length) {
|
|
195
201
|
// If there aren't enough bytes for a complete box header, save them for the next chunk.
|
|
196
|
-
if (buffer.length <
|
|
202
|
+
if (buffer.length < BOX_HEADER_SIZE) {
|
|
197
203
|
bufferRemaining = buffer;
|
|
198
204
|
break;
|
|
199
205
|
}
|
|
200
206
|
// Grab the header. The first four bytes represents the length of the entire box. Second four bytes represent the box type.
|
|
201
|
-
header = buffer.subarray(0,
|
|
207
|
+
header = buffer.subarray(0, BOX_HEADER_SIZE);
|
|
202
208
|
// Now we retrieve the length of the box.
|
|
203
209
|
dataLength = header.readUInt32BE(0);
|
|
204
|
-
//
|
|
205
|
-
|
|
210
|
+
// Read the box type as a 32-bit integer to avoid per-box string allocation. Box types are 4-byte ASCII codes ("moof", "mdat", etc.) - a legacy of Apple's
|
|
211
|
+
// original QuickTime "atoms" from 1991, carried forward when MPEG-4 Part 12 standardized the container as ISO BMFF and renamed atoms to "boxes."
|
|
212
|
+
type = header.readUInt32BE(4);
|
|
206
213
|
// Finally, we get the data portion of the box.
|
|
207
|
-
data = buffer.subarray(
|
|
214
|
+
data = buffer.subarray(BOX_HEADER_SIZE, dataLength);
|
|
208
215
|
// Mark our data offset so we account for the length of the data header and subtract it from the overall length to capture just the data portion.
|
|
209
|
-
dataLength -= offset =
|
|
216
|
+
dataLength -= offset = BOX_HEADER_SIZE;
|
|
210
217
|
}
|
|
211
218
|
else {
|
|
212
219
|
// Grab the data from our buffer.
|
|
@@ -222,7 +229,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
222
229
|
this.handleParsedBox(header, data, dataLength, type);
|
|
223
230
|
// Prepare to start a new box for the next buffer that we will be processing.
|
|
224
231
|
header = EMPTY_BUFFER;
|
|
225
|
-
type =
|
|
232
|
+
type = 0;
|
|
226
233
|
// We've parsed an entire box, and there's no more data in this buffer to parse.
|
|
227
234
|
if (buffer.length === (offset + dataLength)) {
|
|
228
235
|
dataLength = 0;
|
|
@@ -246,7 +253,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
|
|
|
246
253
|
// Call our parent to get started.
|
|
247
254
|
super.stopProcess();
|
|
248
255
|
// Signal that the process has ended.
|
|
249
|
-
this.
|
|
256
|
+
this._isEnded = true;
|
|
250
257
|
this.emit("close");
|
|
251
258
|
}
|
|
252
259
|
/**
|
|
@@ -388,7 +395,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
|
|
|
388
395
|
*/
|
|
389
396
|
stopProcess() {
|
|
390
397
|
// Emit mp4box to unblock segmentGenerator() if it's waiting, then let the base class handle the rest.
|
|
391
|
-
this.
|
|
398
|
+
this._isEnded = true;
|
|
392
399
|
this.emit("mp4box");
|
|
393
400
|
super.stopProcess();
|
|
394
401
|
}
|
|
@@ -413,7 +420,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
|
|
|
413
420
|
// Loop forever, generating either FTYP/MOOV box pairs or MOOF/MDAT box pairs for HomeKit Secure Video.
|
|
414
421
|
for (;;) {
|
|
415
422
|
// FFmpeg has finished its output - we're done.
|
|
416
|
-
if (this.
|
|
423
|
+
if (this._isEnded) {
|
|
417
424
|
return;
|
|
418
425
|
}
|
|
419
426
|
// If the buffer is empty, wait for our FFmpeg process to produce more boxes.
|
|
@@ -441,7 +448,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
|
|
|
441
448
|
// of MOOF as the audio/video data "header", and MDAT as the "payload".
|
|
442
449
|
//
|
|
443
450
|
// Once we see these, we combine all the segments in our queue to send back to HomeKit.
|
|
444
|
-
if ((box.type ===
|
|
451
|
+
if ((box.type === BOX_TYPE_MOOV) || (box.type === BOX_TYPE_MDAT)) {
|
|
445
452
|
yield Buffer.concat(segment);
|
|
446
453
|
segment = [];
|
|
447
454
|
}
|
|
@@ -559,7 +566,7 @@ export class FfmpegLivestreamProcess extends FfmpegFMp4Process {
|
|
|
559
566
|
if (!this.hasInitSegment) {
|
|
560
567
|
// The initialization segment is everything before the first moof box. Once we've seen a moof box, we know we've captured it in full. We collect the parts into an
|
|
561
568
|
// array and concatenate once at the end to avoid creating intermediate buffers on every pre-moof box.
|
|
562
|
-
if (type ===
|
|
569
|
+
if (type === BOX_TYPE_MOOF) {
|
|
563
570
|
this._initSegment = Buffer.concat(this._initSegmentParts);
|
|
564
571
|
this._initSegmentParts = [];
|
|
565
572
|
this.hasInitSegment = true;
|
|
@@ -609,9 +616,9 @@ export class FfmpegLivestreamProcess extends FfmpegFMp4Process {
|
|
|
609
616
|
if (this.hasInitSegment) {
|
|
610
617
|
return this._initSegment;
|
|
611
618
|
}
|
|
612
|
-
// Wait until the initialization segment is
|
|
619
|
+
// Wait until the initialization segment is available.
|
|
613
620
|
await once(this, "initsegment");
|
|
614
|
-
return this.
|
|
621
|
+
return this._initSegment;
|
|
615
622
|
}
|
|
616
623
|
/**
|
|
617
624
|
* Returns the initialization segment as a Buffer, or null if not yet available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
|
package/dist/ffmpeg/rtp.d.ts
CHANGED
|
@@ -44,8 +44,8 @@ import type { HomebridgePluginLogging } from "../util.js";
|
|
|
44
44
|
* @category FFmpeg
|
|
45
45
|
*/
|
|
46
46
|
export declare class RtpDemuxer extends EventEmitter {
|
|
47
|
-
private heartbeatTimer
|
|
48
|
-
private heartbeatMsg
|
|
47
|
+
private heartbeatTimer?;
|
|
48
|
+
private heartbeatMsg?;
|
|
49
49
|
private _isRunning;
|
|
50
50
|
private log?;
|
|
51
51
|
private inputPort;
|
package/dist/ffmpeg/rtp.js
CHANGED
|
@@ -120,6 +120,9 @@ export class RtpDemuxer extends EventEmitter {
|
|
|
120
120
|
// Send a heartbeat to FFmpeg every few seconds to keep things open. FFmpeg has a five-second timeout in reading input, and we want to be comfortably within the
|
|
121
121
|
// margin for error to ensure the process continues to run.
|
|
122
122
|
this.heartbeatTimer = setTimeout(() => {
|
|
123
|
+
if (!this.heartbeatMsg) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
123
126
|
this.log?.debug("Sending ffmpeg a heartbeat.");
|
|
124
127
|
this.socket.send(this.heartbeatMsg, port);
|
|
125
128
|
this.heartbeat(port);
|
|
@@ -238,8 +241,12 @@ export class RtpPortAllocator {
|
|
|
238
241
|
const assignedPort = socket.address().port;
|
|
239
242
|
// We're done with the socket, let's cleanup.
|
|
240
243
|
socket.close();
|
|
241
|
-
// Check to see if the port is one we're already using.
|
|
244
|
+
// Check to see if the port is one we're already using. For specific port requests, return failure and let the caller retry with a fresh port pair. For random
|
|
245
|
+
// port requests, loop and let the OS assign a different one.
|
|
242
246
|
if (this.portsInUse.has(assignedPort)) {
|
|
247
|
+
if (port) {
|
|
248
|
+
return -1;
|
|
249
|
+
}
|
|
243
250
|
continue;
|
|
244
251
|
}
|
|
245
252
|
// Now let's mark the port in use.
|
package/dist/ffmpeg/rtp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtp.js","sourceRoot":"","sources":["../../src/ffmpeg/rtp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rtp.js","sourceRoot":"","sources":["../../src/ffmpeg/rtp.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,5 @@ export declare const HOMEKIT_STREAMING_HEADROOM = 64;
|
|
|
3
3
|
export declare const HKSV_FRAGMENT_LENGTH = 4000;
|
|
4
4
|
export declare const HKSV_IDR_INTERVAL = 4;
|
|
5
5
|
export declare const HKSV_TIMEOUT = 4500;
|
|
6
|
+
export declare const FFMPEG_INPUT_TIMEOUT = 5000;
|
|
6
7
|
export declare const RPI_GPU_MINIMUM = 128;
|
package/dist/ffmpeg/settings.js
CHANGED
|
@@ -12,6 +12,9 @@ export const HKSV_FRAGMENT_LENGTH = 4000;
|
|
|
12
12
|
export const HKSV_IDR_INTERVAL = 4;
|
|
13
13
|
// HomeKit Secure Video communication timeout threshold, in milliseconds. HKSV has a strict 5 second threshold for communication, so we set this a little below that.
|
|
14
14
|
export const HKSV_TIMEOUT = 4500;
|
|
15
|
+
// FFmpeg's default input timeout, in milliseconds. FFmpeg terminates input streams that receive no data for this duration. The SIGKILL failsafe in process.ts and the
|
|
16
|
+
// stream health monitor in stream.ts are both coordinated with this value.
|
|
17
|
+
export const FFMPEG_INPUT_TIMEOUT = 5000;
|
|
15
18
|
// Minimum required GPU memory on a Raspberry Pi to enable hardware acceleration.
|
|
16
19
|
export const RPI_GPU_MINIMUM = 128;
|
|
17
20
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/ffmpeg/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,+IAA+I;AAC/I,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qKAAqK;AACrK,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/ffmpeg/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,+IAA+I;AAC/I,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qKAAqK;AACrK,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,sKAAsK;AACtK,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
|
package/dist/ffmpeg/stream.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* ffmpeg/stream.ts: Provide FFmpeg process control to support HomeKit livestreaming.
|
|
4
4
|
*/
|
|
5
|
+
import { FFMPEG_INPUT_TIMEOUT } from "./settings.js";
|
|
5
6
|
import { FfmpegProcess } from "./process.js";
|
|
6
7
|
import { createSocket } from "node:dgram";
|
|
7
8
|
/**
|
|
@@ -105,7 +106,8 @@ export class FfmpegStreamingProcess extends FfmpegProcess {
|
|
|
105
106
|
createSocket(portInfo) {
|
|
106
107
|
let errorListener;
|
|
107
108
|
let messageListener;
|
|
108
|
-
const
|
|
109
|
+
const isIPv6 = portInfo.addressVersion === "ipv6";
|
|
110
|
+
const socket = createSocket(isIPv6 ? "udp6" : "udp4");
|
|
109
111
|
// Cleanup after ourselves when the socket closes.
|
|
110
112
|
socket.once("close", () => {
|
|
111
113
|
if (this.streamTimeout) {
|
|
@@ -130,10 +132,10 @@ export class FfmpegStreamingProcess extends FfmpegProcess {
|
|
|
130
132
|
this.log.debug("Video stream appears to be inactive for 5 seconds. Stopping stream.");
|
|
131
133
|
this.delegate.controller.forceStopStreamingSession(this.sessionId);
|
|
132
134
|
this.delegate.stopStream?.(this.sessionId);
|
|
133
|
-
},
|
|
135
|
+
}, FFMPEG_INPUT_TIMEOUT);
|
|
134
136
|
});
|
|
135
137
|
// Bind to the port we're opening.
|
|
136
|
-
socket.bind(portInfo.port,
|
|
138
|
+
socket.bind(portInfo.port, isIPv6 ? "::1" : "127.0.0.1");
|
|
137
139
|
}
|
|
138
140
|
/**
|
|
139
141
|
* Returns the underlying FFmpeg child process, or null if the process is not running.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ffmpeg/stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ffmpeg/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|
package/dist/mqttclient.js
CHANGED
|
@@ -257,7 +257,7 @@ export class MqttClient {
|
|
|
257
257
|
log.info("MQTT: set message received for %s: %s.", type, value);
|
|
258
258
|
}
|
|
259
259
|
catch (error) {
|
|
260
|
-
log.error("MQTT: error setting
|
|
260
|
+
log.error("MQTT: error setting %s to %s: %s.", type, value, (error instanceof Error ? error.message : String(error)).replace(/\.$/, ""));
|
|
261
261
|
}
|
|
262
262
|
});
|
|
263
263
|
}
|
package/dist/mqttclient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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"}
|