Detekce pohybu ve videosmyčce

Detekce pohybu ve videosmyčce
« kdy: 25. 03. 2015, 20:19:05 »
Ahoj, potrebuju udelat videosmycku. Pouzita bude bezna USB webkamera, ale melo by to fungovat i s jakoukoliv jinou, ktera si vytvori /dev/videoX zarizeni.

Trvale se bude nahravat video, asi do RAM disku - proste docasne bez ukladani. V pripade detekce pohybu se musi ulozit poslednich asi 5s (pred pohybem) + se musi zacit nahravat video a po dokonceni pohybu jeste asi dalsich 10s ulozit.
Video z doby pohybu potrebuju ulozit do souboru.

Zkousel jsem program motion, ale ten je hodne narocny na procesor. Ja mam externi detektory pohybu (PIR).

Mate tip na nejaky program, ktery dokaze trvale nahravat video (bez ukladani) a pokud mu nejak prijde povel, ulozi poslednich par sekund + zacne ukladat do souboru?

Povel muzu predat temer libovolne. Tomu se prizpusobim.

Diky za radu.
« Poslední změna: 25. 03. 2015, 20:42:12 od Petr Krčmář »
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."


Snow

Re:Videosmycka - externi detekce pohybu, cim nahravat
« Odpověď #1 kdy: 25. 03. 2015, 20:43:31 »
Ffmpeg umí ukládat stream, pak můžeš pomocí něho udělat z videa výseky.
Tj jedním ffmpegem bych ukládal stream do toho ram disku a druhému bych posílal parametry vysekni čas od do... Něco podobného mám vyřešeno, jen stream neukládám do ramdisku ale na disk a pak každej den stream projíždím a nasekávám pohyb.
Nicméně nezkoušel sem jak si ffmpeg poradí s procházením neukončeného videa, ale když zvolíš nějaký vhodný kontejner, který si ukládá hladičky průběžně, třeba mkv, tak by myslím neměl bejt problém...

Re:Detekce pohybu ve videosmyčce
« Odpověď #2 kdy: 25. 03. 2015, 20:58:06 »
Muzes to trocuh upresnit? Aktualne pouzivam avconv (ffmpeg).

Da se mu nejak vyslevetlit, at neustale nahrava treba 10s?
Pokud by slo, mohl bych pouzit nasledujici postup:
Jeden trvale bezici avconv, ktery by nahraval video do suboru v ramdisku a trvale prepisoval napr. 10s.
Jakmile by prisel impuls z PIR, killnul bych prvni avconv a zustal by mi soubor. Okamzite bych spustil druhy avconv a nahraval do dalsiho impulsu z PIR. Pak bych i ten killnul a obe videa spojil.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Snow

Re:Detekce pohybu ve videosmyčce
« Odpověď #3 kdy: 25. 03. 2015, 22:46:51 »
No pokud vím tak jo, resp sem to nezkoušel ze streamu ale z videa, a ale to by mělo bejt jedno. -f segment -segment_time XX Tím můžeš kouskovat stream třeba po 10s... Tj v tvém případě budeš ukládat řekněme  co 10s to nové video, staré budeš odmazávat, a když bude pohyb, spustíš nahrávání + přilepšíš aktuální segment.  Nicméně počítej s tím, že pak může bejt mezi segmentem a pohybem výpadek, než se prostě nahrávání nastartuje, může to někdy trvat, ale víc jak vteřina by to neměla bejt. (Záleží na kameře)

Nebo jak sem psal, budeš ukládat stále a když bude pohyb vysekneš ho ffmpegem -ss start_pohybu -d delka_pohybu

(První varianta bude asi lehčí na provedení, druhá mě přijde ale elegantnější.)

Snow

Re:Detekce pohybu ve videosmyčce
« Odpověď #4 kdy: 25. 03. 2015, 22:49:23 »
oprava:
-ss start_pohybu -t delka_pohybu


Re:Detekce pohybu ve videosmyčce
« Odpověď #5 kdy: 25. 03. 2015, 23:28:15 »
Nebo jak sem psal, budeš ukládat stále a když bude pohyb vysekneš ho ffmpegem -ss start_pohybu -d delka_pohybu
To nemuzu. Malo flash a RAM jeste min :-(
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Diskobolos

Re:Detekce pohybu ve videosmyčce
« Odpověď #6 kdy: 26. 03. 2015, 09:18:45 »
Doporučuji použít OpenCV, resp. projekt, který ho umí "využít" (třeba http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome).

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Detekce pohybu ve videosmyčce
« Odpověď #7 kdy: 26. 03. 2015, 09:30:02 »
tuxmartin: Raspberry Pi? Jsem zvědavej na finální řešení (nemám v plánu podobnou věc, ale znalost se hodí...)

Pavels

Re:Detekce pohybu ve videosmyčce
« Odpověď #8 kdy: 26. 03. 2015, 10:00:17 »
Ahoj,

doporucuji IP kameru Airlive CU-720PIR. Ma infracerveny detektor pohybu (Passive InfraRed).
Jako bonus ma kamera pasivni Power-over-Ethernet na 12-24V.

Pri detekci pohybu ulozi avi soubor na primountovany samba disk. Zaznamena par sekund pred az par sekund po pohybu. Takto mi to doma funguje.

Krome toho z teto kamery nahravam stream, kde kazdou hodinu se vytvori novy soubor:

Kód: [Vybrat]
avconv -rtsp_transport tcp -i rtsp://kamera -c:v h264 -b:v 1000k -map 0 -f segment -segment_time 3600 -segment_wrap 96 -segment_format mkv "out_%02d.mkv"
Po 96 hodinach (4 dny) to skoci na zacatek a zacne prepisovat stare soubory.

Suma sumarum, mam nepretrzity zaznam 4 dny zpetne a krom toho mi kamera sama od sebe vytvori dalsi kratky video pri zaznamenani pohybu.

karel

Re:Detekce pohybu ve videosmyčce
« Odpověď #9 kdy: 26. 03. 2015, 10:54:09 »
No ja bych pouzil to co pise Pavels s tim ze bych si udlel kratka okna treba 5s ty hazel do ramdisku

Vedle script co to bude pravidelne promazavat

A jeste script co kdyz zachyti pohyb pres pir cidlo tak veme odpovididajici segmenty a nekam je nakopci, pripadne slepi

Pavels

Re:Detekce pohybu ve videosmyčce
« Odpověď #10 kdy: 26. 03. 2015, 11:10:55 »
Vedle script co to bude pravidelne promazavat

Proc? segment_wrap sam rotuje soubory.

A jeste script co kdyz zachyti pohyb pres pir cidlo tak veme odpovididajici segmenty a nekam je nakopci, pripadne slepi

Proc? Kamera sama vytvori kratke video pri detekci pohybu a ulozi na samba/ftp/microSD.

Jenda

Re:Detekce pohybu ve videosmyčce
« Odpověď #11 kdy: 26. 03. 2015, 15:17:00 »
Pavels: Ale on má detektor pohybu zvenku.

Diskobolos: Proč proboha komplikovat nahrávání videa OpenCV?

Ten segment wrap mi přijde jako dobré řešení.

Pavels

Re:Detekce pohybu ve videosmyčce
« Odpověď #12 kdy: 26. 03. 2015, 15:23:19 »
Pavels: Ale on má detektor pohybu zvenku.
Aha, to jsem prehledl. Nicmene mnou doporucena kamera ma i digitalni vstup, na ktery by slo externi cidlo napojit. Kamera potom dokaze spustit nahravani pri zmene na digitalnim vstupu.