Filmečky s desetiminutovými záznamy jsou v adresáři ~/usbkamera pojmenovávány Tue_09_00.avi Tue_09_10.avi Tue_09_20.avi atd.
Tedy každých 10 minut záznamu má svůj soubor. Po týdnu se soubory automaticky přemazávají.
Pokud tedy chci vidět, co se dělá v danou dobu. (je zde spor např. jakou bankovkou bylo zaplaceno) jednoduše najdu příslušný filmeček a posunu se v čase na příslušnou minutu. Tedy ovládání zvládne každý, kdo zvládne procházet složku souborů.
V našem případě tento skript funguje bezchybně a bezúdržbově od roku 2011. Úplně jsem na něj tedy zapomněl, nicméně občas byla nahraná videa použita pro případ sporu u objasnění, kdo kolik platil a dostal zpět.
/home/user/usbkamera/nahrej.rb
Kód: Vybrat vše
#!/usr/bin/ruby
# encoding: utf-8
nazev_souboru=Time.now.strftime("%a_%H_%M") # den hodina minuta
#p co_spustit="ffmpeg -loglevel error -t 40 -f video4linux2 -s 320x240 -r 5 -i /dev/video0 -y -r 5 #{nazev_souboru}.webm"
p co_spustit="ffmpeg -t 597 -f video4linux2 -s 320x240 -r 5 -i /dev/video0 -y -r 5 #{nazev_souboru}.avi"
# -y overwrites output files
`#{co_spustit}`
puts "hotovo"
Kód: Vybrat vše
0,10,20,30,40,50 9,10,11,12,13,14,15,16,17,18,19,20 * * * user cd /home/user/usbkamera&&/usr/bin/ruby /home/user/usbkamera/nahrej.rb 2>>/home/user/usbkamera/err.log
Kód: Vybrat vše
#!/usr/bin/ruby
# encoding: utf-8
#cron jen v pracovni dobe
#0,10,20,30,40,50 9,10,11,12,13,14,15,16,17,18,19,20 * * * user cd /home/user/usbkamera&&/usr/bin/ruby /home/user/usbkamera/nahrej.rb >>/home/user/usbkamera/err.log
nazev_souboru=Time.now.strftime("%a_%H_%M") # den hodina minuta
co_spustit="ffmpeg -v 0 -t 600 -f video4linux2 -s 320x240 -r 5 -i /dev/video0 -y -r 5 #{nazev_souboru}.avi"
puts "#{nazev_souboru}--------------poustim: #{co_spustit}-----------------------"
`#{co_spustit}`
while $?.exitstatus != 0
puts "#{nazev_souboru}--------------------jeste bezi: #{$?.exitstatus}---------------"
`#{co_spustit}`
sleep 1
end
puts "#{nazev_souboru}---------------hotovo #{$?.exitstatus}----------------------"
závislosti: balíček ruby a ffmpeg
Formát webm by měl mít tu vlastnost, že soubor je možné sledovat (třeba z jiné lokality) ještě v době, kdy do souboru je zapisováno. Tuhle vlastnost ale nakonec nevyužíváme, proto jsem zůstal u avi.
Ukázka výstupu: