reolink: switch to mainEncType marker

This commit is contained in:
Koushik Dutta
2024-06-28 11:12:01 -07:00
parent 028d601674
commit f2cd0218fd
3 changed files with 17 additions and 7 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/reolink",
"version": "0.0.77",
"version": "0.0.78",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@scrypted/reolink",
"version": "0.0.77",
"version": "0.0.78",
"license": "Apache",
"dependencies": {
"@scrypted/common": "file:../../common",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/reolink",
"version": "0.0.77",
"version": "0.0.78",
"description": "Reolink Plugin for Scrypted",
"author": "Scrypted",
"license": "Apache",

View File

@@ -521,12 +521,22 @@ class ReolinkCamera extends RtspSmartCamera implements Camera, DeviceProvider, R
];
// this property seems to be:
// 1: rtmp main, sub ext + rtsp main + sub
// 2: rtmp sub + rtsp main + sub
// 1 (Doorbell): rtmp main, sub, ext + rtsp main, sub
// 2 (Duo 2): rtmp sub + rtsp main.sub
// 4k cams seem to be 2.
// unsure if there are other values
const live = this.storageSettings.values.abilities?.value?.Ability?.abilityChn?.[0].live?.ver;
if (live === 2) {
// update: unfortunately this property is unusable on the E1 Pro.
// However, the mainEncType property seems like a reliable marker
// const live = this.storageSettings.values.abilities?.value?.Ability?.abilityChn?.[0].live?.ver;
// if (live === 2) {
// // remove the rtmp main and ext
// streams.splice(0, 2);
// }
const mainEncType = this.storageSettings.values.abilities?.value?.Ability?.abilityChn?.[0].mainEncType?.ver;
// 0 (Doorbell): rtmp main, sub, ext + rtsp main, sub
// 1 (Duo 2 + E1 Pro): rtmp sub + rtsp main, sub
if (mainEncType === 1) {
// remove the rtmp main and ext
streams.splice(0, 2);
}