Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pobieranie obrazu z kamery ONVIF

517 views
Skip to first unread message

Atlantis

unread,
Sep 21, 2016, 7:56:48 AM9/21/16
to
Mam prostą kamerkę IP Overmax Coamspot 4.3. Połączona z domową siecią
przez Ethernet, obraz odbierany za pomocą apki na komórkę albo przez
interfejs WWW ma rozdzielczość 720p i wygląda naprawdę ładnie. Jest też
opcja wysyłania stopklatek w JPEG na maila albo FTP po wykryciu ruchu,
ale nie korzystam z niej, bo rozdzielczość jest zbijana...

W domowej sieci pracuje też Raspberry Pi, zajmujące się obsługą paru
daemonów, zbieraniem danych z paru czujników i okazjonalnym odpaleniem
jakiegoś skryptu.

Chciałbym zrobić coś takiego: ustawić w Cronie na RasPi skrypt, który
raz dziennie dogada się z kamerą poprzez ONVIF, pobierze jedną klatkę w
pełnej rozdzielczości i skompresuje ją do formatu JPEG. Następnie
zdjęcie ma zostać zapisane na dysku sieciowym lub PenDrive pod nazwą
zawierającą bieżącą datę.

Po jakimś czasie, gdy uzbiera się tych plików większa liczba, chciałbym
z tego zrobić timelapse'a, pokazującego jak zmieniał się monitorowany
teren w ciągu paru lat.

Na pierwszy ogień niech pójdzie zagadnienie wyciągnięcia pojedynczej
klatki przez protokół ONVIF. Jak to zrobić pod Linuksem, w sposób
umożliwiający umieszczenie tej operacji w skrypcie?

Scobowski

unread,
Sep 21, 2016, 10:50:38 AM9/21/16
to
a czemu onvif, a nie złapać jednej klatki ze strumienia przy użyciu np. vnc?

ToMasz

unread,
Sep 22, 2016, 6:08:56 AM9/22/16
to
> opcja wysyłania stopklatek w JPEG na maila albo FTP po wykryciu ruchu,
> ale nie korzystam z niej, bo rozdzielczość jest zbijana...
Tu bym szukał rozwiązania

> Na pierwszy ogień niech pójdzie zagadnienie wyciągnięcia pojedynczej
> klatki przez protokół ONVIF. Jak to zrobić pod Linuksem, w sposób
> umożliwiający umieszczenie tej operacji w skrypcie?
>
ja mogę zobaczyć obraz z takiej kamery używając vlc. Napewno wystartuje
z lini komend. ale jakby Ci się udało podpatrzeć onvifa za pomocą
mplayera//mcodera to byłoby prościej, bo mplayer ma bardzo bogatą
dokumentacje. na 100% widziałem komendę która pozwalała powyciągać z
filmu konkretne klatki. Spróbuj, napisz jakie są postępy
ToMasz

Atlantis

unread,
Sep 22, 2016, 3:09:00 PM9/22/16
to
W dniu 2016-09-22 o 12:08, ToMasz pisze:

> Spróbuj, napisz jakie są postępy

Ok, skompilowałem ffmpeg na Raspberry Pi i za jego pomocą udało mi się
pobrać klatkę z kamery. Trzeba tylko używać RTSP przez TCP, bo w
przypadku UDP pojawiają się błędy i obraz jest zniekształcony.
Teraz tylko pozostało dodać wpis w Cronie, który będzie regularnie
pobierał klatkę.

ToMasz

unread,
Sep 27, 2016, 5:19:22 PM9/27/16
to
W dniu 22.09.2016 o 21:08, Atlantis pisze:
eeee... no.
wklej tu skrtypt/linie z parametrami dla potomnych :)

ToMasz

karol

unread,
Sep 29, 2016, 6:06:58 AM9/29/16
to
W dniu 22.09.2016 o 21:08, Atlantis pisze:
Ale faktycznie pobierasz w takiej rozdzialce jak chcesz (masz maksymalna).
Bo jak walczylem z identycznym problemem (pobieral snapschota) to
okrajał do 600x480 mimo, ze kamera byla 1280p. Oczywiscie taki strumien
udalo sie uzyskiwac tylko w IE, lub na sofcie producenta.
KO

karol

unread,
Sep 29, 2016, 6:09:49 AM9/29/16
to
W dniu 22.09.2016 o 21:08, Atlantis pisze:
Mam do ciebie prosbe, jestes w stanie pobrac z teg overmaxa snapschota
poprzez wget'a poprzez jakis http? np.

http://[ipkamery]/cgi/snapshot.cgi?action=getdata&channel.[CHANNEL].capture=true&channel.[CHANNEL].resolution=1

Tak bylo dla camspot 3.1 nie wiem czy dla 4.3 mozna pobrac takiego jpg.
Kupowalem pod to edimaxy (troche drozszy) ale nie ma juz ich na rynku i
szukam zamiennika.
karol

Atlantis

unread,
Sep 29, 2016, 4:52:19 PM9/29/16
to
W dniu 2016-09-29 o 12:09, karol pisze:
> Tak bylo dla camspot 3.1 nie wiem czy dla 4.3 mozna pobrac takiego jpg.
> Kupowalem pod to edimaxy (troche drozszy) ale nie ma juz ich na rynku i
> szukam zamiennika.

Wygląda na to, że 4.3 nie daje możliwości pobrania pliku JPG przez HTTP.
Już szukałem w Sieci. Zresztą wygląda na to, że interfejs WWW w ogóle
nie udostępnia takiej opcji, więc nawet ze strony nie wyciągnę żadnego
linku. Tylko Flash i ActiveX...

W 4.1 można się dobrać do JPG, ale jego rozdzielczość jest tragiczna -
320x240. To chyba ma służyć jako podgląd w dodatkowym interfejsie WWW,
robionym pod komórki niebędące smartfonami. Co prawda w URL-u jest
przekazywany parametr o nazwie resolution
(videostream.cgi?user=[USERNAME]&pwd=[PASSWORD]&resolution=32) ale
czegokolwiek tam nie podam, zawsze wychodzi to samo.

Tak więc RTSP jest chyba najlepszym sposobem w przypadku tych kamer...

ToMasz

unread,
Sep 29, 2016, 4:53:58 PM9/29/16
to
W dniu 29.09.2016 o 12:09, karol pisze:
trochę niewiem kto komu odpowiada, ale właśnie edimaxy wymagają IE aby
osiągnąć pełną rozdzielczość obrazu. dlamnie to kompletna ściema. To tak
jakby pilot do TV miał 50% potrzebnych klawiszy :)

ToMasz
Camspoty dają lepszy obraz, niż edimaxy w podobnej cenie.

Atlantis

unread,
Oct 1, 2016, 3:20:12 AM10/1/16
to
W dniu 2016-09-27 o 23:19, ToMasz pisze:

> wklej tu skrtypt/linie z parametrami dla potomnych :)

ffmpeg -rtsp_transport tcp -y -i rtsp://[LOGIN]:[PASSWORD]@[IP]/live/ch0
-f image2 -updatefirst 1 -vframes 1 -q:v 1 [FILENAME]

parametr -q:v ustawia stopień kompresji - 1 oznacza najwyższą dostępną
jakość pliku JPG.

karol

unread,
Oct 20, 2016, 11:42:36 AM10/20/16
to
W dniu 01.10.2016 o 09:20, Atlantis pisze:
Kupilem ten model przetestowalem dziala, dla systemow bez backportowania
by doinstalowac ffmpeg'a :

avconv -i rtsp://[login]:[haslo]@[IP]/live/ch0 -frames:v 1 -r 1 screen.jpg

Scobowski

unread,
Oct 22, 2016, 7:02:24 AM10/22/16
to
vlc oczywiście :P
0 new messages