[ale] "motion" and snapshots?
Geoffrey
esoteric at 3times25.net
Wed Apr 7 22:06:26 EDT 2004
Robert L. Harris wrote:
>
> I know Geoff and a couple others are playing with "motion". I just
> got a new webcam and it's actually supported. Getting motion up and
> online was quick and I love the built in web server. So far the only
> problem I've got is the snapshots are saved in
> <prefix>/2004/04/08/21/22/snapshot.jpg format instead of somethign
> like /prefix/200404082122.jpg which makes poking through a history
> much simpler. Anyone found a way to manage something like this?
I've got a perl script around here that does a conversion like this, let
me look around...... Ah, here it is! It's ugly, it's old, it uses
static directory values, feel free to hack away at it. Hope it helps!
--
Until later, Geoffrey Registered Linux User #108567
Building secure systems in spite of Microsoft
-------------- next part --------------
#!/usr/bin/perl
# use diagnostics;
use strict;
my ($nfn, $fn, @parts, %newdir, %newfn, $i, $key, $value, %file, @df, @data);
chdir "/home/esoteric/watch" || die "died attempting to chdir";
my @files = `find . -name '*.jpg' -print`;
printf "files to move: %s\n", $#files + 1;
my @pre_df=`df /home/esoteric/store`;
foreach $fn (@files) {
# parse through each file name, and build the new filename
# and directory name the file will reside
chomp $fn;
@parts = split ("/", $fn);
$file{$fn} = $parts[0];
$newdir{$fn} = "/home/esoteric/store/archive/" .
substr($parts[1], 2, 2) . $parts[2] . $parts[3];
$newfn{$fn} = $parts[4] . $parts[5] . substr($parts[6], 0, 2);
for ($i = 1; $i < $#parts; $i++) {
$file{$fn} = $file{$fn} . "/" . $parts[$i];
}
}
my $count=0;
while (($key, $value) = each %file) { $count++; }
printf "files to move: %s\n", $count;
$count=0;
while (($key, $value) = each %file) {
# create the directory if it does not exist
if ( ! -d $newdir{$key} ) { mkdir $newdir{$key}; }
# insure unique file names
$nfn=$newdir{$key} . "/" . $newfn{$key} . ".jpg";
while ( -e $nfn ) {
printf "Found a duplicate <%s> and <%s>\n", $nfn, $newfn{$key};
print "Changing file name";
$nfn=$newdir{$key} . "/" . $newfn{$key} . "a.jpg";
}
# printf "moving %s to %s\n", $key, $nfn;
`/bin/mv $key $nfn`;
if ( ! -e $nfn ) { die "file doesn't exist, mv failed\n" }
# if ( $? != 0 ) {die "mv $key $nfn failed ($?)";}
$count++;
}
print "files moved: $count\n";
# $list=`find * -type d -depth -print`;
# print "list of directories located: $list\n";
`find * -type d -depth -print |xargs rmdir`;
@df=`df /home/esoteric/store`;
@data = split " ", $df[1];
$data[4] =~ s/%//;
print $pre_df[1];
print $df[1];
if ( $data[4] > 98 ) {
`/home/esoteric/shl/dosound /home/esoteric/sounds/intercom.au`;
}
exit;
More information about the Ale
mailing list