Fórum Root.cz
Hlavní témata => Software => Téma založeno: tuxmartin 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 (http://www.linuxexpres.cz/praxe/motion-zachytte-pohyb), 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.
-
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...
-
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.
-
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ší.)
-
oprava:
-ss start_pohybu -t delka_pohybu
-
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 :-(
-
Doporučuji použít OpenCV, resp. projekt, který ho umí "využít" (třeba http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome).
-
tuxmartin: Raspberry Pi? Jsem zvědavej na finální řešení (nemám v plánu podobnou věc, ale znalost se hodí...)
-
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:
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.
-
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
-
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.
-
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: 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.