tree Explains Things 01: SnapMotion
In this tutorial I talk about using SnapMotion to create caps from video clips for the purpose of making gifs. (I recommend viewing this on YouTube for better quality and a larger video size.)
Please note that I'm not affiliated with SnapMotion or its creator in any way and there's nothing in it for me if you choose to purchase SnapMotion for yourself. Obviously, I recommend it, but do investigate your options, as there may be something out there that's better suited to you.
(This transcript is approximately 60% accurate to the tutorial and 40% me condensing my waffle into more sensible narration.)
--
SnapMotion is a Mac OS X program available to buy at the App Store. (As far as I'm aware, there are no releases for any other operating system.) It's fairly inexpensive: AUD $7.99 when I bought it two years ago. (In the video I said $12, from memory, but then I looked up the receipt email to confirm and found myself $4.01 wrong.) Considering that I've made thousands and thousands of caps in the couple of years I've been using it, I've definitely gotten my money's worth.
SnapMotion has two modes: what I call photo mode and then batch mode. Photo mode is good for one or two caps, but to extract caps in bulk you'll be using batch mode. (Something I forgot to mention in the video is that dragging your file to the SnapMotion icon will open it in photo mode by default. In order to access batch mode, you have to open the program and select it.)
Selecting Show Batch Mode takes you to the batch mode work space. Here you can drag and drop your clip or click the plus sign to add it. Once you've loaded a clip, select it in order to access the Add Batch Tasks menu.
One of the things that I particularly like about this program is that all the information you need about the file is clearly set out. In particular, it shows you how many frames per second you're working with. This is important because the fps rate determines how many frames you want to extract from a clip.
--
Why? Because math.
All the sources I've worked with have an fps rate of either 24 or 60. That number tells you how many individual images are contained in one second of video. Obviously, there's a considerable difference between 24 and 60, and that affects how many frames you choose to extract.
I've found I get the best results by extracting every other frame from 24 fps sources and every fifth frame from 60 fps sources. So:
24 fps = 2 (or 1/2 ← why does Tumblr do that?? I hate that!) 60 fps = 5 (or 1/5)
(That gives you roughly 12 caps per second for both sources. I say 'roughly' because, as you can see on my screen, the fps rate is rounded to the nearest whole number. 24 fps is actually 23.7 fps, so that missing .03 can have a cumulative effect.)
I find this is the best compromise between having smooth, natural looking motion in your gifs and keeping your file size within Tumblr's constraints. (I'll talk more about that in the next tutorial.)
--
Tools
The green bar is obviously your clip timeline. The cursor defaults to being in the centre for some reason. You have start and end caps (or whatever you call them) that define the start and end points of your extraction. The left and right arrow|bar buttons move your cursor to the start or end cap respectively, and between them is the play button. To the left are the transformation options. I've never used them, so I don't know what they do. (If you decide to experiment, please report back about your results!) To the right of that is the volume icon, which allows you to hear sound from your clip during playback. I don't find it useful, so I don't bother. The tortoise icon allows you to adjust the speed of your playback (left is slower, right is faster in case that’s not obvious). The arrowheads on the far right move your playback cursor to the start and end caps respectively.
Add Batch Tasks
This is where you specify the parameters for the batch.
Mode: there are four options. I primarily use Every X Frames. As this is a 24 fps source, I want to extract every 2 frames, so I use the value 2. When I type my value in and then press tab, the bottom of the panel shows the number of frames that will be generated from my selection. If I process this selection, SnapMotion will create twenty-five images. But because I moved the start and end caps earlier, and I actually want to extract frames from the whole clip, I need to adjust them. When I tab through my X value again, I see an updated number of generated frames.
I always include the Starting and Ending frames because I trim my clips to the exact frames I want (unless I'm being lazy).
Max size: This refers to the width of the image in pixels. (Technically, it refers to the maximum size of the largest dimension, but since video sources are universally landscape oriented, for our purposes this number will always refer to the width.) The default setting is 4,000 pixels and since the source clip is 1920 pixels wide my caps are going to remain 1920 pixels wide. However, if you know what width you want your eventual gif to be and you don't want to go through the extra step of resizing it in Photoshop, you can use this setting to do that for you. For example, if you want your gif to be 540 pixels wide you would enter 540 in this field. When you process this batch, SnapMotion will resize each frame it extracts to a width of 540 pixels with a proportional height. (Yeah, I said width at first and then I had trouble getting out the word height. Talking is hard!)
I don't use this feature simply because sometimes I change my mind, and I would have to rerun the batch if I did. (This isn't a big deal for a single shot like this, but if you're working with a whole scene that contains hundreds of frames, it's a hassle.) I also reuse caps sometimes. As you probably know, if you follow my Longmire gifs, sometimes I do a full scene using small gifs and then I go back and do large versions of some of the Vic shots. (Because I love her so.) And sometimes I make other graphics. In those situations, I want the image at its original size, so that I can resize or crop it the way I want.
Format: I prefer PNG.
Override: this tells the program what to do when a file with the same name already exists in the destination folder. The options are Replace existing files or Use alternative name. They're probably fairly self-explanatory (but just in case, I included a note).
Errors: I don't think I've ever had an error in this program. You can choose to generate a log file with each batch, but I kept getting logs that said "no errors" every time I ran one and it was annoying having to constantly delete them, so I switched to No error handling.
Headline/Credit: I believe this is like watermarking your images. If you want to watermark your gifs (I honestly don't see the point but some people do it), I think it'd be a lot easier to do it in Photoshop (or whatever program you use for image editing).
Export: this is where you specify the destination for your extracted image files. Click Choose to open the menu from here. Alternatively, when you're ready to process a batch, click the red button (aka the "Do the Thing" button according to me when I recorded this), and if there is no destination already specified, it will prompt you for a location.
Once you've clicked the Do the Thing button (yeah, I'm just leaning into it now), SnapMotion will display Task Added. If you look at the top of the window, you'll see a progress bar showing the percentage of completion as it processes.
When the images are fully exported, you'll see All Tasks Done and also an alert if you've selected that in your preferences (which I haven't gotten to yet but it's coming up). If you go to the destination folder, you'll find all the images that have been extracted. That's it!
--
I want to address the syntax for how files are named because I found the options very confusing to begin with. The default syntax made no sense to me and it took me a while to configure something that did. File names are defined in the program preferences, so go to the SnapMotion menu, select Preferences, then select the Batch tab.
Number of concurrent snaps: how many frames should be extracted at the same time. This has an impact on your RAM usage and also impacts how long it takes a batch to run.
Alert users with: this is where you choose whether or not you want a notification outside the program. It's useful if you're running a larger batch in the background and therefore don't see the All Tasks Done message.
Output name format: these are the elements I use:
<movie_name> = the title of your clip file
hyphen
<time_seconds> = the actual second position of the frame within the clip; for example, a frame that was extracted at 14s would be numbered beginning with 14. This parameter converts durations of 1 minute+ into seconds, e.g. 60, 61, etc.
<frame _index> = the running number of the frames extracted in the batch, beginning at 1. The position of this number depends on the total number of frames you're extracting. From 1 to 99 frames, the number will be 01; from 100 to 999 frames, the number will be 001. I've never extracted more than 1,000 frames, but I assume in that situation you'd begin with 0001.
If I were extracting 40 frames from my clip beginning at 14s, then the numerical portion of my file names would start at 1401. If I were extracting 120 frames, then the numerical portion of my file names would start at 14001.
<image_extension> = the file format you've specified
So, my file names are constructed like this:
<movie_name>-<time_seconds><frame _index>.<image_extension>
And the files from the batch I've just run look like this if you separate the elements:
1x05_2206 - 0 01 . png
In this batch, the seconds run from 0 to 3 and there are 34 frames in total. The first number column represents <time_seconds>, while columns two and three combined represent <frame_index>. You can see that the numbers in columns two and three are sequential from 1-34, whereas the numbers in column one aren't. That's because I've extracted multiple frames per second. Caps 1-7 were extracted from the first second of the clip, caps 8-18 from the second, caps 19-31 from the third, and caps 32-34 from the fraction of the fourth second.
This naming system is what works for me, but you should experiment with the options so that you can construct file names that work best for you.
--
The last couple of things:
You can import multiple clips either individually or at the same time.
You can delete a clip by selecting it and clicking the minus button.
--
And that's SnapMotion!
If anything is unclear or I've omitted something that you wanted to know about, please let me know. Thanks for watching and listening (and reading). Next up, I’ll be explaining the process of importing your caps into Photoshop and creating your gif file.











