Skip to content

Commit

Permalink
Add video options
Browse files Browse the repository at this point in the history
  • Loading branch information
kopiro committed Oct 3, 2024
1 parent 4799edd commit ae5cac9
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 4 deletions.
35 changes: 35 additions & 0 deletions config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,41 @@
"type": "string",
"description": "Name of the LED toggle",
"placeholder": "LED"
},
"videoMaxWidth": {
"title": "Video Max Width",
"type": "integer",
"description": "Maximum width of the video stream",
"placeholder": 1280
},
"videoMaxHeight": {
"title": "Video Max Height",
"type": "integer",
"description": "Maximum height of the video stream",
"placeholder": 720
},
"videoMaxFPS": {
"title": "Video Max FPS",
"type": "integer",
"description": "Maximum frames per second of the video stream",
"placeholder": 30
},
"videoMaxBitrate": {
"title": "Video Max Bitrate",
"type": "integer",
"description": "Maximum bitrate of the video stream",
"placeholder": 300
},
"videoPacketSize": {
"title": "Video Packet Size",
"type": "integer",
"description": "Size of the video packets",
"placeholder": 1316
},
"videoForceMax": {
"title": "Force Max Video",
"type": "boolean",
"description": "Force the video stream to use the maximum values"
}
}
}
Expand Down
17 changes: 13 additions & 4 deletions src/cameraAccessory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ export type CameraConfig = {
disableMotionSensorAccessory?: boolean;
lowQuality?: boolean;

videoMaxWidth?: number;
videoMaxHeight?: number;
videoMaxFPS?: number;
videoForceMax?: boolean;
videoMaxBirate?: number;
videoPacketSize?: number;

videoConfig?: VideoConfig;

eyesToggleAccessoryName?: string;
Expand Down Expand Up @@ -168,10 +175,12 @@ export class CameraAccessory {
audio: true,
videoFilter: "none",
vcodec: "copy",
maxWidth: this.config.lowQuality ? 640 : 1920,
maxHeight: this.config.lowQuality ? 480 : 1080,
maxFPS: 15,
forceMax: true,
maxWidth: this.config.videoMaxWidth,
maxHeight: this.config.videoMaxHeight,
maxFPS: this.config.videoMaxFPS,
maxBitrate: this.config.videoMaxBirate,
packetSize: this.config.videoPacketSize,
forceMax: this.config.videoForceMax,
...(this.config.videoConfig || {}),
};
return config;
Expand Down
18 changes: 18 additions & 0 deletions src/types/tapo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@ export type TAPOCameraGetRequest =
name: "config";
};
};
}
| {
method: "getWhitelampStatus";
params: {
image: {
get_wtl_status: "null";
};
};
};

export type TAPOCameraSetRequest =
Expand Down Expand Up @@ -102,6 +110,16 @@ export type TAPOCameraSetRequest =
};
};
};
}
| {
method: "setWhitelampConfig";
params: {
image: {
switch: {
wtl_intensity_level: string;
};
};
};
};

export type TAPOCameraUnencryptedRequest = {
Expand Down

0 comments on commit ae5cac9

Please sign in to comment.