Files
Strix/data/brands/sannce.json
T
eduard256 35293dec83 Add BUBBLE protocol support for XMeye/HiSilicon NVR/DVR cameras
Implemented comprehensive BUBBLE protocol support for Chinese NVR/DVR cameras (ZOSI, SANNCE, ANNKE, FLOUREON, XMeye). This proprietary protocol requires HTTP with embedded credentials and special handling.

Changes:
- Added BUBBLE entries to brand databases with main/sub stream support
- Extended URL placeholder system to support {channel} syntax
- Implemented BUBBLE-specific stream generation with credential embedding
- Added BUBBLE stream detection via Content-Type: video/bubble
- Updated Frigate/Go2RTC generators to convert BUBBLE URLs to bubble:// format
- Added BUBBLE patterns to popular stream database

Technical details:
- BUBBLE uses HTTP protocol with credentials in URL (bubble://user:pass@host:port/path)
- Supports dual streams: stream=0 (main) and stream=1 (sub)
- Requires video=copy parameter for optimal performance in go2rtc
- Detection prioritized before generic HTTP checks to ensure correct identification
2025-11-09 18:09:04 +03:00

399 lines
7.7 KiB
JSON

{
"brand": "Sannce",
"brand_id": "sannce",
"last_updated": "2025-10-17",
"source": "ispyconnect.com",
"entries": [
{
"models": [
"NVR",
"DVR",
"H.264",
"H.265",
"HiSilicon",
"Other"
],
"type": "BUBBLE",
"protocol": "bubble",
"port": 80,
"url": "/bubble/live?ch={channel}&stream=0",
"auth_required": true,
"notes": "Bubble Protocol - main stream (works with go2rtc bubble:// source)"
},
{
"models": [
"NVR",
"DVR",
"H.264",
"H.265",
"HiSilicon",
"Other"
],
"type": "BUBBLE",
"protocol": "bubble",
"port": 80,
"url": "/bubble/live?ch={channel}&stream=1",
"auth_required": true,
"notes": "Bubble Protocol - sub stream (lower quality)"
},
{
"models": [
"1080p",
"720 HD IP cam",
"i21 ag",
"l41GH",
"Other",
"PTZ camera",
"WIFICAM"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 10554,
"url": "/tcp/av0_0"
},
{
"models": [
"1080P",
"141FK",
"720 HD IP CAM",
"DVR",
"I71BD",
"Mark 4",
"Other"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 8554,
"url": "/Streaming/Unicast/channels/101"
},
{
"models": [
"1080P",
"121AJ",
"222",
"I41V",
"I51CL",
"I52CL",
"i61be",
"I71BD",
"IPCAM-JPEG",
"l21aj",
"Other",
"WIFICAM"
],
"type": "JPEG",
"protocol": "http",
"port": 10554,
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
},
{
"models": [
"1080P",
"720 HD IP CAM",
"8CH-2P",
"DVR",
"I21AN",
"i61dx",
"Other",
"PTZ CAMERA",
"wifi nvr",
"WIFICAM"
],
"type": "JPEG",
"protocol": "http",
"port": 0,
"url": "cgi-bin/snapshot.cgi?chn=[CHANNEL]&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"121ag",
"I21AG",
"Other",
"PTZ CAMERA"
],
"type": "MJPEG",
"protocol": "http",
"port": 8554,
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
},
{
"models": [
"121ag",
"DN81BJ"
],
"type": "FFMPEG",
"protocol": "http",
"port": 19430,
"url": "/videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]"
},
{
"models": [
"121AJ",
"i21v",
"I41V",
"i61be"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/snapshot.jpg"
},
{
"models": [
"141CB",
"720 HD IP CAM",
"I21AG",
"I21AN",
"I21AS",
"l21AN",
"PTZ CAMERA",
"WIFICAM"
],
"type": "MJPEG",
"protocol": "http",
"port": 81,
"url": "videostream.cgi?rate=0&user=[USERNAME]&pwd=[PASSWORD]"
},
{
"models": [
"5323"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/12"
},
{
"models": [
"71GL",
"i21v",
"i41ec",
"l31v"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]"
},
{
"models": [
"720 HD IP CAM",
"i21AG",
"I21AG",
"I21AN",
"Other",
"PTZ CAMERA"
],
"type": "JPEG",
"protocol": "http",
"port": 10554,
"url": "img/snapshot.cgi?size=2"
},
{
"models": [
"8ch-w",
"DVR"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/cgi-bin/snapshot.cgi?chn=3&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"8ch-w",
"DVR",
"N441H"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/cgi-bin/snapshot.cgi?chn=1&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"960p",
"l41CC"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]&password=[PASSWORD]&channel=1&stream=0.sdp?real_stream"
},
{
"models": [
"DM81Z1T"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=0.sdp"
},
{
"models": [
"DT81BF",
"I51FQ",
"i61be"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/ch0_0.h264"
},
{
"models": [
"dvr"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=1_stream=1.sdp?real_stream"
},
{
"models": [
"DVR"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/cgi-bin/snapshot.cgi?chn=2&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"DVR"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/cgi-bin/snapshot.cgi?chn=4&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"DX-8104",
"I91FT"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]_password=[PASSWORD]_channel=2_stream=0.sdp"
},
{
"models": [
"i21AG"
],
"type": "FFMPEG",
"protocol": "http",
"port": 80,
"url": "/"
},
{
"models": [
"I21AG"
],
"type": "MJPEG",
"protocol": "http",
"port": 0,
"url": "videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32&rate=0"
},
{
"models": [
"I41CC"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]&password=[PASSWORD]&channel=1&stream=0.sdp?"
},
{
"models": [
"I41DC"
],
"type": "VLC",
"protocol": "rtsp",
"port": 0,
"url": "ch0_0.h264"
},
{
"models": [
"I41V"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=0"
},
{
"models": [
"I51BE"
],
"type": "JPEG",
"protocol": "http",
"port": 0,
"url": "snapshot.jpg?user=[USERNAME]&pwd=[PASSWORD]&strm=[CHANNEL]"
},
{
"models": [
"I51CS"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/1/h264major"
},
{
"models": [
"I51CS"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/live_mpeg4.sdp"
},
{
"models": [
"I51CS"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/MediaInput/mpeg4"
},
{
"models": [
"I61DD"
],
"type": "FFMPEG",
"protocol": "rtsp",
"port": 554,
"url": "/user=[USERNAME]&password=[PASSWORD]&channel=1&stream=0.sdp"
},
{
"models": [
"i61dx",
"Other"
],
"type": "JPEG",
"protocol": "http",
"port": 0,
"url": "cgi-bin/snapshot.cgi?loginuse=[USERNAME]&loginpas=[PASSWORD]"
},
{
"models": [
"N441K"
],
"type": "JPEG",
"protocol": "http",
"port": 80,
"url": "/cgi-bin/snapshot.cgi?chn=0&u=[USERNAME]&p=[PASSWORD]"
},
{
"models": [
"PTZ CAMERA"
],
"type": "JPEG",
"protocol": "http",
"port": 10554,
"url": "img/snapshot.cgi?size=3"
}
]
}