Плагин CCTV



  • @Alex_Jet:

    Обновил плагин, заказал новый ключ. При попытке подключения к камере:

    Для более успешной отладки могу скинуть белый IP NAT на почту vam.

    Предложение:

    1. Сделать активацию плагина "видимой". Сейчас просто не понятно - активировался он или нет. Только в отладчике видно.

    2. В настройках камер сделать поле для внутреннего IP-адреса как было в Berry. Соответственно в зависимости откуда запущена система (из домашней сети или из вне) ресолвить нужный адрес IP-камер.

    Добрый день,

    1. Если все уже настроено то пришлите: IP, порт, логин, пароль камеры, на <email email="dev@intrahouse.ru">dev@intrahouse.ru</email> По логу пока все нормально, проблем не должно быть, нужно смотреть дальше.

    2. Хорошее предложение, учтем в следующих версиях, спасибо.

    3. Просмотр камеры возможен как из локальной и внешней сети (за NAT), вводить два IP-адреса нет необходимости, достаточно вести один локальный ip-адрес камеры.

    @dev:

    @homa:

    Подскажите пожалуйста как плагин обращается к камере. Он берет поток через сервер IH или обращается напрямую из приложения? Настроил плагин, на ПК камера отображается, на телефоне нет. ПК внутри периметра, телефон за периметром, проброшен порт 8088.

    Заранее спасибо!

    Добрый день,

    Плагин выполняет роль стрим сервера, по запросу подключается к камере по протоколу RTSP/UDP и раздает активным клиентам.

    Плагин всегда забирает один поток с камеры не нагружая ее, что позволяет избежать зависания камеры.

    Плагин при отсутствие активных клиентов отключается от камеры и уходит в режим ожидания.

    Плагин не производит транскондинг видео потока, что позволяет экономить ресурсы сервера.

    Доставка видео потока активному клиенту производиться по технологии p2p (peer-to-peer), между плагином и активном клиентом происходит прямое соединение, что позволяет осуществить доставку видео потока без задержек, ограничено только подключением ih-server и активным клиентом.

    Для просмотра одной камеры в разрешение 720p необходимо интернет соединение в 3~5 мегабит в секунду.

    Плагин работает в браузерных версиях для ПК и мобильных устройств, поддерживает прямое и p2p http://intrahouse.io:49800/ подключение. Для работы из вне достаточно пробросить один порт 8088 (по умолчанию) - основной порт сервера intraHouse

    CCTV в мобильном приложении для андроид в настоящее время не поддерживается, ведется разработка.



  • @Alex_Jet:

    Обновил плагин, заказал новый ключ. При попытке подключения к камере:

    Добрый день,

    Доступно обновление Plugin-CCTV 0.0.10, исправлена ошибка при подключении, с нестандартным ответом.



  • @dev:

    Добрый день,

    Доступно обновление Plugin-CCTV 0.0.10, исправлена ошибка при подключении, с нестандартным ответом.

    Невозможно соединиться с сервером обновления…



  • @Alex_Jet:

    Невозможно соединиться с сервером обновления…

    Проверьте, сервер обновлений должен быть http://intrahouse.io:49770



  • @intrapro:

    Проверьте, сервер обновлений должен быть http://intrahouse.io:49770

    Я конечно все понимаю, но:
    Недоступен сервер обновления.png

    При этом буквально сегодня утром обновлял систему и плагины нормально.

    Какая-то ерунда…тем же ping-плагином пингуется NAT моего домашнего роутера (сервер совсем в другом месте), но не intrahouse.io и не mail.ru, например.

    Что-то могло случиться после обновления системы до 4.3.4 с 4.2.1 (PRO)?



  • @Alex_Jet:

    @intrapro:

    Проверьте, сервер обновлений должен быть http://intrahouse.io:49770

    Я конечно все понимаю, но:

    Недоступен сервер обновления.png

    При этом буквально сегодня утром обновлял систему и плагины нормально.

    Какая-то ерунда…тем же ping-плагином пингуется NAT моего домашнего роутера (сервер совсем в другом месте), но не intrahouse.io и не mail.ru, например.

    Что-то могло случиться после обновления системы до 4.3.4 с 4.2.1 (PRO)?

    Добрый день,

    Проверили на разных серверах, с разными версиями и подключениями(провайдеры), проблем не выявили. От пользователей жалоб не поступало.

    Функционал обновления в новых версиях не меняли.



  • @dev:

    Добрый день,

    Проверили на разных серверах, с разными версиями и подключениями(провайдеры), проблем не выявили. От пользователей жалоб не поступало.

    Функционал обновления в новых версиях не меняли.

    Спасибо за проверку. Я ничего не делал (iH и ОС не перезагружал), но сегодня пришел на работу, нажал кнопку обновить и все отлично сработало! В чем дело - мне не понятно. При этом ping-плагин доступности intrahouse.io не видит…

    Дико извиняюсь! Виноват был поднятый до моего дома VPN (видимо где-то по пути не ресолвится адрес). Утром при включении ПК он не включен...



  • @Alex_Jet:

    @dev:

    Добрый день,

    Проверили на разных серверах, с разными версиями и подключениями(провайдеры), проблем не выявили. От пользователей жалоб не поступало.

    Функционал обновления в новых версиях не меняли.

    Спасибо за проверку. Я ничего не делал (iH и ОС не перезагружал), но сегодня пришел на работу, нажал кнопку обновить и все отлично сработало! В чем дело - мне не понятно. При этом ping-плагин доступности intrahouse.io не видит…

    Дико извиняюсь! Виноват был поднятый до моего дома VPN (видимо где-то по пути не ресолвится адрес). Утром при включении ПК он не включен...

    Добрый день,

    здорово что все разрешилось. Получилось ли у Вас подключиться к камерам ?



  • @dev:

    Добрый день,

    здорово что все разрешилось. Получилось ли у Вас подключиться к камерам ?

    Пока нет. Есть технические проблемы с существующей камерой. Другие пока инсталлировать недосуг. Как получится проверить - отпишусь дополнительно.



  • @dev:

    Получилось ли у Вас подключиться к камерам ?

    Виджет пишет ERROR "rtsp timeout" и RECONNECT.

    VLC к потоку подсоединяется, но с задержкой.

    24.08 09:15:44.143 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'check_plugin' } }
    24.08 09:15:44.144 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "check_plugin", "status": 	true }}
    
    24.08 09:15:44.147 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'start' } }
    24.08 09:15:44.155 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "p2p" }}
    
    24.08 09:15:44.229 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: 
       { type: 'offer',
         sdp: 'v=0\r\no=- 4093067306701127020 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:pIgi\r\na=ice-pwd:MdrSawMgWct8kUENEAPb/pBE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 19:32:33:20:98:71:F2:3E:B9:B5:02:CE:64:35:AD:32:4B:1A:30:B6:C1:52:CD:27:DA:03:7D:84:6A:A5:4D:A9\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n' } }
    24.08 09:15:44.231 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: 
       { candidate: 'candidate:4151274500 1 udp 2113937151 192.168.1.245 57655 typ host generation 0 ufrag pIgi network-cost 50',
         sdpMid: 'data',
         sdpMLineIndex: 0 } }
    24.08 09:15:44.232 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"type":"answer","sdp":"v=0\r\no=- 1490931239234266886 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:oSKe\r\na=ice-pwd:7i4qmLz+xmNzmBJXQBQlwts+\r\na=fingerprint:sha-256 45:A6:55:0D:FC:06:5D:9B:19:D7:77:8B:DD:FD:25:4A:17:7B:AC:BF:89:B7:B5:DB:C6:49:69:2D:22:89:B1:A9\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n"}}
    
    24.08 09:15:44.234 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"candidate":"candidate:3013953624 1 udp 2122260223 192.168.1.100 45744 typ host generation 0 ufrag oSKe network-id 1 network-cost 50","sdpMid":"data","sdpMLineIndex":0}}
    
    24.08 09:15:44.299 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: 
       { type: 'rtsp',
         url: 'rtsp://admin:IPCamera@XXX.XXX.XXX.XXX:554/2' } }
    24.08 09:15:44.301 IH: raw {"type":"debug","txt":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53 client connect"}
    
    24.08 09:15:44.301 cctv: "CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53 client connect"
    24.08 09:15:44.302 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'activity' } }
    24.08 09:15:44.624 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n"}
    {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 options"}
    
    24.08 09:15:44.624 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n"
    24.08 09:15:44.625 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 options"
    24.08 09:15:44.722 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 401 Unauthorized\r\nCSeq: 3\r\nServer: Hipcam RealServer/V1.0\r\nWWW-Authenticate: Digest realm=\"Hipcam RealServer/V1.0\", nonce=\"7f68f531bddfa1e27eb6ece782fd1aa5\"\r\n\r\n"}
    {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 www-authenticate"}
    
    24.08 09:15:44.723 cctv: "rtsp res: RTSP/1.0 401 Unauthorized\r\nCSeq: 3\r\nServer: Hipcam RealServer/V1.0\r\nWWW-Authenticate: Digest realm=\"Hipcam RealServer/V1.0\", nonce=\"7f68f531bddfa1e27eb6ece782fd1aa5\"\r\n\r\n"
    24.08 09:15:44.723 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 www-authenticate"
    24.08 09:15:44.881 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n"}
    {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 describe"}
    
    24.08 09:15:44.882 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n"
    24.08 09:15:44.882 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 describe"
    24.08 09:15:44.883 IH: raw 
    
    24.08 09:15:45.005 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n"}
    {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 setup"}
    
    24.08 09:15:45.006 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n"
    24.08 09:15:45.006 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 setup"
    24.08 09:15:45.064 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n"}
    {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 play"}
    {"type":"debug","txt":"9193d2d9d05c802127ba68e829cdcf3b rtsp connect"}
    
    24.08 09:15:45.065 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n"
    24.08 09:15:45.065 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 play"
    24.08 09:15:45.065 cctv: "9193d2d9d05c802127ba68e829cdcf3b rtsp connect"
    24.08 09:15:45.067 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "stream", "camid": "9193d2d9d05c802127ba68e829cdcf3b" }}
    
    24.08 09:15:45.176 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 9\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\n\r\n"}
    
    24.08 09:15:45.176 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 9\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\n\r\n"
    24.08 09:15:47.073 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'options', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    24.08 09:15:47.074 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n","type":"options"}}
    
    24.08 09:15:47.078 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'describe', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    24.08 09:15:47.079 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n","type":"describe"}}
    
    24.08 09:15:47.084 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'setup', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    24.08 09:15:47.085 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n","type":"setup"}}
    
    24.08 09:15:47.090 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: { type: 'play', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    24.08 09:15:47.091 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n","type":"play"}}
    
    24.08 09:15:57.637 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "error", "camid": "9193d2d9d05c802127ba68e829cdcf3b", "text": "rtsp timeout" }}
    
    24.08 09:16:03.631 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
      unit: 'cctv',
      payload: 
       { type: 'get_parameter',
         camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    
    


  • @Alex_Jet:

    @dev:

    Получилось ли у Вас подключиться к камерам ?

    Виджет пишет ERROR "rtsp timeout" и RECONNECT.

    VLC к потоку подсоединяется, но с задержкой.

    > 24.08 09:15:44.143 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'check_plugin' } }
    > 24.08 09:15:44.144 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "check_plugin", "status": 	true }}
    > 
    > 24.08 09:15:44.147 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'start' } }
    > 24.08 09:15:44.155 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "p2p" }}
    > 
    > 24.08 09:15:44.229 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: 
    >    { type: 'offer',
    >      sdp: 'v=0\r\no=- 4093067306701127020 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:pIgi\r\na=ice-pwd:MdrSawMgWct8kUENEAPb/pBE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 19:32:33:20:98:71:F2:3E:B9:B5:02:CE:64:35:AD:32:4B:1A:30:B6:C1:52:CD:27:DA:03:7D:84:6A:A5:4D:A9\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n' } }
    > 24.08 09:15:44.231 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: 
    >    { candidate: 'candidate:4151274500 1 udp 2113937151 192.168.1.245 57655 typ host generation 0 ufrag pIgi network-cost 50',
    >      sdpMid: 'data',
    >      sdpMLineIndex: 0 } }
    > 24.08 09:15:44.232 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"type":"answer","sdp":"v=0\r\no=- 1490931239234266886 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:oSKe\r\na=ice-pwd:7i4qmLz+xmNzmBJXQBQlwts+\r\na=fingerprint:sha-256 45:A6:55:0D:FC:06:5D:9B:19:D7:77:8B:DD:FD:25:4A:17:7B:AC:BF:89:B7:B5:DB:C6:49:69:2D:22:89:B1:A9\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n"}}
    > 
    > 24.08 09:15:44.234 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"candidate":"candidate:3013953624 1 udp 2122260223 192.168.1.100 45744 typ host generation 0 ufrag oSKe network-id 1 network-cost 50","sdpMid":"data","sdpMLineIndex":0}}
    > 
    > 24.08 09:15:44.299 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: 
    >    { type: 'rtsp',
    >      url: 'rtsp://admin:IPCamera@XXX.XXX.XXX.XXX:554/2' } }
    > 24.08 09:15:44.301 IH: raw {"type":"debug","txt":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53 client connect"}
    > 
    > 24.08 09:15:44.301 cctv: "CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53 client connect"
    > 24.08 09:15:44.302 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'activity' } }
    > 24.08 09:15:44.624 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n"}
    > {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 options"}
    > 
    > 24.08 09:15:44.624 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n"
    > 24.08 09:15:44.625 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 options"
    > 24.08 09:15:44.722 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 401 Unauthorized\r\nCSeq: 3\r\nServer: Hipcam RealServer/V1.0\r\nWWW-Authenticate: Digest realm=\"Hipcam RealServer/V1.0\", nonce=\"7f68f531bddfa1e27eb6ece782fd1aa5\"\r\n\r\n"}
    > {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 www-authenticate"}
    > 
    > 24.08 09:15:44.723 cctv: "rtsp res: RTSP/1.0 401 Unauthorized\r\nCSeq: 3\r\nServer: Hipcam RealServer/V1.0\r\nWWW-Authenticate: Digest realm=\"Hipcam RealServer/V1.0\", nonce=\"7f68f531bddfa1e27eb6ece782fd1aa5\"\r\n\r\n"
    > 24.08 09:15:44.723 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 www-authenticate"
    > 24.08 09:15:44.881 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n"}
    > {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 describe"}
    > 
    > 24.08 09:15:44.882 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n"
    > 24.08 09:15:44.882 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 describe"
    > 24.08 09:15:44.883 IH: raw 
    > 
    > 24.08 09:15:45.005 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n"}
    > {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 setup"}
    > 
    > 24.08 09:15:45.006 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n"
    > 24.08 09:15:45.006 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 setup"
    > 24.08 09:15:45.064 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n"}
    > {"type":"debug","txt":"rtsp://XXX.XXX.XXX.XXX:554/2 play"}
    > {"type":"debug","txt":"9193d2d9d05c802127ba68e829cdcf3b rtsp connect"}
    > 
    > 24.08 09:15:45.065 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n"
    > 24.08 09:15:45.065 cctv: "rtsp://XXX.XXX.XXX.XXX:554/2 play"
    > 24.08 09:15:45.065 cctv: "9193d2d9d05c802127ba68e829cdcf3b rtsp connect"
    > 24.08 09:15:45.067 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "stream", "camid": "9193d2d9d05c802127ba68e829cdcf3b" }}
    > 
    > 24.08 09:15:45.176 IH: raw {"type":"debug","txt":"rtsp res: RTSP/1.0 200 OK\r\nCSeq: 9\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\n\r\n"}
    > 
    > 24.08 09:15:45.176 cctv: "rtsp res: RTSP/1.0 200 OK\r\nCSeq: 9\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\n\r\n"
    > 24.08 09:15:47.073 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'options', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    > 24.08 09:15:47.074 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 2\r\nServer: Hipcam RealServer/V1.0\r\nPublic: OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,SET_PARAMETER,GET_PARAMETER\r\n\r\n","type":"options"}}
    > 
    > 24.08 09:15:47.078 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'describe', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    > 24.08 09:15:47.079 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 4\r\nServer: Hipcam RealServer/V1.0\r\nContent-Type: application/sdp\r\nCache-Control: must-revalidate\r\nContent-length: 413\r\nContent-Base: rtsp://XXX.XXX.XXX.XXX:554/2/\r\n\r\nv=0\r\no=StreamingServer 3331435948 1116907222000 IN IP4 192.168.11.12\r\ns=11\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=control:*\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1;profile-level-id=4D001E;sprop-parameter-sets=Z00AHpWoKAtk,aO48gA==\r\na=framesize:96 640-352\r\nm=audio 0 RTP/AVP 8\r\na=control:trackID=1\r\na=rtpmap:8 PCMA/8000/1\r\na=ptime:20\r\na=fmtp:8 packetization-mode=1\r\n","type":"describe"}}
    > 
    > 24.08 09:15:47.084 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'setup', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    > 24.08 09:15:47.085 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 5\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nCache-Control: must-revalidate\r\nTransport: RTP/AVP;unicast;mode=play;source=192.168.11.12;client_port=56462-56463;server_port=6600-6601;ssrc=6b8b4567\r\n\r\n","type":"setup"}}
    > 
    > 24.08 09:15:47.090 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: { type: 'play', camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    > 24.08 09:15:47.091 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{"camid":"9193d2d9d05c802127ba68e829cdcf3b","data":"RTSP/1.0 200 OK\r\nCSeq: 6\r\nServer: Hipcam RealServer/V1.0\r\nSession: TyPDMBhvIkp\r\nRTP-Info:url=192.168.11.12/trackID=0;seq=1;rtptime=10000,url=192.168.11.12/trackID=1;seq=1;rtptime=10000\r\n\r\n","type":"play"}}
    > 
    > 24.08 09:15:57.637 IH: raw { "type":"transferdata", "id":"CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53", "payload":{ "type": "error", "camid": "9193d2d9d05c802127ba68e829cdcf3b", "text": "rtsp timeout" }}
    > 
    > 24.08 09:16:03.631 IH: transferdata_in { id: 'CCTV_CORE_02725443-7768-4772-a4bc-7358d1f42b53',
    >   unit: 'cctv',
    >   payload: 
    >    { type: 'get_parameter',
    >      camid: '9193d2d9d05c802127ba68e829cdcf3b' } }
    > 
    

    Добрый день,

    камера и плагин уже в одной сети или через мост по vpn пробуете ?



  • @dev:

    Добрый день,

    камера и плагин уже в одной сети или через мост по vpn пробуете ?

    Сервер через NAT смотрит в интернет. В нем уверенно пингует мой квартирный роутер, а значит ему доступен проброс порта на камеру. По крайней мере доступ к камере через ПК, "подключенный" к тому же NAT, есть и через веб и через VLC.

    Правда от моего квартирного роутера ещё идёт VPN до роутера в доме…если считаете такое соединение слишком для вашего плагина, тогда отстал до тех пор пока не настрою новый iH и не перенесу его в локальную сеть.



  • @Alex_Jet:

    @dev:

    Добрый день,

    камера и плагин уже в одной сети или через мост по vpn пробуете ?

    Сервер через NAT смотрит в интернет. В нем уверенно пингует мой квартирный роутер, а значит ему доступен проброс порта на камеру. По крайней мере доступ к камере через ПК, "подключенный" к тому же NAT, есть и через веб и через VLC.

    Правда от моего квартирного роутера ещё идёт VPN до роутера в доме…если считаете такое соединение слишком для вашего плагина, тогда отстал до тех пор пока не настрою новый iH и не перенесу его в локальную сеть.

    Добрый день,

    при такой схеме подключения камера не сможет корректно доставить видео поток по RTSP-UDP до плагина CCTV.

    Поддержка RTSP-TCP для плагина CCTV запланирована.

    VLC поддерживает работу RTSP-UDP\TCP, в случае неудачи автоматически переключается на последнее (TCP).



  • @Alex_Jet:

    По крайней мере доступ к камере через ПК, "подключенный" к тому же NAT, есть и через веб и через VLC.

    Прошу пояснить. Что значит доступ к камере есть через веб? :?

    Если речь о майкрософтовском браузере, то он работает с камерами через ActiveX? Другие браузеры ActiveX не поддерживают.



  • @intrahouse:

    @Alex_Jet:

    По крайней мере доступ к камере через ПК, "подключенный" к тому же NAT, есть и через веб и через VLC.

    Прошу пояснить. Что значит доступ к камере есть через веб? :?

    Если речь о майкрософтовском браузере, то он работает с камерами через ActiveX? Другие браузеры ActiveX не поддерживают.

    Я понимаю вашу обеспокоенность:). Конечно веб имелось ввиду "полномасштабный" доступ, например, через Chrome, который я активно использую. В Chrome видео открывается с помощью Adobe Flash Player. В IE, как понимаю - ActiveX, при этом в нем доступны еще дополнительные настройки камер.



  • Подскажите - "видеоалерт" уже в каком-то виде реализован? Например, видеодомофон из IP-камеры получится сделать хотя бы без аудио?



  • Добрый день,
    @Alex_Jet:

    Подскажите - "видеоалерт" уже в каком-то виде реализован?

    реализованы основные механизмы для создание данного функционала:

    1. аллерты в виде текста и html

    2. поддержка IP-камер

    3. сценарии

    4. звуковое оповещение (не реализовано)
    @Alex_Jet:

    Например, видеодомофон из IP-камеры получится сделать хотя бы без аудио?

    теоретически если к системе подключить кнопку, установить на вход. Написать сценарий где будет обрабатываться кнопка и вызывать видео алерт и звуковое оповещение, то получится видео домофон.



  • @dev:

    реализованы основные механизмы для создание данного функционала:

    1. аллерты в виде текста и html

    2. поддержка IP-камер

    3. сценарии

    4. звуковое оповещение (не реализовано)

    теоретически если к системе подключить кнопку, установить на вход. Написать сценарий где будет обрабатываться кнопка и вызывать видео алерт и звуковое оповещение, то получится видео домофон.

    Про кнопку конечно понятно, но можно пример скрипта чтобы открылся экран с видеоалертом? Я полагаю так - если кнопка замкнулась, то перейти на экран X, на котором включить видео камеру Y и проиграть какой-нибудь медиа-файл или дать команду удаленному серверу на проигрывание конкретного файла.

    И самое интересное - если MegaD по нажатию кнопки присылает request, то как этот request сделать триггером для сработки сценария? Хотя можно использовать опыт Berry с теми же СМК.

    А как из скрипта сделать запросы на удаленные сервера, например (проигрывание звука звонка, переадрессация вызова на смартфон через asterisk)?



  • @dev:

    Добрый день, камера и плагин уже в одной сети или через мост по vpn пробуете ?

    Перенес сервер в домашнюю сеть. CCTV-плагин без проблем подключается к моим камерам.

    Обратил внимание на единственный момент - не работает кнопка pause (та что посередине видео) - как будто ставится на паузу и тут же начинает проигрывание (STOP мелькает на несколько миллисекунд). В некоторых случаях данная кнопка была бы полезна!



  • @Alex_Jet:

    @dev:

    Добрый день, камера и плагин уже в одной сети или через мост по vpn пробуете ?

    Перенес сервер в домашнюю сеть. CCTV-плагин без проблем подключается к моим камерам.

    Обратил внимание на единственный момент - не работает кнопка pause (та что посередине видео) - как будто ставится на паузу и тут же начинает проигрывание (STOP мелькает на несколько миллисекунд). В некоторых случаях данная кнопка была бы полезна!

    Добрый день,

    здорово что получилось. Все верно, данный функционал будет доступен в новых версиях.


Авторизуйтесь, чтобы ответить