Timelapse Maker

From Levi D. Smith Games Wiki
Jump to navigation Jump to search

Timelapse Maker is a tool created in Ruby for generating a timelapse video from multiple video clips

Timelapsemaker 001.png

Instructions

Requires working versions of ffmpeg and VirtualDub on your system. The was developed under Windows, and may work on other operating systems with some tweaking, as there are some operating system specific calls, such as "system explore" to show source and output folders. Most of the file operation commands have been converted to use the platform independent FileUtils gem.

Also requires a working version of the Ruby interpreter, along with the GTK+3 gem installed. Make sure that Ruby is in your PATH environment variable. Ruby can be downloaded from https://www.ruby-lang.org/en/downloads/

Typically after doing a game jam, all of my video files that I have streamed (such as MP4 and TS files) are in the OBS (OpenBroadcaster) directory. Copy the files you want to use for your timelapse into another directory.

Run the timelapsemaker.bat file to start the program. Set the appropriate values.

  • Folder with video files - this is the folder where the video files to be timelapsed are located
  • FFMPEG executable - This is the path and filename of the ffmpeg.exe executable. FFMPEG can be downloaded from https://ffmpeg.org/
  • Video resolution - This is the desired resolution of the frame images
  • Real time seconds between frames - How long in real time between frame captures (60 means capture 1 frame per minute, 15 means capture 4 frames per minute, et cetera)
  • Folder storing frame images - Where you want the frame images to be stored. If it doesn't exist, it will be created.
  • Output folder - Where the final collection of sequenced frames will be stored. If it doesn't exist, it will be created.
  • VirtualDub executable - The path and filename of the VirtualDub executable. It can be downloaded from http://virtualdub.org/

Once the correct values are set, press Generate Frame Images. This will create one folder for each video file in the frames folder.

You can go through the frame folders and delete any unneeded frames, such as break times or things that shouldn't been seen in the timelapse.

Next press Sequence Images. This will take the remaining frames, and generate numerical files names in order for each in the single output folder. This will allow the frames to be imported.

Finally, press Create timelapse, which will load all of the output frames into VirtualDub.

At this point, you can watch your timelapse in VirtualDub (which I recommend) or apply any effects or modifications. This also gives one more chance to remove any unwanted frames. Just press left and right to go frame by frame and delete to remove a frame. When you are satisfied, select File and Save AVI to create the time lapse video.

At this point, I pull the AVI into another video editing program (I use Adobe Premiere Elements) to add an intro, outro, and background music. Then I export that video to be uploaded to a video hosting site.

Files

  • dup.rb - duplicates an image a specified number of times
  • encode.rb - converts all video files in the specified folder to image files
  • fixnames.rb - this was used to fix filenames with spaces or incorrect date format
  • gui.rb - original unfinished GUI interface
  • seq_files.rb - sequences image files into one folder
  • timelapsemaker.bat - runs the GUI interface
  • timelapsemaker_gui.rb - new GTK3 GUI interface


Code Repository

Timelapse Maker on GitHub (requires a Ruby installed and in PATH environment variable)