Fórum Root.cz

Hlavní témata => Software => Téma založeno: gregorij89 10. 10. 2021, 19:54:22

Název: Pravidelné snapshoty z IP kamery
Přispěvatel: gregorij89 10. 10. 2021, 19:54:22
Ahoj,

mám no-name IP kameru podporující ONVIF rozhraní (https://www.aliexpress.com/i/1005002015698080.html). Hledám způsob, jak kameru v pravidelných intervalech (cca. 1x za hodinu) přesunout na uloženou PTZ pozici, sejmout obrázek, a vrátit na původní pozici. Účelem je z obrázků následně sestavit time-lapse video. Obrázky ideálně nahrávat na FTP, ale dokážu si poradit v podstatě s čímkoliv.

Kamera je jinak nonstop připojena k Hikvision HWN-4104MH-4P NVR, ale nenašel jsem, jak pomocí něj dosáhnout požadovaného výsledku.

Napadá někoho, jak dosáhnout požadovaného? Kameru mám dostupnou přes síť a není problém rochodit téměř jakýkoliv Linux nebo Windows SW (včetně případně jednodušších skriptů).

Díky za rady.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 10. 10. 2021, 20:54:20
Rozdělme si to na několik rovin:

A) Mechanicky:
Je to blbost, jen málo kamer vydrží dlouhodobé mechanické pohyby. Prostě jí odděláš.
Uvnitř bývá motorek, co s kamerou otáčí a časem se tam zanese bordel a strhnou zuby.
Dražší kamery mají samozřejmě dramaticky lepší polohovací mechanismy, ale to nebude asi ten případ.

B) Finančně:
Je to blbost, fixní kameru očumující nějaké místo pořídíš za pár stovek. Ušetříš mnoho času a tím i peněz.

C) Prakticky:
Je to blbost a znovuvynalézání kola.
Tak například RPI + Kameru pořídíš do tisícovky (stačí nějaké RPI zero) a software je k tomu hotový.
Screenshoot sejmeš třeba: raspistill -o obrazky/parkoviste.jpg
https://projects.raspberrypi.org/en/projects/getting-started-with-picamera

Ale pokud na to máš fůůůůru peněz, tak za 200 000,- ti napíšu driver, který ti požadovanou službu zařídí.
Budu muset vyřešit mnoho problémů, třeba aby se původní software, který provádí záznam, ke kameře opět připojil.
Nebo vymyslet nějakou proxy, která se bude tvářit jako kamera, ale v požadované době kamerou pohne a nafejkuje to.
Možná budu muset vyřešit mechanický posuvník, aby se kamera otočila.
Takže, máš tu nabídku za 200 000,- Kč.

...no a nebo tam dej tu RPI a pořizuj si screenshoot klidně každou minutu...
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: panpanika 10. 10. 2021, 21:06:03
neznam tvoji kameru, ale hikvision co pouzivame umi ptz presety i snapshot pres isapi. proto bych mrkl jestli nema api to hik nvr (pouzivame qnapy takze nvm)

vp si nevsimej zase nevi ale blaboli...
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 10. 10. 2021, 21:14:03
hikvision

Porovnáváš Hikvision s jeho Aliexpress kamerou? ;D
Aháá ;D

Uvědomuješ si, že zrovna Hikvision to dělá docela dobře, používají celkem rozumné součástky a na slušné kamery dávají 60 měsíců záruku? Vážně si myslíš, že ten jeho Aliexpress vydrží to otáčení přes zimu? ;D Dobře ty  ;D
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: _Jenda 10. 10. 2021, 21:37:35
Napadá někoho, jak dosáhnout požadovaného?
Já jsem něco podobného řešil tak, že jsem odsniffoval (dneska bych použil Burp Proxy) jak se dělá otáčení kamery z ovládátka v prohlížeči, a následně jsem to provedl wgetem. Pak jsem nahrál kousek videa pomocí mpv rtsp://kde_je_kamera/cesta --stream-record=/tmp/foo.mkv --frames=200 --vo=null.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: gregorij89 10. 10. 2021, 21:47:05
Ok, tak trošku obsáhleji. Levnou čínskou kameru jsem zvolil záměrně. Bude mi totiž hlídat staveniště a nebude hlídaná žádnou další kamerou. Dát tam tím pádem kameru v ceně přes 10 tis. Kč by bylo tak trošku nerozumné. Nevydžela by tam dýl jak týden. S tím posouváním to také není tak horké. V 99 % času bude na stabilním místě a překvapivě v pozici, ve které budu chtít pořizovat screenshoty. No ale co třeba když budu chtít ze záznamu ověřit počet odvezených aut se zeminou, nebo přivezených domíchávačů betonu? No pak ji potřebuju posunout tak, aby sledovala vjezd. Ale nechci si tím rozbít časosběr. Nebo si třeba budu chtít prohlédnout celé staveniště? Hm? No pak potřebuju pohyblivou kameru.

Citace
Takže, máš tu nabídku za 200 000,- Kč.

Jestli to dáš za 20 MDs, tak super. To to nebude tak náročné, dáváš mi tak dobrou naději, že to dám sám v rozumném čase a za těch ušetřených 200 tis. pojedu radši s rodinou na dovolenou. A navíc mluvíš o nějakém driveru a celkově mi ten Tvůj návrh přijde zbytečně komplikovaný. Kamera umí standard ONVIF, což by mohlo případně celou implementaci značně ulehčit. A streamování do dvou míst také není problém. Už teď funguje nahrávání a při tom současně spojení přes aplikaci iCSee.

Citace
Porovnáváš Hikvision s jeho Aliexpress kamerou? ;D


No, já jsem v tom původním příspěvku psal, že mám tu kameru napojenou na NVR od Hikvision. Takže ten příspěvek není mimo.

Tak a teď prosím přesuňme tu diskuzi do konstruktivnější roviny. Díky @panpanika za návrh. Přes NVR samozřejmě presety nastavené jsou a fungují. Pokud by tedy existovalo nějaké API rozhraní, kterým by se to dalo nějak jednodše realizovat, tak super. Ještě jsem koukal na ONVIF knihovnu pro Python (https://github.com/quatanium/python-onvif). Ale nezkoumal jsem nikterak do hloubky, takže nevím, jak náročné by bylo si takový skript napsat. Pořád mi přijde, že ten požadavek není úplně bizardní a že už to někdy někdo implementoval.

Citace
Já jsem něco podobného řešil tak, že jsem odsniffoval (dneska bych použil Burp Proxy) jak se dělá otáčení kamery z ovládátka v prohlížeči.

Tomu bych se radši vyhnul. Pokud nenajdu nic již hotového, tak hodně sázím na ten ONVIF standard.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: pruzkumbojem 10. 10. 2021, 22:05:33
tohle asi je zajimavejsi a priklady pro presety tam jsou.
https://github.com/kphongagsorn/onvif-camera-api

jinak ja se o to prestal zajimat o PTZ pres API kvuli Ubiquity protect, ono je to plug and play, ale presne jako u Apple. standard  jako Onvif se samozrjeme  ignoruji.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 11. 10. 2021, 01:36:59

Chápu, takže jen stupidně položená otázka. Protože předtím to vypadalo na úplně jiné zadání.
Pokud je cíl vrátit kameru do původní pozice, jde to skriptem uvnitř OS většiny kamer s Linuxem uvnitř.


Externě pak:
- nainstalovat si python

Použít tuto knihovnu:
https://github.com/quatanium/python-onvif

Je tam i tutorial.
- import onvifconfig
cameraptz.set_preset('doma') //nastavím home pozici

- periodicky pak volat
cameraptz.goto_preset('doma') //návrat na home pozici
cameraptz.zoom(-10.0, 2) //zruším zazoomování

Pokud se s kamerou nebude moc hýbat, tak to vydrží.
Hodně shitová kamera se bude muset vrátit zpátky na pozici ručně.

Tutorial zde: https://github.com/quatanium/python-onvif/blob/master/examples/streaming.py

Pro příště - kvalitní otázka vede k získání kvalitních odpovědí.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: matusK 11. 10. 2021, 09:46:02
V práci jsem již implementoval Hikvision SDK i Onvif. Přehrávání obrazu, PTZ  i ukládání snímku.

Takže ti radím: Rozhodně onvif. Je to jenom SOAP webová služba, ze které zavoláš těch pár funkcí snadno, naproti tomu SDK od Hiku je strašná polofunkční sračka a dlouho budeš řešit proč to nefunguje i když dle dokumentace by mělo.

Jelikož to nepotřebuješ nějak obecně, jenom konkrétní funkce jedné konkrétní kamery, tak za 1-2 dny to v klidu dáš.
(Onvif má nevýhodu, že je hodně obecný a každý výrobce ten standard implementuje trochu jinak, to tebe ale netrápí.)
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 11. 10. 2021, 10:26:44
tak za 1-2 dny to v klidu dáš

To, co chce, je práce na 2 hodiny.
Den, pokud to bude chtít dát přímo do systému běžícího v kameře.

Původně to popisoval tak, že chce "jednou za hodinu" otočit kameru, udělat fotku nějaké věci, otočit kameru zpět a obnovit stream. Přitom mu jde jen o vrácení kamery do původního stavu, když to zapomene udělat sám.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: czAtlantis 11. 10. 2021, 11:02:54
hikvision

Porovnáváš Hikvision s jeho Aliexpress kamerou? ;D
Aháá ;D

No zase tak levná (repektive hikvision tak drahá) není. Používám hikvisiony za 150USD a to je vcelku slušná kamera (4K, velkej senzor, IR přisvit...dělaj se i mnohem levnější hikvisiony)
...Já bych se taky vysral na PTZ kameru a dal raději 2 fixní.
No a pak z hikvision je triviální získat fotku, kdyby se to někomu hodilo, tak stačí
http://admin:heslo@192.168.x.x/ISAPI/Streaming/channels/101/picture
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: czAtlantis 11. 10. 2021, 11:10:12
No a k tomu hikvisionu - koneckonců fotku ta kamera umí fotky sama rovnou nahrávat na FTP jak v pravidelných intervalech, tak při události (detekce pohybu, překročení čáry...)
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 11. 10. 2021, 11:55:39
...Já bych se taky vysral na PTZ kameru a dal raději 2 fixní.
To jsem mu psal, udělal bych to stejně.

Ale jednu chce mít otáčecí, aby se mohl kochat svým dílem 8)
(Proč ne, staví si baráček, svůj hrad, co by se nemohl kochat.)

A ano, s fixní kamerou to je triviální záležitost, to jsem mu taky psal.
Tu Fixní kameru bych asi ukryl, navíc jí po dostavbě domu zrecykluje, fajn aby mu hlídala bránu.

zase tak levná (repektive hikvision tak drahá) není
Hikvision mi přijde super, za relativně dobré peníze poměrně slušná kvalita.
(Když to srovnám se značkou "Aliexpress")
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: crown 11. 10. 2021, 14:17:24
Jak je spolehlive to nataceni? Pokud udela 3 kroky doprava a zase 3 kroky zpet doleva, dojde to vzdy presne na tu samou pozici, nebo jen plus minus podobne? U time lapse by ty chyby vadily a navic se muzou casem nacitat.
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: czAtlantis 11. 10. 2021, 14:44:19
Jak je spolehlive to nataceni? Pokud udela 3 kroky doprava a zase 3 kroky zpet doleva, dojde to vzdy presne na tu samou pozici, nebo jen plus minus podobne? U time lapse by ty chyby vadily a navic se muzou casem nacitat.
řekl bych že to bude hodně plus mínus. Pro to použití co tu tazatel chce bych určitě šel stylem "dojeď naplno doprava nahoru a pak tři kroky dolů a dva doleva". Pokud by to člověk bral jen relativně, tak po dvou dnech bude koukat někam úplně jinam. Dost pochybuju že takovej levnej krám má nějaký absolutní polohy s krokovým motorem a zpětnou vazbou atd atd...
Název: Re:Pravidelné snapshoty z IP kamery
Přispěvatel: PanVP 11. 10. 2021, 15:12:50
Jak je spolehlive to nataceni

po dvou dnech bude koukat někam úplně jinam

Některé kamery mají implementovaný bod 0/0, třeba i jedinou světelnou závorou (šikmé protnutí horizontálního a vertikálního natáčení). Návrat na tento bod je pak snadný, protože do této polohy se má kamera sama natočit po zapnutí. Skutečně, mnoho takových kamer se po zapnutí samo přesune na výchozí pozici. (Že je správně pozná podle světelné závory, spínače, magnetu nebo "nějak".)

Jednotlivé fixní body se definují návěstím, na které se dokážeš přesunout.
Návěstí "míchačka" může být třeba z NULY dej 20 levá, 3 dolů.
Návěstí "okno" může být třeba z NULY dej -10 levá nebo 10 pravá a 3 dolů.
Pokud by přesun na fixní pozici znamenal přesun na 0 a udělat třeba X kroků left a X up/down, tak by to mělo být vesměs OK. To se musí vyzkoušet.

Otázka je, jestli se při přesunu na návěstí vrátí do výchozí pozice - tj. na kalibrované místo.

Pokud si kamera pamatuje svoje relativní souřadnice, může to skutečně brzo švidrat někam mimo.

No a protože se tazatel chce pravidelně rozhlížet, tj. vlastně nevím, o kolik kroků se kdy posune, je návrat na fixní pozici asi nejlepší řešení. Spoléhat se na údaj v kameře, že kouká na XY, to teda potěš koště. Nicméně, i to se dá řešit, 1x za den provést reset kamery, která by se měla natočit na souřadnice 0/0, pokud to není úplný šunt. To si musí vyzkoušet sám. Jinak to, co chce, vlastně není až tak nic extra. Chce se pokoukat a pak, s úderem celé hodiny, aby se kamera natočila zpět.