ANVIL - The video annotation research tool

+ + + Downloads are available again (13 Apr 2023) + + +

ANVIL is a free video annotation tool, developed by Michael Kipp. It offers multi-layered annotation based on a user-defined coding scheme. During coding the user can see color-coded elements on multiple tracks in time-alignment. Some special features are cross-level links, non-temporal objects, timepoint tracks, coding agreement analysis, 3D viewing of motion capture data and a project tool for managing whole corpora of annotation files. Originally developed for gesture research in 2000, ANVIL is now being used in many research areas including human-computer interaction, linguistics, ethology, anthropology, psychotherapy, embodied agents, computer animation and oceanography.

ANVIL can import data from phonetic tools like PRAAT which allow precise and comfortable speech transcription (see my video tutorial). Anvil can display waveform and pitch contour. Anvil's data files are XML-based. Exported tables can be used for analysis in statistical toolkits like SPSS or Statistica. The coming version will also be able to import ELAN files. ANVIL is written in Java and runs on Windows, Macintosh and Unix platforms. The newest version is ANVIL 5, see the list of Anvil 5 features.

See our publications page for information on how to cite Anvil in your publications and for published related work.

Here's a talk I gave in November 2010 for a scientific audience (CNRS-GDR Paris) where I explain many of the concepts and features of ANVIL (switch to full-screen by double-clicking). For a more systematic introduction watch the ANVIL tutorial videos.

Feel free to also download the slides as PDF.

ANVIL Video Tutorials

On this page you find a series of short tutorial videos explaining various aspects of coding videos with ANVIL. Feel free to comment on YouTube and stay tuned for more...

Please note that you can increase the quality of the video by clicking on the small toothed wheel icon that appears in the lower right corner once you start playing a video. Select the highest number (e.g. 480p) and go full-screen (rightmost icon).

Basic Concepts (7 mins)

This video explains how different files in ANVIL (video, annotation data and coding scheme) relate to each other. You can watch this video up front or just come back to this later after having seen some more hands-on tutorials.

Transcribing speech with PRAAT (7:40 mins)

Very often you need to transcribe the speech of a video word by word (or sentence by sentence). Anvil is not the ideal tool for this. Therefore, this video explains how to transcribe the words from an audio file with the PRAAT software. It does not show how to import this data. Please open ANVIL's help pages for how to do this.

Tutorial 1: Your first annotation file (6 mins)

This video shows you the following:

Tutorial 2: Coding scheme and track type (6 mins)

This video shows you the following:

Tutorial 3: Changing your coding (7 mins)

This video shows you the following:

Tutorial 4: Track types (10 mins)

This video shows you the following:

Tutorial 6: Working with a specification file (9 mins)

This video shows you the following:

ANVIL (since version 5.1) supports the annotation of dialogue acts according to the ISO standard 24617-2 (see Bunt et al. 2010 below). You can annotate dialogue acts using our specification and then export your annotation to DiAML (Dialogue Act Markup Language) format.

To annotate according to this standard in ANVIL you need to download and use the following specification file: diaml-spec-v0.5.xml

As a default, two participants are specified. You can extend the number of participants for each dialogue by copy-pasting a line at the very end of the specification file. To export your .anvil annotation file to DiAML format, select the following in ANVIL's main menu: File > Export > DiAML format.

The DiAML-ANVIL process is described in the following publication:

H. Bunt, M. Kipp, and V. Petukhova (2012) Using DiAML and ANVIL for multimodal dialogue annotation. In: Proc. of LREC 2012.

The ISO standard is described in

Bunt, H., J. Alexandersson, J. Carletta, J.-W. Chae, A. Fang, K. Hasida, K. Lee, V. Petukhova, A. Popescu-Belis, L. Romary, C. Soria, and D. Traum (2010). Towards an ISO standard for dialogue act annotation. In: Proceedings of LREC 2010, Malta, pp. 2548–2558.

Anvil 6.0 released (29 Aug 2017)

This can now be considered a stable version and should be preferred over Anvil 5.

Bugfix: previously videos lying on a path that contained spaces or unusual characters could not be read and the somewhat misleading error message "wrong codec" appeared. This has now been fixed.

Anvil 6 released as beta (20 May 2017)

Anvil 6 is based on Java 8 and uses JavaFX for video playback. This means that you can use a wider range of codecs. This is what Oracle says about the supported video codecs: " FLV containing VP6 video and MP3 audio; MPEG-4 multimedia container with H.264/AVC (Advanced Video Coding) video compression".

Two new publications online

Pre-prints of two coming publications can be downloaded:


ANVIL 5 has been released since mid 2010. Although still in a beta state, it is very stable and used by most users. Have a look here for new features (compared to version 4) and for newly arriving features in the further releases.

Major new features:

Minor new features and improvements


ANVIL was created by Michael Kipp, professor for interactive media at the University of Applied Sciences Augsburg, Germany.

The following people contributed code to the ANVIL software: Quan Nguyen, Gabriel Manolache.

This website is maintained by:

Michael Kipp
Hochschule Augsburg
An der Hochschule 1
86161 Augsburg, GERMANY

How to Download ANVIL

The Anvil software is free for research and educational purposes. To download it, please write an e-mail with subject "anvil download" and answer the following questions (please write in English or German):

Send your e-mail to

This is for us to keep track of where and how Anvil is employed. In return we will send you the address of the download page and place you on a mailing list that keeps you informed about any Anvil updates.

See our publications page for information on how to cite Anvil in your publications and for published related work.


Note that starting with ANVIL 5, the documentation is in the tool itself. Start ANVIL and click on "? > ANVIL Help Pages" to open the online manual.

ANVIL Talk 2010

In Novermber 2010, I gave a talk at the CNRS GDR lab, Paris, where I present ANVIL's basic concepts and a number of interesting new features. Sorry for the image quality, I am trying to obtain a hi-res version. Thanks to Christophe Parisse for inviting me for this talk and for providing the video. You can also download the presentation slides.

Older documentation

Here you can find some older documentation for ANVIL 4 and older (which is still largely valid):

See our publications page for information on how to cite Anvil in your publications and for published related work.


If you mention Anvil in your publications you can include one of the following literature references:

For other related scientific papers, see Michael Kipp's publications page. To see some examples of how Anvil is used but also to learn about annotation of speech and gesture in general we recommend Dan Loehr's PhD thesis Gesture and Intonation (2004).

New Features

version 4.7.6

File encoding issues: Resolved encoding problems (e.g. when using "UTF-8"). Now if the .anvil file specifies a certain encoding in the xml header, this encoding will be correctly displayed in Anvil. If you want to change the default file encoding that Anvil uses, go to Edit > Options.. and select the "File" tab to change the encoding to e.g. UTF-8.

5 Mar 2008

version 4.7.5

PRAAT File import: There have been problems with PRAAT file import. This was due to encoding problems which are now resolved. ANVIL now supports reading files encoded in UTF-8, UTF-16LE, UTF-16BE, UTF-16, US-ASCII and ISO-8859-1.

4 Mar 2008

version 4.7.4

Refresh bug: When cutting/extending elements Anvil now refreshes immediately (again). Also the "clear active track" function has been repaired and should now work.

27 Feb 2008

version 4.7.3

SPSS export: Anothter fix of the label file; the "none" value is now assigned the index 0, all other tokens receive higher index numbers (previously it was not possible to discriminate between "none" and the first token in the list).

5 Feb 2008

version 4.7.2

Video size: When adapting video size via the menu, it applies to all videos (if multiple videos are used).

SPSS export: Fixed export of label file.

28 Jan 2008

version 4.7.1

Manual generation: The automatic coding manual generation crashed when certain characters were used in track/group names. This is now fixed.

7 Jan 2008

version 4.7.0

This version has gone through a number of iterations. See the complete list of "beta" updates below to find all new features of version 4.7.0

Feature "Float type": There is a new value type for attributes called "Float" which allows the store float values (also called real values) in attributes. In the specification file you define such an attribute like this:

<attribute name="intensity" valuetype="Float" />

Plugin interface: The plugin interface is up and running again. See the manual for how to write and register a plugin. See the plugindoc subdirectory for a javadoc API of the classes that can be accessed by your plugin. You can find an example of a working plugin in plugin/ (note that the other two plugins in that directory do not work currently). If you have any questions or find that some method is missing, please get back to me.

7 Jan 2008

version 4.7 beta 6

Feature "Spatial annotation configuration": The spatial annotation described below can now be further configurated. For instance, you can determine the size and transparency of the markers and whether markers should be connected by lines or arrows (or not at all). Here is an example:

<attribute name="trajectory" valuetype="TimestampedPoints" >
      <connections type="off" color="blue" transparency="0.5" size="2" />
      <marker numbering="on" color="yellow" transparency="0.5" size="5" filled="false" />

Here is a list of what values you can specify in <connections>

Here is a list of what values you can specify in <markers>

Feature "Project tool: multiple tracks export": The project tool now allows to export several tracks in a single text file. In the project tool, load a project and select "Export > Multiple tracks table". For each annotation (file), each track, each element there is a row. For each attribute of all tracks there is a column.

9 Dec 2007

version 4.7 beta 5

Feature "Relative path names": An Anvil annottion file (extension .anvil) contains two links (to the video and to the specification) which were formerly stored as absolute path names which causes problems when you open the annotation on a different computer where paths are different. Now Anvil stores relative path names, using the location of the .anvil file as the reference path. Only if video/specification are located on a different drive (e.g. different harddisk) Anvil resorts to absolute path names.

Bugfix "PRAAT Import": Importing PRAAT short text files is now working again.

3 Dec 2007

version 4.7 beta 4

Feature "Images in coding manual": are now allowed in the automatic coding manual generation. A picture can be integrated anywhere between the <doc> ... </doc> tags, using standard HTML notation:
   <img src="mypic.jpg" />
Keep all your pictures in a separate directory; Anvil will ask for this directory on generation and copy all images to the generated coding manual destination.

Feature "Bookmarks as vertical lines": Bookmarks can be visualized with vertical (blue) lines. Switch on/off these lines in the "Bookmarks" entry of the main menu.

Bugfix:Fixed bug that Anvil crashed with multiple videos (when the slave video was shorter than the master one; the "master" video is the first one opened, all others are "slaves")

Bugfix: Fixed bug that many options in the main menu "File" were not accessible.

12 Nov 2007

version 4.7 beta 3

Modification "Spatial Annotation": Note that the syntax has changed slightly; to define a track for spatial annotation write

<attribute name="trajectory" valuetype="TimestampedPoints" />

Feature "Switching off and zooming tracks": Tracks can now be changed in size and switched on/off during coding! On the annotation board, simply right-click on the left panel (where all the track and group names are located) and choose one of the options in the popup menu. The popup menu also contains an option to put all tracks in their original size and switch all on again.

Feature in Project Tool: In the Project Tool, when exporting, you can have the filename included as a column in the resulting table.

Bugfix: In the previous release, you could not edit newly created elements.

Bugfix: In spatial annotation, colors are now handled more consistently.

04 Oct 2007

version 4.7 beta 2

Bugfix: Editing spatial annotations was broken.

11 Sep 2007

version 4.7 beta 1

Move to Java 1.5: ANVIL now required Java 1.5 or higher which is available for all platforms. The reason is the use of generics which will be featured in the future plugin interface.

Easier installation: Installation is easier now. You only have to unpack the ZIP file and are ready to go (no INSTALL.BAT any more).

Multiple videos: You can load multiple videos which will be played back synchronously. The first video will be the MASTER video whose sound will be played (the waveform will also be taken from this one). All others are so-called SLAVES and can be added via the main menu under "File > add video"

Spatial annotation: You can annotate points on the video screen and have them stored in an attribute. Here is an example of an attribute that can take such input:

<attribute name="trajectory" valuetype="SpatialPoints" />
(this syntax has changed!!! See beta03)

To enable this feature, you have to go to main menu "Edit > Options..", select the "Graphics" tab and switch on "Allow video overlay" (restart ANVIL afterwards). Note that the exact terminology ("SpatialPoints") and functioning of this feature is subject to change in the future.

Video player speedup: Some slow-down of the system may have been caused by the video player. Now ANVIL uses a faster variant (so-called "heavyweight component"). Note that using the spatial annotation feature above may cause the old slow-down.

Background waveform loading: The waveform is now computed in the background during loading so that you do not have to wait for it when loading your annotation.

Internal restructuring & Plugin interface: Note that due to drastic changes in ANVIL's internals the plugin interface will not work any more in its older form. A new plugin interface will be offered in 1-2 months.

10 Sep 2007

version 4.5.14

New feature: You can change the ISO code in ANVIL annotation file (first line in a .anvil file) just modify this line in anvil-config.xml:

<xml-file-encoding code="ISO-8859-1" />

version 4.5.13

New feature: Made some modifications to the "edit window" - that is the window that pops up if you create a new annotation element or if you edit an annotation element. The changes are: (1) you can click away the comment textbox, (2) the "play" button moved somewhat to make things more economical, and (3) You can change the layout of the edit window somewhat.

Details for (3): if you have many input attributes for one track you can influence the way they are organized in the edit window. What you can change is the number of input attributes per column (by default 10 inputs are displayed in one column, if there are more then the next 10 are organized in another column etc.). To change this number you must modify the file "anvil-config.xml" in your Anvil directory. Simply add this line

<edit-window inputs-per-column="12" >

below the <anvil-config> line.

version 4.5.12

Bugfix: Corrected the FEELTRACE feature - previous version read data logarithmically and scaled them to min/max. Now data is displayed linearily between 0 and 100 (outside values are cut).

version 4.5.11

New: relating to the 4.5.10 addition - you can now determine the position of the zero axis by giving a float number between 0 and 100 (0=bottom, 100=top) - if you do not specify a value the default is 50:

<track-spec name="feeltrace" type="multiplot" height="3" has-zero-axis="true" zero-axis-position="60.6" />

version 4.5.10

New: added support for importing data from the FEELTRACE tool. With "File>Import:plot data" you can import a curve if it has a data file like this:

[timepoint1] [value1]
[timepoint2] [value2]

Where [timepoint] is a float number (seconds) and [value] is a float number between 0 and 100 (50 = zero axis). For example:

0.1 11.5
0.5 15
0.6 15.3
1.3 20
1.5 35.3

The Track specificaion must be like this:

<track-spec name="feeltrace" type="multiplot" height="3" has-zero-axis="true" />

version 4.5.9

New: use can set "use slow graphics" in "Edit > Options..." - this may remove some graphics problems on some machines (because hardware is acceleration is thus turned off).

version 4.5.8

New: Graphics on the annotation board got a slight polish (3D shading).

version 4.5.7

New: New import function allows the import of WAVESURFER files (.lab transcriptions).

version 4.5.5

New: Search interface allows the "*" and "?" search operators when searching String type attributes. These operators are so-called wildcards, they are placeholders for arbitrary characters. The "*" operator is a placeholder for an arbitrary number of characters whereas "?" only stands for a single character. For example: searching for "g*e" would return words like "gesture", "glue", "give". Another example: searching for "?est" would return elements with "best", "lest", "zest".

version 4.5.4

New: A hot-key for the edit dialog (for adding new elements e.g.) - you can now use CTRL + ENTER to close the window (equals "OK"). Also the documentation window (help for a certain attribute) can now be closed with ESC.

New: Pitch/intensity can now be imported into multiple tiers (different pitch/intensity files to different tiers), if so desired.

version 4.5.2

Improved: Handling of image processing on the AnnotationBoard. Should eliminate a bug that caused Anvil to display a scrambled AnnotationBoard on some machines (depending on the hardware!).

Improved: Installation instructions for the Mac. Also, the start script was improved with a memory hack. Now, the OUT OF MEMORY error should not occur so often any more on a Mac.

version 4.5

Improved: Overall speed when navigating on the annotation board and playing video.

version 4.1.5

Fixed: Creation of anvil.bat file (now produces quotes around classpath)

version 4.1.4

Fixed: File extensions can now be upper or lower case or mixed (beforehand, only lower case extensions were recognized).

version 4.1.3

Improved: Display of the waveform has been optimized (beforehand the waveform was sometimes displayed too thinly).

version 4.1.2

New Feature: Video stills (single frames) can now be exported to an image file (jpg or png format).

version 4.1.1

New Feature: The export facility now features the possibility to specify the decimal separator with numbers (times), either dot or comma.

version 4.1

New Feature: Extended export facilities - to be found in Anvil under File > Export: Track to table. In the Project Tool under Export > Track table.

version 4.0.13

New Feature: When creating a new track element (or editing an existing one) Anvil allows playback of that section in the video. A new button is displayed in the edit window for this purpose.

11 Jul 2004: Added new file and new README.txt with improved installation instructions for the Mac.

version 4.0.12

Unix start script corrected: must be "-mx1024m" instead of "-mx1024mb".

New Feature: Anvil can now operate WITHOUT loaded video files. You can either erase the line referring to the video path in existing "anvil" files. Alternatively, you can create new video-free annotations by: (1) opening a PRAAT textgrid file, (2) specifying the specification file. Anvil will then create a new annotation based on the text transcription found in the PRAAT file.

version 4.0.10

Bug fixed: PRAAT files can now contain line feeds in single entries without causing Anvil to crash.

version 4.0.9

Bug fixed: Anvil crashed with longer videos because the timestamps greater than 1000 were saved with commas in the US. This is now fixed.

version 4.0.8

New Feature: Files (avi, anvil, etc.) can be dragged and dropped to Anvil (Main window).

New Feature: Keyboard commands based on the CTRL key can now also be performed with the SHIFT key (e.g. CTRL + ARROWLEFT can now be performed with SHIFT + ARROWLEFT, too). This should make the CTRL key commands accessible to Mac users.

version 4.0.7

Bug 4.0.6/1 fixed.

version 4.0.6

Bug 4.0.6/1: When trying to annotate links in MultiLink or ReciprocalLink attributes, Anvil does not let you select elements of all tracks.

Technical Support

If you have a problem or question regarding Anvil, please consult the manual and the online help pages that you can call from Anvil in menu Help -> ANVIL Help Pages. Also, have a look at the Frequently Asked Questions page.

FAQ: Frequently Asked Questions

  1. Which computer do I need for Anvil?
  2. Anvil does not start. What do I do?
  3. Which platforms does Anvil run on?
  4. Windows: How do I start Anvil from a command shell?
  5. Anvil is really slow / Anvil's annotation board graphics look strange.
  6. What does the error message in the command shell mean?
  7. Linux: Problems with start script and codecs
  8. What is the maximum length of a video for usage in Anvil?
  9. Mac: How do I install Anvil on a Mac?
  10. Mac: Empty ZIP file?
  11. Mac: Audio problems
  12. Printing annotatations in Anvil or how to make a screen shot.
  13. Which video files work under Anvil (codecs)? Get Video test files here!
  14. How do I make new codecs (e.g. divX) work with Anvil?
  15. How do I make videos with MP3 sound work with Anvil?
  16. How do I convert video files (from MPG to AVI, changing the codec etc.) ?
  17. Why does Anvil not work with MPEG1 video files?
  18. What problems with memory can occur?
  19. Linux: Buttons/Images missing in the Anvil GUI.
  20. Anvil 5: Anvil does not start on my Mac.
  21. Anvil 5: How do I get console output when starting Anvil on a Mac.
  22. Anvil 5: Windows Vista problems.

Which computer do I need for Anvil?

Anvil runs on PCs, Macintosh computers and SPARC workstations. It runs under the following operating systems: Windows (95/98/ME/2000/NT/XP), Mac OS X, Linux and Solaris.

If you have a PC, you should have at least 500 MHz and 128 MB RAM (working memory). Of course, the faster the better and more memory is better still. Slow computers will take longer loading Anvil files and the video playback might be less smooth.

As for Macintosh, I only know that Anvil works fine on my Mac mini (G4 processor, 1.41 GHz, 512 MB RAM). I have no further estimates for Macintosh or Solaris machines.

<- back to FAQ

Anvil does not start. What do I do?

If you click on "anvil.bat" and nothing happens, check the following things:

<- back to FAQ

Windows: How do I start Anvil from a command shell?

If you want to see any error messages when starting Anvil you have to start Anvil ("anvil.bat") from a command shell (the same applies for the installation program "install.bat"). A command shell under Windows this is usually a black window that allows keyboard input like in MS-DOS. To start a shell do the following:

  1. Open the "START" menu and select "Run..."
    (alternatively, you can hold down the WINDOWS KEY and press "r")

  2. In the upcoming window, type "command" and click "OK"; the black command shell appears.

  3. Go to the Anvil directory using the "cd" (change directory) command:
    "cd .." will get you to the upper directory
    "cd xx" will get you to directory xx.
    "dir" shows you the contents of the current directory

  4. Start Anvil by typing "anvil" and pressing enter.
    (Or type "install" for the installation program)

  5. You will get an error message that you can send to

<- back to FAQ

Anvil is really slow / Anvil's annotation board graphics look strange.

Under Windows one source of problems is the hardware acceleration of the graphics card. Try to lower it or turn it off altogether using the following recipe:

  1. Move your mouse on an empty area of your desktop, push right mouse button, and select "Properties.."
  2. In the upcoming window select the rightmost tab "Settings" and click the button "Advanced" in the lower right corner
  3. In the next upcoming window select the tab "Troubleshoot". You will see a slider for you graphics hardware accelerator. The more you pull it to the left, the less hardware acceleration you use.
  4. Try different positions with Anvil. You have to click "Apply" to actually make the setting. See what happens in Anvil.

There something else that you can try if the above does not work or if you are a Linux/Mac user. In ANVIL, go to "Edit > Options.." in the main menu. In the upcoming window, select the "Graphics" tab and click on the "Use slow graphics" checkbox to activate it. This turns off hardware acceleration from ANVIL's side. You have to restart ANVIL for the change to take effect.

<- back to FAQ

What does the error message in the command shell mean?

If you start "install.bat" or "anvil.bat" from a command shell, one of the following error messages might appear. I am only listing the first line of the message (list not complete, if your error does not appear here, write to me under kipp(at)

<- back to FAQ

Linux: Problems with start script and codecs

A frequent source of error is the script file because it sometimes contains a Windows linefeed at the end. Try this version: Or use the following perl script to remove it: script by Hannes Pirker (thanks, Hannes!). Note that this problem should not occur under Anvil 5.

The demo contains a video that does not run under Linux. The reason is that its codec (Intel Indeo 5.1) is Windows specific. So to check this out under Linux you would have to convert the video to another codec (e.g. Cinepak). As soon as I have time I will change the codec of this demo so that it runs everywhere...

<- back to FAQ

What is the maximum length of a video for usage in Anvil?

Currently, due to the way graphics in used in Anvil, you can only use video files up to a certain length (about 10 minutes) depending on your computer's working memory (so try bigger files first). This restriction will certainly vanish at some point in the future. In the meantime, researchers can improvise by cutting their files to 10 minute chunks. Note that you can still work quite comfortably with these chunks using Anvil's Project Tool (included in the distribution).

To improve your computer's ability to handle large files see the related question on memory.

<- back to FAQ

Anvil on a Mac: How do I install Anvil on a Mac?

Note: This is only relevant for versions older than Anvil 5.

Anvil should run on any Mac with OS X. For Anvil 4.0 (or higher) you need to make sure that Java 1.4 is installed on your Mac because, originally, Mac OS X was shipped with Java 1.3. In this case, Java 1.4 can be downloaded. Consult Apple's Java pages for this.

One source of problems in the past has been the "" file. Since I am working on a Windows machine, this file may have an illegal linefeed character at the end. So, if your Mac has problems with this file, open it in an editor and delete the linefeed at the end of the file if there is one. Or you can also this file which should not have the linefeed problem:

Another "problem" with the Mac is the installation of the Java Media Framework (JMF). To install JMF on your Mac, go to the JMF download page and select "Cross-platform Java". Unpack the downloaded file and move the "jmf.jar" file to the following directory:


(Thanks to Christoph Lauer, DFKI, for this info.)

<- back to FAQ

Mac: Empty ZIP file?

Shigeki Amitani wrote on this:

I could unzip the downloaded file with the StuffIt Expander ver.8.0.2 on Mac OS X 10.4.3, but could not unzip it with the StuffIt Expander version 7.0.3 on Mac OS X 10.3.9.

<- back to FAQ

Mac: Audio problems

Sometimes the audio can sound distorted on a Mac. You can fix this by starting:

Applications > Utilities > Audio Midi

Now choose: Audio devices > Properties > Output

Set "format" to "44100,0 Khz" and the sound should work fine again.

<- back to FAQ

Printing annotatations in Anvil or how to make a screen shot.

Unfortunately, printing the annotation board is currently not possible from Anvil itself, so you have to do screen shots of the annotation board.

Doing a screen shot on Windows works like this:

  1. Click on the window you want to capture (e.g. the annotation board).
  2. Press the key combination ALT + PRINT (the PRINT key is located right of the F1 - F12 row of keys)
  3. Open MS WORD or a paint software (Photoshop etc.) and press CTRL + V (for "copy")
  4. The screen shot will appear.

If you want to have a screen shot of the whole desktop, use only the PRINT key (no ALT) in the same way.

On a Mac, hold down SHIFT and CMD and press "4". A cross-hairs appears and you can click-drag the relevant screen area. The resulting screen shot will be put on your desktop.

<- back to FAQ

Which platforms does Anvil run on?

Anvil is known to work on the following platforms: Windows (95/98/2000/NT/XP/8/10), Linux, Mac OS X and Solaris.

Anvil should also run on any other Unix platform.

<- back to FAQ

Which video files work under Anvil (codecs)? Get Video test files here!

First a word about the notions of "video file format" and "codec". The video file format is the overall format for storing all of the video's data. The two best known file formats are Quicktime (with file extension .mov) and AVI (file extension .avi).

The method of video compression in a particular video file is determined by the codec (short for compression/decompression). Both Quicktime and AVI support various codecs. Examples for codecs are: Cinepak, Intel Indeo, Sorensen, H.263. Some codecs only run under Windows. The Cinepak codec is the one that should run on all platforms.

Here are two short video files with Cinepak codec and uncompressed audio that you can use to test your system.

WINDOWS VISTA NOTE: To use the popular Intel Indeo codec under Windows Vista (this may also be true for some XP versions), you have to install the codec. You can download it from here: Intel Indeo codec download

The following two tables show codecs that are known to work for ANVIL under Windows / Mac OS X (MOV stands for the QuickTime format). Thanks to Christoph Lauer for his help. Note that it is possible that more codecs than the listed ones are working! Also note that Windows users may need to download the respective codec from the Internet.

For information on how to change the codec of a video file click here.

In the following tables, look at the one for your operating system (Windows / Mac /Linux / Solaris):

AVI Cinepak
AVI Intel Indeo 5.04
AVI Intel Indeo 5.1
(my favorite codec!)
AVI Intel Indeo R3.2
MOV Cinepak
MOV Component Video
MOV H-261
MOV H-263
MOV RAW without Compressor

AVI Cinepak
(big files!)
MOV Cinepak
MOV H.263
(good compression!)

I have not tested codec support under Linux / Solaris. But according to the Sun codec list the following codecs should work under Linux/Solaris:

Linux / Solaris
AVI Cinepak
MOV Cinepak
MOV H.261
MOV H.263

Anvil supports any format/codec supported by JMF 2.1.1 - take a look at the JMF format/codec list provided by Sun. Both Quicktime and AVI formats work (tested)! Note that you must download JMF version 2.1.1 or higher for AVI to work. Note also that your codec must be supported, too. Everywhere where you find a "D" in the list, the codec should work (exception: MPEG does not work - see MPEG question).

<- back to FAQ

How do I convert video files (from MPG to AVI, changing the codec etc.) ?

If you need to change a video file's format (e.g. from AVI to MOV, or from MPG to AVI) or if you need to change a video's codec (Sorensen, Cinepak, Indeo, H.263 etc.), then you need a video editing software.

Windows users can either buy a commercial software like Adobe Premiere, or you simply download the excellent free software VirtualDub. These tools are developed for cutting and editing movies, so file format or codec conversion is only a side issue in these tools.

MPEG Streamclip is a free video conversion tool for Windows and Mac.

For Mac users there is Apple's iMovie which works fine for conversion.

Note for iMovie users: If you convert to Cinepak you have to set iMovie to "Big Endian" (default is "Little Endian"). [Thanks to Madeline Alsmeyer for this hint]

Or other commercial software like Apple's Final Cut Express HD and Avid's Avid Xpress DV. As for free software there is Avid Free DV or HyperEngine-AV. I have not tested any of these programs yet.

<- back to FAQ

How do I make videos with MP3 sound work with Anvil?

To make MP3 files work with Anvil please do what is described in the next question "How do I make new codecs (e.g. divX) work with Anvil?"...

<- back to FAQ

How do I make new codecs (e.g. divX) work with Anvil?

It is actually possible to make new codecs work for ANVIL. It is basically a question of how to put the new codec into JMF. Mary Ellen Foster figured out how to do that and you can find her instructions below (she did it under LINUX). Neville Mehta gives instructions for adding a codec under Windows XP.

Adding a codec under LINUX (by Mary Ellen Foster):

First of all, download her version of the start script:

Step 0: Download and install Anvil and JMF as specified on the Anvil website

Step 1: Download the latest versions of jffmpeg.jar and from, and put them into a directory somewhere. We will call this directory JFFMPEG_HOME in the instructions that follow.

Step 2: Set up JMF to use the new codecs. Basically you need to:

Step 3: Edit to uncomment the line after the comment "# If you are using jffmpeg, uncomment the following line and set the path" and set the path for JFFMPEG_HOME appropriately.

Adding a codec under Windows XP (by Neville Mehta):

Step 1: Set up JMF & Anvil as usual.

Step 2: Get the latest "jffmpeg.jar" file from and place it in the "lib" folder for JMF.

Step 3: Add "<path to JMF>/lib/jffmpeg.jar" to the CLASSPATH environment variable in User variables, done through System Properties/Advanced tab/Environment variables.

Step 4: Complete the installation according the the jffmpeg instructions (involving JMFRegistry)

<- back to FAQ

Why does Anvil not work with MPEG1 video files?

Although the Java Media Framework (JMF) supports MPEG1 (video files with extension "mpg"), a vital function is missing from JMF's support: the frame-wise access to the video file. This is essential for frame-by-frame stepping and also needed at some other places in the Anvil code. Therefore, MPEG1 videos are not accepted by Anvil yet but may be in the future, depending on the development of JMF.

<- back to FAQ

What problems with memory can occur?

Big video files can cause problems. "Big" meaning the size of your video file. For example, if your file is larger than 1 GB you should try to compress it (use lower quality or a different screen size - usually 384x288 works well).

To give Anvil more memory, you have to manipulate the "anvil.bat" file in your Anvil directory. Open "anvil.bat" in an editor (WordPad or Editor) and insert the magic word "-mx512m" into the one line that this file consists of. After insertion the line should look like this (dots stand for omitted rest of line):

java -mx512m -classpath ...

The meaning of the number "512" is working memory (in MB). It can even exceed the real working memory of your computer because when in need of more memory your computer will use your harddisk. So when you run into an "out of memory" error just set this figure higher and see what happens... (512 is a good starting point)

Up until version 3.5, Anvil get memory problem when: (1) video files have a length of about 5 minutes or more; exact max. length depends on system and specification file. (2) Anvil can also run out of memory when you have opened and closed a number of annotations. It is a bug that I hope to get rid of in the coming version.

<- back to FAQ

Linux: Buttons/Images missing in the Anvil GUI.

Problem: The video control buttons (in the main window), the zoom buttons (annotation board) etc. are missing.

Reason: If you are working under Linux, then you might have uncompressed the zip file with a program that ignored capitalization and produced lower case filenames. Check the "img" subdirectory and find filenames like "fastBwd.jpg" or "firstElement.jpg". If they are all lower case use a different program for unpacking (I think "uncompress" works fine).

<- back to FAQ

Anvil 5: Anvil does not start on my Mac.

You need Java 6 to run Anvil on your Mac. If nothing happens when double-clicking the file, you either do not have Java 6 installed or, even if you have it, it may not be used by your Mac.

To update your Java version you click on the apple (main menu) and select "Software Updates...". Install Java if it is listed.

To select Java 6 as the preferred version, use the Finder to go to /Applications/Utilities and start "Java Preferences". Here you can drag and drop Java 6 to the top of the list(s).

If all this does not work, start Anvil from a console (see next question below how to do it) and send us the error message.

<- back to FAQ

Anvil 5: How do I get console output when starting Anvil on a Mac.

After installing Anvil 5 on a mac, you will have an file and double-clicking it, you will not get console-style error messages. However, you may want to see error messages.

Here's how to start Anvil with a console window:

<- back to FAQ

Anvil 5: Windows Vista problems.

Under Vista you have to make sure that the permissions for the Anvil directory are set correctly. See here:

<- back to FAQ