SCREEN-L Archives

July 2007, Week 2


Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Jeremy Butler <[log in to unmask]>
Reply To:
Tue, 10 Jul 2007 19:05:24 -0500
text/plain (144 lines)
Many months ago, I sent around a query asking everyone I could think of how
best to log individual shots from a video source.  Since then I've noodled
around with a variety of solutions to my problem and come up with a
near-perfect way to handle this.

I'll insert my findings into my original note below, but the executive
summary is this:

1.  Cinemetrics software counts the length of shots and the number of shots
using a particular framing (i.e., "shot scale":  close-up, medium shot, long
shot, etc.).  It's available, for free, from:

The software currently runs on Windows, principally, but there is also an
online version and a Mac version is in development.  To try it online:

2.  The VideoLAN VLC Media Player grabs frames and can be configured to
record the timecode.  Also free, it's available from:

VLC runs on Windows, Mac, Linux, and other operating systems.

For more details on my findings, see below.

On 1/18/07, Jeremy Butler <[log in to unmask]> wrote:
> I'm working on a project where I need to log individual shots in
> television programs. The key data I need are the length of each shot and
> what its framing is (i.e., long shot, medium shot, close-up).  The
> programs are currently on DVDs.
> 1.  View the DVD on a computer or a set-up DVD player.

VLC plays most video forms -- DVD disks, video files (even Flash video!),

Cinemetrics is not a player.  Rather, it's designed so that you run it on
your computer while watching video that can be playing on your computer or
through a DVD player/VCR or even, presumably, in a movie theater.

2.  Record the start and stop time of each shot.  It'd be great if these
> data could be automatically or semi-automatically recorded.  E.g., press a
> hot-key as a shot starts/ends and the timecode is recorded.

This hot-key approach is precisely how Cinemetrics works.  After the
semi-automatic recording of start/stop times, Cinemetrics calculates the
source's average show length (ASL) and, optionally, counts the instances of
various shot scales.  Moreover, Cinemetrics allows you to submit your
findings to a centralized database at

Here you can see the ASL's of dozens of films (and a sprinkling of TV shows)
as determined by film/TV scholars such as Barry Salt and Yuri Tsivian.
Also, a database of Salt's work is available here.

VLC is not, by default, able to record start/stop times, but new versions of
it under development and currently in beta testing are getting close.
Here's what I've recently discovered:

VLC has long been a capable frame grabber -- making what it calls "Video
snapshots" with the click of a mouse, or the press of a hot-key.  What's new
in the current versions (0.9 and above) is that it will now record the video
source's timecode as part of the grab's file name.  So, for example, if you
grab a frame from 1 minute, 5 seconds into a DVD of Leave It to Beaver, as I
recently did, VLC can create a file named:


(That's 00 hours, 01 minute, and 05 seconds into the DVD.)

Now that you have the timecode in the filename, there is probably some way
that you can calculate the length of shots, but I haven't figured that out
yet.  Perhaps some sort of online system could use PHP and MySQL to do so.
Still, I think it's very cool that one can watch a DVD on your computer and,
by pressing a hot-key at the start of each new shot, create a shot-by-shot
record of a film, TV program, or whatever.

VLC's naming of frame grabs is actually a bit more complicated than this,
but I'll resist going into details since this is all still in beta.  If you
feel like testing it out, you'll need to glom onto one of the "nightly

One tip:  Put $T_ (dollar sign, T, underscore) as the video snapshot's
"prefix" to generate a timecode-based file name.  And also check "Sequential

3.  Note the shot's framing.  This will involve human interaction, I
> presume, as the viewer (coder?) decides if it's a long shot, medium shot or
> whatever.  Perhaps an interface could be devised, however, where the viewer
> simply clicks a check box to indicate this.

Yep.  Cinemetrics does this.

4. A quick frame capture of each shot could also be useful for future
> analysis.

See comment on VLC. With shot-by-shot frame grabs you open up all sorts of
possibilities for analysis.

5.  Store the data in either a spreadsheet or database (preferably MySQL)
> for analysis.

Cinemetrics automates the storage of these data in its centralized, online
database.  Optionally, the user may also store his/her data in a spreadsheet
on his/her own system.  However, as far as I know, the data in the
centralized database are not downloadable.  One can view them online, but I
do not think you can download your own copy.  However, perhaps the
Cinemetrics team might be willing to provide such data if you request it.

So, that's the state of individual shot logging as best I can tell.  There
are, of course, non-linear editing systems -- notably Final Cut Pro -- that
will log shots and create much more detailed logs in the process.  However,
none of the NLE systems I've seen work as quickly and easily as Cinemetrics
and VideoLAN VLC Media Player.

If you've figured out a better way, please do let me know!

Jeremy Butler

Professor - TCF Dept. - U Alabama

Screen-L is sponsored by the Telecommunication & Film Dept., the
University of Alabama: