I often see images created by windows users which give some basic info such as filename, running time, format, etc., followed by a grid of video frames spaced over it's running time arranged like a contact sheet.
Most are labeled as being from BSPlayer, Windows Media Player Classic, or Video Thumbnails Maker.
I've looked all over the place and I can't seem to find an app for Macs which will accomplish the task. In fact, I haven't even found an app that will do it which runs in CrossOver, and I don't want to install windoze just for this task. Truthfully, I did find one small contact sheet app which can accept video, but it usually chokes and doesn't handle many formats. It also provides no info about the vid with the thumbnails.
+ Reply to Thread
Results 1 to 30 of 47
-
-
My steps listed here can be used:
https://forum.videohelp.com/threads/259463-A-way-to-auto-make-screen-caps-from-videos?h...=contact+sheet
but they do not give you the filename, running time, and format.
You would have to create a type layer, and then apply that info
yourself, then after applying that info, flatten the sheet in photoshop,
saving it as .jpeg, .tiff, etc."Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
Exporting from QuickTime has the problem that it asks how many frames per second. I don't even want 1. I need perhaps 20 images over the length of the video. Also, since I need to do this quite often, assembling the sheets by hand is getting ridiculously time consuming.
-
Assembling the sheets is done via the Contact Sheet builder in Photoshop,
I put the shots into a folder, point Photoshop to the folder,
set my sizes and my target paper ( canvas) size,
run the Contact Sheet and go. How much simpler can that be?
if you need 20 images over the length of the video, then do the math:
length of video in seconds divided by fps equals desired amount of images
In an example:
I have a 4 minute video ( 4 minutes divided by 60 seconds =240 seconds)
I want 20 frames, and the fps of the video is 8fps
so
240 seconds / 8fps =30 frames I should end up with if I select 8fps
in the Options window for the "Export to Image Sequence" window
so I adjust it so that I get 12fps or 240 seconds/12fps=20 frames
really easy, really simple"Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
The only snag there is that "Contact Sheet II" is no longer updated and became an optional separate install with CS4. In CS5 it won't even work unless you run in 32 bit mode. I suppose that's not out of the question since most plugins haven't yet been updated.
Uh... isn't that (4 mins times 60 seconds = 240 seconds)?
What?!
That's nonsense!Quicktime simply asks for frames per second as if you're converting the video. If you have a 4 minute video (240 seconds) and you specify 12 frames per second, it simply outputs 240 x 12 = 2880 frames!
I actually attempted it your way on a video clip that was 2:02 or 122 seconds. By your math thats 122/8=15.25 final frames. Well, I got exactly what i expected: 122 seconds x 8 fps = 976 frames!
To my stunned surprise, however, the box actually does accept a fractional framerate, though it's a horrible method of getting to the required number of final frames.
To get 16 final frames out of a 122 second video would require a frame rate of 16/122=0.131147541 fps. Actually you wind up with 17 frames. To actually get 16 final sample images, I specified 0.123 fps as it only accepts a few decimal places.
Still an unsatisfactory solution. If the video was theatrical length, say 120 minutes and one wants only 20 final frames...
20/(120 x 60sec.)=0.002777778 fps
Now the decimals are getting too small to be accepted by Quicktime and there's no Video data included, or timestamps even if I find a contact sheet app that will reduce and assemble the shots.Last edited by M-O; 11th Jun 2010 at 02:45. Reason: My answer changed after testing the tip!
-
There's Screen Grabber, which includes file and track data but it hasn't been updated since 2006 and won't work on WMV, FLV, MKV, M4v, or many other formats.
There's also ScreenCapper, which is somewhat better but adds no file or track info and still won't work on WMV or FLV, etc., even if you have Quicktime plugins for them.
ContactSheetMaker does just that. Fair interface but just assembles the images with filenames. It will create multiple sheets if necessary from a folder of images, but puts them in windows and waits for you to save them individually.
GraphicConverter will make a contact sheet (print, html, or image) with some flexibility, but doesn't do much to make it easy. No video stuff, of course.
Adobe Bridge will create a PDF contact sheet or web gallery. It has a few bells and whistles but when it gets down to brass tacks, it isn't much better, if as good for simple stuff, as Contact Sheet II was.
A good video thumbnail sheet app, or even a decent Mac-like contact sheet maker appears to be nonexistent. -
Sorry about the math formula,
yes you are correct that formula would and should be:
number of stills/ (length of video x 60 sec.)=frame rate to be entered into "Export to Image Sequence, Options, fps input box".
And as Flarch has stated, no there is no simple GUI app to do what
you want to accomplish. We only at this point on the Mac,
workarounds and or (half-) steps to accomplish this particular task."Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
i'm on to something maybe....
using ffmpeg and imagemagick to do it so any requests put them here or email me from the link
here is a video of where i am up to so far!
takes a movie (mov.mp4,mpg so far- flv and wmv maybe tomorrow) and makes a .jpg with 20 small pictures from the movie and puts title of movie and duration at the top of the contact sheet and errrr that's it really so far.
big mov
http://homepage.mac.com/lindsayellis/contax.html
small mov
http://homepage.mac.com/lindsayellis/contax-small.html
cheers
jamie -
"Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
thanks terryj
I have just made it work with ffmpeg but the quicktime thing may come in handy for prores movies (this may end up being useful to me at work you never know!)
ffmpeg doesn't do prores yet. VC-3 (ie dnxhd) yes, prores no. ah well.
righty ho
fixed the FLV and WMV things (and probably now will do every type of movie that ffmpeg supports)
No gui yet (will do that tonight)
and will add batch process so you point it at a FOLDER of movies and it will do the rest.
here is today's video
http://homepage.mac.com/lindsayellis/contaxV2.html
anybody want it to play with yet?
or any requests for the functionality?
get it in now before i move on to something else and have all this knowledge replaced in my head....!
jamie -
(small) GUI done
http://homepage.mac.com/lindsayellis/contaxv3.html
will do batch tomorrow
jamie -
batch done
here is the vid!
http://homepage.mac.com/lindsayellis/batchContaX.html
shout if you want it.
it's free but a bit geeky to install (you need to copy a unix executable called gs into /usr/bin)
i don't really want to do installers you see...
tested on snow leopard only and works fine and dandy on my iMac.
cheers
j -
-
Same here, I'd also like to test and put through paces...Thanks for listening to my suggestions,
and glad flv and wmv are fixed!"Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
here it is
http://homepage.mac.com/lindsayellis/contaXdownload.html
and at the bottom of this reply
Snow Leopard only as that is what I compiled it on.
uses ffmpeg,imagemagick,pashua and gs tied together with bash and a bit of applescript
to "install" it the only thing you need to do is check /usr/bin (use the "Apple G" thing to Go there) and see if you have gs in there already if not you need to copy it into /usr/bin or /bin from the contaX folder
gs is ghostscript and is a postscript printing thing that does all the text (and i think pdf functions?) from imagemagick.
once that's done
put the contaX folder inside your applications folder and run contaX the app from there.
for the nicest exit of the terminal window (so the window doesn't just hang around)
in Terminal prefrences set the "when the shell exits: to Close if the shell exited cleanly" otherwise you'll have to close it!
the thing called BatchContaX.sh is the shell script the program actually is and can be opened in a text editor and messed with if you want to.
if you have any requests/ideas and you can't do them, email me or post it up and i'll see what i can do but bear in mind i'm NOT a developer.
If you do improve it or use some of the other imagemagick programs (they're all in bin-montage is the only one i'm using but i put them all in)
send me a copy or post it up!
I know prores won't work and AVID flavour MXF is a no no.
this line in the script
find "$themovie" -iname *.mov -o -iname *.flv -o -iname *.mp4 -o -iname *.wmv -o -iname *.mpg -o -iname *.mxf -o -iname *.avi -type f > "$app"/filelist
limits what contaX will try to do.
if you want another file type just add a -o -iname *.yourextensionhere and compile the shell script with shc (or ask me...)
cheers
jLast edited by jamiep; 15th Jul 2010 at 17:38.
-
here is the annotated script so that maybe i'll remember some of this after next week!
if anyone can improve it please do so and post up (but be nice about it)
#! /bin/sh
#this line makes the variable app the path to the app so we can use the folder it is in for other stuff
export PS1="\[$(tput setaf 2)\][$(tput setab 0)\]\u@\h:\w $ contax-running "
app=`dirname "$0"`
#this next line sets the title of the terminal window to contaX
echo -e "\033]0;contaX\007"
#this bit sets a result variable from the GUI so you can get the gui variable values
result=`"$app"/bin/Pashua.app/Contents/MacOS/Pashua "$app"/bin/contaX.pash | sed 's/ /;;;/g'`
# Parse result with the next bit
for line in $result
do
key=`echo $line | sed 's/^\([^=]*\)=.*$/\1/'`
value=`echo $line | sed 's/^[^=]*=\(.*\)$/\1/' | sed 's/;;;/ /g'`
varname=$key
varvalue="$value"
eval $varname='$varvalue'
done
# make a directory on the desktop to hold all the pics ffmpeg makes
mkdir ~/desktop/bitpix
# find in the folder (or file) the file types we want, iname makes it case insensitive so mov or MOV work then puts all the things it finds into a text file
find "$themovie" -iname *.mov -o -iname *.flv -o -iname *.mp4 -o -iname *.wmv -o -iname *.mpg -o -iname *.mxf -o -iname *.avi -type f > "$app"/filelist
#this bit replaces spaces with \space for bash and then overwrites the original filelist using mv to do it
cat "$app"/filelist|sed 's/ /\\ /g' > "$app"/filelist2
mv "$app"/filelist2 "$app"/filelist
# open the filelist textfile and then do a while loop for each line of text
cat "$app"/filelist|while read line
do
# set the variable movname to be just the name and not have any extension hopefully. there is another way to do this and i can't quite remember it!
movname=`basename "$line"|rev|cut -c 5- |rev`
#this uses ffmpeg to get the info about the movie and write it to a text file the 2> bit is redirecting stderr to a file
"$app"/bin/ffmpeg -i "$line" 2> "$app"/logtxt
# make a directory in the bitpix directory with the name of the movie
mkdir ~/desktop/bitpix/"$movname"
# set the variable dur by grepping the logtxt file for duration and then taking the second field by using awk
dur=`cat "$app"/logtxt|grep Duration: |awk '{print $2} '`
#put the variable dur into a text file durr so we can split it up by field : and make them all variables so we can add it all up to seconds
echo $dur >~/desktop/durr
seconds=`awk 'BEGIN { FS = ":" } ; { print $3 }' ~/desktop/durr `
minutes=`awk 'BEGIN { FS = ":" } ; { print $2 }' ~/desktop/durr `
hours=`awk 'BEGIN { FS = ":" } ; { print $1 }' ~/desktop/durr `
rm ~/desktop/durr
#do some maths -expr lets you do math but you have to escape the wildcard character by backslashing it
sss=`echo $seconds|cut -c 1-2`
mmm=`expr "$minutes" \* 60`
hhh=`expr "$hours" \* 3600`
#this line is the addition maths to gt the total in seconds
movieduration=$(( $hhh + $mmm + $sss ))
# this formats the duration into a nicer format by using printf nicedur is what we'll use for printing
wholedur=`printf "%.0f" $movieduration`
nicedur=`printf ""%dh:%dm:%ds"\n" $(($wholedur/3600)) $(($wholedur%3600/60)) $(($wholedur%60))`
#work out the interval by dividing 19 by the duration in seconds---19 being the approx number of stills we want using bc because we need non integer maths
interval=`echo "scale=3;19/$movieduration"| bc`
# this bit rounds the interval to 3 decimal places
interval2=`printf "%.3f" $interval`
# heavy lifting here. ffmpeg makes a jpeg every interval2th of the film the cat /dev/null stops the script from timing out after only one process. ffmpeg just rolls that way.
cat /dev/null |"$app"/bin/ffmpeg -i "$line" -r $interval2 -s 320x180 -b 4000 -f image2 ~/desktop/bitpix/"$movname"/pic-%03d.jpeg
#move every jpeg we just made out into the bitpix folder so montage can get at it easily
mv ~/desktop/bitpix/"$movname"/*.jpeg ~/desktop/bitpix/
# set some dynamic library shit for montage using the path to the app/lib folder where all that stuff lives
export DYLD_LIBRARY_PATH=""$app"/lib"
# the montage command does a 3 pic wide doc with 4 pixels white between vert and horiz of all the files it finds in bitpix gives it a title and puts it in the output folder
"$app"/bin/montage -tile 3x -geometry 320x180+4+4 '~/desktop/bitpix/*.*[320x180]' -title \\"$movname\\"\\nduration=$nicedur "$outputfolder"/"$movname"-CONTACT.jpg
#tidy up a bit-removes all the jpegs we just used ready for the next lot
rm ~/desktop/bitpix/*.jpeg
done
#tidy up bitpix when we've finished
rm -rf ~/desktop/bitpix
#notification to user when script is done uses applescript. 2 lines so it brings it to the front! the slash n makes the message over 2 lines
osascript -e 'tell app "System Events" to activate'
osascript -e 'tell app "System Events" to display dialog "ContaX says ALL DONE DUDE \n pics in your output folder"' -
Hmm. Somehow didn't get word of posts about this script. Maybe caught as spam or something. Going to give it a look.
-
Why don't you use movie tiler to do that ?
http://www.mrose.nl/movietiler
HTH -
"Everyone has to learn, so that they can one day teach."
------------------------------------------------------
When I'm not here, Where can I be found?
Urban Mac User -
Been giving MovieTiler a test run.
I would have thought this would be simple enough task even for a RealBasic app. While the interface is better than some, the functionality is so basic and illogical it doesn't amount to being much better than constructing the sheet by hand. It has all the shortcomings of other apps I've tried.It needs about 20 or 30 minor changes/additions before it would be an "okay" application, and yet it's $26.
-
to M-O
what kind of things do you need in this software?
genuine question because I don't actually need/use this kind of thing. I only made the app/script to see if I could!
if you post up what you'd like the software to do I'll give it a go ( no promises though....)
the gui will be very "aqua" brushed metal kind of thing but functional (and free....)
the current capabilities are shown here
http://homepage.mac.com/lindsayellis/batchContaX.html
cheers!
jamie -
I tried your little app. I wish I had enough knowledge to crank out something like that. It does about as good a job as some of the apps I've seen for getting the images and into a page reasonably, except on an MKV container.
Anyway, I don't use this kind of thing too much, but I'm surprised none even give the basic info, like the sheets I see by PC users (most often made by BS Player). They not only put timestamps on the frames, they include filename, size, dimensions, running time, and maybe a short comment. There's so many types in a few containers, it would be nice to know what audio and video are inside.
The rest is usually to do with borders on the images, colors and fonts. Not too important but few do much. More important for me is stuff about how one sets up the layout. I've never actually seen the PC apps used. But Movie Tiler, for instance, allows only one poor method of setting up the layout.
It's pretty decent as far as allowing you to set all 4 margins in pixels, horizontal and vertical gaps between images, width and color of frame borders, background image, font, size and color for the filename header and the timestamps. It even allows output in JPEG, PNG, BMP, and TIFF.
What I don't like is how you enter width and height of the "page" you want, in pixels, and how many images in the grid (horizontal x vertical). But then, no matter what you enter, it scales the images so 'x' by 'y' images are within the borders on the size sheet specified and has no preview of the layout. So if you specify something unreasonable, say, 3 x 20 on a 1500 x 2000 sheet, you get 3 rows of little bitty icon-sized thumbnails down the left side of the page and the rest blank.
I'm not trying to request you put all this stuff in. I'm just saying all the apps I've seen aren't Mac-like or at all intuitive whether free or expensive. Many make you the user do the math to get a good layout. I think a paid app should have some type of draggable layout maker. The option to go the other way and specify size of frames and grid size, and have the application figure out how big the sheet would need to be, would be nice. One could tell right away whether it was going to be unwieldy. Even just with numbers and not a wysiwyg editor, a few sliders that show feedback immediately would be great.
So, bells and whistles aside, the important bits would be some info about the video, a clear way to create and envision the layout, timestamps, and optionally a little comment or logo space.
I guess windoze media flayer classic does contact sheets. I wanted to try BS Player, but it doesn't run under cross-over, and I'm not anxious to use something to install windoze again. -
Hi JamieP,
It seems this thread is no longer active, but your contaX 'tool' is fantastic. It does the job, albeit quite simple, but that's what I like about it!I'd encourage you to continue improving on it, perhaps adding features so the user is able to control some layout features. I understand you only did this to see if you could, but bravo nonetheless
- Jay. -
JamieP,
I found this site while Googling around to find a decent contact sheet maker for videos, and I have to say - Contax is EXACTLY what I've been looking for! If you made this just to test your skills, I can speak for the rest of us when I say that your skills are superb!
I'd highly recommend continuing development of this!! If you do, I'd LOVE to see where this goes!
Kudos to you, and keep up the great work! -
Movie thumbnails Free from ~sedna on the mac app store
looks great!
there is a paid version £2.39 (so not much) which has a few more features like applescript etc)
this has nothing to do with me but I thought people here might like to know about it.
It seems to be just the thing for movie thumbnail types!!
all the best
jamie -
-
I've modified (a lot) Jamie's original script so it's a lot faster, but only works on one movie at a time. However, it is free:
http://www.fileserve.com/file/CkxKb5Z/icontact.dmg
It's a hand crafted ".app" bundle that I've tested on Snow Leopard but cant guarantee it works anywhere else.
Any problems, questions/comments, please let me know. -
i literally just join to say that jamiep and vhjimmy are the greatest
i thought i was screwed when i started usin this new laptop and none of the apps i paid for want to work on .wmv files
edit
i got a question
is there an easy way to change the backround color? -
It depends on your definition of 'easy'. Since it's a shell script, then the commands that put all the small frames together can take a '-background' argument which will set the background of the thumbnail. It wasn't something I wanted, so I didn't look into making it an option and I don't have the expertise in Mac programming to make it a drop down menu. However, you can set background colours for the different parts if you edit the script contained within the bundle. Here's how you can do it:
- First, you need the rrggbb (Red Green Blue) 6 digit version of the colour you want. You can find this out at http://www.pajbk.com/clr.htm Whenever I mention 'rrggbb' below, change it to this 6 digit number
- Find the 'icontact' appliction in the finder, right click and then select 'Show Package Contents'
- Navigate to Contents -> MacOS
- Right click on 'icontact' and select 'Open with' and then 'TextEdit'. If 'TextEdit' doesn't appear, select 'Other...' and you should be presented with a menu for your normal applications, navigate down to 'TextEdit' and select it.
- Scroll down until you see lots of lines starting "convert -pointsize' This is the section that deals with the text at the top of the thumbnails. You need to change each line from convert -pointsize 18 -font to convert -pointsize 18 -background '#rrggbb' -font The single quotes around the '#rrggbb" number are needed. Make sure you use the same at the start and end as well. Also, the '#' key is entered by Option[ALT] 3 on my (UK) keyboard. It may be different for you. Do this for each line.
- Now change the line about 4 lines later that starts montage -tile ${cols}x -geometry to montage -tile ${cols}x -background '#rrggbb' -geometry
- Finally change the line 10 or so lines later from convert -size ${width}x$height 'xc:#FFFFFF' canvas_white.gif to convert -size ${width}x$height 'xc:#rrggbb' canvas_white.gif
BTW, I'd save a copy of the program before you start, just in case things go a bit awry. -
hi all
Right selecting background colour.....
I have had a go!
WORK ON A COPY OF iConatct.app (or have access to it so you can get it again if you don't like this newfangled version!)
in the bgcolor.zip file below here are 2 files
one called "icontact.pash"
and one called "icontact"
If you right click on the iContact.app file from jimmy and select "show package contents", then open the Contents folder, then open the MacOS folder
you will see the "icontact" file that needs to be replaced by the one from my zip file.
Then open the "bin" folder and replace the "icontact.pash" file with the one from the zip.
this basically gives you a drop down box (called a combobox in pashua jim) that you can select preset colours from
in the icontact script these then place the relevant values in the code
at the moment i am too stupid to get a "user definable colour" working I'm gonna leave thet one to jim. But if you know what colour you want just replace the value for red in the "icontact" file
with one of those values from that website. red is #FF0000- so just replace that with your own special colour!
jimmy's code is cool and i had it for a while but never posted it cos i got totally lost in another project (alexicc) but I'm so glad he carried on with it.
saying he based it on my stuff is like saying the mona lisa is based on a scribble. which while true in one sense is also not true in ANY sense!
j
Similar Threads
-
Best Batch Processing - Video Contact Sheet Creator software?
By binar in forum Video ConversionReplies: 6Last Post: 28th May 2014, 11:09 -
Looking for a specific video thumbnail generator
By KaaMoS in forum Newbie / General discussionsReplies: 4Last Post: 23rd Jan 2012, 11:20 -
Video Thumbnail Maker
By WubbyNuts in forum EditingReplies: 0Last Post: 29th Nov 2009, 15:43 -
Animated thumbnail (playing thumbnail) in DVD menu??
By blizzery in forum Authoring (DVD)Replies: 13Last Post: 9th Nov 2007, 01:46 -
How to add another audio track to a MOV video file for macs
By VidHunter in forum MacReplies: 7Last Post: 31st Oct 2007, 00:36