mirror of
https://github.com/eduard256/Strix
synced 2026-04-21 13:37:27 +00:00
Rewrite Strix from scratch as single binary
Complete architecture rewrite following go2rtc patterns: - pkg/ for pure logic (camdb, tester, probe, generate) - internal/ for application glue with Init() modules - Single HTTP server on :4567 with all endpoints - zerolog with password masking and memory ring buffer - Environment-based config only (no YAML files) API endpoints: /api/search, /api/streams, /api/test, /api/probe, /api/generate, /api/health, /api/log Dependencies: go2rtc v1.9.14, go-sqlite3, miekg/dns, zerolog
This commit is contained in:
parent
3b29188924
commit
27117900eb
3742 changed files with 2801 additions and 283718 deletions
|
|
@ -1,52 +0,0 @@
|
|||
# Git
|
||||
.git
|
||||
.gitignore
|
||||
.github
|
||||
|
||||
# IDE
|
||||
.vscode
|
||||
.idea
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# Build artifacts
|
||||
bin/
|
||||
dist/
|
||||
*.exe
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
|
||||
# Test files
|
||||
*.test
|
||||
*_test.go
|
||||
coverage.*
|
||||
*.out
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
strix.log
|
||||
|
||||
# Config files (user-specific)
|
||||
strix.yaml
|
||||
test_*.yaml
|
||||
config.yaml
|
||||
|
||||
# Temporary files
|
||||
tmp/
|
||||
temp/
|
||||
*.dump
|
||||
*_output.txt
|
||||
|
||||
# Documentation (included in image metadata instead)
|
||||
*.md
|
||||
!README.md
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Development
|
||||
.env
|
||||
.env.local
|
||||
53
.gitignore
vendored
53
.gitignore
vendored
|
|
@ -1,50 +1,7 @@
|
|||
# Binaries
|
||||
bin/
|
||||
# Binary
|
||||
strix
|
||||
main
|
||||
*.exe
|
||||
*.exe~
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
|
||||
# Test binaries
|
||||
*.test
|
||||
|
||||
# Output of the go coverage tool
|
||||
*.out
|
||||
coverage.html
|
||||
|
||||
# Go workspace file
|
||||
go.work
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
||||
# Environment
|
||||
.env
|
||||
.env.local
|
||||
|
||||
# Temporary files
|
||||
tmp/
|
||||
temp/
|
||||
*.dump
|
||||
*_output.txt
|
||||
|
||||
# Configuration (user-specific)
|
||||
strix.yaml
|
||||
|
||||
# Node.js / NPM
|
||||
node_modules/
|
||||
package-lock.json
|
||||
# SQLite database files
|
||||
*.db
|
||||
*.db-shm
|
||||
*.db-wal
|
||||
|
|
|
|||
111
CHANGELOG.md
111
CHANGELOG.md
|
|
@ -1,111 +0,0 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.0.11] - 2026-03-19
|
||||
|
||||
### Added
|
||||
- Project icon assets (SVG, 192x192 PNG, 512x512 PNG) for use in app stores and integrations
|
||||
|
||||
### Fixed
|
||||
- Health endpoint now accepts HEAD requests for Docker and CasaOS healthcheck compatibility
|
||||
- Registered HEAD route in chi router for /api/v1/health endpoint
|
||||
|
||||
## [1.0.10] - 2026-03-17
|
||||
|
||||
### Added
|
||||
- Device probe endpoint (GET /api/v1/probe) for network device inspection
|
||||
- HTTP prober for detecting camera web interfaces
|
||||
- mDNS discovery for local network devices
|
||||
- ARP/OUI vendor identification with camera OUI database (2,400+ entries)
|
||||
- Probe integration into frontend with modal UI
|
||||
- Added Trassir and ZOSI to OUI database
|
||||
|
||||
### Changed
|
||||
- Removed CI/CD pipelines (GitHub Actions), replaced with local Docker builds
|
||||
- Removed GoReleaser, unified Docker image for Docker Hub and HA add-on
|
||||
- Application version now injected at build time via ldflags
|
||||
- HA add-on reads /data/options.json natively (no more entrypoint script)
|
||||
- Optimized mDNS discovery timeout
|
||||
|
||||
### Fixed
|
||||
- Removed experimental SSE warning from Home Assistant Add-on documentation
|
||||
- Clear probe-filled fields when navigating back in frontend
|
||||
|
||||
## [1.0.9] - 2025-12-11
|
||||
|
||||
### Fixed
|
||||
- Fixed real-time SSE streaming in Home Assistant Ingress mode
|
||||
- SSE events now arrive immediately instead of being buffered until completion
|
||||
|
||||
### Technical
|
||||
- Added automatic detection of Home Assistant Ingress via X-Ingress-Path header
|
||||
- Implemented 64KB padding for SSE events to overcome aiohttp buffer in HA Supervisor
|
||||
- Adjusted progress update interval to 3 seconds in Ingress mode to reduce traffic
|
||||
- Normal mode (Docker/direct access) remains unchanged
|
||||
|
||||
## [1.0.8] - 2025-11-26
|
||||
|
||||
### Changed
|
||||
- Updated Docker deployment to use host network mode for better compatibility
|
||||
- Modified docker-compose.yml to use `network_mode: host`
|
||||
- Updated installation commands to use `--network host` flag
|
||||
- Removed port mappings as they are not needed with host network mode
|
||||
|
||||
### Improved
|
||||
- Better compatibility with unprivileged LXC containers
|
||||
- Simplified Docker networking configuration
|
||||
- Direct network access for improved camera discovery performance
|
||||
|
||||
## [1.0.7] - 2025-11-23
|
||||
|
||||
### Fixed
|
||||
- Fixed channel numbering for Hikvision-style cameras (reported by @sergbond_com)
|
||||
- Removed invalid test data from Hikvision database
|
||||
- Fixed brand+model search matching in stream discovery
|
||||
|
||||
### Added
|
||||
- Universal `[CHANNEL+1]` placeholder support for flexible channel numbering
|
||||
- Support for both 0-based (channel=0 → 101) and 1-based (channel=1 → 101) channel selection
|
||||
- Added 6 high-priority Hikvision patterns to popular stream patterns database
|
||||
|
||||
### Changed
|
||||
- Updated 14 camera brands with universal channel patterns (Hikvision, Hiwatch, Annke, Swann, Abus, 7links, LevelOne, AlienDVR, Oswoo, AV102IP-40, Acvil, TBKVision, Deltaco, Night Owl)
|
||||
- Hikvision: replaced 10 hardcoded patterns with 6 universal patterns
|
||||
- Hiwatch: replaced 4 hardcoded patterns with 8 universal patterns (including ISAPI variants)
|
||||
- Universal patterns now tested first for faster discovery, hardcoded patterns kept as fallback
|
||||
- Improved stream discovery performance with intelligent pattern ordering
|
||||
|
||||
### Technical
|
||||
- Added support for `[CHANNEL+1]`, `[channel+1]`, `{CHANNEL+1}`, `{channel+1}` placeholders in URL builder
|
||||
- Modified 16 files: +2448 additions, -1954 deletions
|
||||
|
||||
## [0.1.0] - 2025-11-06
|
||||
|
||||
### Added
|
||||
- 🦉 Initial release of Strix
|
||||
- 🌐 Web-based user interface for camera stream discovery
|
||||
- 🔍 Automatic RTSP stream discovery for IP cameras
|
||||
- 📹 Support for multiple camera manufacturers
|
||||
- 🎯 ONVIF device discovery and PTZ endpoint detection
|
||||
- 🔐 Credential embedding in stream URLs
|
||||
- 📊 Camera model database with autocomplete search
|
||||
- 🎨 Modern, responsive UI with purple owl logo
|
||||
- ⚙️ Configuration export for Go2RTC and Frigate
|
||||
- 🔄 Dual-stream support with optional sub-stream selection
|
||||
- 📡 Server-Sent Events (SSE) for real-time discovery progress
|
||||
- 🚀 RESTful API for camera search and stream discovery
|
||||
- 📦 Cross-platform support (Linux, Windows, macOS)
|
||||
- 🏗️ Built with Go for high performance
|
||||
|
||||
### Features
|
||||
- **Web Interface**: Clean, intuitive UI for camera configuration
|
||||
- **Stream Discovery**: Automatically finds working RTSP streams
|
||||
- **ONVIF Support**: Discovers ONVIF devices and PTZ capabilities
|
||||
- **Multi-Platform**: Binaries for Linux (amd64, arm64, arm/v7), Windows, and macOS
|
||||
- **Easy Integration**: Export configs for popular NVR systems
|
||||
|
||||
[0.1.0]: https://github.com/eduard256/Strix/releases/tag/v0.1.0
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
# Результаты тестирования дедупликации потоков
|
||||
|
||||
## Запуск тестов
|
||||
|
||||
```bash
|
||||
go test -v ./internal/camera/stream -run "Dedup|Worst|Multiple"
|
||||
```
|
||||
|
||||
## ✅ Тесты выполнены успешно
|
||||
|
||||
Все тесты **PASS**, что означает, что они успешно **ДЕМОНСТРИРУЮТ ПРОБЛЕМУ** текущей системы дедупликации.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Результаты
|
||||
|
||||
### Тест 1: HTTP Authentication Variants
|
||||
|
||||
**Проблема:** Один HTTP endpoint генерирует 4 разных URL
|
||||
|
||||
```
|
||||
http://192.168.1.100/snapshot.jpg
|
||||
http://admin:12345@192.168.1.100/snapshot.jpg
|
||||
http://192.168.1.100/snapshot.jpg?pwd=12345&user=admin
|
||||
http://admin:12345@192.168.1.100/snapshot.jpg?pwd=12345&user=admin
|
||||
```
|
||||
|
||||
- **Реально уникальных:** 1 поток
|
||||
- **Генерируется:** 4 URL
|
||||
- **Потери:** 3 лишних теста (75%)
|
||||
|
||||
---
|
||||
|
||||
### Тест 2: HTTP with Placeholders
|
||||
|
||||
**Проблема:** URL с плейсхолдерами генерирует дубликаты
|
||||
|
||||
```
|
||||
Entry: snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]
|
||||
|
||||
Generated:
|
||||
http://192.168.1.100/snapshot.cgi?pwd=&user=
|
||||
http://admin:12345@192.168.1.100/snapshot.cgi?pwd=&user=
|
||||
http://192.168.1.100/snapshot.cgi?pwd=12345&user=admin
|
||||
http://admin:12345@192.168.1.100/snapshot.cgi?pwd=12345&user=admin
|
||||
```
|
||||
|
||||
- **Реально уникальных:** 1 поток
|
||||
- **Генерируется:** 4 URL
|
||||
- **Потери:** 3 лишних теста (75%)
|
||||
|
||||
---
|
||||
|
||||
### Тест 3: RTSP with/without Credentials
|
||||
|
||||
**Проблема:** RTSP генерирует 2 варианта одного потока
|
||||
|
||||
```
|
||||
rtsp://admin:12345@192.168.1.100/live/main
|
||||
rtsp://192.168.1.100/live/main
|
||||
```
|
||||
|
||||
- **Реально уникальных:** 1 поток
|
||||
- **Генерируется:** 2 URL
|
||||
- **Потери:** 1 лишний тест (50%)
|
||||
|
||||
---
|
||||
|
||||
### Тест 4: Multiple Sources (Popular + Model)
|
||||
|
||||
**Проблема:** Разные источники генерируют одинаковые паттерны
|
||||
|
||||
```
|
||||
Source 1 (Popular Patterns):
|
||||
rtsp://admin:12345@192.168.1.100/Streaming/Channels/101
|
||||
rtsp://192.168.1.100/Streaming/Channels/101
|
||||
|
||||
Source 2 (Model Patterns):
|
||||
rtsp://admin:12345@192.168.1.100/Streaming/Channels/101
|
||||
rtsp://192.168.1.100/Streaming/Channels/101
|
||||
```
|
||||
|
||||
**Текущая дедупликация:**
|
||||
- Детектирует: 2 точных совпадения (50%)
|
||||
- НЕ детектирует: 1 семантический дубль
|
||||
|
||||
**Итого:**
|
||||
- Total generated: 4 URL
|
||||
- After current dedup: 2 URL
|
||||
- Real unique: 1 поток
|
||||
- **Эффективность: 50%** (должна быть 75%)
|
||||
|
||||
---
|
||||
|
||||
### Тест 5: Worst Case Scenario
|
||||
|
||||
**Проблема:** Один паттерн из 3 источников (Popular + Model + ONVIF)
|
||||
|
||||
```
|
||||
Popular patterns generates: 4 URLs
|
||||
Model patterns generates: 4 URLs
|
||||
ONVIF returns: 1 URL
|
||||
```
|
||||
|
||||
**После текущей дедупликации:** 4 URL остаются
|
||||
|
||||
```
|
||||
http://192.168.1.100/snapshot.jpg
|
||||
http://admin:12345@192.168.1.100/snapshot.jpg
|
||||
http://192.168.1.100/snapshot.jpg?pwd=12345&user=admin
|
||||
http://admin:12345@192.168.1.100/snapshot.jpg?pwd=12345&user=admin
|
||||
```
|
||||
|
||||
**Canonical analysis:**
|
||||
- Real unique streams: **1**
|
||||
- URLs being tested: **4**
|
||||
- **Waste: 3 unnecessary tests (75%)**
|
||||
- **Time waste: ~6 seconds** (assuming 2s per test)
|
||||
|
||||
---
|
||||
|
||||
## 🔴 Критические выводы
|
||||
|
||||
### 1. Текущая система НЕ работает для семантических дубликатов
|
||||
|
||||
Простое сравнение строк `urlMap[url] = true` детектирует только **точные совпадения**.
|
||||
|
||||
### 2. Масштаб проблемы
|
||||
|
||||
| Сценарий | Генерируется | Реально | Потери |
|
||||
|----------|--------------|---------|--------|
|
||||
| HTTP auth variants | 4 | 1 | 75% |
|
||||
| RTSP with/without creds | 2 | 1 | 50% |
|
||||
| Multiple sources | 4 | 1 | 75% |
|
||||
| Worst case | 4 | 1 | 75% |
|
||||
|
||||
**Среднее:** ~69% лишних тестов!
|
||||
|
||||
### 3. Реальные последствия
|
||||
|
||||
При типичном сканировании:
|
||||
- **Генерируется:** ~190 URL
|
||||
- **Реально уникальных:** ~80-95
|
||||
- **Лишних тестов:** 95-110 (50%)
|
||||
- **Потери времени:** 3-4 минуты
|
||||
- **Лишняя нагрузка на камеру:** 100+ запросов
|
||||
- **Плохой UX:** пользователь видит один поток 4 раза
|
||||
|
||||
---
|
||||
|
||||
## ✅ Решение
|
||||
|
||||
Тесты доказывают необходимость **канонической нормализации URL**.
|
||||
|
||||
См. файл `/tmp/dedup_solutions.md` для подробного описания решений.
|
||||
|
||||
### Рекомендуемый подход: Гибридный
|
||||
|
||||
1. **В Builder:** Уменьшить генерацию вариантов (с 4 до 2-3)
|
||||
2. **В Scanner:** Добавить `CanonicalURL()` функцию
|
||||
3. **Ожидаемый результат:** Дедупликация 99% вместо текущих 50%
|
||||
|
||||
---
|
||||
|
||||
## 📝 Следующие шаги
|
||||
|
||||
1. ✅ Написать тесты (done)
|
||||
2. ⏳ Реализовать `normalizer.go` с `CanonicalURL()`
|
||||
3. ⏳ Модифицировать `Builder.BuildURLsFromEntry()` - убрать лишние варианты
|
||||
4. ⏳ Модифицировать `Scanner.collectStreams()` - использовать canonical map
|
||||
5. ⏳ Добавить метрики дедупликации в логи
|
||||
6. ⏳ Прогнать тесты заново и убедиться в улучшении
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Ожидаемый результат
|
||||
|
||||
После внедрения решения:
|
||||
|
||||
```
|
||||
Real unique streams: 1
|
||||
URLs being tested: 1 ← вместо 4
|
||||
Waste: 0 unnecessary tests (0%) ← вместо 75%
|
||||
Deduplication effectiveness: 99% ← вместо 50%
|
||||
```
|
||||
246
DOCKER.md
246
DOCKER.md
|
|
@ -1,246 +0,0 @@
|
|||
# 🐳 Docker Setup for Strix
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Using Docker Compose (Recommended)
|
||||
|
||||
```bash
|
||||
# Start Strix
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f strix
|
||||
|
||||
# Stop Strix
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
Access: http://localhost:4567
|
||||
|
||||
### Using Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name strix \
|
||||
-p 4567:4567 \
|
||||
eduard256/strix:latest
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Using Environment Variables
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name strix \
|
||||
-p 8080:8080 \
|
||||
-e STRIX_API_LISTEN=:8080 \
|
||||
-e STRIX_LOG_LEVEL=debug \
|
||||
eduard256/strix:latest
|
||||
```
|
||||
|
||||
### Using Config File
|
||||
|
||||
```bash
|
||||
# Create strix.yaml
|
||||
cat > strix.yaml <<EOF
|
||||
api:
|
||||
listen: ":8080"
|
||||
EOF
|
||||
|
||||
# Run with mounted config
|
||||
docker run -d \
|
||||
--name strix \
|
||||
-p 8080:8080 \
|
||||
-v $(pwd)/strix.yaml:/app/strix.yaml:ro \
|
||||
eduard256/strix:latest
|
||||
```
|
||||
|
||||
## Full Stack (Strix + go2rtc + Frigate)
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.full.yml up -d
|
||||
```
|
||||
|
||||
Services:
|
||||
- Strix: http://localhost:4567
|
||||
- go2rtc: http://localhost:1984
|
||||
- Frigate: http://localhost:5000
|
||||
|
||||
## Podman
|
||||
|
||||
Strix uses raw sockets for network scanning. Podman drops these capabilities by default,
|
||||
so you need to add them explicitly. Rootless mode does not support host network scanning —
|
||||
run with `sudo`.
|
||||
|
||||
### Using Podman Run
|
||||
|
||||
```bash
|
||||
sudo podman run -d \
|
||||
--name strix \
|
||||
--network host \
|
||||
--cap-add=NET_RAW \
|
||||
--cap-add=NET_ADMIN \
|
||||
--restart unless-stopped \
|
||||
eduard256/strix:latest
|
||||
```
|
||||
|
||||
- `NET_RAW` — required for network scanning (ARP, ICMP) to discover cameras
|
||||
- `NET_ADMIN` — required for network interface and routing operations
|
||||
|
||||
### Using Podman Compose
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
strix:
|
||||
image: eduard256/strix:latest
|
||||
container_name: strix
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
cap_add:
|
||||
- NET_RAW
|
||||
- NET_ADMIN
|
||||
environment:
|
||||
- STRIX_LOG_LEVEL=info
|
||||
- STRIX_LOG_FORMAT=json
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:4567/api/v1/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo podman-compose up -d
|
||||
```
|
||||
|
||||
### Using Quadlet (systemd)
|
||||
|
||||
Recommended for production. Create `/etc/containers/systemd/strix.container`:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Strix Camera Stream Discovery
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/eduard256/strix:latest
|
||||
ContainerName=strix
|
||||
Network=host
|
||||
AddCapability=CAP_NET_RAW CAP_NET_ADMIN
|
||||
Environment=STRIX_LOG_LEVEL=info
|
||||
Environment=STRIX_LOG_FORMAT=json
|
||||
AutoUpdate=registry
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now strix
|
||||
sudo systemctl status strix
|
||||
```
|
||||
|
||||
Quadlet auto-generates a systemd service from the `.container` file.
|
||||
The container starts on boot and restarts on failure automatically.
|
||||
|
||||
## Building Locally
|
||||
|
||||
```bash
|
||||
# Build for your platform
|
||||
docker build -t strix:local .
|
||||
|
||||
# Build for multiple platforms
|
||||
docker buildx build --platform linux/amd64,linux/arm64 -t strix:multi .
|
||||
```
|
||||
|
||||
## Image Information
|
||||
|
||||
- **Image**: `eduard256/strix:latest`
|
||||
- **Platforms**: linux/amd64, linux/arm64
|
||||
- **Size**: ~80-90MB
|
||||
- **Base**: Alpine Linux
|
||||
- **User**: Non-root (strix:1000)
|
||||
|
||||
## Included Dependencies
|
||||
|
||||
- ffmpeg/ffprobe (stream validation)
|
||||
- ca-certificates (HTTPS support)
|
||||
- tzdata (timezone support)
|
||||
- wget (healthcheck)
|
||||
- Camera database (3600+ models)
|
||||
|
||||
## Health Check
|
||||
|
||||
```bash
|
||||
# Check container health
|
||||
docker inspect --format='{{.State.Health.Status}}' strix
|
||||
|
||||
# Manual health check
|
||||
docker exec strix wget -q -O- http://localhost:4567/api/v1/health
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### View logs
|
||||
```bash
|
||||
docker logs strix
|
||||
docker logs -f strix # Follow logs
|
||||
```
|
||||
|
||||
### Check if ffprobe works
|
||||
```bash
|
||||
docker exec strix ffprobe -version
|
||||
```
|
||||
|
||||
### Inspect container
|
||||
```bash
|
||||
docker exec -it strix sh
|
||||
```
|
||||
|
||||
### Restart container
|
||||
```bash
|
||||
docker restart strix
|
||||
```
|
||||
|
||||
## Security
|
||||
|
||||
- Runs as non-root user (UID 1000)
|
||||
- Minimal attack surface (Alpine base)
|
||||
- No unnecessary packages
|
||||
- Health checks enabled
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `STRIX_API_LISTEN` | `:4567` | Server listen address |
|
||||
| `STRIX_LOG_LEVEL` | `info` | Log level (debug, info, warn, error) |
|
||||
| `STRIX_LOG_FORMAT` | `json` | Log format (json, text) |
|
||||
| `STRIX_DATA_PATH` | `./data` | Camera database path |
|
||||
|
||||
## Volumes
|
||||
|
||||
```bash
|
||||
# Optional: Custom configuration
|
||||
-v ./strix.yaml:/app/strix.yaml:ro
|
||||
|
||||
# Optional: Custom camera database
|
||||
-v ./data:/app/data:ro
|
||||
```
|
||||
|
||||
## Docker Hub
|
||||
|
||||
Pre-built images available at: https://hub.docker.com/r/eduard256/strix
|
||||
|
||||
Tags:
|
||||
- `latest` - Latest stable release
|
||||
- `v0.1.0` - Specific version
|
||||
- `0.1` - Minor version
|
||||
- `0` - Major version
|
||||
- `main` - Development branch
|
||||
69
Dockerfile
69
Dockerfile
|
|
@ -1,69 +0,0 @@
|
|||
# Strix - Smart IP Camera Stream Discovery System
|
||||
# Multi-stage Dockerfile for minimal image size
|
||||
|
||||
# Stage 1: Builder
|
||||
FROM golang:1.24-alpine AS builder
|
||||
|
||||
ARG VERSION=dev
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# Install build dependencies
|
||||
RUN apk add --no-cache git
|
||||
|
||||
# Copy go mod files
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
# Copy source code
|
||||
COPY . .
|
||||
|
||||
# Build static binary
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=${TARGETARCH} go build \
|
||||
-ldflags="-s -w -X main.Version=${VERSION}" \
|
||||
-o strix \
|
||||
cmd/strix/main.go
|
||||
|
||||
# Stage 2: Runtime
|
||||
FROM alpine:latest
|
||||
|
||||
# Install runtime dependencies
|
||||
# - ffmpeg/ffprobe: Required for RTSP stream validation
|
||||
# - ca-certificates: Required for HTTPS requests to cameras
|
||||
# - tzdata: Required for correct timestamps
|
||||
# - wget: Required for healthcheck
|
||||
RUN apk add --no-cache \
|
||||
ffmpeg \
|
||||
ca-certificates \
|
||||
tzdata \
|
||||
wget \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy binary from builder
|
||||
COPY --from=builder /build/strix .
|
||||
|
||||
# Copy camera database (CRITICAL - app won't work without it)
|
||||
COPY --from=builder /build/data ./data
|
||||
|
||||
# Create directory for optional config
|
||||
RUN mkdir -p /app/config
|
||||
|
||||
# Create non-root user for security
|
||||
RUN addgroup -g 1000 strix && \
|
||||
adduser -D -u 1000 -G strix strix && \
|
||||
chown -R strix:strix /app
|
||||
|
||||
# Switch to non-root user
|
||||
USER strix
|
||||
|
||||
# Expose default port
|
||||
EXPOSE 4567
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:4567/api/v1/health || exit 1
|
||||
|
||||
# Start application
|
||||
CMD ["./strix"]
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
# Frigate Configuration - Запись по движению с детекцией объектов
|
||||
|
||||
Конфигурация для Frigate с записью при обнаружении движения и детекцией объектов (person, car, cat, dog).
|
||||
|
||||
## Dual-Stream конфиг (Main + Sub) - РЕКОМЕНДУЕТСЯ
|
||||
|
||||
Используется sub stream для детекции (экономия CPU), main stream для записи (качество).
|
||||
|
||||
```yaml
|
||||
mqtt:
|
||||
enabled: false
|
||||
|
||||
# Глобальные настройки записи
|
||||
record:
|
||||
enabled: true
|
||||
retain:
|
||||
days: 7
|
||||
mode: motion # Записывать только при движении
|
||||
|
||||
# Go2RTC Configuration (Frigate built-in)
|
||||
go2rtc:
|
||||
streams:
|
||||
'10_0_20_112_main':
|
||||
- rtsp://admin:password@10.0.20.112/live/main
|
||||
|
||||
'10_0_20_112_sub':
|
||||
- rtsp://admin:password@10.0.20.112/live/sub
|
||||
|
||||
# Frigate Camera Configuration
|
||||
cameras:
|
||||
camera_10_0_20_112:
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/10_0_20_112_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/10_0_20_112_main
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
live:
|
||||
streams:
|
||||
Main Stream: 10_0_20_112_main # HD для просмотра
|
||||
Sub Stream: 10_0_20_112_sub # Низкое разрешение (опционально)
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
- car
|
||||
- cat
|
||||
- dog
|
||||
record:
|
||||
enabled: true
|
||||
|
||||
version: 0.16-0
|
||||
```
|
||||
|
||||
## Single-Stream конфиг (Main только)
|
||||
|
||||
Когда нет sub stream - используется main для детекции и записи.
|
||||
|
||||
```yaml
|
||||
mqtt:
|
||||
enabled: false
|
||||
|
||||
# Глобальные настройки записи
|
||||
record:
|
||||
enabled: true
|
||||
retain:
|
||||
days: 7
|
||||
mode: motion # Записывать только при движении
|
||||
|
||||
# Go2RTC Configuration (Frigate built-in)
|
||||
go2rtc:
|
||||
streams:
|
||||
'10_0_20_112_main':
|
||||
- rtsp://admin:password@10.0.20.112/stream1
|
||||
|
||||
# Frigate Camera Configuration
|
||||
cameras:
|
||||
camera_10_0_20_112:
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/10_0_20_112_main
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- record
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
- car
|
||||
- cat
|
||||
- dog
|
||||
record:
|
||||
enabled: true
|
||||
|
||||
version: 0.16-0
|
||||
```
|
||||
|
||||
## Режимы записи
|
||||
|
||||
### `mode: motion` (рекомендуется)
|
||||
Записывает видео при обнаружении движения. Экономит место на диске.
|
||||
|
||||
### `mode: active_objects`
|
||||
Записывает только когда обнаружены объекты (person, car, etc). Еще больше экономия.
|
||||
|
||||
### `mode: all`
|
||||
Записывает постоянно 24/7. Требует много места на диске.
|
||||
|
||||
## Преимущества Dual-Stream подхода
|
||||
|
||||
✅ **Низкая нагрузка на CPU** - детекция на sub stream (обычно 352x288 или 640x480)
|
||||
✅ **Качественная запись** - запись на main stream в полном разрешении (HD/4K)
|
||||
✅ **Быстрая детекция** - меньше пикселей = быстрее обработка
|
||||
✅ **Авто-определение разрешения** - Frigate сам определяет параметры потока
|
||||
✅ **Одно подключение к камере** - Go2RTC мультиплексирует потоки
|
||||
|
||||
## Что делает этот конфиг
|
||||
|
||||
✅ **Детекция** - работает постоянно, ищет объекты
|
||||
✅ **Запись** - начинается при движении
|
||||
✅ **Объекты** - распознает person, car, cat, dog
|
||||
✅ **Хранение** - 7 дней записи
|
||||
✅ **Snapshots** - сохраняются автоматически при детекции
|
||||
|
||||
## Добавление других объектов
|
||||
|
||||
Чтобы добавить больше объектов для детекции, измените секцию `objects.track`:
|
||||
|
||||
```yaml
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
- car
|
||||
- cat
|
||||
- dog
|
||||
- motorcycle # Мотоциклы
|
||||
- bicycle # Велосипеды
|
||||
- truck # Грузовики
|
||||
- bus # Автобусы
|
||||
```
|
||||
|
||||
Полный список доступных объектов: https://docs.frigate.video/configuration/objects/
|
||||
|
||||
## Примечания
|
||||
|
||||
- Dual-stream экономит CPU, используйте когда камера поддерживает sub stream
|
||||
- Single-stream проще, но требует больше CPU для детекции (особенно на 4K)
|
||||
- Frigate автоматически определяет разрешение потоков, блок `detect` не нужен
|
||||
- Запись по движению экономит место, но может пропустить начало события
|
||||
- Для непрерывной записи используйте `mode: all`
|
||||
- Frigate автоматически управляет удалением старых записей
|
||||
- Main stream поддерживает любое разрешение: HD (1920x1080), 4K (3840x2160) и выше
|
||||
21
LICENSE
21
LICENSE
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2025 eduard256
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
147
Makefile
147
Makefile
|
|
@ -1,147 +0,0 @@
|
|||
.PHONY: all build clean run test install deps fmt vet lint
|
||||
|
||||
# Variables
|
||||
BINARY_NAME=strix
|
||||
BINARY_PATH=bin/$(BINARY_NAME)
|
||||
MAIN_PATH=cmd/strix/main.go
|
||||
GO=go
|
||||
GOFLAGS=-v
|
||||
LDFLAGS=-ldflags "-s -w -X main.Version=$$(git describe --tags --always --dirty 2>/dev/null || echo 'dev')"
|
||||
|
||||
# Default target
|
||||
all: build
|
||||
|
||||
# Build the application
|
||||
build:
|
||||
@echo "Building $(BINARY_NAME)..."
|
||||
@mkdir -p bin
|
||||
$(GO) build $(GOFLAGS) $(LDFLAGS) -o $(BINARY_PATH) $(MAIN_PATH)
|
||||
@echo "Build complete: $(BINARY_PATH)"
|
||||
|
||||
# Run the application
|
||||
run: build
|
||||
@echo "Running $(BINARY_NAME)..."
|
||||
./$(BINARY_PATH)
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
@echo "Cleaning..."
|
||||
@rm -rf bin/
|
||||
@$(GO) clean
|
||||
@echo "Clean complete"
|
||||
|
||||
# Install dependencies
|
||||
deps:
|
||||
@echo "Installing dependencies..."
|
||||
$(GO) mod download
|
||||
$(GO) mod tidy
|
||||
@echo "Dependencies installed"
|
||||
|
||||
# Format code
|
||||
fmt:
|
||||
@echo "Formatting code..."
|
||||
$(GO) fmt ./...
|
||||
@echo "Code formatted"
|
||||
|
||||
# Run vet
|
||||
vet:
|
||||
@echo "Running go vet..."
|
||||
$(GO) vet ./...
|
||||
@echo "Vet complete"
|
||||
|
||||
# Run linter (requires golangci-lint)
|
||||
lint:
|
||||
@echo "Running linter..."
|
||||
@if command -v golangci-lint > /dev/null; then \
|
||||
golangci-lint run ./...; \
|
||||
else \
|
||||
echo "golangci-lint not installed, skipping..."; \
|
||||
fi
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
@echo "Running tests..."
|
||||
$(GO) test -v -race -cover ./...
|
||||
@echo "Tests complete"
|
||||
|
||||
# Run tests with coverage
|
||||
test-coverage:
|
||||
@echo "Running tests with coverage..."
|
||||
$(GO) test -v -race -coverprofile=coverage.out ./...
|
||||
$(GO) tool cover -html=coverage.out -o coverage.html
|
||||
@echo "Coverage report generated: coverage.html"
|
||||
|
||||
# Build for multiple platforms
|
||||
build-all:
|
||||
@echo "Building for multiple platforms..."
|
||||
@mkdir -p bin
|
||||
|
||||
@echo "Building for Linux amd64..."
|
||||
GOOS=linux GOARCH=amd64 $(GO) build $(GOFLAGS) $(LDFLAGS) -o bin/$(BINARY_NAME)-linux-amd64 $(MAIN_PATH)
|
||||
|
||||
@echo "Building for Linux arm64..."
|
||||
GOOS=linux GOARCH=arm64 $(GO) build $(GOFLAGS) $(LDFLAGS) -o bin/$(BINARY_NAME)-linux-arm64 $(MAIN_PATH)
|
||||
|
||||
@echo "Building for Darwin amd64..."
|
||||
GOOS=darwin GOARCH=amd64 $(GO) build $(GOFLAGS) $(LDFLAGS) -o bin/$(BINARY_NAME)-darwin-amd64 $(MAIN_PATH)
|
||||
|
||||
@echo "Building for Darwin arm64..."
|
||||
GOOS=darwin GOARCH=arm64 $(GO) build $(GOFLAGS) $(LDFLAGS) -o bin/$(BINARY_NAME)-darwin-arm64 $(MAIN_PATH)
|
||||
|
||||
@echo "Building for Windows amd64..."
|
||||
GOOS=windows GOARCH=amd64 $(GO) build $(GOFLAGS) $(LDFLAGS) -o bin/$(BINARY_NAME)-windows-amd64.exe $(MAIN_PATH)
|
||||
|
||||
@echo "Multi-platform build complete"
|
||||
|
||||
# Install the binary to GOPATH
|
||||
install: build
|
||||
@echo "Installing $(BINARY_NAME)..."
|
||||
$(GO) install $(GOFLAGS) $(LDFLAGS) $(MAIN_PATH)
|
||||
@echo "Installation complete"
|
||||
|
||||
# Development mode with live reload (requires air)
|
||||
dev:
|
||||
@if command -v air > /dev/null; then \
|
||||
air; \
|
||||
else \
|
||||
echo "Air not installed. Install with: go install github.com/air-verse/air@latest"; \
|
||||
echo "Running without live reload..."; \
|
||||
$(MAKE) run; \
|
||||
fi
|
||||
|
||||
# Docker build
|
||||
docker-build:
|
||||
@echo "Building Docker image..."
|
||||
docker build -t strix:latest .
|
||||
@echo "Docker image built: strix:latest"
|
||||
|
||||
# Docker run
|
||||
docker-run:
|
||||
@echo "Running Docker container..."
|
||||
docker run -p 8080:8080 -v $(PWD)/data:/data strix:latest
|
||||
|
||||
# Check code quality
|
||||
check: fmt vet lint test
|
||||
@echo "Code quality check complete"
|
||||
|
||||
# Help
|
||||
help:
|
||||
@echo "Strix - Smart IP Camera Stream Discovery System"
|
||||
@echo ""
|
||||
@echo "Available targets:"
|
||||
@echo " make build - Build the application"
|
||||
@echo " make run - Build and run the application"
|
||||
@echo " make clean - Remove build artifacts"
|
||||
@echo " make deps - Install dependencies"
|
||||
@echo " make fmt - Format code"
|
||||
@echo " make vet - Run go vet"
|
||||
@echo " make lint - Run linter"
|
||||
@echo " make test - Run tests"
|
||||
@echo " make test-coverage - Run tests with coverage"
|
||||
@echo " make build-all - Build for multiple platforms"
|
||||
@echo " make install - Install to GOPATH"
|
||||
@echo " make dev - Run in development mode with live reload"
|
||||
@echo " make docker-build - Build Docker image"
|
||||
@echo " make docker-run - Run Docker container"
|
||||
@echo " make check - Run all quality checks"
|
||||
@echo " make help - Show this help message"
|
||||
553
README.md
553
README.md
|
|
@ -1,553 +0,0 @@
|
|||
# Strix
|
||||
[](https://github.com/eduard256/strix/stargazers)
|
||||
[](LICENSE)
|
||||
[](https://hub.docker.com/r/eduard256/strix)
|
||||
|
||||
## Spent 2 years googling URL for your Chinese camera?
|
||||
|
||||
**Strix finds working streams automatically. In 30 seconds.**
|
||||
|
||||
- **67,288** camera models
|
||||
- **3,636** brands (from Hikvision to AliExpress no-name)
|
||||
- **102,787** URL patterns (RTSP, HTTP, MJPEG, JPEG, BUBBLE)
|
||||
|
||||

|
||||
|
||||
**Check if your camera is supported:** [Browse the database](https://gostrix.github.io/) | **Not listed?** [Add it here](https://gostrix.github.io/#/contribute)
|
||||
|
||||
---
|
||||
|
||||
## Your Problem?
|
||||
|
||||
- ❌ Bought ZOSI NVR, zero documentation
|
||||
- ❌ Camera has no RTSP, only weird JPEG snapshots
|
||||
- ❌ Frigate eating 70% CPU
|
||||
- ❌ Config breaks after adding each camera
|
||||
- ❌ Don't understand Frigate syntax
|
||||
|
||||
## Solution
|
||||
|
||||
- ✅ **Auto-discovery** - tests 102,787 URL variations in parallel
|
||||
- ✅ **Any protocol** - No RTSP? Finds HTTP MJPEG
|
||||
- ✅ **Config generation** - ready Frigate.yml in 2 minutes
|
||||
- ✅ **Sub/Main streams** - CPU from 30% → 8%
|
||||
- ✅ **Smart merging** - adds camera to existing config with 500+ cameras
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Installation (One Command)
|
||||
|
||||
### Ubuntu / Debian
|
||||
|
||||
```bash
|
||||
sudo apt update && command -v docker >/dev/null 2>&1 || curl -fsSL https://get.docker.com | sudo sh && docker run -d --name strix --network host --restart unless-stopped eduard256/strix:latest
|
||||
```
|
||||
|
||||
Open **http://YOUR_SERVER_IP:4567**
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```bash
|
||||
sudo apt update && command -v docker >/dev/null 2>&1 || curl -fsSL https://get.docker.com | sudo sh && command -v docker-compose >/dev/null 2>&1 || { sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose; } && curl -fsSL https://raw.githubusercontent.com/eduard256/Strix/main/docker-compose.yml -o docker-compose.yml && docker-compose up -d
|
||||
```
|
||||
|
||||
### Podman
|
||||
|
||||
```bash
|
||||
sudo podman run -d --name strix --network host --cap-add=NET_RAW --cap-add=NET_ADMIN --restart unless-stopped eduard256/strix:latest
|
||||
```
|
||||
|
||||
Strix uses network scanning to discover cameras. Podman blocks this by default, so `NET_RAW` and `NET_ADMIN` capabilities are required. Must run as root (`sudo`). See [DOCKER.md](DOCKER.md) for Podman Compose and Quadlet (systemd) setup.
|
||||
|
||||
### Home Assistant Add-on
|
||||
|
||||
**Installation:**
|
||||
|
||||
1. Go to **Settings** → **Add-ons** → **Add-on Store**
|
||||
2. Click **⋮** (top right) → **Repositories**
|
||||
3. Add: `https://github.com/eduard256/hassio-strix`
|
||||
4. Find **"Strix"** in store
|
||||
5. Click **Install**
|
||||
6. Enable **"Start on boot"** and **"Show in sidebar"**
|
||||
7. Click **Start**
|
||||
|
||||
---
|
||||
|
||||
## How to Use
|
||||
|
||||
### Step 1: Open Web Interface
|
||||
|
||||
```
|
||||
http://YOUR_SERVER_IP:4567
|
||||
```
|
||||
|
||||
### Step 2: Enter Camera Details
|
||||
|
||||
- **IP Address**: `192.168.1.100`
|
||||
- **Username**: `admin` (if required)
|
||||
- **Password**: your camera password
|
||||
- **Model**: optional, improves accuracy
|
||||
|
||||
### Step 3: Discover Streams
|
||||
|
||||
Click **"Discover Streams"**
|
||||
|
||||
Watch real-time progress:
|
||||
- Which URL is being tested
|
||||
- How many tested
|
||||
- Found streams appear instantly
|
||||
|
||||
Wait 30-60 seconds.
|
||||
|
||||
### Step 4: Choose Stream
|
||||
|
||||
Strix shows details for each stream:
|
||||
|
||||
| Stream | Details |
|
||||
|--------|---------|
|
||||
| **Protocol** | RTSP, HTTP, MJPEG, JPEG |
|
||||
| **Resolution** | 1920x1080, 640x480 |
|
||||
| **FPS** | 25, 15, 10 |
|
||||
| **Codec** | H264, H265, MJPEG |
|
||||
| **Audio** | Yes / No |
|
||||
|
||||
### Step 5: Generate Frigate Config
|
||||
|
||||
Click **"Use Stream"** → **"Generate Frigate Config"**
|
||||
|
||||
You get ready config:
|
||||
|
||||
```yaml
|
||||
go2rtc:
|
||||
streams:
|
||||
'192_168_1_100_main':
|
||||
- http://admin:pass@192.168.1.100:8000/video.mjpg
|
||||
'192_168_1_100_sub':
|
||||
- http://admin:pass@192.168.1.100:8000/video2.mjpg
|
||||
|
||||
cameras:
|
||||
camera_192_168_1_100:
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/192_168_1_100_sub
|
||||
roles: [detect] # CPU 8% instead of 70%
|
||||
- path: rtsp://127.0.0.1:8554/192_168_1_100_main
|
||||
roles: [record] # HD recording
|
||||
objects:
|
||||
track: [person, car, cat, dog]
|
||||
record:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
**Smart Merging:**
|
||||
- Paste your existing `frigate.yml` with 500 cameras
|
||||
- Strix adds camera #501 correctly
|
||||
- Doesn't break structure
|
||||
- Preserves all settings
|
||||
|
||||
### Step 6: Add to Frigate
|
||||
|
||||
Copy config → Paste to `frigate.yml` → Restart Frigate
|
||||
|
||||
**Done!**
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
### Exotic Camera Support
|
||||
|
||||
90% of Chinese cameras don't have RTSP. Strix supports everything:
|
||||
|
||||
- **HTTP MJPEG** - most old cameras
|
||||
- **JPEG snapshots** - auto-converted to stream via FFmpeg
|
||||
- **RTSP** - if available
|
||||
- **HTTP-FLV** - some Chinese brands
|
||||
- **BUBBLE** - proprietary Chinese NVR/DVR protocol
|
||||
- **ONVIF** - auto-discovery
|
||||
|
||||
### Camera Database
|
||||
|
||||
**67,288 models from 3,636 brands:**
|
||||
|
||||
- **Known brands**: Hikvision, Dahua, Axis, Foscam, TP-Link
|
||||
- **Chinese no-names**: ZOSI, Escam, Sricam, Wanscam, Besder
|
||||
- **AliExpress junk**: cameras without name, OEM models
|
||||
- **Old systems**: NVR/DVR with proprietary protocols
|
||||
|
||||
### Discovery Methods
|
||||
|
||||
Strix tries all methods in parallel:
|
||||
|
||||
**1. ONVIF** (30% success rate)
|
||||
- Asks camera directly for stream URLs
|
||||
- Works for ONVIF-compatible cameras
|
||||
|
||||
**2. Database Lookup** (60% success rate)
|
||||
- 67,288 models with known working URLs
|
||||
- Brand and model-specific patterns
|
||||
|
||||
**3. Popular Patterns** (90% success rate)
|
||||
- 206 most common URL paths
|
||||
- Works even for unknown cameras
|
||||
|
||||
**Result: Finds stream for 95% of cameras**
|
||||
|
||||
### Frigate Config Generation
|
||||
|
||||
**What you get:**
|
||||
|
||||
✅ **Main/Sub streams**
|
||||
- Main (HD) for recording
|
||||
- Sub (low res) for object detection
|
||||
- CPU usage reduced 5-10x
|
||||
|
||||
✅ **Ready go2rtc config**
|
||||
- Stream multiplexing
|
||||
- Protocol conversion
|
||||
- JPEG → RTSP via FFmpeg
|
||||
|
||||
✅ **Smart config merging**
|
||||
- Add to existing config
|
||||
- Preserve structure
|
||||
- No manual YAML editing
|
||||
|
||||
✅ **Pre-configured detection**
|
||||
- person, car, cat, dog
|
||||
- Ready motion recording
|
||||
- 7 days retention
|
||||
|
||||
### Speed
|
||||
|
||||
- Tests **20 URLs in parallel**
|
||||
- Average discovery time: **30-60 seconds**
|
||||
- Complex cameras: **2-3 minutes**
|
||||
- Real-time progress updates via SSE
|
||||
|
||||
---
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
### Docker Environment Variables
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- STRIX_API_LISTEN=:8080 # Custom port
|
||||
- STRIX_LOG_LEVEL=debug # Detailed logs
|
||||
- STRIX_LOG_FORMAT=json # JSON logging
|
||||
```
|
||||
|
||||
### Config File
|
||||
|
||||
Create `strix.yaml`:
|
||||
|
||||
```yaml
|
||||
api:
|
||||
listen: ":8080"
|
||||
```
|
||||
|
||||
Example: [strix.yaml.example](strix.yaml.example)
|
||||
|
||||
### Discovery Parameters
|
||||
|
||||
In web UI under **Advanced**:
|
||||
|
||||
- **Channel** - for NVR systems (usually 0)
|
||||
- **Timeout** - max discovery time (default: 240s)
|
||||
- **Max Streams** - stop after N streams (default: 10)
|
||||
|
||||
---
|
||||
|
||||
## FAQ
|
||||
|
||||
### No streams found?
|
||||
|
||||
**Check network:**
|
||||
```bash
|
||||
ping 192.168.1.100
|
||||
```
|
||||
|
||||
Camera must be reachable.
|
||||
|
||||
**Verify credentials:**
|
||||
- Username/password correct?
|
||||
- Try without credentials (some cameras are open)
|
||||
|
||||
**Try without model:**
|
||||
- Strix will run ONVIF + 206 popular patterns
|
||||
- Works for cameras not in database
|
||||
|
||||
### Camera not in database?
|
||||
|
||||
**No problem.**
|
||||
|
||||
Strix will still find stream via:
|
||||
1. ONVIF (if supported)
|
||||
2. 206 popular URL patterns
|
||||
3. Common ports and paths
|
||||
4. HTTP MJPEG on various ports
|
||||
5. JPEG snapshot endpoints
|
||||
|
||||
**Help the project:**
|
||||
- Found working stream? [Create Issue](https://github.com/eduard256/Strix/issues)
|
||||
- Share model and URL
|
||||
- We'll add to database
|
||||
|
||||
### Found only JPEG snapshots?
|
||||
|
||||
**Normal for old cameras.**
|
||||
|
||||
Strix auto-converts JPEG to stream via FFmpeg:
|
||||
|
||||
```yaml
|
||||
go2rtc:
|
||||
streams:
|
||||
camera_main:
|
||||
- exec:ffmpeg -loop 1 -framerate 10 -i http://192.168.1.100/snapshot.jpg -c:v libx264 -f rtsp {output}
|
||||
```
|
||||
|
||||
Frigate gets normal 10 FPS stream.
|
||||
|
||||
### Stream found but doesn't work in Frigate?
|
||||
|
||||
**Try another stream:**
|
||||
- Strix usually finds 3-10 variants
|
||||
- Some may need special FFmpeg parameters
|
||||
|
||||
**Use sub stream:**
|
||||
- For object detection
|
||||
- Less CPU load
|
||||
- Better performance
|
||||
|
||||
### How does config generation work?
|
||||
|
||||
**For new config:**
|
||||
- Strix creates complete `frigate.yml` from scratch
|
||||
- Includes go2rtc, camera, object detection
|
||||
|
||||
**For existing config:**
|
||||
- Paste your current `frigate.yml`
|
||||
- Strix adds new camera
|
||||
- Preserves all existing cameras
|
||||
- Doesn't break structure
|
||||
|
||||
**Main/Sub streams:**
|
||||
- Main (HD) - for recording
|
||||
- Sub (low res) - for detection
|
||||
- CPU savings 5-10x
|
||||
|
||||
### Is it safe to enter passwords?
|
||||
|
||||
**Yes.**
|
||||
|
||||
- Strix runs locally on your network
|
||||
- Nothing sent to external servers
|
||||
- Passwords not saved
|
||||
- Open source - check the code yourself
|
||||
|
||||
### Works offline?
|
||||
|
||||
**Yes.**
|
||||
|
||||
- Database embedded in Docker image
|
||||
- Internet only needed to download image
|
||||
- Runs offline after that
|
||||
|
||||
---
|
||||
|
||||
## API Reference
|
||||
|
||||
REST API available for automation:
|
||||
|
||||
### Health Check
|
||||
|
||||
```bash
|
||||
GET /api/v1/health
|
||||
```
|
||||
|
||||
### Search Cameras
|
||||
|
||||
```bash
|
||||
POST /api/v1/cameras/search
|
||||
|
||||
{
|
||||
"query": "hikvision",
|
||||
"limit": 10
|
||||
}
|
||||
```
|
||||
|
||||
### Discover Streams (SSE)
|
||||
|
||||
```bash
|
||||
POST /api/v1/streams/discover
|
||||
|
||||
{
|
||||
"target": "192.168.1.100",
|
||||
"username": "admin",
|
||||
"password": "12345",
|
||||
"model": "DS-2CD2xxx",
|
||||
"timeout": 240,
|
||||
"max_streams": 10
|
||||
}
|
||||
```
|
||||
|
||||
Returns Server-Sent Events with real-time progress.
|
||||
|
||||
**Full API documentation:** [DOCKER.md](DOCKER.md)
|
||||
|
||||
---
|
||||
|
||||
## Technical Details
|
||||
|
||||
### Architecture
|
||||
|
||||
- **Language:** Go 1.24
|
||||
- **Database:** 3,636 JSON files
|
||||
- **Image size:** 80-90 MB (Alpine Linux)
|
||||
- **Dependencies:** FFmpeg/FFprobe for validation
|
||||
- **Concurrency:** Worker pool (20 parallel tests)
|
||||
- **Real-time:** Server-Sent Events (SSE)
|
||||
|
||||
### Build from Source
|
||||
|
||||
```bash
|
||||
git clone https://github.com/eduard256/Strix
|
||||
cd Strix
|
||||
make build
|
||||
./bin/strix
|
||||
```
|
||||
|
||||
**Requirements:**
|
||||
- Go 1.21+
|
||||
- FFprobe (optional, for stream validation)
|
||||
|
||||
### Docker Platforms
|
||||
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
|
||||
Auto-built and published to Docker Hub on every push to `main`.
|
||||
|
||||
---
|
||||
|
||||
## Use Cases
|
||||
|
||||
### Home Automation
|
||||
|
||||
- Add cheap cameras to Home Assistant
|
||||
- Integrate with Frigate NVR
|
||||
- Object detection with low CPU
|
||||
- Motion recording
|
||||
|
||||
### Security Systems
|
||||
|
||||
- Discover streams in old NVR systems
|
||||
- Find backup cameras without docs
|
||||
- Migrate from proprietary DVR to Frigate
|
||||
- Reduce hardware requirements
|
||||
|
||||
### IP Camera Testing
|
||||
|
||||
- Test cameras before deployment
|
||||
- Verify stream quality
|
||||
- Find optimal resolution/FPS
|
||||
- Check codec compatibility
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Frigate still eating CPU?
|
||||
|
||||
**Use sub stream:**
|
||||
1. Find both main and sub streams with Strix
|
||||
2. Generate config with both
|
||||
3. Sub for detect, main for record
|
||||
4. CPU drops 5-10x
|
||||
|
||||
**Example:**
|
||||
```yaml
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/camera_sub # 640x480 for detect
|
||||
roles: [detect]
|
||||
- path: rtsp://127.0.0.1:8554/camera_main # 1920x1080 for record
|
||||
roles: [record]
|
||||
```
|
||||
|
||||
### Can't find specific stream quality?
|
||||
|
||||
**In web UI:**
|
||||
- Strix shows all found streams
|
||||
- Filter by resolution
|
||||
- Choose optimal FPS
|
||||
- Select codec (H264 recommended for Frigate)
|
||||
|
||||
### Stream works but no audio in Frigate?
|
||||
|
||||
**Check Strix stream details:**
|
||||
- "Has Audio" field shows if audio present
|
||||
- Some cameras have video-only streams
|
||||
- Try different stream URL from Strix results
|
||||
|
||||
### Discovery takes too long?
|
||||
|
||||
**Reduce search scope:**
|
||||
- Specify exact camera model (faster database lookup)
|
||||
- Lower "Max Streams" (stops after N found)
|
||||
- Reduce timeout (default 240s)
|
||||
|
||||
**In Advanced settings:**
|
||||
```
|
||||
Max Streams: 5 (instead of 10)
|
||||
Timeout: 120 (instead of 240)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
### Add Your Camera
|
||||
|
||||
Found working stream for camera not in database? [Add it here](https://gostrix.github.io/#/contribute).
|
||||
|
||||
### Report Bugs
|
||||
|
||||
- [GitHub Issues](https://github.com/eduard256/Strix/issues)
|
||||
- Include logs (set `STRIX_LOG_LEVEL=debug`)
|
||||
- Camera model and IP (if possible)
|
||||
|
||||
### Feature Requests
|
||||
|
||||
- [GitHub Discussions](https://github.com/eduard256/Strix/discussions)
|
||||
- Describe use case
|
||||
- Explain expected behavior
|
||||
|
||||
---
|
||||
|
||||
## Credits
|
||||
|
||||
- **Camera database:** [ispyconnect.com](https://www.ispyconnect.com)
|
||||
- **Inspiration:** [go2rtc](https://github.com/AlexxIT/go2rtc) by AlexxIT
|
||||
- **Community:** Home Assistant, Frigate NVR users
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
MIT License - use commercially, modify, distribute freely.
|
||||
|
||||
See [LICENSE](LICENSE) file for details.
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
- **Issues:** [GitHub Issues](https://github.com/eduard256/Strix/issues)
|
||||
- **Discussions:** [GitHub Discussions](https://github.com/eduard256/Strix/discussions)
|
||||
- **Docker:** [Docker Hub](https://hub.docker.com/r/eduard256/strix)
|
||||
|
||||
---
|
||||
|
||||
**Made for people tired of cameras without documentation**
|
||||
|
||||
*Tested on Chinese AliExpress junk that finally works now.*
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 53 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 55 KiB |
|
|
@ -1,15 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="512" width="512" viewBox="0 0 512.001 512.001">
|
||||
<g>
|
||||
<path style="fill:#7E57C2;" d="M124.477,378.183L9.347,495.779c21.628,21.628,56.695,21.628,78.324,0L119,464.45 c21.628,21.628,56.696,21.628,78.324,0l28.375-28.375C187.373,426.203,151.825,405.106,124.477,378.183z"/>
|
||||
<path style="fill:#7E57C2;" d="M447.27,55.383h-55.383V177.22c0.002-40.997,22.277-76.788,55.383-95.939 c16.293-9.425,35.207-14.822,55.383-14.822c0-6.982,0-11.077,0-11.077V0C472.065,0,447.27,24.796,447.27,55.383z"/>
|
||||
</g>
|
||||
<path style="fill:#9575CD;" d="M336.504,55.383C336.504,24.796,311.708,0,281.121,0v66.46c20.176,0,39.091,5.397,55.383,14.822 c33.107,19.153,55.383,54.946,55.383,95.945V55.383H336.504z"/>
|
||||
<path style="fill:#E8E0F5;" d="M391.887,209.772v-27.116c0-3.312,0-5.432,0-5.432c0-40.997-22.276-76.791-55.383-95.942 c-16.293-9.425-35.207-14.822-55.383-14.822v155.073C311.213,191.443,357.554,187.532,391.887,209.772z M314.351,143.996 c0-12.234,9.918-22.153,22.153-22.153s22.153,9.919,22.153,22.153c0,12.235-9.918,22.153-22.153,22.153 S314.351,156.231,314.351,143.996z"/>
|
||||
<path style="fill:#D1C4E9;" d="M391.887,177.221v32.551c5.151,3.336,10.037,7.246,14.55,11.76h96.216V66.46 c-20.176,0-39.091,5.397-55.383,14.822C414.164,100.434,391.888,136.225,391.887,177.221z M469.423,143.996 c0,12.235-9.918,22.153-22.153,22.153s-22.153-9.918-22.153-22.153c0-12.234,9.918-22.153,22.153-22.153 C459.504,121.843,469.423,131.762,469.423,143.996z"/>
|
||||
<path style="fill:#9575CD;" d="M281.121,221.532l-10.2,10.2L281.121,221.532z"/>
|
||||
<path style="fill:#B39DDB;" d="M406.438,221.533c34.606,34.606,34.606,90.712,0,125.319c-69.21,69.21-181.422,69.21-250.633,0.002 l-31.329,31.33c27.348,26.923,62.896,48.02,101.221,57.892c17.714,4.562,36.285,6.989,55.423,6.989 c122.349,0,221.532-99.182,221.532-221.531C502.653,221.533,406.437,221.532,406.438,221.533z"/>
|
||||
<path style="fill:#9575CD;" d="M281.121,221.532l125.318,125.319c34.606-34.606,34.606-90.713,0-125.319 c-4.515-4.514-9.401-8.425-14.551-11.761C357.554,187.532,311.213,191.443,281.121,221.532z"/>
|
||||
<path style="fill:#7E57C2;" d="M406.438,346.851L281.12,221.533l-10.199,10.2L155.802,346.851 C225.017,416.062,337.228,416.061,406.438,346.851z"/>
|
||||
<circle style="fill:#9575CD;" cx="336.507" cy="143.996" r="22.153"/>
|
||||
<circle style="fill:#7E57C2;" cx="447.274" cy="143.996" r="22.153"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
BIN
assets/main.gif
BIN
assets/main.gif
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB |
|
|
@ -1,202 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/eduard256/Strix/internal/api"
|
||||
"github.com/eduard256/Strix/internal/config"
|
||||
"github.com/eduard256/Strix/internal/utils/logger"
|
||||
"github.com/eduard256/Strix/webui"
|
||||
"github.com/go-chi/chi/v5"
|
||||
)
|
||||
|
||||
// Version is set at build time via ldflags:
|
||||
//
|
||||
// go build -ldflags="-X main.Version=1.0.10" ./cmd/strix
|
||||
var Version = "dev"
|
||||
|
||||
const Banner = `
|
||||
███████╗████████╗██████╗ ██╗██╗ ██╗
|
||||
██╔════╝╚══██╔══╝██╔══██╗██║╚██╗██╔╝
|
||||
███████╗ ██║ ██████╔╝██║ ╚███╔╝
|
||||
╚════██║ ██║ ██╔══██╗██║ ██╔██╗
|
||||
███████║ ██║ ██║ ██║██║██╔╝ ██╗
|
||||
╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝
|
||||
|
||||
Smart IP Camera Stream Discovery System
|
||||
Version: %s
|
||||
`
|
||||
|
||||
func main() {
|
||||
// Print banner to stderr so it doesn't mix with structured log output on stdout
|
||||
fmt.Fprintf(os.Stderr, Banner, Version)
|
||||
fmt.Fprintln(os.Stderr)
|
||||
|
||||
// Setup logger first, before anything else, so all messages use consistent format
|
||||
slogger, secrets := config.SetupLogger()
|
||||
slog.SetDefault(slogger)
|
||||
|
||||
// Load configuration (uses the logger for startup messages)
|
||||
cfg := config.Load(slogger)
|
||||
cfg.Version = Version
|
||||
|
||||
// Create adapter for our interface
|
||||
log := logger.NewAdapter(slogger, secrets)
|
||||
|
||||
log.Info("starting Strix",
|
||||
slog.String("version", Version),
|
||||
slog.String("go_version", os.Getenv("GO_VERSION")),
|
||||
slog.String("listen", cfg.Server.Listen),
|
||||
)
|
||||
|
||||
// Check if ffprobe is available
|
||||
if err := checkFFProbe(); err != nil {
|
||||
log.Warn("ffprobe not found, stream validation will be limited", slog.String("error", err.Error()))
|
||||
}
|
||||
|
||||
// Create API server
|
||||
apiServer, err := api.NewServer(cfg, secrets, log)
|
||||
if err != nil {
|
||||
log.Error("failed to create API server", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Create Web UI server
|
||||
webuiServer := webui.NewServer(log)
|
||||
|
||||
// Create unified router combining API and WebUI
|
||||
unifiedRouter := chi.NewRouter()
|
||||
|
||||
// Mount API routes at /api/v1/*
|
||||
unifiedRouter.Mount("/api/v1", apiServer.GetRouter())
|
||||
|
||||
// Mount WebUI routes at /* (serves everything else including root)
|
||||
unifiedRouter.Mount("/", webuiServer.GetRouter())
|
||||
|
||||
// Create unified HTTP server
|
||||
httpServer := &http.Server{
|
||||
Addr: cfg.Server.Listen,
|
||||
Handler: unifiedRouter,
|
||||
ReadTimeout: cfg.Server.ReadTimeout,
|
||||
WriteTimeout: cfg.Server.WriteTimeout,
|
||||
IdleTimeout: 120 * time.Second,
|
||||
}
|
||||
|
||||
// Start server in goroutine
|
||||
go func() {
|
||||
log.Info("server starting",
|
||||
slog.String("address", httpServer.Addr),
|
||||
slog.String("api_version", "v1"),
|
||||
)
|
||||
|
||||
if err := httpServer.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
||||
log.Error("server failed", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}()
|
||||
|
||||
// Print endpoints
|
||||
printEndpoints(cfg.Server.Listen)
|
||||
|
||||
// Wait for interrupt signal
|
||||
quit := make(chan os.Signal, 1)
|
||||
signal.Notify(quit, os.Interrupt, syscall.SIGTERM)
|
||||
<-quit
|
||||
|
||||
log.Info("shutting down server...")
|
||||
|
||||
// Graceful shutdown with timeout
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Shutdown server
|
||||
if err := httpServer.Shutdown(ctx); err != nil {
|
||||
log.Error("server shutdown failed", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
log.Info("server stopped gracefully")
|
||||
}
|
||||
|
||||
// checkFFProbe checks if ffprobe is available
|
||||
func checkFFProbe() error {
|
||||
// Try to execute ffprobe -version
|
||||
cmd := os.Getenv("PATH")
|
||||
if cmd == "" {
|
||||
return fmt.Errorf("PATH environment variable not set")
|
||||
}
|
||||
|
||||
// For now, just check if ffprobe exists in common locations
|
||||
locations := []string{
|
||||
"/usr/bin/ffprobe",
|
||||
"/usr/local/bin/ffprobe",
|
||||
"/opt/homebrew/bin/ffprobe",
|
||||
}
|
||||
|
||||
for _, loc := range locations {
|
||||
if _, err := os.Stat(loc); err == nil {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
return fmt.Errorf("ffprobe not found in common locations")
|
||||
}
|
||||
|
||||
// getLocalIP returns the local IP address of the machine
|
||||
func getLocalIP() string {
|
||||
addrs, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
return "localhost"
|
||||
}
|
||||
|
||||
for _, addr := range addrs {
|
||||
if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
|
||||
if ipnet.IP.To4() != nil {
|
||||
return ipnet.IP.String()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "localhost"
|
||||
}
|
||||
|
||||
// printEndpoints prints available endpoints
|
||||
func printEndpoints(listen string) {
|
||||
// Extract port from listen address
|
||||
port := "4567"
|
||||
if len(listen) > 0 {
|
||||
if listen[0] == ':' {
|
||||
port = listen[1:]
|
||||
} else {
|
||||
// Parse host:port format
|
||||
for i := len(listen) - 1; i >= 0; i-- {
|
||||
if listen[i] == ':' {
|
||||
port = listen[i+1:]
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get local IP
|
||||
localIP := getLocalIP()
|
||||
url := fmt.Sprintf("http://%s:%s", localIP, port)
|
||||
|
||||
// ANSI escape codes for clickable link (OSC 8 hyperlink)
|
||||
clickableURL := fmt.Sprintf("\033]8;;%s\033\\%s\033]8;;\033\\", url, url)
|
||||
|
||||
fmt.Fprintln(os.Stderr, "\nWeb Interface:")
|
||||
fmt.Fprintln(os.Stderr, "────────────────────────────────────────────────")
|
||||
fmt.Fprintf(os.Stderr, " Open in browser: %s\n", clickableURL)
|
||||
fmt.Fprintln(os.Stderr, "────────────────────────────────────────────────")
|
||||
|
||||
fmt.Fprintln(os.Stderr, "\nDocumentation: https://github.com/eduard256/Strix")
|
||||
}
|
||||
|
|
@ -1,517 +0,0 @@
|
|||
# 📹 IoT2mqtt Camera Database Format Specification
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Last Updated:** 2025-10-17
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Overview
|
||||
|
||||
The camera database is a collection of JSON files containing URL patterns and connection details for IP cameras from various manufacturers. This format is designed to be:
|
||||
|
||||
- **Universal**: Works with any IP camera brand
|
||||
- **Extensible**: Easy to add new models and protocols
|
||||
- **Human-readable**: Simple JSON structure
|
||||
- **Parseable**: Straightforward for automated tools
|
||||
|
||||
---
|
||||
|
||||
## 📁 Directory Structure
|
||||
|
||||
```
|
||||
connectors/cameras/data/brands/
|
||||
├── index.json # Master list of all brands
|
||||
├── d-link.json # D-Link camera models
|
||||
├── hikvision.json # Hikvision camera models
|
||||
├── dahua.json # Dahua camera models
|
||||
├── axis.json # Axis camera models
|
||||
└── ... # Additional brands
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 File Formats
|
||||
|
||||
### 1. **index.json** - Brand Directory
|
||||
|
||||
Lists all available camera brands with metadata.
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"value": "d-link",
|
||||
"label": "D-Link",
|
||||
"models_count": 250,
|
||||
"entries_count": 85,
|
||||
"logo": "/assets/brands/d-link.svg"
|
||||
},
|
||||
{
|
||||
"value": "hikvision",
|
||||
"label": "Hikvision",
|
||||
"models_count": 320,
|
||||
"entries_count": 95,
|
||||
"logo": "/assets/brands/hikvision.svg"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**Fields:**
|
||||
- `value` (string, required): Brand identifier (lowercase, URL-safe)
|
||||
- `label` (string, required): Display name
|
||||
- `models_count` (integer): Total number of camera models
|
||||
- `entries_count` (integer): Number of URL pattern entries
|
||||
- `logo` (string, optional): Path to brand logo
|
||||
|
||||
---
|
||||
|
||||
### 2. **{brand}.json** - Brand Camera Database
|
||||
|
||||
Contains all URL patterns and connection details for a specific brand.
|
||||
|
||||
```json
|
||||
{
|
||||
"brand": "D-Link",
|
||||
"brand_id": "d-link",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"website": "https://www.dlink.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": ["DCS-930L", "DCS-930LB", "DCS-930LB1"],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "live3.sdp",
|
||||
"notes": "Main HD stream"
|
||||
},
|
||||
{
|
||||
"models": ["DCS-930L", "DCS-932L"],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "video.cgi?resolution=VGA",
|
||||
"notes": "Medium quality fallback"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Root Fields:**
|
||||
- `brand` (string, required): Brand display name
|
||||
- `brand_id` (string, required): Brand identifier (must match filename)
|
||||
- `last_updated` (string, ISO 8601 date): When database was last updated
|
||||
- `source` (string): Where the data came from (e.g., "ispyconnect.com")
|
||||
- `website` (string, optional): Manufacturer's official website
|
||||
- `entries` (array, required): List of URL pattern entries
|
||||
|
||||
---
|
||||
|
||||
### 3. **Entry Object** - URL Pattern Entry
|
||||
|
||||
Each entry represents a specific URL pattern that works for one or more camera models.
|
||||
|
||||
```json
|
||||
{
|
||||
"models": ["DCS-930L", "DCS-930LB", "DCS-930LB1"],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "live3.sdp",
|
||||
"auth_required": true,
|
||||
"notes": "Main HD stream with audio"
|
||||
}
|
||||
```
|
||||
|
||||
**Fields:**
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|-------|------|----------|-------------|
|
||||
| `models` | array[string] | ✅ Yes | List of camera model names/numbers this URL works for |
|
||||
| `type` | string | ✅ Yes | Stream type: `FFMPEG`, `MJPEG`, `JPEG`, `VLC`, `H264` |
|
||||
| `protocol` | string | ✅ Yes | Protocol: `rtsp`, `http`, `https` |
|
||||
| `port` | integer | ✅ Yes | Port number (554 for RTSP, 80/443 for HTTP) |
|
||||
| `url` | string | ✅ Yes | URL path (without protocol/host/port) |
|
||||
| `auth_required` | boolean | No | Whether authentication is needed (default: true) |
|
||||
| `notes` | string | No | Human-readable description |
|
||||
|
||||
---
|
||||
|
||||
## 🔧 URL Template Variables
|
||||
|
||||
URL paths support the following template variables:
|
||||
|
||||
| Variable | Description | Example |
|
||||
|----------|-------------|---------|
|
||||
| `{username}` | Camera username | `admin` |
|
||||
| `{password}` | Camera password | `12345` |
|
||||
| `{ip}` | Camera IP address | `192.168.1.100` |
|
||||
| `{port}` | Port number | `554` |
|
||||
| `{channel}` | Camera channel (for DVRs) | `1` |
|
||||
| `{width}` | Video width | `1920` |
|
||||
| `{height}` | Video height | `1080` |
|
||||
|
||||
**Example:**
|
||||
```
|
||||
Template: rtsp://{username}:{password}@{ip}:{port}/live3.sdp
|
||||
Result: rtsp://admin:12345@192.168.1.100:554/live3.sdp
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Stream Types
|
||||
|
||||
### FFMPEG (Recommended)
|
||||
- **Protocol**: RTSP, HTTP
|
||||
- **Format**: H.264, H.265
|
||||
- **Use case**: High-quality video with audio
|
||||
- **Priority**: 🥇 First choice
|
||||
|
||||
### MJPEG
|
||||
- **Protocol**: HTTP
|
||||
- **Format**: Motion JPEG
|
||||
- **Use case**: Medium quality, wide compatibility
|
||||
- **Priority**: 🥈 Second choice
|
||||
|
||||
### JPEG
|
||||
- **Protocol**: HTTP
|
||||
- **Format**: Still images
|
||||
- **Use case**: Snapshot-only cameras or fallback
|
||||
- **Priority**: 🥉 Last resort
|
||||
|
||||
### VLC
|
||||
- **Protocol**: RTSP, HTTP
|
||||
- **Format**: Various (VLC-specific)
|
||||
- **Use case**: Compatibility with VLC player
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Priority Order for Testing
|
||||
|
||||
When testing multiple URLs for a camera model, use this priority:
|
||||
|
||||
1. **RTSP (type="FFMPEG")** - Best quality, supports audio
|
||||
2. **HTTP MJPEG** - Good compatibility
|
||||
3. **HTTP JPEG** - Snapshot fallback
|
||||
|
||||
**Example:**
|
||||
```python
|
||||
def get_urls_for_model(brand_data, model_name):
|
||||
entries = [e for e in brand_data["entries"] if model_name in e["models"]]
|
||||
|
||||
# Sort by priority
|
||||
priority = {"FFMPEG": 1, "MJPEG": 2, "JPEG": 3, "VLC": 4}
|
||||
entries.sort(key=lambda e: priority.get(e["type"], 99))
|
||||
|
||||
return entries
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Search and Lookup
|
||||
|
||||
### By Brand
|
||||
```python
|
||||
# Load brand file
|
||||
with open(f"data/brands/{brand_id}.json") as f:
|
||||
brand_data = json.load(f)
|
||||
```
|
||||
|
||||
### By Model
|
||||
```python
|
||||
# Find all entries for a specific model
|
||||
def find_model_entries(brand_data, model_name):
|
||||
return [
|
||||
entry for entry in brand_data["entries"]
|
||||
if model_name.upper() in [m.upper() for m in entry["models"]]
|
||||
]
|
||||
```
|
||||
|
||||
### Fuzzy Search
|
||||
```python
|
||||
# Search across all models (case-insensitive, partial match)
|
||||
def search_model(brand_data, query):
|
||||
query = query.upper()
|
||||
results = []
|
||||
for entry in brand_data["entries"]:
|
||||
if any(query in model.upper() for model in entry["models"]):
|
||||
results.append(entry)
|
||||
return results
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌐 URL Construction
|
||||
|
||||
### RTSP URL
|
||||
```python
|
||||
def build_rtsp_url(entry, ip, username, password):
|
||||
return f"rtsp://{username}:{password}@{ip}:{entry['port']}/{entry['url']}"
|
||||
|
||||
# Example:
|
||||
# rtsp://admin:12345@192.168.1.100:554/live3.sdp
|
||||
```
|
||||
|
||||
### HTTP URL
|
||||
```python
|
||||
def build_http_url(entry, ip, username, password):
|
||||
protocol = entry["protocol"] # "http" or "https"
|
||||
return f"{protocol}://{username}:{password}@{ip}:{entry['port']}/{entry['url']}"
|
||||
|
||||
# Example:
|
||||
# http://admin:12345@192.168.1.100:80/video.cgi?resolution=VGA
|
||||
```
|
||||
|
||||
### With Template Variables
|
||||
```python
|
||||
def build_url(entry, ip, username, password, **kwargs):
|
||||
url_path = entry["url"]
|
||||
|
||||
# Replace template variables
|
||||
replacements = {
|
||||
"username": username,
|
||||
"password": password,
|
||||
"ip": ip,
|
||||
"port": str(entry["port"]),
|
||||
**kwargs # Additional variables (channel, width, height, etc.)
|
||||
}
|
||||
|
||||
for key, value in replacements.items():
|
||||
url_path = url_path.replace(f"{{{key}}}", value)
|
||||
|
||||
# Build full URL
|
||||
if entry["protocol"] == "rtsp":
|
||||
return f"rtsp://{username}:{password}@{ip}:{entry['port']}/{url_path}"
|
||||
else:
|
||||
return f"{entry['protocol']}://{username}:{password}@{ip}:{entry['port']}/{url_path}"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Validation Rules
|
||||
|
||||
### Entry Validation
|
||||
```python
|
||||
def validate_entry(entry):
|
||||
# Required fields
|
||||
assert "models" in entry and isinstance(entry["models"], list)
|
||||
assert len(entry["models"]) > 0
|
||||
assert "type" in entry and entry["type"] in ["FFMPEG", "MJPEG", "JPEG", "VLC", "H264"]
|
||||
assert "protocol" in entry and entry["protocol"] in ["rtsp", "http", "https"]
|
||||
assert "port" in entry and isinstance(entry["port"], int)
|
||||
assert "url" in entry and isinstance(entry["url"], str)
|
||||
|
||||
# Port ranges
|
||||
assert 1 <= entry["port"] <= 65535
|
||||
|
||||
# Common ports check
|
||||
if entry["protocol"] == "rtsp":
|
||||
assert entry["port"] in [554, 8554, 7447] # Common RTSP ports
|
||||
elif entry["protocol"] == "http":
|
||||
assert entry["port"] in [80, 8080, 8000, 8081] # Common HTTP ports
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Naming Conventions
|
||||
|
||||
### Brand IDs
|
||||
- **Format**: lowercase, kebab-case
|
||||
- **Examples**: `d-link`, `hikvision`, `tp-link`
|
||||
- **Invalid**: `D-Link`, `D_Link`, `dlink`
|
||||
|
||||
### Model Names
|
||||
- **Format**: UPPERCASE with hyphens (as manufacturer specifies)
|
||||
- **Examples**: `DCS-930L`, `DS-2CD2142FWD-I`, `IPC-HFW1230S`
|
||||
- **Keep original**: Don't normalize or change manufacturer names
|
||||
|
||||
### Protocol Values
|
||||
- `rtsp` - RTSP protocol
|
||||
- `http` - HTTP protocol
|
||||
- `https` - HTTPS protocol
|
||||
- **Invalid**: `RTSP`, `Http`, `tcp`
|
||||
|
||||
### Type Values
|
||||
- `FFMPEG` - H.264/H.265 streams (RTSP or HTTP)
|
||||
- `MJPEG` - Motion JPEG streams
|
||||
- `JPEG` - Still image snapshots
|
||||
- `VLC` - VLC-specific streams
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Versioning and Updates
|
||||
|
||||
### Version Format
|
||||
```json
|
||||
{
|
||||
"brand": "D-Link",
|
||||
"brand_id": "d-link",
|
||||
"database_version": "1.2.0",
|
||||
"last_updated": "2025-10-17T14:30:00Z",
|
||||
"entries": [...]
|
||||
}
|
||||
```
|
||||
|
||||
### Update Policy
|
||||
- **Patch** (1.0.x): Add new models to existing entries
|
||||
- **Minor** (1.x.0): Add new URL patterns/entries
|
||||
- **Major** (x.0.0): Breaking changes to structure
|
||||
|
||||
---
|
||||
|
||||
## 📚 Examples
|
||||
|
||||
### Complete Brand File Example
|
||||
|
||||
**foscam.json:**
|
||||
```json
|
||||
{
|
||||
"brand": "Foscam",
|
||||
"brand_id": "foscam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"website": "https://www.foscam.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": ["FI9821P", "FI9826P", "FI9821W"],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "videoMain",
|
||||
"notes": "Main stream HD"
|
||||
},
|
||||
{
|
||||
"models": ["FI9821P", "FI9826P"],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "videoSub",
|
||||
"notes": "Sub stream SD"
|
||||
},
|
||||
{
|
||||
"models": ["FI9821P", "FI9826P", "FI9821W", "C1"],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 88,
|
||||
"url": "cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr={username}&pwd={password}",
|
||||
"notes": "MJPEG fallback"
|
||||
},
|
||||
{
|
||||
"models": ["FI9821P", "C1", "C2"],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 88,
|
||||
"url": "cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr={username}&pwd={password}",
|
||||
"notes": "Snapshot"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Tools and Scripts
|
||||
|
||||
### Parser Script (Python)
|
||||
```python
|
||||
# scripts/parse_ispyconnect.py
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import json
|
||||
|
||||
def parse_brand_page(brand_id):
|
||||
url = f"https://www.ispyconnect.com/camera/{brand_id}"
|
||||
response = requests.get(url)
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
|
||||
table = soup.find('table', class_='table-striped')
|
||||
entries = []
|
||||
|
||||
for row in table.find_all('tr')[1:]: # Skip header
|
||||
cols = row.find_all('td')
|
||||
if len(cols) < 4:
|
||||
continue
|
||||
|
||||
models_text = cols[0].get_text()
|
||||
models = [m.strip() for m in models_text.split(',')]
|
||||
|
||||
entry = {
|
||||
"models": models,
|
||||
"type": cols[1].get_text(strip=True),
|
||||
"protocol": cols[2].get_text(strip=True).replace('://', ''),
|
||||
"port": int(row.get('data-port', 0)),
|
||||
"url": cols[3].get_text(strip=True)
|
||||
}
|
||||
|
||||
entries.append(entry)
|
||||
|
||||
return {
|
||||
"brand": brand_id.title(),
|
||||
"brand_id": brand_id,
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": entries
|
||||
}
|
||||
```
|
||||
|
||||
### Validator Script
|
||||
```python
|
||||
# scripts/validate_database.py
|
||||
import json
|
||||
import os
|
||||
|
||||
def validate_brand_file(filepath):
|
||||
with open(filepath) as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Check required fields
|
||||
assert "brand" in data
|
||||
assert "brand_id" in data
|
||||
assert "entries" in data
|
||||
|
||||
# Validate each entry
|
||||
for i, entry in enumerate(data["entries"]):
|
||||
assert "models" in entry, f"Entry {i} missing models"
|
||||
assert "type" in entry, f"Entry {i} missing type"
|
||||
assert "protocol" in entry, f"Entry {i} missing protocol"
|
||||
assert "port" in entry, f"Entry {i} missing port"
|
||||
assert "url" in entry, f"Entry {i} missing url"
|
||||
|
||||
print(f"✅ {filepath} is valid")
|
||||
|
||||
# Run validation
|
||||
for file in os.listdir('data/brands/'):
|
||||
if file.endswith('.json') and file != 'index.json':
|
||||
validate_brand_file(f'data/brands/{file}')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📄 License and Attribution
|
||||
|
||||
- **Source**: ispyconnect.com camera database
|
||||
- **Usage**: Free for IoT2mqtt project
|
||||
- **Attribution**: Must credit ispyconnect.com as data source
|
||||
- **Updates**: Community-contributed updates welcome
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
To add or update camera models:
|
||||
|
||||
1. Follow the JSON format specification
|
||||
2. Validate using `scripts/validate_database.py`
|
||||
3. Test URLs with real cameras when possible
|
||||
4. Submit pull request with changes
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
For questions about the database format:
|
||||
- GitHub Issues: https://github.com/eduard256/Strix/issues
|
||||
- Documentation: https://github.com/eduard256/Strix#readme
|
||||
|
||||
---
|
||||
|
||||
**End of Specification**
|
||||
|
|
@ -1,258 +0,0 @@
|
|||
{
|
||||
"brand": "255 Ip Cam",
|
||||
"brand_id": "255-ip-cam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"255",
|
||||
"32X 5MP",
|
||||
"C6F0SgZ3N0PfL2",
|
||||
"C6F0SoZ3N0P9L2",
|
||||
"CF0Sgzonopfl2",
|
||||
"DENVER IPO-1320MK2",
|
||||
"DRC6F0SgZ3N0P6L2",
|
||||
"es cam g02",
|
||||
"HW0029",
|
||||
"ICAM",
|
||||
"IIII-551433-ABEBF",
|
||||
"IUK 5A1",
|
||||
"Other",
|
||||
"phr04k",
|
||||
"pppp-216658-ecdcb",
|
||||
"ProeliteIP01axBLK",
|
||||
"q52-5mp-wh",
|
||||
"SRICAM",
|
||||
"tttt-489242-vxvmx",
|
||||
"xly0144"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"255",
|
||||
"ICAM",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"255",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3030",
|
||||
"C6F0SoZ3N0P9L2",
|
||||
"IIII-259624-EAADF",
|
||||
"IUK 5A1",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4455",
|
||||
"IPC365"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C9F0SgZ3N0PbL0"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 8082,
|
||||
"url": "/tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"common"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]*[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"H.265"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"icam",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ICAM",
|
||||
"Other",
|
||||
"PoE"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 5544,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ip66minicam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1/h264major"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Ipc"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Ipc",
|
||||
"ip-camera",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-V380-Q79"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IUK 5A1",
|
||||
"Other",
|
||||
"sricam"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 81,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"kiina"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 10554,
|
||||
"url": "1/h264major"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "/video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320*240"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"sioplus"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/video1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"top"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8080,
|
||||
"url": "/videofeed"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
{
|
||||
"brand": "2n Helios",
|
||||
"brand_id": "2n-helios",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"IP-CAMERA"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAMERA",
|
||||
"Vario"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/h264_stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAMERA"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VARIO"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot/view[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VARIO"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
{
|
||||
"brand": "307 Hi Silicon",
|
||||
"brand_id": "307-hi-silicon",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"101"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"318e"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "user=[USERNAME]&password=[PASSWORD]&channel=1&stream=0.sdp?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HI3516C"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HI3518E"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
{
|
||||
"brand": "360 Eye",
|
||||
"brand_id": "360-eye",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"1111",
|
||||
"EC101-B3Y2",
|
||||
"EC107-B3Y2",
|
||||
"EC107Y-B3Y10",
|
||||
"EC38",
|
||||
"EC73-V13",
|
||||
"EC76-U15",
|
||||
"Other",
|
||||
"v380",
|
||||
"V380"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360",
|
||||
"V380"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360",
|
||||
"360eye",
|
||||
"360Eye",
|
||||
"360EYE",
|
||||
"360EYE PRO",
|
||||
"EC101-X15",
|
||||
"EC76",
|
||||
"EC76-U15",
|
||||
"EC80_V13",
|
||||
"EC80-X15",
|
||||
"i360",
|
||||
"Other",
|
||||
"v380",
|
||||
"V380"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live/ch00_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360",
|
||||
"360Eye Pro"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 1935,
|
||||
"url": "LowResolutionVideo"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360eye",
|
||||
"EC101-X15",
|
||||
"EC107-B3Y2",
|
||||
"EC107Y-B3Y10",
|
||||
"EC73-N13",
|
||||
"IPC365",
|
||||
"v380"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360EYE",
|
||||
"360Eye Pro",
|
||||
"EC101Y-B3Y10",
|
||||
"IPC365"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "live_mpeg4.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360EYE",
|
||||
"360EYE PRO",
|
||||
"EC101-X15",
|
||||
"EC107-B3Y2",
|
||||
"EC73-N13",
|
||||
"EC76",
|
||||
"EC76-U15",
|
||||
"eyes",
|
||||
"IPC365",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam/realmonitor?channel=[CHANNEL]&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"360EYE EC129-X15",
|
||||
"EC101-B3Y2",
|
||||
"EC101-X15",
|
||||
"EC101Y-B3Y10",
|
||||
"EC107-X15",
|
||||
"EC37",
|
||||
"EC73-N13",
|
||||
"EC73-V13",
|
||||
"PW2K2N06E-GTWY"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=0&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"603",
|
||||
"Other",
|
||||
"V380"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"E101-B3Y2",
|
||||
"EC101Y-B3Y10"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 1935,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC101-B3Y2",
|
||||
"EC107-B3Y2",
|
||||
"EC76-X15",
|
||||
"epc101",
|
||||
"Other",
|
||||
"v380",
|
||||
"V380 Wifi IP Cam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live/ch00_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC101-X15",
|
||||
"EC132-X15",
|
||||
"EC80-X15"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=8080&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC101-X15",
|
||||
"mv12241966"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "mms",
|
||||
"port": 554,
|
||||
"url": "/img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC101-X15",
|
||||
"PW2L2A06A-GTY"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC107-B3Y2",
|
||||
"EC73-N13"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/LowResolutionVideo"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC107-B3Y2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live_mpeg4.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC107-X15",
|
||||
"EC137-X15",
|
||||
"EC80-X15",
|
||||
"XM80-8MP"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/realmonitor?channel=0&stream=0.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EC137Y-B3Y2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SL-CAM",
|
||||
"V380",
|
||||
"y335"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/onvif1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"V380"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "mms",
|
||||
"port": 0,
|
||||
"url": "img/video.asf"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
{
|
||||
"brand": "3com",
|
||||
"brand_id": "3com",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"EX11402-WIFI",
|
||||
"Other",
|
||||
"rc8221",
|
||||
"XHCI-SE"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EX11402-WIFI",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]*[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EX11402-WIFI",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Ipela"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "goform/video2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPELA",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpeg.cgi?user=[USERNAME]&password=[PASSWORD]&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"RC8221"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/image.jpg?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video?submenu=mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"RC8221"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=3"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "3eyes3",
|
||||
"brand_id": "3eyes3",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"E-2100M"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,474 +0,0 @@
|
|||
{
|
||||
"brand": "3g Ipcam",
|
||||
"brand_id": "3g-ipcam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"002a",
|
||||
"720 P IP CAMERA",
|
||||
"L Series",
|
||||
"Other",
|
||||
"SRICAM SP004"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"002A",
|
||||
"IPCAM V380",
|
||||
"IPC-HFW2231R-ZS-IRE6",
|
||||
"Other",
|
||||
"P2P"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"002A",
|
||||
"720 P IP CAMERA",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"002A",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1234",
|
||||
"C6F0SEZ0N0P0L0",
|
||||
"C6F0SFZ3NOP5L0",
|
||||
"C6F0SGZ0N0P3L0",
|
||||
"C6F0SGZ3N0P6L2",
|
||||
"C6F0SiZ3N0P0L0",
|
||||
"C6F0SoZ3N0PcL2",
|
||||
"C9F0SeZ0N0P4L0",
|
||||
"C9F0SEZ0N0P4L0",
|
||||
"C9F0SGZ0N0P2L1",
|
||||
"C9F0SgZ3NP8L0",
|
||||
"Chemin",
|
||||
"F-SERIES",
|
||||
"Other",
|
||||
"SRICAM"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"2016w"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"2018",
|
||||
"F-series",
|
||||
"P2P"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]*[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3245",
|
||||
"328",
|
||||
"3285",
|
||||
"3289",
|
||||
"454",
|
||||
"4556",
|
||||
"546577",
|
||||
"720 P IP CAMERA",
|
||||
"B987w",
|
||||
"BM16",
|
||||
"C6F0SeZ0N0P0L0",
|
||||
"C6F0SfZ0N0P3L0",
|
||||
"C6F0SfZ3NOP5L0",
|
||||
"C6F0SgZ0N0P3L0",
|
||||
"C6F0SgZ3N0P6L2",
|
||||
"C6F0SIZ3N0P0L0",
|
||||
"C9F0SgZ0N0P2L1",
|
||||
"CT0276WHUK",
|
||||
"Fd7902",
|
||||
"GGGG-152116-FCEEA",
|
||||
"L SERIES",
|
||||
"Other",
|
||||
"p2p",
|
||||
"sr1",
|
||||
"SRICAM SP004"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"355566",
|
||||
"546577",
|
||||
"Other",
|
||||
"X6130"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3g Ipcam: C6F0SoZ3N0PdL2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3g Ipcam: C6F0SoZ3N0PdL2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1/h264major"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"556",
|
||||
"c6f0SoZ3n0P9L2",
|
||||
"ipc"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/ch0_0.264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"590"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "iphone/11?[USERNAME]:[PASSWORD]&"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"720 P IP CAMERA",
|
||||
"IPC701939"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"720 P IP CAMERA"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"720 P IP CAMERA"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"720 P IP CAMERA"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C6F0SEZ0N0P0L0",
|
||||
"c9F0SeZ0N0P4L0",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C6F0SFZ0N0P3L0",
|
||||
"PPCN060874FEGNW"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C6F0SGZ3N0P6L2",
|
||||
"C9F0SeZ0N0P7L0",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C9F0SEZ0N0P7L0"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 10554,
|
||||
"url": "1/h264major"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc720"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAM"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "mms",
|
||||
"port": 0,
|
||||
"url": "img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAM"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "mms",
|
||||
"port": 554,
|
||||
"url": "/img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCAM v380",
|
||||
"IPCAM V380"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live/ch00_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCAM V380",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCAM V380",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 10554,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCAM V380",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"L SERIES",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"L SERIES",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NEXHT360"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 1935,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "live?camera=[CHANNEL]&fps=5&quality=75&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video?submenu=mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg?q=30&fps=33&id=0.5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"P2P"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 10554,
|
||||
"url": "/tcp/av0_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "api/mjpegvideo.cgi?InputNumber=1&StreamNumber=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"rc8025"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SCRICAM AP004",
|
||||
"SRICAM AP006"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
{
|
||||
"brand": "3r",
|
||||
"brand_id": "3r",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"Prestige DVR",
|
||||
"PRESTİGE DVR"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "current[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "ipcam/avc.cgi?audiostream=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Prestige DVR"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image/[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Prestige DVR"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "/control/faststream.jpg?stream=MxPEG&needlength&fps=6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
{
|
||||
"brand": "3svision",
|
||||
"brand_id": "3svision",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"N3011",
|
||||
"N6078",
|
||||
"N6079"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam1/onvif-h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N3071",
|
||||
"N6078",
|
||||
"N9071",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam1/onvif-h264-1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N3072",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N6013"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N6071",
|
||||
"N8072",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N6076"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N8072"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image/[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N8072",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N9073"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi?date=1&clock=1&camera=[CHANNEL]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "GetData.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam1/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam2/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam3/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam4/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "current[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,245 +0,0 @@
|
|||
{
|
||||
"brand": "3xlogic",
|
||||
"brand_id": "3xlogic",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"3mp",
|
||||
"vsx"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/video.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3mp",
|
||||
"CMC-3MP-OD-I",
|
||||
"VSX-2MP-MVD40",
|
||||
"VX-3P28-OD-I"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3mp"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"avtech",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVTECH",
|
||||
"vsx-2mp-d",
|
||||
"VX-3PV-B-I",
|
||||
"VX-4S28-MD-I"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"vsx-2m-d",
|
||||
"VSX-2MP-MVD40"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "video.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/1/image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Radio"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"rc8025"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vigil Server"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "live?camera=[CHANNEL]&quality=75&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vigil Server"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "live?camera=[USERNAME]&quality=75&resolution=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vigil Server"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "live?camera=[USERNAME]&quality=75&fps=5&resolution=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vigil Server"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "live?camera=[CHANNEL]&fps=5&quality=75&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vsx",
|
||||
"VX-3P28-MD-IA"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VSX-2MP-MVD40"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/video.mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VX-3M-F-AWD",
|
||||
"VX-3m-OD2-RIAWD"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 555,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VX-3P28-MD-IA"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VX-4S28-MD-I"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=00&authbasic=[AUTH]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "4er",
|
||||
"brand_id": "4er",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/av0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
{
|
||||
"brand": "4mp Ip Camera",
|
||||
"brand_id": "4mp-ip-camera",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"47680146",
|
||||
"KEYE",
|
||||
"Other",
|
||||
"Security"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"g-240",
|
||||
"G42"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ID002A",
|
||||
"IPB8224"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 81,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc-2mpvd28w"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/h264_stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc-2mpvd28w"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/?action=stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "VIDEO.CGI"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"uniview"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif-stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"zero"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8090,
|
||||
"url": "/video.mjpg?q=30&fps=33&id=0.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
{
|
||||
"brand": "4sdot",
|
||||
"brand_id": "4sdot",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"4331911061",
|
||||
"4S-B05W-720P",
|
||||
"B05W-720"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4S-B05W-720P",
|
||||
"B05W-720P",
|
||||
"CMOS720P",
|
||||
"hx series"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"B05W-720P",
|
||||
"B07BW-1080P-HX",
|
||||
"HX series",
|
||||
"HX SERIES",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"B07BW-1080P-HX",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/av0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PW638K"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 81,
|
||||
"url": "videostream.cgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"brand": "4ucam",
|
||||
"brand_id": "4ucam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Eyes DVR",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "/cgi-bin/Stream?Video?Acc=[USERNAME]?Pwd=[PASSWORD]?webcamPWD=UserCookie00000"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EYES DVR",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"EYES DVR",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "shot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/Stream?Video?Acc=[USERNAME]?Pwd=[PASSWORD]?webcamPWD=UserCookie00000"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam/realmonitor"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "stream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "capture[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "loginfree.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg?cam=[CHANNEL]&quality=3&size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
{
|
||||
"brand": "4xem",
|
||||
"brand_id": "4xem",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"IP3112",
|
||||
"IPCAMW45",
|
||||
"Other",
|
||||
"PT 3114",
|
||||
"PZ6114",
|
||||
"W50",
|
||||
"WLPTG",
|
||||
"WLPTS",
|
||||
"WLPTZ",
|
||||
"WPT",
|
||||
"wptz"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP3112",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP3112"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IpCamW45",
|
||||
"KX SERIES",
|
||||
"Other",
|
||||
"W45"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCAMW45",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"KX SERIES",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"PZ6114"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg?cam=[CHANNEL]&quality=3&size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"Other3"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PT 3114"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/video.jpg?cam=0&quality=3&size=2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "4xptz",
|
||||
"brand_id": "4xptz",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"30x"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live_mpeg4.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"M400"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/stream0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "555",
|
||||
"brand_id": "555",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "5mpbullet",
|
||||
"brand_id": "5mpbullet",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Onvif/live/1/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "7-star",
|
||||
"brand_id": "7-star",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"WIPB-SC22"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,763 +0,0 @@
|
|||
{
|
||||
"brand": "7links",
|
||||
"brand_id": "7links",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/[CHANNEL+1]01"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/[CHANNEL]01"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/[CHANNEL+1]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/[CHANNEL]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3628-675",
|
||||
"PX-3615-675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]*[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3655",
|
||||
"3786-675",
|
||||
"IPC-440HD",
|
||||
"IPC-710IR",
|
||||
"Meins",
|
||||
"Other",
|
||||
"PX3309",
|
||||
"PX3615",
|
||||
"PX-3628-675",
|
||||
"PX-3671-675 LHL",
|
||||
"px-3688-675",
|
||||
"px-3722-675",
|
||||
"PX3744",
|
||||
"Sitzplatz"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3655",
|
||||
"ipc-710ir",
|
||||
"ipc-720",
|
||||
"IP-CAM",
|
||||
"PX 3675",
|
||||
"PX3309",
|
||||
"PX-3615"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3655",
|
||||
"7LinksCamBarn",
|
||||
"IPC-380",
|
||||
"IPC-720",
|
||||
"IPC-720 HD",
|
||||
"IPC-800.FHD",
|
||||
"ipc900.ptz",
|
||||
"NX4275",
|
||||
"NX-4284-675",
|
||||
"PX3615",
|
||||
"PX-3688-675",
|
||||
"PX-3755"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/ch0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3671",
|
||||
"3677",
|
||||
"3677-675",
|
||||
"3720-675",
|
||||
"3720-919",
|
||||
"3755",
|
||||
"Incam",
|
||||
"ipc-720",
|
||||
"IPC-760HD",
|
||||
"IPC-770HD",
|
||||
"IP-Cam-in",
|
||||
"Other",
|
||||
"PX3309",
|
||||
"PX-3671-675 LHL",
|
||||
"px-3675",
|
||||
"px-3719-675",
|
||||
"px-3720-675",
|
||||
"PX-3720-675",
|
||||
"Überwachung"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3671",
|
||||
"3677",
|
||||
"3677-675",
|
||||
"3720-919",
|
||||
"IPC-440.HD",
|
||||
"ipc-710ir",
|
||||
"IPC-710IR",
|
||||
"IP-Cam-in",
|
||||
"IP-Wi-Fi",
|
||||
"lenacam",
|
||||
"Other",
|
||||
"PX 3675",
|
||||
"px 3675-675",
|
||||
"PX3309",
|
||||
"PX3614_675",
|
||||
"PX3615",
|
||||
"px-3671",
|
||||
"PX-3671-675 LHL",
|
||||
"px-3688-675",
|
||||
"px-3722-675",
|
||||
"Px3722-675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3671",
|
||||
"as",
|
||||
"moja",
|
||||
"Other",
|
||||
"PX3614_12",
|
||||
"PX3615",
|
||||
"PX-3615-675",
|
||||
"px-3671",
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3677",
|
||||
"374411",
|
||||
"3755",
|
||||
"ipc-20hd",
|
||||
"IPC-340HD",
|
||||
"IPC-440.HD",
|
||||
"IPC440HD",
|
||||
"IPC-720",
|
||||
"IPC-770HD",
|
||||
"IPC-850.FHD",
|
||||
"Other",
|
||||
"Px3722-675",
|
||||
"px3744",
|
||||
"PX-3744",
|
||||
"Px3744-675",
|
||||
"px3755",
|
||||
"PX-3755",
|
||||
"PX-3765-675",
|
||||
"px-3775",
|
||||
"PX-4760"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=[USERNAME]&pwd=[PASSWORD]&"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3677",
|
||||
"HAUSTÜR",
|
||||
"IPC-710IR",
|
||||
"IP-WI-FI",
|
||||
"Other",
|
||||
"px-1179-675",
|
||||
"px-1279",
|
||||
"PX3309",
|
||||
"PX3615",
|
||||
"PX-3688-675",
|
||||
"RoboCam II",
|
||||
"ROBOCAM III",
|
||||
"ÜBERWACHUNG",
|
||||
"Wireless"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpeg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3677",
|
||||
"IPC-430 WIFI",
|
||||
"IPC-631.HD",
|
||||
"IP-CAM",
|
||||
"Other",
|
||||
"PX-3615"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3720-675",
|
||||
"ipc-720 HD",
|
||||
"IPC-760HD",
|
||||
"IPC-770HD",
|
||||
"Other",
|
||||
"PX 3675",
|
||||
"px 3675-675",
|
||||
"PX-3671-675 LHL",
|
||||
"PX36771-1",
|
||||
"px-3720-675"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video_snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3720-675",
|
||||
"ipc-720",
|
||||
"NX-4558"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3744",
|
||||
"IPC 260",
|
||||
"IPC-20HD",
|
||||
"ipc900.ptz",
|
||||
"Other",
|
||||
"PX 3760-675",
|
||||
"PX-3755-675"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "videoMain"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3775-675"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 88,
|
||||
"url": "/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4336",
|
||||
"IPC-20HD",
|
||||
"IPC-430 WIFI",
|
||||
"IPC-720 HD",
|
||||
"IP-CAM-IN",
|
||||
"nx-4341-675",
|
||||
"NX-4341-675",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"CS131A",
|
||||
"RoboCam",
|
||||
"RoboCam II",
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/jpg/image.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Haustür",
|
||||
"IP-Wi-Fi",
|
||||
"Other",
|
||||
"PX3614_12",
|
||||
"PX3615",
|
||||
"px-3722-675"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-220.hd",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-340HD",
|
||||
"ipc-380",
|
||||
"IPC-770HD",
|
||||
"IP-CAM",
|
||||
"PX-37878"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/live/av0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-400"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/av0_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-430 WIFI",
|
||||
"Other",
|
||||
"PX3615"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-440.HD",
|
||||
"IPC-440HD",
|
||||
"IPC-750HD",
|
||||
"ipc900.ptz",
|
||||
"NX-4207",
|
||||
"NX-4209"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 80,
|
||||
"url": "/videoMain"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-440.HD",
|
||||
"IPC-720",
|
||||
"NX-4558-913"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/live1.264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC440HD",
|
||||
"ipc900.ptz"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam/realmonitor?channel=[CHANNEL]&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-440HD",
|
||||
"ipc-720",
|
||||
"Other",
|
||||
"PX3309",
|
||||
"PX3615",
|
||||
"px-3675",
|
||||
"px-3688-675"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc-631.hd",
|
||||
"px-3690"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc-631.hd",
|
||||
"px-3690"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg?q=30&fps=33&id=0.5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-710IR",
|
||||
"Other",
|
||||
"PX3615",
|
||||
"px-3690"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ipc-720",
|
||||
"IPC-720 HD",
|
||||
"Other",
|
||||
"PX3615",
|
||||
"px-3690"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-720 HD",
|
||||
"IP-CAM",
|
||||
"nx 4389",
|
||||
"NX-4389-675",
|
||||
"Other",
|
||||
"pano360s",
|
||||
"SK7008-T1F1"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAM",
|
||||
"PX3614_675"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-CAM",
|
||||
"Other",
|
||||
"PX3615"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?resolution=8&rate=13"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP-Wi-Fi",
|
||||
"Other",
|
||||
"PX3615"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"KT-6764",
|
||||
"PX-3744",
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/?action=stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NX-4209"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 88,
|
||||
"url": "/live/h264/ch0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NX-4336-675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NX-4389-675",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 88,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"PX3615"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"PX3309"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video?profile=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"px 3675-675",
|
||||
"PX3615",
|
||||
"px3723"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"px 3675-675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320*240"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PX3309",
|
||||
"PX3615"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PX3614_675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PX-3615-675"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 888,
|
||||
"url": "/videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PX-3615-675"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"px-3688-675"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "?action=stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"px-3690"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/image.jpg?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"px-3690"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RoboCam II",
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RoboCam II"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 82,
|
||||
"url": "/cgi/jpg/image.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "user/videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RoboCam III"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 82,
|
||||
"url": "/cgi/mjpg/mjpg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-300"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/101"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-740"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/Streaming/Channels/102"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"PX3615",
|
||||
"SK7008-T1F1"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/channels/401"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"brand": "8level",
|
||||
"brand_id": "8level",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"IPED-2MP-36-1",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/h264_stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"v380"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
{
|
||||
"brand": "9up",
|
||||
"brand_id": "9up",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"DIP3"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/sf.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "A-bmi",
|
||||
"brand_id": "a-bmi",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
{
|
||||
"brand": "A-link",
|
||||
"brand_id": "a-link",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"101",
|
||||
"IPC1",
|
||||
"IPC2",
|
||||
"IPC3"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/jpg/image.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"101",
|
||||
"IPC1",
|
||||
"IPC2"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpeg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AICN500W",
|
||||
"IPC1"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC3",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.cgi?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC3",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC3",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Video?Codec=MPEG4&Width=720&Height=576&Fps=30"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
{
|
||||
"brand": "A-mtk",
|
||||
"brand_id": "a-mtk",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"2570D",
|
||||
"6566",
|
||||
"Other",
|
||||
"SUPER"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "media/media.amp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"6566",
|
||||
"AM9539M",
|
||||
"Dome",
|
||||
"Other",
|
||||
"SUPER"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_video.cgi?channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AH2927T-A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/media.amp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AH2927T-A",
|
||||
"Dome",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AM2110D"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/media.amp?streamprofile=Profile1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AM2110D"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/media.amp?streamprofile=Profile2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam/realmonitor?channel=[CHANNEL]&subtype=00"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "capture[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video?profile=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "A-tion",
|
||||
"brand_id": "a-tion",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"A0528"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
{
|
||||
"brand": "A1webcam",
|
||||
"brand_id": "a1webcam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/jpg.cgi?refresh=0&channel=[CHANNEL]&id=[USERNAME]&pass=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]&oldbrowser=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"Phone"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]*[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"tyytt"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 8080,
|
||||
"url": "/videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Wanscam",
|
||||
"web1"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
{
|
||||
"brand": "A4tech",
|
||||
"brand_id": "a4tech",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"432b",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"432b",
|
||||
"avm457",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVM457",
|
||||
"Ganek",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVM457",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ITD2016",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "nphMotionJpeg?Resolution=640x480&Quality=Standard"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "GetData.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "[CHANNEL]/[USERNAME]:[PASSWORD]/main"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg?q=30&fps=33&id=0.5"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
"brand": "Aanke",
|
||||
"brand_id": "aanke",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"191BL",
|
||||
"191BM",
|
||||
"C500",
|
||||
"C800",
|
||||
"I51DL",
|
||||
"I91BF",
|
||||
"I91BN",
|
||||
"I91-DX"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
{
|
||||
"brand": "Abelcam",
|
||||
"brand_id": "abelcam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"005"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/snapshot.cgi?action=getdata&channel.[CHANNEL].capture=true&channel.[CHANNEL].resolution=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live/ch00_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WebCam (2)"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "current[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WebCam (2)"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "current[CHANNEL].mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WebCam Server"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "screen.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WebCam Server"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "screen.mjpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "Abient Weather",
|
||||
"brand_id": "abient-weather",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"AMBIENTCAMHD"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=[USERNAME]&pwd=[PASSWORD]&"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SK7008-T1F1"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 10554,
|
||||
"url": "/Streaming/channels/601"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Abo",
|
||||
"brand_id": "abo",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Ranger Pro"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Abr Security",
|
||||
"brand_id": "abr-security",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"IPC6200W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"brand": "Abr",
|
||||
"brand_id": "abr",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"6100",
|
||||
"720p",
|
||||
"ipc6100w"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"6100",
|
||||
"6200",
|
||||
"ABR-IPD6200W",
|
||||
"IPC6100W",
|
||||
"IPD6200W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Abron",
|
||||
"brand_id": "abron",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"AB-IPR506NB-US"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/rtsph2641080p"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
{
|
||||
"brand": "Abs",
|
||||
"brand_id": "abs",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"3 series"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3 series",
|
||||
"4 series"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpg/1/video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3 SERIES",
|
||||
"4 SERIES",
|
||||
"MegaCam",
|
||||
"MegaCam 312M",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/1/image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3 SERIES",
|
||||
"4 SERIES",
|
||||
"megacam 4210",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "mpeg4/[CHANNEL]/media.amp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4 series",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4 SERIES",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpg/[CHANNEL]/video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"brand": "Absolutron",
|
||||
"brand_id": "absolutron",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "image.mpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ptz"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,676 +0,0 @@
|
|||
{
|
||||
"brand": "Abus",
|
||||
"brand_id": "abus",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/[CHANNEL+1]01"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/[CHANNEL]01"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/[CHANNEL+1]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/[CHANNEL]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"10550",
|
||||
"Other",
|
||||
"TV21550",
|
||||
"TVIP10500",
|
||||
"TVIP10550",
|
||||
"TVIP11000",
|
||||
"TVIP20000",
|
||||
"TVIP21550",
|
||||
"TVIP51550",
|
||||
"TVIP52501"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"21501",
|
||||
"Other",
|
||||
"TVIP10001",
|
||||
"TVIP10050",
|
||||
"TVIP10051",
|
||||
"TVIP21050",
|
||||
"TVIP21500",
|
||||
"TVIP31050",
|
||||
"TVIP52501",
|
||||
"tvip71000",
|
||||
"TVIP71550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/image.jpg?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"2718",
|
||||
"Digi-Lan TV7204",
|
||||
"DIGI-LAN TV7219",
|
||||
"Digi-Lan TV7230",
|
||||
"DIGI-LAN TV7230 V2",
|
||||
"Innenhof",
|
||||
"Other",
|
||||
"tv7202",
|
||||
"TV7203",
|
||||
"TV7210",
|
||||
"TV7214",
|
||||
"tv7216",
|
||||
"tv7218",
|
||||
"TV7240-LAN",
|
||||
"TVIP51550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ABUS: TVIP82100",
|
||||
"IPCB64621",
|
||||
"TVIP42561"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"casa",
|
||||
"DIGI-LAN TV7230 V2",
|
||||
"Other20550",
|
||||
"TV7203",
|
||||
"TV7220",
|
||||
"TVIP41550",
|
||||
"TVIP52500",
|
||||
"TVIP52501"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/viewer/video.jpg?resolution=640x480"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"CF3",
|
||||
"ipcb42501",
|
||||
"IPCB54611B",
|
||||
"IPCB74521",
|
||||
"IPCB78520",
|
||||
"IPCS84530",
|
||||
"TVIP11560",
|
||||
"TVIP41500",
|
||||
"TVIP42561",
|
||||
"TVIP42562",
|
||||
"TVIP44510",
|
||||
"TVIP60000",
|
||||
"TVIP61500",
|
||||
"TVIP61550",
|
||||
"TVIP61560",
|
||||
"TVIP62000",
|
||||
"TVIP62560"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Digilan 7230",
|
||||
"TV7204V2",
|
||||
"tv7216",
|
||||
"TV7230"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.jpg?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DIGILAN 7230",
|
||||
"Digi-Lan TV7204",
|
||||
"Digi-Lan TV7230",
|
||||
"DIGI-LAN TV7230",
|
||||
"DIGI-LAN TV7230 V2",
|
||||
"entree",
|
||||
"foyer",
|
||||
"Other",
|
||||
"Other20550",
|
||||
"TV7203",
|
||||
"tv7204",
|
||||
"TV7220",
|
||||
"TV7240-LAN",
|
||||
"TVIP11000",
|
||||
"TVIP21550",
|
||||
"TVIP41550_CAM1",
|
||||
"TVIP52500",
|
||||
"TVIP61560"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Digi-Lan TV7204",
|
||||
"Other",
|
||||
"Other20550",
|
||||
"TV7204v2",
|
||||
"TV7222",
|
||||
"TVIP41550",
|
||||
"TVIP51550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/viewer/video.jpg?channel=[CHANNEL]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Digi-Lan TV7206",
|
||||
"Digi-Lan TV7230 v2",
|
||||
"TVIP41550",
|
||||
"tvip52500",
|
||||
"tvip52501",
|
||||
"TVIP52501",
|
||||
"TVIP60550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/viewer/video.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Digi-Lan TV7206",
|
||||
"Digi-Lan TV7230 v2",
|
||||
"FENIX",
|
||||
"HD720p Dome",
|
||||
"Other",
|
||||
"Other20550",
|
||||
"TIVP 31500",
|
||||
"TV21550",
|
||||
"TV7203",
|
||||
"TVIP10000",
|
||||
"TVIP10001",
|
||||
"TVIP10055",
|
||||
"TVIP11000",
|
||||
"TVIP11502",
|
||||
"TVIP11551",
|
||||
"TVIP11552",
|
||||
"TVIP21500",
|
||||
"TVIP21550",
|
||||
"tvip21551",
|
||||
"tvip21552",
|
||||
"TVIP21552",
|
||||
"TVIP21560",
|
||||
"TVIP31551",
|
||||
"TVIP32500",
|
||||
"TVIP41550",
|
||||
"TVIP51550",
|
||||
"TVIP71501",
|
||||
"TVIP71551",
|
||||
"TVIP717551",
|
||||
"tvipem"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR90001"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Unicast/channels/101.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR9001"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Unicast/channels/102.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR9001"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Unicast/channels/202.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HDCC90001"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Unicast/channels/201.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP17550",
|
||||
"IPS17550",
|
||||
"IR 1080p",
|
||||
"tvip10550",
|
||||
"TVIP21500",
|
||||
"tvip21551",
|
||||
"tvip21552",
|
||||
"TVIP52500",
|
||||
"TVIP61550",
|
||||
"TVIP62560",
|
||||
"TVIP71501"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP4100",
|
||||
"TVIP42561",
|
||||
"TVIP92700"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IP4100",
|
||||
"IPCS34511A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/h264_stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCA 62520",
|
||||
"IPCB42515A",
|
||||
"IPCB62510A",
|
||||
"TVIP61560"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCA 72500",
|
||||
"IPCB42515A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/s2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCB54611B",
|
||||
"TVIP44510",
|
||||
"TVIP68510"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCb64620",
|
||||
"IPCB78520",
|
||||
"IPCS84530",
|
||||
"TVIP 21000",
|
||||
"TVIP41500",
|
||||
"TVIP60000",
|
||||
"TVIP61500",
|
||||
"TVIP61550",
|
||||
"TVIP61560",
|
||||
"TVIP62560"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCB7250",
|
||||
"IPCB74520",
|
||||
"IPCB74521",
|
||||
"IPCB78520",
|
||||
"TVIP22500",
|
||||
"TVIP31001",
|
||||
"TVIP31501",
|
||||
"TVIP32500",
|
||||
"TVIP60000",
|
||||
"TVIP71501",
|
||||
"TVIP72500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/video.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPTV42560"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPTV605550",
|
||||
"TVIP41550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/viewer/video.jpg?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"TVIP10000",
|
||||
"TVIP20000",
|
||||
"TVIP20050",
|
||||
"TVIP21500",
|
||||
"tvip21551"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/jpg/image"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"TVIP20000",
|
||||
"TVIP21500",
|
||||
"TVIP717551"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view/image?pro_[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"PortCam",
|
||||
"TV20550",
|
||||
"TV21550",
|
||||
"TV32500",
|
||||
"TVIP10550",
|
||||
"TVIP11560",
|
||||
"TVIP20000",
|
||||
"TVIP20550",
|
||||
"TVIP21550",
|
||||
"TVIP41500",
|
||||
"TVIP41550",
|
||||
"TVIP61500",
|
||||
"TVIP71501"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TIVP 31550",
|
||||
"TVIP10001",
|
||||
"TVIP10051",
|
||||
"TVIP10055",
|
||||
"TVIP11551",
|
||||
"TVIP21501",
|
||||
"TVIP21550",
|
||||
"TVIP40000",
|
||||
"TVIP41550",
|
||||
"TVIP51500",
|
||||
"TVIP51550",
|
||||
"TVIP71550"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg?q=30&fps=33&id=0.5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TIVP41550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/viewer/video.jpg?resolution=320x240"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"tv7203",
|
||||
"TVIP41550"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/viewer/video.jpg?resolution=640x480"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP10055",
|
||||
"tvip10055A",
|
||||
"TVIP10055A"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 10001,
|
||||
"url": "/jpg/image.jpg?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP21000",
|
||||
"tvip41560"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP21500"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP22500",
|
||||
"TVIP31001",
|
||||
"TVIP32500",
|
||||
"TVIP41560",
|
||||
"TVIP62520"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "video.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP41500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP41500",
|
||||
"TVIP41550_cam1",
|
||||
"TVIP41550_cam2"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "VideoInput/[CHANNEL]/h264/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP41550"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video[USERNAME].mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"tvip41560",
|
||||
"TVIP61550"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP62000",
|
||||
"TVIP62500"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpeg/pull"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP72000"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/VideoInput/0/h264/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TVIP82561"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/mpeg4/media.amp?resolution=640x480"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCA53000",
|
||||
"IPCB42510B",
|
||||
"IPCB44510A",
|
||||
"IPCB64515B"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/102"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPCB42550",
|
||||
"IPCB78520",
|
||||
"NVR10030",
|
||||
"TVIP41500",
|
||||
"TVIP52500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/101"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"brand": "Ac38xx",
|
||||
"brand_id": "ac38xx",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"dm12",
|
||||
"MD12"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif/live/2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DM12",
|
||||
"MD12"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif/live/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"brand": "Acam",
|
||||
"brand_id": "acam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"C2100"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/ONVIF/channel2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"imp2irmptz"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"n287z752",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"brand": "Accfly",
|
||||
"brand_id": "accfly",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"c091wx",
|
||||
"c102wx",
|
||||
"c120wx",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"P72"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Accsxperts",
|
||||
"brand_id": "accsxperts",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"5deMayo"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"brand": "Ace",
|
||||
"brand_id": "ace",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Esperanza",
|
||||
"Other",
|
||||
"samsung",
|
||||
"Xin",
|
||||
"Yca"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"noname",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/profile0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
{
|
||||
"brand": "Acer",
|
||||
"brand_id": "acer",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"A100",
|
||||
"A500",
|
||||
"ASPIRE",
|
||||
"LMT"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A500",
|
||||
"Apire One",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A500"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "current[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A500"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "/control/faststream.jpg?stream=MxPEG&needlength&fps=6"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Apire One"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "Image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Apire One",
|
||||
"Aspire"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "out.jpg?id=0.5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Aspire"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 8090,
|
||||
"url": "/video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ASPIRE"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Iconia",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "shot.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam/realmonitor"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Aceri-bcn",
|
||||
"brand_id": "aceri-bcn",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video.cgi?msubmenu=mjpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
{
|
||||
"brand": "Acesee",
|
||||
"brand_id": "acesee",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"AC04",
|
||||
"AVZM40P130",
|
||||
"DSE",
|
||||
"EB225/SH",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"acdsee",
|
||||
"ST-316-2M-AI"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/h264_stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AMB36HL200W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8061,
|
||||
"url": "/2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVP40P200",
|
||||
"Dome",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVTN40P130",
|
||||
"avzm40p200",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AVZM40P130"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "ipcam/avc.cgi?audiostream=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"K9604-W",
|
||||
"ST-316-2M-AI"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
{
|
||||
"brand": "Achtertuin",
|
||||
"brand_id": "achtertuin",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"3011",
|
||||
"N3011"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam1/onvif-h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"3011",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Hooldoor",
|
||||
"huawau"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Link"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Panasonic"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "nphMotionJpeg?Resolution=640x480&Quality=Standard"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"brand": "Acm-v3002",
|
||||
"brand_id": "acm-v3002",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Fine",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/stream2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
{
|
||||
"brand": "Acm",
|
||||
"brand_id": "acm",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"1311"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&SNAPSHOT"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"4100b"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"m101"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"m101"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpeg.cgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Acor",
|
||||
"brand_id": "acor",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,182 +0,0 @@
|
|||
{
|
||||
"brand": "Acromedia",
|
||||
"brand_id": "acromedia",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"009",
|
||||
"ACROMEDIA IN-009",
|
||||
"IN/EX",
|
||||
"IN/EX Series",
|
||||
"IN-010",
|
||||
"IN-09",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 10554,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"009",
|
||||
"Acromedia IN-009",
|
||||
"ACROMEDIA IN-009",
|
||||
"BLW-2004E-AHD",
|
||||
"IN-010",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"BLW-2004E-AHD"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ECESMS",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"in/ex",
|
||||
"IN/EX Series",
|
||||
"IN-010",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN/EX",
|
||||
"IN/EX Series"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN/EX Series",
|
||||
"IN/EX SERİES",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"in-009",
|
||||
"IN-010",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/12"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN-009",
|
||||
"IN-010"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN-010"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN-010"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/ONVIF/channel2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN-010"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IN-010"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "ipcam/avc.cgi?audiostream=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam1/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "MediaInput/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,727 +0,0 @@
|
|||
{
|
||||
"brand": "Acti",
|
||||
"brand_id": "acti",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"000",
|
||||
"00217",
|
||||
"1231",
|
||||
"1239",
|
||||
"3411",
|
||||
"3511",
|
||||
"4200",
|
||||
"4201",
|
||||
"5711n",
|
||||
"7411 B",
|
||||
"7911",
|
||||
"8201",
|
||||
"A41",
|
||||
"A71",
|
||||
"acd 2200",
|
||||
"ACD2000",
|
||||
"ACD2100",
|
||||
"ACM-1011",
|
||||
"ACM11231",
|
||||
"ACM1231",
|
||||
"ACM-1431",
|
||||
"ACM-1431N",
|
||||
"acm-1431P",
|
||||
"ACM-1432P",
|
||||
"acm3001",
|
||||
"ACM-3001",
|
||||
"ACM3011",
|
||||
"ACM-3211",
|
||||
"ACM3401",
|
||||
"ACM-3411",
|
||||
"ACM-3511",
|
||||
"ACM3601",
|
||||
"ACM-3601",
|
||||
"ACM3701",
|
||||
"acm-4000",
|
||||
"acm4001",
|
||||
"ACM-4001",
|
||||
"ACM-4100",
|
||||
"ACM-4200",
|
||||
"acm4201",
|
||||
"ACM-4201",
|
||||
"ACM-5001",
|
||||
"ACM-5601",
|
||||
"acm-5611",
|
||||
"ACM5611",
|
||||
"ACM-7411",
|
||||
"acm-7511",
|
||||
"acm8201",
|
||||
"ACM-8211",
|
||||
"ACM-8511",
|
||||
"ACN-3211",
|
||||
"acti d55",
|
||||
"ACTI IP CAMERA",
|
||||
"ACTI-1231",
|
||||
"ACTiMyView",
|
||||
"ADC3011",
|
||||
"B21",
|
||||
"B27",
|
||||
"B410",
|
||||
"B45",
|
||||
"b53",
|
||||
"B77A",
|
||||
"b97",
|
||||
"D11",
|
||||
"D12",
|
||||
"D31",
|
||||
"D32",
|
||||
"D51",
|
||||
"D52",
|
||||
"D55",
|
||||
"d61a",
|
||||
"D64",
|
||||
"d71a",
|
||||
"D72",
|
||||
"D72A",
|
||||
"D82",
|
||||
"D92",
|
||||
"E 913",
|
||||
"E12",
|
||||
"E12A",
|
||||
"E13",
|
||||
"E22VA",
|
||||
"E31",
|
||||
"E32",
|
||||
"E32A",
|
||||
"E33",
|
||||
"E36",
|
||||
"e37",
|
||||
"E41",
|
||||
"E42",
|
||||
"E42A",
|
||||
"E43",
|
||||
"e43b",
|
||||
"E44A",
|
||||
"E45A",
|
||||
"E46",
|
||||
"E51 Manual",
|
||||
"E53",
|
||||
"e56",
|
||||
"E61",
|
||||
"E62A",
|
||||
"E66",
|
||||
"E72A",
|
||||
"E77",
|
||||
"E77--A-XX-14E-00179",
|
||||
"E77-Phil",
|
||||
"E816",
|
||||
"E82",
|
||||
"E91",
|
||||
"E92",
|
||||
"E93",
|
||||
"E94",
|
||||
"e97",
|
||||
"E98",
|
||||
"I51",
|
||||
"I96",
|
||||
"i98",
|
||||
"KCM-3311",
|
||||
"KCM-3911",
|
||||
"KCM-5211",
|
||||
"KCM5511",
|
||||
"KCM5611",
|
||||
"KCM-5611",
|
||||
"KCM7111",
|
||||
"Other",
|
||||
"SED-2120",
|
||||
"SHS",
|
||||
"TCM 4301",
|
||||
"TCM 4511",
|
||||
"TCM-1111",
|
||||
"TCM1231",
|
||||
"TCM-1511",
|
||||
"TCM3041",
|
||||
"TCM-3111",
|
||||
"TCM3401",
|
||||
"TCM3411",
|
||||
"TCM-3511",
|
||||
"TCM-4101",
|
||||
"TCM-4201",
|
||||
"TCM4301-09C-X",
|
||||
"tcm-4511",
|
||||
"TCM5311",
|
||||
"TCM5611",
|
||||
"TCM7411",
|
||||
"tcm-7811"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 7070,
|
||||
"url": "cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&SNAPSHOT"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"000",
|
||||
"7411 B",
|
||||
"acm 8511",
|
||||
"ACM3601",
|
||||
"acm4201",
|
||||
"ACM-4201",
|
||||
"ACM-7411",
|
||||
"ACM-8211",
|
||||
"acti d55",
|
||||
"D52",
|
||||
"D55",
|
||||
"d61a",
|
||||
"D92",
|
||||
"Dome",
|
||||
"E54",
|
||||
"E77",
|
||||
"KCM-5211",
|
||||
"TCM1231",
|
||||
"TCM-1231",
|
||||
"tcm-4511"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&SNAPSHOT"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1231",
|
||||
"3411",
|
||||
"A41",
|
||||
"A416",
|
||||
"ACD2100",
|
||||
"ACM-1231",
|
||||
"ACM-1431N",
|
||||
"ACM3211",
|
||||
"ACM-3401",
|
||||
"ACM-3511",
|
||||
"ACM-4001",
|
||||
"ACM-4201",
|
||||
"ACM-7411",
|
||||
"b53",
|
||||
"B54",
|
||||
"B910",
|
||||
"B95--A2XX-14B-00310",
|
||||
"d11",
|
||||
"D12",
|
||||
"D21",
|
||||
"D31",
|
||||
"D32",
|
||||
"D42",
|
||||
"D51",
|
||||
"D52",
|
||||
"D55",
|
||||
"D72",
|
||||
"D82",
|
||||
"D92",
|
||||
"DO4M36A",
|
||||
"E12",
|
||||
"E13",
|
||||
"E32",
|
||||
"E33",
|
||||
"E33 chan2",
|
||||
"E42A",
|
||||
"E43",
|
||||
"E43A",
|
||||
"E46",
|
||||
"E51",
|
||||
"E52",
|
||||
"E53",
|
||||
"E53--A-XX-13G-00029",
|
||||
"e617",
|
||||
"E63",
|
||||
"E65",
|
||||
"E73",
|
||||
"E73A-A-XX-15C-00034",
|
||||
"E76",
|
||||
"E77",
|
||||
"E81",
|
||||
"E82",
|
||||
"E84",
|
||||
"E86a",
|
||||
"E91",
|
||||
"E96",
|
||||
"I42",
|
||||
"I51",
|
||||
"KCM-3311",
|
||||
"KCM-3911",
|
||||
"KCM-5611",
|
||||
"KCM7211",
|
||||
"KCM7911",
|
||||
"KCM8211",
|
||||
"Other",
|
||||
"v24",
|
||||
"Z31",
|
||||
"Z34",
|
||||
"Z82",
|
||||
"z95"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1231",
|
||||
"1511",
|
||||
"4200",
|
||||
"ACCA",
|
||||
"ACD2100",
|
||||
"ACM 5711",
|
||||
"ACM-1011",
|
||||
"acm1231",
|
||||
"acm1431",
|
||||
"ACM-1511",
|
||||
"acm3001",
|
||||
"ACM-3001",
|
||||
"ACM3211",
|
||||
"ACM-3311",
|
||||
"ACM-3401",
|
||||
"ACM-3411",
|
||||
"ACM-3511",
|
||||
"ACM3601",
|
||||
"ACM-4001",
|
||||
"ACM-4200",
|
||||
"ACM-4201",
|
||||
"ACM-5601",
|
||||
"ACM-7411",
|
||||
"ACM-8511",
|
||||
"ACTI IP CAMERA",
|
||||
"B41",
|
||||
"B45",
|
||||
"B87",
|
||||
"d11",
|
||||
"d31",
|
||||
"D32",
|
||||
"d51",
|
||||
"D64",
|
||||
"d72",
|
||||
"D82A",
|
||||
"E12",
|
||||
"E12A",
|
||||
"E14",
|
||||
"E22",
|
||||
"E271",
|
||||
"E33 chan2",
|
||||
"E37",
|
||||
"E441A",
|
||||
"E61",
|
||||
"E66",
|
||||
"E77",
|
||||
"E77--A-XX-14E-00179",
|
||||
"E91",
|
||||
"E92",
|
||||
"E93",
|
||||
"E96",
|
||||
"E97",
|
||||
"E98",
|
||||
"KCM-5611",
|
||||
"KCM7211",
|
||||
"kcm-8111",
|
||||
"Other",
|
||||
"TCM 4511",
|
||||
"TCM3011",
|
||||
"TCM-4201",
|
||||
"TCM-5111",
|
||||
"TCM5311",
|
||||
"TCM5311MG",
|
||||
"tcm-7811"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/cmd/system?GET_STREAM&USER=[USERNAME]&PWD=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1231",
|
||||
"3411",
|
||||
"4201",
|
||||
"ACM-1011",
|
||||
"ACM1231",
|
||||
"ACM1231 egen",
|
||||
"ACM-3401",
|
||||
"ACM-3511",
|
||||
"ACM-4001",
|
||||
"ACM-4201",
|
||||
"acm-5601",
|
||||
"ACM5611",
|
||||
"B87",
|
||||
"d11",
|
||||
"D12",
|
||||
"D21",
|
||||
"d31",
|
||||
"D51",
|
||||
"D52",
|
||||
"D55",
|
||||
"D72",
|
||||
"E12",
|
||||
"E32",
|
||||
"E33 chan2",
|
||||
"E46",
|
||||
"E73",
|
||||
"E77",
|
||||
"E91",
|
||||
"i94",
|
||||
"KCM-5611",
|
||||
"KCM7211",
|
||||
"KCM7311",
|
||||
"Other",
|
||||
"TCM 3511",
|
||||
"TCM 4511",
|
||||
"TCM1231",
|
||||
"TCM3111",
|
||||
"TCM-4201",
|
||||
"TCM5111"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1231",
|
||||
"22VA",
|
||||
"A41",
|
||||
"ACM-1231",
|
||||
"ACM3211",
|
||||
"ACM3411",
|
||||
"ACM-5001",
|
||||
"ACM5611",
|
||||
"B55",
|
||||
"B67",
|
||||
"B71",
|
||||
"B95",
|
||||
"B95--A2XX-14B-00310",
|
||||
"B97--A-XX-13L-00049",
|
||||
"d32",
|
||||
"D32--A-XX-13K-00022",
|
||||
"D54",
|
||||
"D55",
|
||||
"D71A",
|
||||
"D71--A-XX-13C-00408",
|
||||
"D81A-A-XX-15E-0",
|
||||
"D91",
|
||||
"E11",
|
||||
"E12",
|
||||
"E12A",
|
||||
"E13A",
|
||||
"E16",
|
||||
"E22VA",
|
||||
"E31",
|
||||
"E32A",
|
||||
"E43B",
|
||||
"e46",
|
||||
"E46",
|
||||
"E63A",
|
||||
"E77",
|
||||
"E77--A-XX-14F-00933",
|
||||
"E81",
|
||||
"E816",
|
||||
"I51",
|
||||
"I71",
|
||||
"i910",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/onvif-stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1231",
|
||||
"7401",
|
||||
"acm1231",
|
||||
"ACM-1231",
|
||||
"acm4201",
|
||||
"ACM-4201",
|
||||
"ACM-5001",
|
||||
"ACM-7411",
|
||||
"B71",
|
||||
"E44",
|
||||
"I47",
|
||||
"TCM 4301"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/cmd/system?GET_STREAM&USER=[USERNAME]&PWD=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"168",
|
||||
"7911",
|
||||
"A82",
|
||||
"A84",
|
||||
"a94",
|
||||
"ACM-1231",
|
||||
"ACM-3511",
|
||||
"ACM-7411",
|
||||
"ACTI IP CAMERA",
|
||||
"B410",
|
||||
"B43",
|
||||
"b45",
|
||||
"B81",
|
||||
"B83",
|
||||
"d11",
|
||||
"D32",
|
||||
"E12",
|
||||
"E13A",
|
||||
"E15",
|
||||
"e21",
|
||||
"E22VA",
|
||||
"E32",
|
||||
"E33",
|
||||
"E33A",
|
||||
"E34",
|
||||
"E415",
|
||||
"E42A",
|
||||
"E51",
|
||||
"E74A",
|
||||
"E77",
|
||||
"E79",
|
||||
"E81",
|
||||
"E86A",
|
||||
"E95",
|
||||
"EQ1",
|
||||
"GCO",
|
||||
"KCM-5311",
|
||||
"KCM7311",
|
||||
"KCM8211",
|
||||
"Other",
|
||||
"SED-2120",
|
||||
"TCM 4511",
|
||||
"TCM-1111",
|
||||
"TCM1231",
|
||||
"TCM-1231",
|
||||
"TCM3111",
|
||||
"TCM-3511",
|
||||
"tcm-6630",
|
||||
"TCM-7411"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A81",
|
||||
"ACM3601",
|
||||
"ACM-3601"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/onvif-media/media.amp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-1431",
|
||||
"ACM-3401",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "jpg/image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-3511"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-3511",
|
||||
"ACM-4001",
|
||||
"ACM-4200"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-4001",
|
||||
"ACTi B97",
|
||||
"B96",
|
||||
"B97",
|
||||
"E11",
|
||||
"E73--A-XX-13G-00002",
|
||||
"E73--A-XX-13I-00238"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-4001",
|
||||
"D31",
|
||||
"D82a",
|
||||
"e925",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/onvif&event&video2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-4201",
|
||||
"TCM-1231"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpeg.cgi?user=[USERNAME]&password=[PASSWORD]&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-5001",
|
||||
"ACM-7411",
|
||||
"ACTi I25",
|
||||
"b53",
|
||||
"d10",
|
||||
"D22VA",
|
||||
"D61",
|
||||
"E32A",
|
||||
"E67a",
|
||||
"E77",
|
||||
"e925",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/onvif&event&video1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM-5001"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/cgi-bin/cmd/encoder?GET_STREAM"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"acm-5611",
|
||||
"D61",
|
||||
"d61a",
|
||||
"E93"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&GET_STREAM"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACM5611",
|
||||
"b71",
|
||||
"B95",
|
||||
"BS30",
|
||||
"d32-2",
|
||||
"E53--A-XX-14C-00157",
|
||||
"E77",
|
||||
"E77--A-XX-14E-00179",
|
||||
"I96--A-XX-13K-00077"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/onvif-stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACTi B81",
|
||||
"d82a",
|
||||
"E413",
|
||||
"I96"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": "/onvif&event&audio&video1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"av3100ai",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image?res=half&x0=0&y0=0&x1=1600&y1=1200&quality=15&doublescan=0&ssn=1340443365044&id=1340443379230"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"D12"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/view/image?pro_[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/jpg/image.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "now.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SRICAM"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Z34"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam0/h264"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
{
|
||||
"brand": "Action",
|
||||
"brand_id": "action",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"000",
|
||||
"b53"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 7070,
|
||||
"url": "cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&SNAPSHOT"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/av0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_video.cgi?channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam[CHANNEL]/h264"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
{
|
||||
"brand": "Actioncam",
|
||||
"brand_id": "actioncam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"cam300"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"camm"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPM"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "[CHANNEL]/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Actiontec",
|
||||
"brand_id": "actiontec",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"rc8021v"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/video.asf"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"brand": "Activa",
|
||||
"brand_id": "activa",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ACT-200W",
|
||||
"ACT-2800/3100"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/mjpg/mjpg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ACT-2100",
|
||||
"ACT-2800/3100"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi/jpg/image.cgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Active Vision",
|
||||
"brand_id": "active-vision",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ACC-V11"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "GetData.cgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,161 +0,0 @@
|
|||
{
|
||||
"brand": "Active",
|
||||
"brand_id": "active",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/streaming/video0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "mpeg4/media.amp?resolution=640x480"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG&channel=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/guest/Video.cgi?media=JPEG"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi?date=1&clock=1&camera=[CHANNEL]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi?camera=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi?date=1&clock=1&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi?camera=1&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "capture[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SC530"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SC530"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vision SX-1200"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "GetData.cgi?CH=[CHANNEL]&Codec=jpeg&Size=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Vision SX-500"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "[USERNAME]/cam[CHANNEL].jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"brand": "Activecam",
|
||||
"brand_id": "activecam",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ac-d4121ir1v2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AC-D7111IR1",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/streaming/video0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AC-D7111IR1"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/streaming/video1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
{
|
||||
"brand": "Acumen",
|
||||
"brand_id": "acumen",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"AiP-B24N",
|
||||
"AiP-B34",
|
||||
"AiP-M53",
|
||||
"Other",
|
||||
"Y04"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/rtsph2641080p"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AIS-S22H-B1Y0W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=1.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ekran",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "mpg4/rtsp.amp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "Acunico",
|
||||
"brand_id": "acunico",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/ucast/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"brand": "Acvil",
|
||||
"brand_id": "acvil",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/[CHANNEL+1]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ALL"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/[CHANNEL]02"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WIFI-5MP-30"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/channels/702"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "Adamas",
|
||||
"brand_id": "adamas",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"wnc-01"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"wnc-01"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg?JpegCam=[CHANNEL]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "Adapter",
|
||||
"brand_id": "adapter",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"dvr"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
{
|
||||
"brand": "Adata",
|
||||
"brand_id": "adata",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"1MP HD P2P CAMERA"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/ch0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AMB",
|
||||
"AMB-MD",
|
||||
"APOIP-MB",
|
||||
"BLC02",
|
||||
"EYE1.3",
|
||||
"EYE2MBS",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam/realmonitor"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AMB",
|
||||
"AMB-MB1.3",
|
||||
"apollo hd dvr",
|
||||
"EYE1.3",
|
||||
"EYE2MBS",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"APOIP-MB",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"APOIP-MB",
|
||||
"BCC",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"brand": "Adc",
|
||||
"brand_id": "adc",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"700x",
|
||||
"723",
|
||||
"V510",
|
||||
"v520ir",
|
||||
"V520IR",
|
||||
"V521IR",
|
||||
"V721W",
|
||||
"V820"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 1026,
|
||||
"url": "/live.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"700X"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 1026,
|
||||
"url": "cgi-bin/viewer/video.jpg?resolution=640x480"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"723",
|
||||
"ADCi400-X002",
|
||||
"D064",
|
||||
"Ilustra400",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live1.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"723",
|
||||
"Other",
|
||||
"V520IR",
|
||||
"V820"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live2.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ILLustra400",
|
||||
"ILUSTRA400"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "dms"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ILLustra400",
|
||||
"ILUSTRA400"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image/jpeg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"V520IR",
|
||||
"V723"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"v510",
|
||||
"V520IR",
|
||||
"V720W",
|
||||
"V721W"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 1026,
|
||||
"url": "cgi-bin/viewer/video.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"V510"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/viewer/video.jpg?channel=[CHANNEL]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"V520IR",
|
||||
"V721W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 1032,
|
||||
"url": "/live3.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"V521IR"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Adeco",
|
||||
"brand_id": "adeco",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"PTZ"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Adhua Dh-ipc-hdw4233c-a",
|
||||
"brand_id": "adhua-dh-ipc-hdw4233c-a",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"DH-IPC-HDW4233C-A"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
{
|
||||
"brand": "Adhua",
|
||||
"brand_id": "adhua",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"DH-HAC-HFW1200RMN-0360B-S3",
|
||||
"DH-IPC-HDW4233C-A",
|
||||
"HDB4300F-PT",
|
||||
"MYCAM",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DH-HAC-HFW1200RMN-0360B-S3",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DH-IPC-HDW4233C-A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live0.264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HDB4300F-PT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HDB4300F-PT",
|
||||
"MyCam",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-D1B20"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-HDW1230S"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=htd%402Tg25"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"IPC-HFW1320S-W",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"N84CL52",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"xvr4808"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/cgi-bin/snapshot.cgi?chn=8&u=[USERNAME]&p=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Adiance",
|
||||
"brand_id": "adiance",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.cgi?type=motion"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
{
|
||||
"brand": "Adj",
|
||||
"brand_id": "adj",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"700-00048"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 1024,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR (Channel 1)"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR (Channel 2)"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=2&subtype=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DVR (Channel 3)"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=3&subtype=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Wireless IPCAM"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WIRELESS IPCAM"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,433 +0,0 @@
|
|||
{
|
||||
"brand": "Adt",
|
||||
"brand_id": "adt",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"0c810",
|
||||
"0C810",
|
||||
"1000",
|
||||
"1600hd",
|
||||
"8025b",
|
||||
"A-ADT-4HS2",
|
||||
"AD412-ADT",
|
||||
"ADT8025B",
|
||||
"G-Camera",
|
||||
"i1000",
|
||||
"ICAMERA",
|
||||
"icamera 1000",
|
||||
"Icamera 1000",
|
||||
"ICAMERA1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"MDC83",
|
||||
"NV412A-ADT",
|
||||
"OC810",
|
||||
"OC810-ADT",
|
||||
"OC835-ADT",
|
||||
"Other",
|
||||
"PULSE",
|
||||
"RC8010",
|
||||
"RC8021",
|
||||
"RC8021W",
|
||||
"RC8021W-ADT",
|
||||
"RC8025",
|
||||
"RC8025-ADT",
|
||||
"rc8025b",
|
||||
"Rc8025b",
|
||||
"RC8025B-adt",
|
||||
"RC8025B-ADT",
|
||||
"RC8025B-V2",
|
||||
"rc8-25b-adt",
|
||||
"RCR021W-ADT",
|
||||
"toycam"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "img/video.sav"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"0c810",
|
||||
"1000",
|
||||
"8025B",
|
||||
"ADT8025B",
|
||||
"ICAMERA1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"MDC835-ADT",
|
||||
"OC810",
|
||||
"OC810-ADT",
|
||||
"OC835-ADT",
|
||||
"otc810",
|
||||
"Other",
|
||||
"pulsar",
|
||||
"PULSE",
|
||||
"RC8021",
|
||||
"RC8021W",
|
||||
"RC8021W-ADT",
|
||||
"RC8025",
|
||||
"RC8025-ADT",
|
||||
"RC8025B",
|
||||
"RC8025B-ADT",
|
||||
"rc8325-v2"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"0C810",
|
||||
"1234",
|
||||
"8025",
|
||||
"8025B",
|
||||
"A-ADT4HS2",
|
||||
"ADT8025B",
|
||||
"Icamera 1000",
|
||||
"ICamera1000",
|
||||
"ICAMERA-1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"mdc835",
|
||||
"NV412A",
|
||||
"OC810",
|
||||
"OC810-ADT",
|
||||
"OC835-ADT",
|
||||
"oc835v3",
|
||||
"OTC810",
|
||||
"Other",
|
||||
"pulse",
|
||||
"RC8010",
|
||||
"RC8021",
|
||||
"RC8021W",
|
||||
"rc8021w-adt",
|
||||
"RC8021W-ADT",
|
||||
"RC8025",
|
||||
"RC8025-ADT",
|
||||
"RC8025b",
|
||||
"RC8025B-adt",
|
||||
"RC8025B-V2",
|
||||
"RC8025b-vb",
|
||||
"RC8201",
|
||||
"rc8235",
|
||||
"RC8326",
|
||||
"RCR021W-ADT"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/video.mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"1600hd",
|
||||
"A-ADT4HS2",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam/realmonitor?channel=[CHANNEL]&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"8025B",
|
||||
"iCamera-1000",
|
||||
"ICAMERA1000",
|
||||
"OC810-ADT",
|
||||
"RC8025-ADT",
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?img=vga"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"8025B",
|
||||
"iCamera",
|
||||
"Icamera 1000",
|
||||
"ICAMERA1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"NV412A",
|
||||
"OC810",
|
||||
"OC810-ADT",
|
||||
"Other",
|
||||
"pulse",
|
||||
"RC8021",
|
||||
"RC8021W",
|
||||
"RC8021W-ADT",
|
||||
"RC8025",
|
||||
"RC8025-ADT",
|
||||
"RCR021W-ADT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-ADT4HS2",
|
||||
"Icamera 1000",
|
||||
"ICAMERA1000",
|
||||
"ICamera-1000-ADT",
|
||||
"oc810",
|
||||
"OC810-ADT",
|
||||
"Other",
|
||||
"RC8021",
|
||||
"RC8021W-ADT",
|
||||
"RC8025",
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/mjpeg.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-ADT-4HS2"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "cam4/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"AD412-ADT",
|
||||
"nv412a",
|
||||
"NV412A-ADT",
|
||||
"RC8021",
|
||||
"RC8021W",
|
||||
"RC8021W-ADT"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Digital Video Recorder"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=2&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DYK4500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"DYK4500"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/net_jpeg.cgi?ch=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"G-CAMERA"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snap.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ICAMERA",
|
||||
"ICAMERA 1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"OC810",
|
||||
"Other",
|
||||
"PULSE",
|
||||
"RC8021W-ADT",
|
||||
"RC8025-ADT",
|
||||
"rc8025b",
|
||||
"RC8025b-ADT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi?size=3"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ICAMERA1000",
|
||||
"ICAMERA-1000-ADT",
|
||||
"ipcam-wo",
|
||||
"OC810-ADT",
|
||||
"Other",
|
||||
"RC8021",
|
||||
"RC8021W-ADT",
|
||||
"rc8025",
|
||||
"RC8025-ADT",
|
||||
"RC8025B",
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/mjpeg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ICAMERA-1000",
|
||||
"OC810-ADT",
|
||||
"OC845",
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/img/video.sav"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NV412a",
|
||||
"RC8021W",
|
||||
"rc8021w-adt"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NV412A-ADT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NV412A-ADT",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NV412A-ADT",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"OC810-ADT",
|
||||
"rc8021w",
|
||||
"sc468",
|
||||
"SC87C51C"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/video.mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"oc835v3"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/mjpeg.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"oc845"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"OC845"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam4/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"OC845"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"rc8021w"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/main.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RC8021W"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 81,
|
||||
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"rc8021w-adt"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/mjpeg.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=0&subtype=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"SC821C83"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/img/main.cgi?next_file=main.htm"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"brand": "Adv",
|
||||
"brand_id": "adv",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"adv1",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videofeed"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,220 +0,0 @@
|
|||
{
|
||||
"brand": "Advance",
|
||||
"brand_id": "advance",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"002fvwu",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HVC",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]&count=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 82,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"NetCam"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/sf.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/video.mjpeg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A",
|
||||
"wp00030A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?resolution=8&rate=13"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"WB-IP03A"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
{
|
||||
"brand": "Advanced Home",
|
||||
"brand_id": "advanced-home",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"elro"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"ELRO"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"icam"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"lc-1140"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8081,
|
||||
"url": "/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Phone"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video?submenu=mjpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"RC8025B-ADT"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "img/snapshot.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"S4X"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "mjpeg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,327 +0,0 @@
|
|||
{
|
||||
"brand": "Advidia",
|
||||
"brand_id": "advidia",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"A14",
|
||||
"A-15",
|
||||
"A-30",
|
||||
"A-34W",
|
||||
"A-38-F",
|
||||
"A-44-IR",
|
||||
"A-49-F",
|
||||
"A-54-OD",
|
||||
"Other",
|
||||
"vp-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A14",
|
||||
"A-34"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "MediaInput/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-14",
|
||||
"A-34W",
|
||||
"A-45",
|
||||
"A-46"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-28",
|
||||
"a-35",
|
||||
"vp-4"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/ch0_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-34W",
|
||||
"A-37FW",
|
||||
"A-47",
|
||||
"M-46-FW",
|
||||
"VP-16-V2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/Streaming/Channels/101"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-34W",
|
||||
"A-37FW",
|
||||
"A-44-IR",
|
||||
"A-45"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "live/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"a-35",
|
||||
"A-55",
|
||||
"vp-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/103"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-37fw",
|
||||
"A-37-FW",
|
||||
"A-47",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-427-V",
|
||||
"vp-4",
|
||||
"VP-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/MediaInput/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-427-V",
|
||||
"VP-16-V2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/channels/901"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-427-V",
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=2&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-44-IR",
|
||||
"a-49-f",
|
||||
"VP-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live/mpeg4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"a-49-f"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"a-49-f",
|
||||
"E-47-V"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=1&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-54-OD"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-65",
|
||||
"B-38-V"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"A-88-V",
|
||||
"B-31"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"B-31"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 7070,
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"B-31"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/cmd/system?GET_STREAM&USER=[USERNAME]&PWD=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"B-31",
|
||||
"B-33",
|
||||
"B5360",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/encoder?USER=[USERNAME]&PWD=[PASSWORD]&SNAPSHOT"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"E-37-V"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "axis-cgi/mjpg/video.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"p-25",
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/ONVIF/MediaInput"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 10554,
|
||||
"url": "/Streaming/Channels/1103"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VP-16"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/channels/902"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VP-16-V2"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/ch2_0.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "//Streaming/Channels/2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "//Streaming/Channels/5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=3&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"vp-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/cam/realmonitor?channel=101&subtype=00&authbasic=[AUTH]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"VP-8"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "//Streaming/Channels/1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"brand": "Advisen",
|
||||
"brand_id": "advisen",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"123281"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other",
|
||||
"UNLISTED",
|
||||
"Visia 7"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Advitronics",
|
||||
"brand_id": "advitronics",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"PortaVision SIP"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "?action=stream"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"brand": "Aecbl1",
|
||||
"brand_id": "aecbl1",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/live1.264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8554,
|
||||
"url": "/live0.264"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"brand": "Aegis",
|
||||
"brand_id": "aegis",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
"brand": "Aeon",
|
||||
"brand_id": "aeon",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"AEON SC"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"nc325w",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
{
|
||||
"brand": "Aeoss",
|
||||
"brand_id": "aeoss",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"610W",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/live/ch0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"BS-200W",
|
||||
"BW-200W",
|
||||
"srr",
|
||||
"Vision BW-200"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "tmpfs/auto.jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Eos PTZ-100W",
|
||||
"J6358"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"J6358"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"J6358"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"J6358"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32"
|
||||
}
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue