Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Ondřej 25. 02. 2017, 22:11:49

Název: Skript pro čtení obrázků z kamery
Přispěvatel: Ondřej 25. 02. 2017, 22:11:49
Ahoj,

mám ip kameru a potřeboval bych z ní dostat .jpg obrázek Kamera má implementovaný onvif protokol. Nikde na googlu a dotazech u výrobce se mi nepodařilo zjistit zda toho lze docílit pomocí nějakého url, třeba http://ip/obrazek.cgi

podařilo se mi odchytit komunikaci onvif device managera s kamerou při zasílání požadavku na snapshot:

Kód: [Vybrat]
==================================================
Index             : 17
Protocol          : TCP
Local Address     : 192.168.X.X
Remote Address    : 192.168.X.X
Local Port        : 47736
Remote Port       : 10080
Local Host        : localhost
Remote Host       :
Service Name      :
Packets           : 5
Data Size         : 569 Bytes
Total Size        : 1 378 Bytes
Data Speed        : 11.8 KB/Sec
Capture Time      : 25.02.2017 16:37:16:685
Last Packet Time  : 25.02.2017 16:37:16:740
Duration          : 00:00:00.055
Local MAC Address :
Remote MAC Address:
Local IP Country  :
Remote IP Country :
==================================================

POST /onvif/media_service HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8; action="http://www.onvif.org/ver10/media/wsdl/GetSnapshotUri"
Host: 192.168.88.202:10080
Content-Length: 317
Accept-Encoding: gzip, deflate
Connection: Close

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><GetSnapshotUri xmlns="http://www.onvif.org/ver10/media/wsdl"><ProfileToken>720p media profile</ProfileToken></GetSnapshotUri></s:Body></s:Envelope>

po tomto postu je aktuální obrázek dostupný na http://ip/snapshot.jpg

Jako neznalý bashe či pythonu bych potřeboval poradit se skriptem, který provede výše odchycený POST a následně uloží obrázek do nějakého adresáře.

Předem děkuji za tipy a pomoc.

Ondřej.
Název: Re:pomoc se skriptem
Přispěvatel: Ondřej 25. 02. 2017, 23:18:50
tady jsem si asi našel částečnou odpověď, ale pro neprogramátora to pro mě bude težké převést na můj případ.
Název: Re:pomoc se skriptem
Přispěvatel: Ondřej 25. 02. 2017, 23:21:04
doplnění http://stackoverflow.com/questions/18175489/python-soap-using-requests (http://stackoverflow.com/questions/18175489/python-soap-using-requests)
Název: Re:pomoc se skriptem
Přispěvatel: Dzavy 25. 02. 2017, 23:29:04
Kód: [Vybrat]
curl -s -H "Content-Type: application/soap+xml; charset=utf-8; action="http://www.onvif.org/ver10/media/wsdl/GetSnapshotUri" -d "<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><GetSnapshotUri xmlns="http://www.onvif.org/ver10/media/wsdl"><ProfileToken>720p media profile</ProfileToken></GetSnapshotUri></s:Body></s:Envelope>" http://192.168.X.X:10080/onvif/media_service

sleep 2

curl -s -o snapshot.jpg http://192.168.X.X:10080/snapshot.jpg
Název: Re:pomoc se skriptem
Přispěvatel: Ondřej 26. 02. 2017, 00:14:39
Děkuji ale zatím neúspěšný. Nějaký problém v syntaxi:

Kód: [Vybrat]
-bash: syntax error near unexpected token `<'
asi nějaká chyba v : nebo " když to zkusím oříznout na "<pokus>" tak mi curl skončí takto:

Kód: [Vybrat]
pi@raspberrypi:~ $ curl -s -H "Content-Type: application/soap+xml; charset=utf-8; action="http://www.onvif.org/ver10/media/wsdl/GetSnapshotUri" -d "pokus" http://192.168.88.202:10080/onvif/media_service
>
>
>




Název: Re:pomoc se skriptem
Přispěvatel: Ondřej 26. 02. 2017, 00:51:54
Ještě jednou děkuji. Uspěl jsem s tímto:

Kód: [Vybrat]
curl http://192.168.88.202:10080/onvif/media_service -d '<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><GetSnapshotUri xmlns="http://www.onvif.org/ver10/media/wsdl"><ProfileToken>720p media profile</ProfileToken></GetSnapshotUri></s:Body></s:Envelope>'
Název: Re:pomoc se skriptem
Přispěvatel: Dzavy 26. 02. 2017, 02:18:47
Jo z nejakyho duvodu mi z toho zmizely ty apostrofy okolo, tak super, ze to funguje.