Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-09-13 15:17:03

  lukas.gab - Użytkownik

lukas.gab
Użytkownik
Zarejestrowany: 2009-02-27

Rejestrowanie obrazu z kamer IP

Cześć!

W wątku dotyczącym zapchania się dysku wywiązała ([url]https://forum.dug.net.pl/viewtopic.php?id=29900[/url]) się, dyskusja na temat rejestrowania obrazu z kamer monitoringu na maszynie z Windows 7. Ogólnie chciał bym przenieść dyskusję do osobnego wątku, bo to osobne tematy.

Ogólnie używam do rejestrowania obrazu kamer IP. Każda kamera ma swój adres IP i serwuje strumień rtsp. Jako zawodowy programista chciałem napisać swój system zapisywania, mixowania i enkodowania tych strumieni wykorzystując ffmpeg - jednak mnogość innych projektów które przynoszą już obecnie zyski spowodowała, że projekt nagrywarki odsunąłem na bok. Skorzystałem, z oprogramowania dołączonego do kamer - oto takiego [url]http://www.herospeed.net/en/index.php?m=content&c=index&a=lists&catid=10[/url]

To co dla mnie ważne :

- możliwość, zapisu ciągłego obrazu z kamer, gdy miejsce się kończy to kasowanie najstarszych nagrań
- możliwość, podglądu wszystkich kamer live
- możliwość podglądu historii wszystkich kamer na raz, jak i pojedynczych
- obsługa 8 kamer i więcej
- strumieniowanie siatki 8 kamer w strumieniu głównym i podstrumeiniach ( w głównym daje obciążenie ok 24MBps, a w podstrumeiniach ok 10 MBps sieci, gdie przy końcówce przeglądającej WiFi i słabym procku ma znaczenie)
- możliwość strumieniowania na jakąś stronę internetową w świat, ofc chronione hasłem.

Czy są jakieś alternatywy pracujące na Linuksie ? Znam ZoneMinder, ale on z tego co wiem, to zapisuje same klatki a nie film, a dwa, że reaguje na ruch, a nie w trybie ciągłym.

Będę wdzięczny za sugestie.

Offline

 

#2  2017-09-13 18:17:03

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Rejestrowanie obrazu z kamer IP

Afaik to w środowisku linuksowym możesz się spełnić jako programista, bo jak ja szukałem czegoś na szybkości to tylko zoneminder był dostępny (jakieś 4 lata wstecz) ;)

Offline

 

#3  2017-09-13 18:22:29

  davidoski - Użytkownik

davidoski
Użytkownik
Skąd: Poznań
Zarejestrowany: 2007-04-17

Re: Rejestrowanie obrazu z kamer IP

[b]6 Awesome DIY Security Camera Clients for Linux [/b]

http://www.makeuseof.com/tag/awesome-diy-security-camera-clients-linux/

Ostatnio edytowany przez davidoski (2017-09-13 18:23:04)

Offline

 

#4  2017-09-13 19:40:15

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Rejestrowanie obrazu z kamer IP

Do oglądania przez www i rejestrowania  - Zoneminder.
Do rejestrowania tylko ruchu (zmiany na obrazie) Motion - chyba od dawna nie jest rozwijany, ale działa.

Do zgrywania obrazu z kamer starczy ffmpeg, tylko trzeba go troszkę oskrypcić.

Kasowanie starszych nagrań? Skrypt do Crona, który sprawdza, ile zajęły nagrania
i najwyżej kasuje nagrania z przed trzech dni używając finda do wyszukania plików
do usunięcia.

Nagrywanie tylko musiałoby  zapisywać pliki np o długości 1h nagrania, a nie ciągle.

W ffmpegu nie wiem, czy da się zdefiniować maksymalną wielkość pojedynczego pliku,
ale w razie czego restart skrypta trwający  0,5 s co  6 godzina lub 12 godzin to nie jest wielki problem.

Skrypty używające ffmpega najlepiej byłby podnosić przez daemontools,
który automatycznie podnosi usługę która się wyłączy z dowolnego powodu.

Pozdro

Ostatnio edytowany przez Jacekalex (2017-09-13 19:41:58)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2017-09-14 06:22:58

  lukas.gab - Użytkownik

lukas.gab
Użytkownik
Zarejestrowany: 2009-02-27

Re: Rejestrowanie obrazu z kamer IP

Cześć.

Dzięki za link z zestawieniem programów - parę wygląda obiecująco.

Co do Zonemindera - muszę raz jeszcze go przetestować - ostatnio jak go zainstalowałem, to nie działał za ciekawie - super wolno, a i nie pokazywał mi filmu tylko zdjęcia.

Co do ffmpeg - no chciałem takie rozwiązanie zrobić, tylko, że ffmpeg po paru sekundach wali błędami - jakby mój 12 jajowy Xeon nie wyrabiał z kodowaniem strumienia do pliku ... i to przy 1 kamerze, a co dopiero przy 8 ... Pewnie da się to zrobić, mieszając parametrami, jednak to nie starczy - trzeba by zrobić, jeszcze backend, który będzie miał jakiś interface HTTP albo TCP, który na żądanie klienta zacznie strumieniować nagrania z n kamer z danego okresu np. 3 w nocy 2 dni temu. Na końcu potrzeba natywnego klienta, ew. www, gdzie w JS odbieram i renderuje ten strumien rtsp (jeden lub wielu), no i serwer co mi tego klienta JS wyśle - więc robi się dość sporo grzebania, więc chcę na już użyć, czegoś gotowego, a potem grzebać swój system.

Co do spełniania się jako programista - nie sądzę, żebym pisał taki system stricte pod Linuxa. Jak już, to myślałem o multiplatformowym systemie (dlatego cron odpada, bardziej jakiś autorski scheduler). Mam pewne doświadczenie w pisaniu softu przenośnego, który działa na Windowsie, Linuxie, macOS - notabene pisany w C#- odkąd Balmer abdykował to MS daje sporo narzędzi programistom wszystkich platform (pa jaki fajne Visual Studio na macOS jest !)

No to tak - sprawdze, czy da się pod moje potrzeby Zonemindera skonfigurować, zobaczę, też co oferuje IVideon, jak coś osiągnę, to pogrzebie coś swojego. Jak ktoś chciał by zabrać głos w dyskusji - zapraszam !

Offline

 

#6  2017-09-14 13:26:24

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Rejestrowanie obrazu z kamer IP

FFmpeg nie musi kodować, jeżeli np kamera IP wysyła sygnał h264 to musisz go tylko zgrać do pliku, bez zmiany formatu.
Jeżeli chcesz przy pomocy ffmpega dekodować w locie, to postaraj się o jakiś szybki interfejs sprzętowy, jak np NVidia z Vdpau czy AMD z Vaapi.
Xeony chyba nie mają intelowskiego Clear Video HD do  dekodowania video.

Bo chyba te kamerki nie są do serwera podłączone kablami analogowymi do jakichś kart na serwerze, prawda?

Ostatnio edytowany przez Jacekalex (2017-09-14 13:32:58)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2017-09-14 17:29:11

  lukas.gab - Użytkownik

lukas.gab
Użytkownik
Zarejestrowany: 2009-02-27

Re: Rejestrowanie obrazu z kamer IP

Nie nie, te kamerki to kamery IP - każda ma swój adres i wysyłają unicastem, albo broudcastem strumien rtsp. Co do kodowania - z powodu, że mam kiepskie łącze i wolne końcówki, chciałem też miksować na serwerze grida z 8-mioma i restreamować. Co do zapisu - obaczaje jak zapisac ten h264 bez kodowania ponownego. Co do układów sprzętowych - poczytam o tym.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.013 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00139 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.222.83.185' WHERE u.id=1
0.00114 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.222.83.185', 1715800735)
0.00074 SELECT * FROM punbb_online WHERE logged<1715800435
0.00111 DELETE FROM punbb_online WHERE ident='52.167.144.179'
0.00082 SELECT topic_id FROM punbb_posts WHERE id=314227
0.00122 SELECT id FROM punbb_posts WHERE topic_id=29901 ORDER BY posted
0.00128 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29901 AND t.moved_to IS NULL
0.00014 SELECT search_for, replace_with FROM punbb_censoring
0.00124 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29901 ORDER BY p.id LIMIT 0,25
0.00140 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29901
Total query time: 0.01064 s