webkamera felvétel + timestamp

Fórumok

Szeretnék webkamerával felvételt csinálni (mondjuk avi-ba), azzal a speciális kitétellel, hogy rakja a képkockákra a felvétel idejét.
Milyen programmal / megoldással kéne próbálkoznom? Cheese-t próbáltam, de az nem tud ilyet:(

Hozzászólások

VLC

* Én egy indián vagyok. Minden indián hazudik.

Én már csináltam ilyet. Ha megmondod milyen formátumban vannak a fájlnevek, akkor átszabom a scriptem, és bemásolom ide.

Egy sub feliratfájlt készítek, és mencoderrel vasalom rá a képre. A felirat mindig pontosan az idő.

A script reggel fut le, ezért az előző napit fűzi össze.
Az első frame-en rossz lesz a felirat, és eggyel el kell csúsztatni. Bizonyára mencoder sajátosság. (Tudnám miért 0. sorszámú a 2. frame...)
A mi kameráink GMT-ben mérik az időt, ezért kell hozzáadni az órához 1 vagy 2 órát.
A kamerák külön könyvtárba mentik a napot, illetve a fájl nevében benne van az időpont. Ez kameránként változik hogyan oldják meg. Ezért akartam rászabni az adott esetre.
A kód teli volt még log-olással, képzeljetek el minden 3. sor után echo "valami">log.txt részt.


d=`date --date '1 day ago' '+%-m_%-d_%Y'`
cd /kamerakonyvtar/$d/  #a fájlok helye
temp=/kamerakonyvtar/tmp${d}.sub
rm -f ${temp}
j=-1     #ez számolja majd a frame-eket
dd=`date -d "${d//_//}"`
dd=${dd%%00.00.00*}  #Ebből emberileg olvasható formátumú dátum lesz
for i in *.jpg ; do 
        if [[ $j > -1 ]]; then
                 k=${i%GMT*};
                 k=${k//_/:};           #megtisztítot fájlnév
                 hour=${k%%:*};         #fájlnévből az óra
                 other=${k#*:};         #a perc, másodperc
#                 echo \{$j\}\{$j\}$dd $((10#$hour+1)):${other} >> ${temp};
                 echo \{$j\}\{$j\}$dd $((10#$hour+2)):${other} >> ${temp};   #A \{$j\}\{$j\} rész utáni kerül a filmre. A dátum, óra és other-ben a perc, másodperc
        fi
  j=$(($j+1));
 done;
if nice -19 mencoder "mf://*.jpg" -mf type=jpeg:fps=25:w=640:h=480 -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=1600:keyint=150 -subcp utf8 -sub ${temp} -o /kamerakonyvtar/${d}.cam &> /dev/null; then
        echo "Siker"
        rm -rf /kamerakonyvtar/${d}
else
        echo "Kudarc"
fi

motion lesz a te baratod szerintem. :)

Képeket az imagemagic csomaggal is lehet összemosni, így alkotok pl. vízjeleket rájuk.

A motion nagyszerű, de amolyan biztonságiőr-szerű prg. arra nagyszerű, hogy automatikusan tolja a fényképeket, ha nagyobb mozgás van.

Az igazság az, hogy én kb. 25-30fps-es videot hanggal együtt szeretnék rögzíteni oly módon, hogy még a képet is látom közben.
Aztán ezeket még vágni is akarom (nem bonyolultan, igények kicsik), majd 1/10 másodperces képátmenettel össze is akarom őket fűzni, nos ez utóbbi akár parancssorban is mehetne sorszámozott videokkal.
És itt vagyok defektes, nem tom mit érdemes felrakosgatnom.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Régebben készítettem egy patch-et az mplayer/mencoder-hez ami épp erre való:

http://onebithq.com/root/mplayer/cctv

Az strftime() paraméterrezéssel működik. Az a baj, hogy ehhez patch-elni kell az mplayer forrását + fordítani ...