Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Recombine still image sequences into movies

by zentara (Archbishop)
on Feb 25, 2009 at 17:51 UTC ( [id://746331]=sourcecode: print w/replies, xml ) Need Help??
Category: GUI Programming
Author/Contact Info zentara of perlmonks
Description: Want to make a highly succesful how-to to put on You-Tube? Or maybe speed up looking thru your security camera still images?

Here you go....put a sequential list of jpg's in a subdir, and run this script on it. The output flv is conveniently named as 111****.flv so as to be at the top of your dir list. :-)

A sample of me fixing a lamp is lamp_fix

#!/usr/bin/perl
use warnings;
use strict;

# Usage: $0    'a_video_subdir_full_of_sequential_jpgs'
 
$|++;
my $videodir = shift || 'lamp_fix';

#put the video at the top of the long image list
my $video = $videodir.'/111'.$videodir.'.flv';
# recombine
recombine();

print "done\n";
exit;

###################################################
sub recombine{

opendir my $dh, $videodir or die "Error: $!\n";
my @files = grep !/^\.\.?$/, readdir $dh;
@files = grep /^(.*)\.jpg$/, @files;
closedir $dh;
#print "@files\n";

#audio options left in just incase you want to try adding audio
my @moptions =( 'mencoder',
                "mf://$videodir/*.jpg",
                '-mf', 'fps=29.97', #NTSC tv video rate in 
#                '-audiofile', "$base.wav", 
        '-srate', 22050,
        '-o', $video,
                '-ovc', 'lavc',
        '-lavcopts', 'vcodec=mpeg4:vbitrate=100',
#        '-oac', 'mp3lame',        
#        '-audio-delay', 0.2, #adjust for audio syncing problems
        );
        
system(@moptions);        

}
############3
Replies are listed 'Best First'.
Re: Recombine still image sequences into movies
by grinder (Bishop) on Feb 25, 2009 at 19:42 UTC

    Dear Sir,

    I put 386502 jpg files in a directory and downloaded and installed ur program and now my computer seems to be realslow. Please to advice as 2 how 2 fix this problem.


    ...


    Nah seriously, zentara, this is a very cool hack. I've got some fractal experiments lying around... and, I see mencoder can digest png files as well. Hmm, this could be interesting. ++

    update: wow, that is a most surreal lamp-fixing video event. (i.e. if only VLC knew how to play it back at a reasonable frame-rate :)

    • another intruder with the mooring in the heart of the Perl

      Yeah the lamp_fix jpg's come from my security camera setup to capture "on motion detect". I'm sure there is a frame delay option in mencoder, to slow down the play.

      I'm toying with the idea used on TV now, where they take a still image, and make a portion a floater (like the mouth opening /closing on a Bush image) so you could make pseudo-animated cartoons of images, maybe with a sound track. Open an person's image on a Tk::Canvas, then draw a lasso around the mouth, and drag the lasso with a mouse, saving at intermediate steps, to give the crude effect of talking or singing.....then lay a sound track on it.


      I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness

        It's true! You aren't really a human!

        The concept of a grainy monochromatic Mondrian meets Monty Python video clip driven off a Perl/Tk app is clearly the product of alien intelligence.

        • another intruder with the mooring in the heart of the Perl

Re: Recombine still image sequences into movies
by puudeli (Pilgrim) on Feb 26, 2009 at 08:27 UTC

    Hmm, you go through some effort to sort the directory contents and put them into @files but it is not used in anywhere? You simply glob the directory contents on the mencoder command line. Is there some really magical going on that a mere monk does not see?

    --
    seek $her, $from, $everywhere if exists $true{love};
Re: Recombine still image sequences into movies
by Lawliet (Curate) on Feb 25, 2009 at 20:32 UTC

    /me thinks you really just wanted to show everyone you can fix a lamp and the program was an excuse to do so :P

    I recommend motion for your webcam needs, by the way :)

    And you didn't even know bears could type.

Re: Recombine still image sequences into movies
by zentara (Archbishop) on Feb 26, 2009 at 13:43 UTC
    Just to fill in the lack of code, as to how the images get sorted, it's all in how they are named when created.

    I use MVC to capture motion on my v4l2 cameras. They have a sequential named output format like

    ./img-20090226-083619-0.jpg ./img-20090226-083619-1.jpg ./img-20090226-083620-0.jpg
    So no sorting needed! :-)

    I figured that you could record audio, while capturing the stop motion, and add understandable synchronized audio, at a real rate, to the fast motion video. I noticed that MSNBC's parodies of Rush Limbaugh uses this technique.


    I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: sourcecode [id://746331]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2024-03-28 10:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found