@camera.ui/camera-ui-ring 0.0.37 → 0.0.38
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/camera.d.ts +9 -8
- package/dist/camera.js +46 -84
- package/dist/camera.js.map +1 -1
- package/package.json +5 -5
package/dist/camera.d.ts
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import { StreamDelegate } from '@camera.ui/rtsp';
|
|
2
|
+
import type { SdpConfig } from '@camera.ui/rtsp';
|
|
3
3
|
import type { CameraDelegate, CameraDevice, PluginLogger } from '@camera.ui/types';
|
|
4
4
|
import type { RingCamera } from 'ring-client-api';
|
|
5
|
-
import type {
|
|
5
|
+
import type { RtpPacket } from 'werift';
|
|
6
6
|
import type Ring from './index.js';
|
|
7
7
|
import type { RingHome } from './types.js';
|
|
8
|
-
export declare class Camera extends
|
|
8
|
+
export declare class Camera extends StreamDelegate implements CameraDelegate {
|
|
9
9
|
cameraDevice: CameraDevice;
|
|
10
10
|
private platform;
|
|
11
11
|
private home;
|
|
12
12
|
private ringCamera;
|
|
13
13
|
private logger;
|
|
14
|
-
private
|
|
14
|
+
private session?;
|
|
15
15
|
private rtspServer;
|
|
16
16
|
constructor(platform: Ring, home: RingHome, ringCamera: RingCamera, logger: PluginLogger);
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
prepareStream(): Promise<SdpConfig>;
|
|
18
|
+
startStream(sendRtp: (type: 'audio' | 'video', rtp: RtpPacket | Buffer) => void): Promise<void>;
|
|
19
|
+
stopStream(): Promise<void>;
|
|
20
|
+
onTalkback(rtp: Buffer): void;
|
|
19
21
|
createCameraDevice(): Promise<void>;
|
|
20
22
|
snapshot(): Promise<ArrayBuffer | undefined>;
|
|
21
23
|
reboot(): Promise<void>;
|
|
22
24
|
private createRTSPServer;
|
|
23
|
-
private createPeerCoonection;
|
|
24
25
|
private checkStates;
|
|
25
26
|
}
|
package/dist/camera.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { RTSPSingleServer,
|
|
2
|
-
import { MediaStreamTrack, RTCPeerConnection, RTCRtpCodecParameters, RTCSessionDescription } from 'werift';
|
|
1
|
+
import { RTSPSingleServer, StreamDelegate } from '@camera.ui/rtsp';
|
|
3
2
|
import { CustomPeerConnection } from './peer.js';
|
|
4
|
-
export class Camera extends
|
|
3
|
+
export class Camera extends StreamDelegate {
|
|
5
4
|
cameraDevice;
|
|
6
5
|
platform;
|
|
7
6
|
home;
|
|
8
7
|
ringCamera;
|
|
9
8
|
logger;
|
|
10
|
-
|
|
9
|
+
session;
|
|
11
10
|
rtspServer;
|
|
12
11
|
constructor(platform, home, ringCamera, logger) {
|
|
13
12
|
super();
|
|
@@ -16,72 +15,59 @@ export class Camera extends WebRTCReceiver {
|
|
|
16
15
|
this.ringCamera = ringCamera;
|
|
17
16
|
this.logger = logger;
|
|
18
17
|
}
|
|
19
|
-
async
|
|
18
|
+
async prepareStream() {
|
|
20
19
|
this.logger.debug(`${this.cameraDevice.name}: Preparing stream...`);
|
|
21
|
-
let timeout;
|
|
22
20
|
const cleanup = () => {
|
|
23
21
|
clearTimeout(timeout);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
pc.close();
|
|
31
|
-
this.logger.debug(`${this.cameraDevice.name}: Stream stopped!`);
|
|
22
|
+
this.session?.liveCall.stop();
|
|
23
|
+
this.session?.customPeerConnection.onAudioRtcp.unsubscribe();
|
|
24
|
+
this.session?.customPeerConnection.onVideoRtcp.unsubscribe();
|
|
25
|
+
this.session?.customPeerConnection.close();
|
|
26
|
+
this.session = undefined;
|
|
27
|
+
this.logger.log(`${this.cameraDevice.name}: Stream stopped!`);
|
|
32
28
|
};
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
const timeout = setTimeout(() => {
|
|
30
|
+
this.logger.warn(`${this.cameraDevice.name}: Connection timeout!`);
|
|
31
|
+
cleanup();
|
|
32
|
+
}, 10000);
|
|
33
|
+
const customPeerConnection = new CustomPeerConnection();
|
|
34
|
+
const liveCall = await this.ringCamera.startLiveCall({
|
|
35
|
+
createPeerConnection: () => customPeerConnection,
|
|
38
36
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
const call = await this.ringCamera.startLiveCall({
|
|
43
|
-
createPeerConnection: () => receiver,
|
|
44
|
-
});
|
|
45
|
-
if (!call.cameraSpeakerActivated) {
|
|
46
|
-
call.activateCameraSpeaker();
|
|
37
|
+
if (!liveCall.cameraSpeakerActivated) {
|
|
38
|
+
liveCall.activateCameraSpeaker();
|
|
47
39
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.events.emit('
|
|
40
|
+
liveCall.onCallEnded.subscribe(() => {
|
|
41
|
+
cleanup();
|
|
42
|
+
this.events.emit('close');
|
|
51
43
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (ev === 'disconnected' || ev === 'failed' || ev === 'closed') {
|
|
55
|
-
cleanup();
|
|
56
|
-
}
|
|
57
|
-
if (ev === 'connecting') {
|
|
58
|
-
timeout = setTimeout(() => {
|
|
59
|
-
this.logger.warn(`${this.cameraDevice.name}: Connection timeout!`);
|
|
60
|
-
cleanup();
|
|
61
|
-
}, 10000);
|
|
62
|
-
}
|
|
63
|
-
if (ev === 'connected') {
|
|
64
|
-
this.logger.log(`${this.cameraDevice.name}: Stream started!`);
|
|
44
|
+
customPeerConnection.onConnectionState.subscribe((state) => {
|
|
45
|
+
if (state === 'connected') {
|
|
65
46
|
clearTimeout(timeout);
|
|
47
|
+
this.logger.log(`${this.cameraDevice.name}: Stream started!`);
|
|
66
48
|
}
|
|
67
49
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
50
|
+
this.session = { liveCall, customPeerConnection };
|
|
51
|
+
const offer = await customPeerConnection.createOffer();
|
|
52
|
+
return { sdp: offer.sdp, splitTracks: true };
|
|
53
|
+
}
|
|
54
|
+
async startStream(sendRtp) {
|
|
55
|
+
if (!this.session) {
|
|
56
|
+
throw new Error('No session');
|
|
57
|
+
}
|
|
58
|
+
this.session.customPeerConnection.onAudioRtp.subscribe((rtp) => {
|
|
59
|
+
sendRtp('audio', rtp);
|
|
60
|
+
});
|
|
61
|
+
this.session.customPeerConnection.onVideoRtp.subscribe((rtp) => {
|
|
62
|
+
sendRtp('video', rtp);
|
|
74
63
|
});
|
|
75
|
-
pc.addTransceiver(videoTrack, { direction: 'sendonly' });
|
|
76
|
-
pc.addTransceiver(audioTrack, { direction: 'sendonly' });
|
|
77
|
-
const offer = new RTCSessionDescription(offerSdp, 'offer');
|
|
78
|
-
await pc.setRemoteDescription(offer);
|
|
79
|
-
const answer = await pc.createAnswer();
|
|
80
|
-
await pc.setLocalDescription(answer);
|
|
81
|
-
return answer.sdp;
|
|
82
64
|
}
|
|
83
|
-
async
|
|
84
|
-
|
|
65
|
+
async stopStream() {
|
|
66
|
+
this.logger.debug(`${this.cameraDevice.name}: Stopping stream...`);
|
|
67
|
+
this.session?.liveCall.stop();
|
|
68
|
+
}
|
|
69
|
+
onTalkback(rtp) {
|
|
70
|
+
this.session?.customPeerConnection.returnAudioTrack.writeRtp(rtp);
|
|
85
71
|
}
|
|
86
72
|
async createCameraDevice() {
|
|
87
73
|
await this.createRTSPServer();
|
|
@@ -133,7 +119,7 @@ export class Camera extends WebRTCReceiver {
|
|
|
133
119
|
async createRTSPServer() {
|
|
134
120
|
const stream = {
|
|
135
121
|
name: 'Ring',
|
|
136
|
-
|
|
122
|
+
delegate: this,
|
|
137
123
|
addBackchannel: true,
|
|
138
124
|
};
|
|
139
125
|
const rtspLogger = {
|
|
@@ -145,31 +131,7 @@ export class Camera extends WebRTCReceiver {
|
|
|
145
131
|
};
|
|
146
132
|
this.rtspServer = await RTSPSingleServer.initialize({ stream }, rtspLogger);
|
|
147
133
|
await this.rtspServer.listen();
|
|
148
|
-
|
|
149
|
-
createPeerCoonection() {
|
|
150
|
-
return new RTCPeerConnection({
|
|
151
|
-
codecs: {
|
|
152
|
-
video: [
|
|
153
|
-
new RTCRtpCodecParameters({
|
|
154
|
-
mimeType: 'video/H264',
|
|
155
|
-
clockRate: 90000,
|
|
156
|
-
payloadType: 96,
|
|
157
|
-
rtcpFeedback: [{ type: 'transport-cc' }, { type: 'ccm', parameter: 'fir' }, { type: 'nack' }, { type: 'nack', parameter: 'pli' }, { type: 'goog-remb' }],
|
|
158
|
-
parameters: 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f',
|
|
159
|
-
}),
|
|
160
|
-
],
|
|
161
|
-
audio: [
|
|
162
|
-
new RTCRtpCodecParameters({
|
|
163
|
-
mimeType: 'audio/opus',
|
|
164
|
-
clockRate: 48000,
|
|
165
|
-
payloadType: 101,
|
|
166
|
-
channels: 2,
|
|
167
|
-
parameters: 'minptime=10;useinbandfec=1',
|
|
168
|
-
}),
|
|
169
|
-
],
|
|
170
|
-
},
|
|
171
|
-
bundlePolicy: 'max-bundle',
|
|
172
|
-
});
|
|
134
|
+
// this.logger.log(this.ringCamera.name, 'RTSP URL:', this.rtspServer.streamUrl);
|
|
173
135
|
}
|
|
174
136
|
checkStates() {
|
|
175
137
|
if (this.ringCamera.hasInHomeDoorbell) {
|
package/dist/camera.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "Ring",
|
|
3
3
|
"name": "@camera.ui/camera-ui-ring",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.38",
|
|
5
5
|
"description": "camera.ui ring plugin",
|
|
6
6
|
"author": "seydx (https://github.com/seydx/camera.ui)",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@camera.ui/rtsp": "^0.0.
|
|
18
|
+
"@camera.ui/rtsp": "^0.0.34",
|
|
19
19
|
"ring-client-api": "^13.1.0",
|
|
20
20
|
"rxjs": "^7.8.1",
|
|
21
21
|
"werift": "^0.19.8",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@camera.ui/types": "^0.0.59",
|
|
26
26
|
"@rushstack/eslint-patch": "^1.10.4",
|
|
27
|
-
"@types/node": "^22.5.
|
|
27
|
+
"@types/node": "^22.5.2",
|
|
28
28
|
"@types/ws": "^8.5.12",
|
|
29
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
30
|
-
"@typescript-eslint/parser": "^8.
|
|
29
|
+
"@typescript-eslint/eslint-plugin": "^8.4.0",
|
|
30
|
+
"@typescript-eslint/parser": "^8.4.0",
|
|
31
31
|
"concurrently": "^8.2.2",
|
|
32
32
|
"eslint": "8.57.0",
|
|
33
33
|
"eslint-config-prettier": "^9.1.0",
|