It is currently Sat Oct 21, 2017 12:41 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Mon Sep 05, 2016 11:23 pm 
Offline
User avatar

Joined: Sat Jun 27, 2009 11:05 pm
Posts: 712
Location: New Mexico, USA
Hello all,

I was wondering if any of you might have suggestions for timelapse recording software. I have been using chronolapse to take screenshots of my windows desktop at specified intervals and it's actually pretty awesome. I then take those screenshots and import them into Camtasia and create a video. It works well.

But chronolapse is missing one thing that I'd _really_ like - the ability to only take screenshots when there has been keyboard activity since the last screenshot that was taken. There are usually long periods of time when I'm not actually doing anything on my computer (e.g. reading physical datasheets or just away from my computer) and I don't want chronolapse to keep taking a bunch of screenshots when nothing on the screen has changed. This feature would be awesome because it would _drastically_ reduce the number of screenshots taken and the amount of space that they consume over any period of time.

Do you guys have any suggestions? My requirements are pretty basic:
- Ability to take screenshot of dual-monitor desktop (chronolapse ftw)
- Ability to take screenshot at specified time internal (chronolapse ftw)
- Ability to take screenshot only when there has actually been keyboard activity since the last screenshot (chronolapse fail)

The source code for chronolapse is actually available but it's written in Python and I've never written in python and would rather not learn a whole new language just for this one feature. Heh.

Thanks!


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 12:04 am 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
I don't have a suggestion for software, but if these are just discrete screen shots, maybe you could try finding/making a tool to scan for and delete duplicate files. But I suppose there's always the clock, you'd at least have one change per minute. If it's a lossless format, maybe you could compare files while ignoring a region of the screen. I suppose that would get more complex if they're JPEGs.


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 3:05 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 558
You should be able to ask the Windows screensaver API if there's been activity. Available to C++, .NET, etc.


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 5:00 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19114
Location: NE Indiana, USA (NTSC)
Memblers wrote:
I don't have a suggestion for software, but if these are just discrete screen shots, maybe you could try finding/making a tool to scan for and delete duplicate files.

I considered that, but it might get hung up on a blinking insertion point.


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 5:46 am 
Offline

Joined: Sat Aug 28, 2010 9:01 am
Posts: 190
tepples wrote:
I considered that, but it might get hung up on a blinking insertion point.
Then outsmart that problem! Compare the captured image against the last 2, or even 3 or 4 frames.

A completely different approach might be to try Camstudio and its lossless codec. From memory, it should compress repeated identical and near identical frames very well. Also, again from memory, you should be able to turn down the capture rate, if needed. This might turn out to be a more economical solution in the end.

I don't know your exact use case, however. Maybe you actually want to cut out those frames from the material, not only to save CPU and disk space (which may become a non-issue using Camstudio's codec) but also to spare your audience those parts.

_________________
Gameboy Genius (Blog) - Gameboy development forum (+wiki and file area)


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 12:49 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
Speaking strictly about codecs: the Lagarith codec was intentionally designed with screen capturing and similar things in mind (it's a lossless codec). Just passing that knowledge on, not wanting to de-rail the main focus of the thread (which is not about codecs).


Top
 Profile  
 
PostPosted: Tue Sep 06, 2016 10:12 pm 
Offline
User avatar

Joined: Sat Jun 27, 2009 11:05 pm
Posts: 712
Location: New Mexico, USA
Thanks all for the suggestions. To be clear, I'm not worried about the size of the post-processed video, that's never been an issue. What I want is chronolapse to never take the original screenshot in the first place unless there has been a keyboard press since the last screenshot was taken.

I went ahead and looked at the python code (https://github.com/collingreen/chronola ... se.py#L458). This is the obvious place to modify the code :
Code:
        # on countdown
        if self.countdown <= 0:
            self.capture()      # take screenshot and webcam capture
self.countdown = float(self.frequencytext.GetValue()) # reset timer

I did some quick googling and it seems like it might be possible that I could use the msvcrt.kbhit() to see if there has been a key press.

I have no idea if that would actually work since I haven't ever written python, but I'd first need to figure out how to compile the code. First problem is I can't figure out what version of python to build against, then it seems I also need a bunch of other libraries like wx, etc.. According to his makeexe.py I would also need either pyinstaller or cx_freeze.


Top
 Profile  
 
PostPosted: Wed Sep 07, 2016 12:43 am 
Offline

Joined: Sat Aug 28, 2010 9:01 am
Posts: 190
Normally, you shouldn't need to compile anything. For normal use, it's probably sufficient to run whatever .py file starts the application using python.exe or pythonw.exe if you don't want the terminal. You may need to install packages using pypi, which should be documented, but compiling is just a convenience for zero footprint dostribution.

_________________
Gameboy Genius (Blog) - Gameboy development forum (+wiki and file area)


Top
 Profile  
 
PostPosted: Tue Oct 04, 2016 12:11 am 
Offline
User avatar

Joined: Sat Jun 27, 2009 11:05 pm
Posts: 712
Location: New Mexico, USA
Success!! I was able to get in touch with the developer of Chronolapse and he added the feature! It's now available in Chronolapse 1.9.0 and 2.0.0 for anyone who is interested. And it works absolutely P-E-R-F-E-C-T-L-Y. No more 1000+ images of dead time consuming my harddrive space! I can get up, walk away, have myself a sammich, go to bed, etc, etc, and never have to worry about it taking unending pointless screenshots.

:D


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: DRW and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group