Add Strix camera discovery system with comprehensive database
This commit adds the complete Strix IP camera stream discovery system: - Go-based API server with SSE support for real-time updates - 3,600+ camera brand database with stream URL patterns - Intelligent fuzzy search across camera models - ONVIF discovery and stream validation - RESTful API with health check, camera search, and stream discovery - Makefile for building and deployment - Comprehensive README documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"brand": "Hootoo",
|
||||
"brand_id": "hootoo",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"120c",
|
||||
"206",
|
||||
"211",
|
||||
"212",
|
||||
"HT-1210F",
|
||||
"HT-IP006",
|
||||
"HT-IP006N PTZ",
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP210F",
|
||||
"IP-212",
|
||||
"OLD PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"211",
|
||||
"BT-Home",
|
||||
"HT-211",
|
||||
"HT-IP008HDP",
|
||||
"HT-IP210HDP",
|
||||
"HT-IP211HDP",
|
||||
"HT-IP211HTP",
|
||||
"ip211",
|
||||
"IP211HDP",
|
||||
"IP960HD",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"212",
|
||||
"HT-IP006N PTZ"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"92",
|
||||
"F-Series",
|
||||
"HT IP212",
|
||||
"HT-IP006",
|
||||
"HT-IP006N PTZ",
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP210F",
|
||||
"HT-IP210P",
|
||||
"HT-IP212/HT-IP212F",
|
||||
"ip206",
|
||||
"IP206",
|
||||
"ip210f",
|
||||
"IP212",
|
||||
"Other",
|
||||
"Speed Camera"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"apm-h803-mpc",
|
||||
"HOOTOO HD720p",
|
||||
"HT-IP009HDP",
|
||||
"HT-IP210HDP",
|
||||
"IP009HDP",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"F-Series",
|
||||
"HT-1210F",
|
||||
"HT-206IP",
|
||||
"HT-IP006N PTZ",
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP208F",
|
||||
"HT-IP210F",
|
||||
"HT-IP210P",
|
||||
"HT-IP211HDP",
|
||||
"HT-IP212",
|
||||
"jhf",
|
||||
"OLD PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=64&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"F-Series",
|
||||
"HT-IP006",
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP210P",
|
||||
"HT-IP212",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]&count=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"F-SERIES",
|
||||
"HT-IP006",
|
||||
"HT-IP006N PTZ",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP212",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"h-210p",
|
||||
"H212P",
|
||||
"HT-IP206",
|
||||
"HT-IP210F"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"hd211"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP006",
|
||||
"HT-IP006N PTZ",
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP210F",
|
||||
"IP206",
|
||||
"Old PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP009HDP",
|
||||
"IP009HDP",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "cgi-bin/video_snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP210F",
|
||||
"HT-IP210P",
|
||||
"HT-IP212",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?rate=11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP207F",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP208F",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP206 PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP212",
|
||||
"IP210F"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?resolution=8&rate=13"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP210F",
|
||||
"HT-IP212"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206",
|
||||
"HT-IP210P",
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.cgi?user=[USERNAME]&password=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206 PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?user=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206 PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.cgi?"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206 PTZ",
|
||||
"HT-IP210F",
|
||||
"HT-IP210P",
|
||||
"Other",
|
||||
"TV-IP551W"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=VGA"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP206 PTZ",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP210F",
|
||||
"HT-IP212",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?usr=[USERNAME]&pwd=[PASSWORD]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP210F",
|
||||
"HT-IP210P",
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP210F"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP211HDP"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"HT-IP211HDP",
|
||||
"IP960"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "/12"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "image/[CHANNEL].jpg"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "MJPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "video.cgi?resolution=[WIDTH]x[HEIGHT]"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "VLC",
|
||||
"protocol": "rtsp",
|
||||
"port": 0,
|
||||
"url": "[CHANNEL]/[USERNAME]:[PASSWORD]/main"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 80,
|
||||
"url": "/videostream.cgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user