@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.35 → 5.0.0-beta.37
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/CONTRIBUTING.md +9 -17
- package/config.schema.json +6 -0
- package/dist/account/ownership.js +16 -16
- package/dist/account/ownership.js.map +1 -1
- package/dist/account/persistence.js +24 -74
- package/dist/account/persistence.js.map +1 -1
- package/dist/account/temporary-authentication.js +2 -2
- package/dist/account/temporary-authentication.js.map +1 -1
- package/dist/configuration.js +18 -25
- package/dist/configuration.js.map +1 -1
- package/dist/device/member-evidence.js +1 -1
- package/dist/device/member-evidence.js.map +1 -1
- package/dist/device/member-trust.js +14 -32
- package/dist/device/member-trust.js.map +1 -1
- package/dist/device/snapshot.js +5 -17
- package/dist/device/snapshot.js.map +1 -1
- package/dist/diagnostics.js +268 -308
- package/dist/diagnostics.js.map +1 -1
- package/dist/homekit/adapter.js +4 -1
- package/dist/homekit/adapter.js.map +1 -1
- package/dist/homekit/adapters/battery.js +3 -3
- package/dist/homekit/adapters/battery.js.map +1 -1
- package/dist/homekit/adapters/camera-controls.js +15 -37
- package/dist/homekit/adapters/camera-controls.js.map +1 -1
- package/dist/homekit/adapters/camera-streaming.js +9 -19
- package/dist/homekit/adapters/camera-streaming.js.map +1 -1
- package/dist/homekit/adapters/contact.js +5 -5
- package/dist/homekit/adapters/contact.js.map +1 -1
- package/dist/homekit/adapters/doorbell.js +3 -15
- package/dist/homekit/adapters/doorbell.js.map +1 -1
- package/dist/homekit/adapters/lock.js +15 -214
- package/dist/homekit/adapters/lock.js.map +1 -1
- package/dist/homekit/adapters/motion.js +2 -2
- package/dist/homekit/adapters/motion.js.map +1 -1
- package/dist/homekit/adapters/package-sensor.js +2 -2
- package/dist/homekit/adapters/package-sensor.js.map +1 -1
- package/dist/homekit/adapters/security-system.js +11 -211
- package/dist/homekit/adapters/security-system.js.map +1 -1
- package/dist/homekit/adapters/siren.js +5 -33
- package/dist/homekit/adapters/siren.js.map +1 -1
- package/dist/homekit/adapters/smart-light.js +19 -217
- package/dist/homekit/adapters/smart-light.js.map +1 -1
- package/dist/homekit/coverage-matrix.js +8 -65
- package/dist/homekit/coverage-matrix.js.map +1 -1
- package/dist/homekit/device-control.js +249 -13
- package/dist/homekit/device-control.js.map +1 -1
- package/dist/homekit/reconciler.js +5 -5
- package/dist/homekit/reconciler.js.map +1 -1
- package/dist/media/last-successful-image.js +3 -20
- package/dist/media/last-successful-image.js.map +1 -1
- package/dist/media/live-preview.js +163 -42
- package/dist/media/live-preview.js.map +1 -1
- package/dist/media/live-stream.js +126 -72
- package/dist/media/live-stream.js.map +1 -1
- package/dist/media/recording.js +37 -120
- package/dist/media/recording.js.map +1 -1
- package/dist/media/snapshot.js +1 -9
- package/dist/media/snapshot.js.map +1 -1
- package/dist/media/station-live-sessions.js +0 -15
- package/dist/media/station-live-sessions.js.map +1 -1
- package/dist/platform.js +10 -10
- package/dist/platform.js.map +1 -1
- package/dist/runtime/channel.js +91 -69
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/owner.js +6 -6
- package/dist/runtime/owner.js.map +1 -1
- package/dist/runtime/sdk-client.js +3 -14
- package/dist/runtime/sdk-client.js.map +1 -1
- package/dist/runtime/tracker.js +8 -38
- package/dist/runtime/tracker.js.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/ui/runtime-channel-client.js +145 -282
- package/dist/ui/runtime-channel-client.js.map +1 -1
- package/dist/ui/server.js +39 -53
- package/dist/ui/server.js.map +1 -1
- package/homebridge-ui/public/app.css +150 -78
- package/homebridge-ui/public/i18n/en.json +15 -2
- package/homebridge-ui/public/i18n/fr.json +15 -2
- package/homebridge-ui/public/index.html +59 -10
- package/homebridge-ui/public/js/app.js +206 -42
- package/homebridge-ui/public/js/dashboard.js +4 -19
- package/i18n/runtime/en.json +1 -0
- package/package.json +3 -7
- package/homebridge-ui/public/js/legacy-settings.js +0 -37
- package/homebridge-ui/public/js/profile-wizard.js +0 -31
- package/homebridge-ui/public/js/setup-wizard.js +0 -52
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { LiveStreamStartError, StationKeyUnavailableError, StationUnreachableError } from '@mega-yfue/eufy-sdk';
|
|
2
2
|
import { createSocket } from 'node:dgram';
|
|
3
3
|
import { execFile, spawn } from 'node:child_process';
|
|
4
|
+
import { promisify } from 'node:util';
|
|
4
5
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
5
6
|
/** How long a deliberately stopped adaptation process is given to exit before it is killed. */
|
|
6
|
-
|
|
7
|
+
const PROCESS_STOP_GRACE_MS = 2_000;
|
|
8
|
+
/** Closes an adaptation process's input and terminates it, killing it if it has not exited within the grace. */
|
|
9
|
+
export function stopProcess(process) {
|
|
10
|
+
process.stdin?.destroy();
|
|
11
|
+
process.kill('SIGTERM');
|
|
12
|
+
const killDeadline = setTimeout(() => process.kill('SIGKILL'), PROCESS_STOP_GRACE_MS);
|
|
13
|
+
killDeadline.unref?.();
|
|
14
|
+
process.on('exit', () => clearTimeout(killDeadline));
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Whether an adaptation opened for `running` can code what the source announced as `announced`.
|
|
9
18
|
*
|
|
@@ -76,17 +85,30 @@ const SOURCE_ACQUISITION_TIMEOUT = Symbol('source-acquisition-timeout');
|
|
|
76
85
|
* The SDK stages a start that produced no keyframe by what the source delivered, and a start that carried
|
|
77
86
|
* audio and never a single video frame is the one signature worth naming apart: measured on a real camera
|
|
78
87
|
* that had been switched off, the source accepted the start, delivered audio for the whole warm-up window,
|
|
79
|
-
* and reported `audio-only`.
|
|
80
|
-
*
|
|
88
|
+
* and reported `audio-only`. Any other warm-up that ran out of time is `source-warm-timeout`: the camera answered
|
|
89
|
+
* and the transport worked, it just sent no usable picture. Everything else is a source error, because nothing
|
|
90
|
+
* else distinguishes it from a transport that failed.
|
|
91
|
+
*/
|
|
92
|
+
function liveSourceFailure(error) {
|
|
93
|
+
if (!(error instanceof LiveStreamStartError)) {
|
|
94
|
+
return sourceFailure(error);
|
|
95
|
+
}
|
|
96
|
+
if (error.stage === 'audio-only') {
|
|
97
|
+
return 'source-audio-only';
|
|
98
|
+
}
|
|
99
|
+
return error.reason === 'warm-timeout' ? 'source-warm-timeout' : sourceFailure(error);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Why a source stopped producing, as this domain's bounded vocabulary.
|
|
103
|
+
*
|
|
104
|
+
* A station names its own failures apart from the camera's: every camera behind a base that did not connect
|
|
105
|
+
* fails together, and a sealed start the station gave no key for does not resolve by retrying.
|
|
81
106
|
*/
|
|
82
|
-
function sourceFailure(error) {
|
|
107
|
+
export function sourceFailure(error) {
|
|
83
108
|
if (error instanceof StationUnreachableError) {
|
|
84
109
|
return 'station-unreachable';
|
|
85
110
|
}
|
|
86
|
-
|
|
87
|
-
return 'station-key-unavailable';
|
|
88
|
-
}
|
|
89
|
-
return error instanceof LiveStreamStartError && error.stage === 'audio-only' ? 'source-audio-only' : 'source-error';
|
|
111
|
+
return error instanceof StationKeyUnavailableError ? 'station-key-unavailable' : 'source-error';
|
|
90
112
|
}
|
|
91
113
|
/** How many diagnostic lines one adaptation retains, which is what a failure is attributed from. */
|
|
92
114
|
const ADAPTATION_STDERR_TAIL_LINES = 8;
|
|
@@ -164,12 +186,14 @@ const FFMPEG_VERSION_BANNER_LENGTH = 120;
|
|
|
164
186
|
* to know whether this binary can be asked to encode: a missing file, a file that is not executable, one
|
|
165
187
|
* that is not FFmpeg, and one that hangs all mean the same thing to the media that would have used it.
|
|
166
188
|
*/
|
|
167
|
-
const probeFfmpegVersion = (path) =>
|
|
168
|
-
execFile(path, ['-hide_banner', '-version'], {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
});
|
|
189
|
+
const probeFfmpegVersion = async (path) => {
|
|
190
|
+
const { stdout } = await promisify(execFile)(path, ['-hide_banner', '-version'], {
|
|
191
|
+
timeout: FFMPEG_VERSION_PROBE_TIMEOUT_MS,
|
|
192
|
+
maxBuffer: 64 * 1024,
|
|
193
|
+
windowsHide: true,
|
|
194
|
+
}).catch(() => ({ stdout: '' }));
|
|
195
|
+
return stdout.split(/\r?\n/, 1)[0]?.trim().slice(0, FFMPEG_VERSION_BANNER_LENGTH) || undefined;
|
|
196
|
+
};
|
|
173
197
|
/**
|
|
174
198
|
* Resolves the complete identity of one adaptation binary, without opening any media.
|
|
175
199
|
*
|
|
@@ -180,6 +204,30 @@ export async function resolveFfmpegIdentity(path, source, probe = probeFfmpegVer
|
|
|
180
204
|
const version = await probe(path).catch(() => undefined);
|
|
181
205
|
return { path, source, ...(version === undefined ? {} : { version }) };
|
|
182
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Reports what one adaptation process did to `diagnostics`, whether or not the session it belonged to fails for it.
|
|
209
|
+
*
|
|
210
|
+
* An audio adaptation is restarted rather than failed and a return-audio one fails only talkback, so without a
|
|
211
|
+
* report of their own those two exit with no account anywhere of why they stopped. An `output` report carries
|
|
212
|
+
* nothing but the tail, so it is made only when the process actually wrote something: a silent process that
|
|
213
|
+
* ended as intended has nothing to attribute.
|
|
214
|
+
*/
|
|
215
|
+
export function adaptationReporter(diagnostics) {
|
|
216
|
+
return (role, event, stderr, code, signal, extras) => {
|
|
217
|
+
const tail = stderr.tail();
|
|
218
|
+
if (event === 'output' && tail.length === 0) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
diagnostics?.report({
|
|
222
|
+
role,
|
|
223
|
+
event,
|
|
224
|
+
...(typeof code === 'number' ? { code } : {}),
|
|
225
|
+
...(typeof signal === 'string' ? { signal } : {}),
|
|
226
|
+
...extras,
|
|
227
|
+
...(tail.length ? { stderr: tail } : {}),
|
|
228
|
+
});
|
|
229
|
+
};
|
|
230
|
+
}
|
|
183
231
|
/** The `libx264` constant rate factor a live adaptation codes at when the negotiated bit rate is ignored. */
|
|
184
232
|
const CONSTANT_QUALITY_CRF = 23;
|
|
185
233
|
/** `libx264`'s profile, level, speed and pixel format, shared by its rate-capped and constant-quality forms. */
|
|
@@ -424,9 +472,10 @@ async function qualification(executable, encoder, selection, run, deadline) {
|
|
|
424
472
|
field('pic_height_in_map_units_minus1') + 1 === Math.ceil(selection.height / 16),
|
|
425
473
|
],
|
|
426
474
|
['frames', (traced.stderr.match(/\bPacket: /g)?.length ?? 0) === selection.fps * QUALIFICATION_SECONDS],
|
|
427
|
-
['bytes', coded.stdout.length * 8 <= videoBudgetInsideCeiling(selection) * 1_000 * (QUALIFICATION_SECONDS + 1)],
|
|
428
475
|
];
|
|
429
|
-
|
|
476
|
+
const bound = videoBudgetInsideCeiling(selection) * 125 * (QUALIFICATION_SECONDS + 1);
|
|
477
|
+
return (checks.find(([, passed]) => !passed)?.[0] ??
|
|
478
|
+
(coded.stdout.length <= bound ? 'qualified' : ['bytes', coded.stdout.length, bound]));
|
|
430
479
|
}
|
|
431
480
|
/** The live video packet size an administrator can choose for networks that drop the negotiated one. */
|
|
432
481
|
export const SMALL_VIDEO_PACKET_SIZE = 1128;
|
|
@@ -479,11 +528,38 @@ export class FfmpegLiveMedia {
|
|
|
479
528
|
}
|
|
480
529
|
return outcomes;
|
|
481
530
|
}
|
|
482
|
-
/**
|
|
483
|
-
|
|
531
|
+
/**
|
|
532
|
+
* What a session codes `selection` from a `codec` source with: `copy` for a passed-through H.264 source,
|
|
533
|
+
* {@link CONSTANT_QUALITY} where the negotiated bit rate is ignored, else the first hardware encoder qualified
|
|
534
|
+
* for `selection`, or `libx264` where none is or `settings` turn hardware off. Without `settings`, this
|
|
535
|
+
* adapter's own.
|
|
536
|
+
*/
|
|
537
|
+
encoderFor(codec, selection, settings) {
|
|
538
|
+
if ((settings?.liveVideoPassthrough ?? this.copyVideo) && codec === 'h264')
|
|
539
|
+
return 'copy';
|
|
540
|
+
if (settings?.ignoreHomeBitRate ?? this.constantQuality)
|
|
541
|
+
return CONSTANT_QUALITY;
|
|
542
|
+
if (settings?.hardwareVideoEncoder === false)
|
|
543
|
+
return LIBX264;
|
|
484
544
|
const key = `${selection.profile}@${selection.level}`;
|
|
485
545
|
return HARDWARE_ENCODERS.find((encoder) => this.qualified.get(encoder.name)?.has(key)) ?? LIBX264;
|
|
486
546
|
}
|
|
547
|
+
/** The largest video packet a session sends under `settings`, or under this adapter's own without them. */
|
|
548
|
+
packetSize(settings) {
|
|
549
|
+
if (!settings)
|
|
550
|
+
return this.maxVideoPacketSize;
|
|
551
|
+
return settings.smallVideoPackets ? SMALL_VIDEO_PACKET_SIZE : Number.POSITIVE_INFINITY;
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* The encoder and the argument list a session would code `selection` from a `codec` source with, its video
|
|
555
|
+
* written to `output` instead of RTP: every argument before `output` is the session's own, or that of a session
|
|
556
|
+
* of an adapter configured with `settings`.
|
|
557
|
+
*/
|
|
558
|
+
videoAdaptation(codec, selection, output, settings) {
|
|
559
|
+
const video = { ...selection, mtu: Math.min(selection.mtu, this.packetSize(settings)) };
|
|
560
|
+
const encoder = this.encoderFor(codec, video, settings);
|
|
561
|
+
return { encoder: encoder === 'copy' ? encoder : encoder.name, args: videoArguments(codec, video, encoder, output) };
|
|
562
|
+
}
|
|
487
563
|
/**
|
|
488
564
|
* Reserves the negotiated output ports so `SetupEndpoints` can be answered with them, and returns a
|
|
489
565
|
* session that holds nothing else: no SDK handle, adaptation process, or device session exists until
|
|
@@ -493,9 +569,7 @@ export class FfmpegLiveMedia {
|
|
|
493
569
|
async prepare(transport) {
|
|
494
570
|
const videoPort = await this.reservePort(transport.addressVersion);
|
|
495
571
|
const targetAddress = transport.addressVersion === 'ipv6' ? `[${transport.targetAddress}]` : transport.targetAddress;
|
|
496
|
-
const maxVideoPacketSize = this.
|
|
497
|
-
const copyVideo = this.copyVideo;
|
|
498
|
-
const constantQuality = this.constantQuality;
|
|
572
|
+
const maxVideoPacketSize = this.packetSize(transport.liveVideoSettings);
|
|
499
573
|
let audioPort;
|
|
500
574
|
try {
|
|
501
575
|
audioPort = transport.audio ? await this.reservePort(transport.addressVersion) : undefined;
|
|
@@ -535,6 +609,8 @@ export class FfmpegLiveMedia {
|
|
|
535
609
|
/** How many adaptation replacements the source's own changes have asked this session for. */
|
|
536
610
|
let sourceInputReplacements = 0;
|
|
537
611
|
let audioInputCodec;
|
|
612
|
+
/** An audio adaptation that exited before any output cannot code this source, so none is started again. */
|
|
613
|
+
let audioFailed = false;
|
|
538
614
|
let rtcpDeadline;
|
|
539
615
|
let initialRtcpGrace;
|
|
540
616
|
let videoStartBackstop;
|
|
@@ -587,38 +663,14 @@ export class FfmpegLiveMedia {
|
|
|
587
663
|
}
|
|
588
664
|
sink.once('drain', () => releaseAdaptation(sink));
|
|
589
665
|
};
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
*
|
|
593
|
-
* An audio adaptation is restarted rather than failed and a return-audio one fails only talkback, so
|
|
594
|
-
* without a report of their own those two exit with no account anywhere of why they stopped. An `output`
|
|
595
|
-
* report carries nothing but the tail, so it is made only when the process actually wrote something:
|
|
596
|
-
* a silent process that ended as intended has nothing to attribute.
|
|
597
|
-
*/
|
|
598
|
-
const reportAdaptation = (role, event, stderr, code, signal) => {
|
|
599
|
-
const tail = stderr.tail();
|
|
600
|
-
if (event === 'output' && tail.length === 0) {
|
|
601
|
-
return;
|
|
602
|
-
}
|
|
603
|
-
adaptationDiagnostics?.report({
|
|
604
|
-
role,
|
|
605
|
-
event,
|
|
606
|
-
...(typeof code === 'number' ? { code } : {}),
|
|
607
|
-
...(typeof signal === 'string' ? { signal } : {}),
|
|
608
|
-
...(tail.length ? { stderr: tail } : {}),
|
|
609
|
-
});
|
|
610
|
-
};
|
|
611
|
-
const stopProcess = (process) => {
|
|
666
|
+
const reportAdaptation = adaptationReporter(adaptationDiagnostics);
|
|
667
|
+
const stopAdaptation = (process) => {
|
|
612
668
|
if (!process) {
|
|
613
669
|
return;
|
|
614
670
|
}
|
|
615
671
|
stoppingProcesses.add(process);
|
|
616
|
-
process
|
|
672
|
+
stopProcess(process);
|
|
617
673
|
releaseAdaptation(process.stdin);
|
|
618
|
-
process.kill('SIGTERM');
|
|
619
|
-
const killDeadline = setTimeout(() => process.kill('SIGKILL'), PROCESS_STOP_GRACE_MS);
|
|
620
|
-
killDeadline.unref?.();
|
|
621
|
-
process.on('exit', () => clearTimeout(killDeadline));
|
|
622
674
|
};
|
|
623
675
|
/** Stop a caller-owned SDK handle without allowing synchronous or asynchronous faults to abort cleanup. */
|
|
624
676
|
const stopTalkbackHandle = (handle) => {
|
|
@@ -632,7 +684,7 @@ export class FfmpegLiveMedia {
|
|
|
632
684
|
return;
|
|
633
685
|
}
|
|
634
686
|
talkbackEnded = true;
|
|
635
|
-
|
|
687
|
+
stopAdaptation(returnAudioProcess);
|
|
636
688
|
returnAudioProcess?.stdout.destroy();
|
|
637
689
|
returnAudioProcess?.eld.destroy();
|
|
638
690
|
returnAudioProcess = undefined;
|
|
@@ -661,8 +713,8 @@ export class FfmpegLiveMedia {
|
|
|
661
713
|
clearTimeout(initialRtcpGrace);
|
|
662
714
|
clearTimeout(videoStartBackstop);
|
|
663
715
|
stopTalkback();
|
|
664
|
-
|
|
665
|
-
|
|
716
|
+
stopAdaptation(videoProcess);
|
|
717
|
+
stopAdaptation(audioProcess);
|
|
666
718
|
source?.stop();
|
|
667
719
|
if (negotiated) {
|
|
668
720
|
transport.onSessionReleased?.(videoFailed ? 'failed' : 'requested', {
|
|
@@ -778,18 +830,15 @@ export class FfmpegLiveMedia {
|
|
|
778
830
|
return;
|
|
779
831
|
}
|
|
780
832
|
videoCause = 'source-configuration';
|
|
781
|
-
|
|
833
|
+
stopAdaptation(videoProcess);
|
|
782
834
|
videoProcess = undefined;
|
|
783
835
|
}
|
|
784
836
|
if (!videoProcess) {
|
|
785
837
|
adaptationConfig = videoConfig;
|
|
786
838
|
videoSequence = (videoSequence + OUTPUT_SEQUENCE_STEP) & 0xffff;
|
|
787
|
-
const
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
? CONSTANT_QUALITY
|
|
791
|
-
: this.encoderFor(negotiated.video);
|
|
792
|
-
const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence, encoder));
|
|
839
|
+
const { video } = negotiated;
|
|
840
|
+
const encoder = this.encoderFor(videoConfig.codec, video, transport.liveVideoSettings);
|
|
841
|
+
const child = this.createProcess(this.executable, videoArguments(videoConfig.codec, video, encoder, outputArguments(targetAddress, transport.video, video.payloadType, video.ssrc, video.mtu, videoSequence)));
|
|
793
842
|
videoProcess = child;
|
|
794
843
|
const encoderName = encoder === 'copy' ? encoder : encoder.name;
|
|
795
844
|
adaptationDiagnostics?.report({
|
|
@@ -798,6 +847,8 @@ export class FfmpegLiveMedia {
|
|
|
798
847
|
cause: videoCause,
|
|
799
848
|
encoder: encoderName,
|
|
800
849
|
source: videoConfig.codec,
|
|
850
|
+
sourceWidth: videoConfig.width,
|
|
851
|
+
sourceHeight: videoConfig.height,
|
|
801
852
|
});
|
|
802
853
|
const stderr = new AdaptationStderr();
|
|
803
854
|
let producedOutput = false;
|
|
@@ -835,7 +886,7 @@ export class FfmpegLiveMedia {
|
|
|
835
886
|
writeToAdaptation(videoProcess.stdin, frame.data);
|
|
836
887
|
};
|
|
837
888
|
const writeAudio = (frame) => {
|
|
838
|
-
if (stopped || !negotiated?.audio || !transport.audio || !audioPort) {
|
|
889
|
+
if (stopped || audioFailed || !negotiated?.audio || !transport.audio || !audioPort) {
|
|
839
890
|
return;
|
|
840
891
|
}
|
|
841
892
|
if (!audioProcess) {
|
|
@@ -869,27 +920,29 @@ export class FfmpegLiveMedia {
|
|
|
869
920
|
if (!stoppingProcesses.has(child) && audioProcess === child) {
|
|
870
921
|
reportAdaptation('live-audio', 'input-failed', stderr);
|
|
871
922
|
}
|
|
872
|
-
|
|
923
|
+
stopAdaptation(child);
|
|
873
924
|
clearChild();
|
|
874
925
|
});
|
|
875
926
|
child.on('error', () => {
|
|
876
927
|
if (!stoppingProcesses.has(child)) {
|
|
877
928
|
reportAdaptation('live-audio', producedOutput ? 'exited-while-streaming' : 'spawn-failed', stderr);
|
|
878
929
|
}
|
|
879
|
-
|
|
930
|
+
stopAdaptation(child);
|
|
880
931
|
clearChild();
|
|
881
932
|
});
|
|
882
933
|
child.on('exit', (code, signal) => {
|
|
883
|
-
|
|
934
|
+
const event = stopped || stoppingProcesses.has(child)
|
|
884
935
|
? 'output'
|
|
885
936
|
: producedOutput
|
|
886
937
|
? 'exited-while-streaming'
|
|
887
|
-
: 'exited-before-output'
|
|
938
|
+
: 'exited-before-output';
|
|
939
|
+
audioFailed ||= event === 'exited-before-output';
|
|
940
|
+
reportAdaptation('live-audio', event, stderr, code, signal);
|
|
888
941
|
clearChild();
|
|
889
942
|
});
|
|
890
943
|
}
|
|
891
944
|
if (audioInputCodec !== frame.codec) {
|
|
892
|
-
|
|
945
|
+
stopAdaptation(audioProcess);
|
|
893
946
|
audioProcess = undefined;
|
|
894
947
|
audioInputCodec = undefined;
|
|
895
948
|
writeAudio(frame);
|
|
@@ -1060,9 +1113,11 @@ export class FfmpegLiveMedia {
|
|
|
1060
1113
|
return;
|
|
1061
1114
|
}
|
|
1062
1115
|
reportAdaptation('return-audio', producedOutput ? 'exited-while-streaming' : 'exited-before-output', stderr, code, signal);
|
|
1063
|
-
failTalkback(stderr.tail().some((line) => line.includes('Error during demuxing: Operation timed out'))
|
|
1064
|
-
? '
|
|
1065
|
-
:
|
|
1116
|
+
failTalkback(!stderr.tail().some((line) => line.includes('Error during demuxing: Operation timed out'))
|
|
1117
|
+
? 'adaptation-failed'
|
|
1118
|
+
: receivedVideoKeyframe
|
|
1119
|
+
? 'no-controller-audio'
|
|
1120
|
+
: 'source-unavailable');
|
|
1066
1121
|
});
|
|
1067
1122
|
child.stdin.end(returnAudioSdp(audioPort.port, selection, transport.audio, transport.addressVersion));
|
|
1068
1123
|
await delay(RETURN_AUDIO_BIND_GRACE_MS);
|
|
@@ -1101,7 +1156,7 @@ export class FfmpegLiveMedia {
|
|
|
1101
1156
|
}
|
|
1102
1157
|
catch (error) {
|
|
1103
1158
|
acquisition.abort(new Error('live media source acquisition was cancelled'));
|
|
1104
|
-
failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' :
|
|
1159
|
+
failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : liveSourceFailure(error), error);
|
|
1105
1160
|
throw error === SOURCE_ACQUISITION_TIMEOUT ? new Error('live media source acquisition timed out') : error;
|
|
1106
1161
|
}
|
|
1107
1162
|
finally {
|
|
@@ -1122,7 +1177,7 @@ export class FfmpegLiveMedia {
|
|
|
1122
1177
|
notice.extend();
|
|
1123
1178
|
}
|
|
1124
1179
|
});
|
|
1125
|
-
source.on('error', (error) => failVideo(
|
|
1180
|
+
source.on('error', (error) => failVideo(liveSourceFailure(error), error));
|
|
1126
1181
|
source.on('stop', () => failVideo('source-stopped'));
|
|
1127
1182
|
await returnAudioReady;
|
|
1128
1183
|
},
|
|
@@ -1240,12 +1295,11 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize, s
|
|
|
1240
1295
|
* honoured: the output spends what the picture needs. A controller asks 299 kbps for 720p and does not raise it
|
|
1241
1296
|
* during a session, which the ceiling above codes as a blurred, then blocky, picture.
|
|
1242
1297
|
*/
|
|
1243
|
-
function videoArguments(
|
|
1244
|
-
const output = outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence);
|
|
1298
|
+
function videoArguments(codec, selection, encoder, output) {
|
|
1245
1299
|
if (encoder === 'copy') {
|
|
1246
1300
|
return [...commonArguments('h264'), '-an', '-c:v', 'copy', ...output];
|
|
1247
1301
|
}
|
|
1248
|
-
return [...commonArguments(
|
|
1302
|
+
return [...commonArguments(codec === 'h265' ? 'hevc' : codec), ...encodeArguments(encoder, selection), ...output];
|
|
1249
1303
|
}
|
|
1250
1304
|
/** What one encoder is given to code `selection`, between its input and its output, in a session and in qualification alike. */
|
|
1251
1305
|
function encodeArguments(encoder, selection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
|