Skip to content

Commit 031e494

Browse files
author
eduard256
committed
Merge develop into main for v1.0.7 release
2 parents 19e58db + de38958 commit 031e494

File tree

19 files changed

+2476
-1966
lines changed

19 files changed

+2476
-1966
lines changed

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.0.7] - 2025-11-23
9+
10+
### Fixed
11+
- Fixed channel numbering for Hikvision-style cameras (reported by @sergbond_com)
12+
- Removed invalid test data from Hikvision database
13+
- Fixed brand+model search matching in stream discovery
14+
15+
### Added
16+
- Universal `[CHANNEL+1]` placeholder support for flexible channel numbering
17+
- Support for both 0-based (channel=0 → 101) and 1-based (channel=1 → 101) channel selection
18+
- Added 6 high-priority Hikvision patterns to popular stream patterns database
19+
20+
### Changed
21+
- Updated 14 camera brands with universal channel patterns (Hikvision, Hiwatch, Annke, Swann, Abus, 7links, LevelOne, AlienDVR, Oswoo, AV102IP-40, Acvil, TBKVision, Deltaco, Night Owl)
22+
- Hikvision: replaced 10 hardcoded patterns with 6 universal patterns
23+
- Hiwatch: replaced 4 hardcoded patterns with 8 universal patterns (including ISAPI variants)
24+
- Universal patterns now tested first for faster discovery, hardcoded patterns kept as fallback
25+
- Improved stream discovery performance with intelligent pattern ordering
26+
27+
### Technical
28+
- Added support for `[CHANNEL+1]`, `[channel+1]`, `{CHANNEL+1}`, `{channel+1}` placeholders in URL builder
29+
- Modified 16 files: +2448 additions, -1954 deletions
30+
831
## [0.1.0] - 2025-11-06
932

1033
### Added

cmd/strix/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020

2121
const (
2222
// Version is the application version
23-
Version = "1.0.4"
23+
Version = "1.0.7"
2424

2525
// Banner is the application banner
2626
Banner = `

data/brands/7links.json

Lines changed: 64 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,42 @@
44
"last_updated": "2025-10-17",
55
"source": "ispyconnect.com",
66
"entries": [
7+
{
8+
"models": [
9+
"ALL"
10+
],
11+
"type": "FFMPEG",
12+
"protocol": "rtsp",
13+
"port": 8554,
14+
"url": "/Streaming/Channels/[CHANNEL+1]01"
15+
},
16+
{
17+
"models": [
18+
"ALL"
19+
],
20+
"type": "FFMPEG",
21+
"protocol": "rtsp",
22+
"port": 8554,
23+
"url": "/Streaming/Channels/[CHANNEL]01"
24+
},
25+
{
26+
"models": [
27+
"ALL"
28+
],
29+
"type": "FFMPEG",
30+
"protocol": "rtsp",
31+
"port": 8554,
32+
"url": "/Streaming/Channels/[CHANNEL+1]02"
33+
},
34+
{
35+
"models": [
36+
"ALL"
37+
],
38+
"type": "FFMPEG",
39+
"protocol": "rtsp",
40+
"port": 8554,
41+
"url": "/Streaming/Channels/[CHANNEL]02"
42+
},
743
{
844
"models": [
945
"3628-675",
@@ -313,15 +349,6 @@
313349
"port": 0,
314350
"url": ""
315351
},
316-
{
317-
"models": [
318-
"IPC-300"
319-
],
320-
"type": "FFMPEG",
321-
"protocol": "rtsp",
322-
"port": 8554,
323-
"url": "/Streaming/Channels/101"
324-
},
325352
{
326353
"models": [
327354
"IPC-340HD",
@@ -465,15 +492,6 @@
465492
"port": 0,
466493
"url": "snapshot.jpg"
467494
},
468-
{
469-
"models": [
470-
"IPC-740"
471-
],
472-
"type": "FFMPEG",
473-
"protocol": "rtsp",
474-
"port": 8554,
475-
"url": "/Streaming/Channels/102"
476-
},
477495
{
478496
"models": [
479497
"IP-CAM",
@@ -631,16 +649,6 @@
631649
"port": 80,
632650
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240"
633651
},
634-
{
635-
"models": [
636-
"PX3615",
637-
"SK7008-T1F1"
638-
],
639-
"type": "FFMPEG",
640-
"protocol": "rtsp",
641-
"port": 554,
642-
"url": "/Streaming/channels/401"
643-
},
644652
{
645653
"models": [
646654
"PX-3615-675"
@@ -722,6 +730,34 @@
722730
"protocol": "http",
723731
"port": 82,
724732
"url": "/cgi/mjpg/mjpg.cgi"
733+
},
734+
{
735+
"models": [
736+
"IPC-300"
737+
],
738+
"type": "FFMPEG",
739+
"protocol": "rtsp",
740+
"port": 8554,
741+
"url": "/Streaming/Channels/101"
742+
},
743+
{
744+
"models": [
745+
"IPC-740"
746+
],
747+
"type": "FFMPEG",
748+
"protocol": "rtsp",
749+
"port": 8554,
750+
"url": "/Streaming/Channels/102"
751+
},
752+
{
753+
"models": [
754+
"PX3615",
755+
"SK7008-T1F1"
756+
],
757+
"type": "FFMPEG",
758+
"protocol": "rtsp",
759+
"port": 554,
760+
"url": "/Streaming/channels/401"
725761
}
726762
]
727763
}

data/brands/abus.json

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,42 @@
44
"last_updated": "2025-10-17",
55
"source": "ispyconnect.com",
66
"entries": [
7+
{
8+
"models": [
9+
"ALL"
10+
],
11+
"type": "FFMPEG",
12+
"protocol": "rtsp",
13+
"port": 554,
14+
"url": "/Streaming/Channels/[CHANNEL+1]01"
15+
},
16+
{
17+
"models": [
18+
"ALL"
19+
],
20+
"type": "FFMPEG",
21+
"protocol": "rtsp",
22+
"port": 554,
23+
"url": "/Streaming/Channels/[CHANNEL]01"
24+
},
25+
{
26+
"models": [
27+
"ALL"
28+
],
29+
"type": "FFMPEG",
30+
"protocol": "rtsp",
31+
"port": 554,
32+
"url": "/Streaming/Channels/[CHANNEL+1]02"
33+
},
34+
{
35+
"models": [
36+
"ALL"
37+
],
38+
"type": "FFMPEG",
39+
"protocol": "rtsp",
40+
"port": 554,
41+
"url": "/Streaming/Channels/[CHANNEL]02"
42+
},
743
{
844
"models": [
945
"10550",
@@ -320,31 +356,6 @@
320356
"port": 554,
321357
"url": "/s2"
322358
},
323-
{
324-
"models": [
325-
"IPCA53000",
326-
"IPCB42510B",
327-
"IPCB44510A",
328-
"IPCB64515B"
329-
],
330-
"type": "FFMPEG",
331-
"protocol": "rtsp",
332-
"port": 554,
333-
"url": "/Streaming/Channels/102"
334-
},
335-
{
336-
"models": [
337-
"IPCB42550",
338-
"IPCB78520",
339-
"NVR10030",
340-
"TVIP41500",
341-
"TVIP52500"
342-
],
343-
"type": "FFMPEG",
344-
"protocol": "rtsp",
345-
"port": 0,
346-
"url": "/Streaming/Channels/101"
347-
},
348359
{
349360
"models": [
350361
"IPCB54611B",
@@ -635,6 +646,31 @@
635646
"protocol": "rtsp",
636647
"port": 554,
637648
"url": "/mpeg4/media.amp?resolution=640x480"
649+
},
650+
{
651+
"models": [
652+
"IPCA53000",
653+
"IPCB42510B",
654+
"IPCB44510A",
655+
"IPCB64515B"
656+
],
657+
"type": "FFMPEG",
658+
"protocol": "rtsp",
659+
"port": 554,
660+
"url": "/Streaming/Channels/102"
661+
},
662+
{
663+
"models": [
664+
"IPCB42550",
665+
"IPCB78520",
666+
"NVR10030",
667+
"TVIP41500",
668+
"TVIP52500"
669+
],
670+
"type": "FFMPEG",
671+
"protocol": "rtsp",
672+
"port": 0,
673+
"url": "/Streaming/Channels/101"
638674
}
639675
]
640676
}

data/brands/acvil.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@
44
"last_updated": "2025-10-17",
55
"source": "ispyconnect.com",
66
"entries": [
7+
{
8+
"models": [
9+
"ALL"
10+
],
11+
"type": "FFMPEG",
12+
"protocol": "rtsp",
13+
"port": 0,
14+
"url": "/Streaming/Channels/[CHANNEL+1]02"
15+
},
16+
{
17+
"models": [
18+
"ALL"
19+
],
20+
"type": "FFMPEG",
21+
"protocol": "rtsp",
22+
"port": 0,
23+
"url": "/Streaming/Channels/[CHANNEL]02"
24+
},
725
{
826
"models": [
927
"WIFI-5MP-30"

data/brands/aliendvr.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@
44
"last_updated": "2025-10-17",
55
"source": "ispyconnect.com",
66
"entries": [
7+
{
8+
"models": [
9+
"ALL"
10+
],
11+
"type": "FFMPEG",
12+
"protocol": "rtsp",
13+
"port": 0,
14+
"url": "/Streaming/Channels/[CHANNEL+1]01"
15+
},
16+
{
17+
"models": [
18+
"ALL"
19+
],
20+
"type": "FFMPEG",
21+
"protocol": "rtsp",
22+
"port": 0,
23+
"url": "/Streaming/Channels/[CHANNEL]01"
24+
},
725
{
826
"models": [
927
"mega216"

0 commit comments

Comments
 (0)