Last update: Thu Oct 6 18:42:41 2005 Wed Oct 18 07:42:34 2006 Fri Mar 9 16:27:10 2007 Fri May 6 14:54:44 2016 Thu Mar 23 14:03:42 2017
For the purposes of this document, a movie is primarily meant to be a short sequence of computer-generated images that can be played in forward or reverse order, and single stepped in either direction. Accompanying audio tracks are uncommon.
The tools described here for making and viewing such movies won't be of much use for watching Henry Bogart in Casablanca, or for viewing TV programs, or a video broadcast of a remote lecture. Most of our workstations lack sound output, or else have tiny, and tinny, speakers. Also, popcorn is rarely at hand.
On what machines can I view movies?
Movie display is inherently compute intensive (for data-format decoding), and data intensive (30 frames/sec of high-resolution color images is a lot of data). You should therefore choose a workstation that has a local, and lightly loaded, CPU, a high-performance video card, and a local disk on which you can store the movie for faster access. Viewing a long movie across a network connection via the X Window System with NFS (Network File System) access to the data will likely be far slower than you want, and the display rate is likely to be uneven.
What movie formats are available?
There are several movie-file formats in common use:
The GIF format was long protected by aggressively defended patents owned by Unisys, but the patents expired in the USA on 2003-06-30, and have since expired in most other countries, including Canada, France, Germany, Italy, Japan, and the United Kingdom. It is now likely to be safe to use the GIF format, even though superior alternatives, like PNG, have since been developed. See PNG versus GIF for a useful comparison.
What facilities are there for making movies?
[FAQ under construction]
The Image Magick convert tool can merge separate images into a variety of animation formats, and split them out again into single images, again in a wide choice of formats.
Most of our platforms have mencoder, which outputs at least the MPEG-4 format.
SGI IRIX systems have makemovie, which can convert input files in many different formats to SGI and QuickTime movie formats.
The Maple animate() function can create animations that can be played in Maple, and output as multi-image GIF files.
The Matlab avifile entry in its help system describes how to create movies, and its movie() function can play memory-resident movie data. Other tools described in the Matlab help system can import and export AVI files, and convert between AVI and Matlab's own MOV format.
Why is movie support so bad?
Movies are poorly supported on most Unix systems. Part of the reason has been use of proprietary, secret, copyrighted, and/or patented formats by some vendors, making it difficult, expensive, or even illegal, for other vendors, and for the free software community, to implement viewers.
Another problem is the complexity of movie data formats, and in the free software packages, the use of nonportable coding techniques and compiler extensions, and the excessive dependence on other library layers that are themselves largely nonportable.
What programs can display movies?
Most of our platforms have mplayer, realplay, and xanim. Some have mpeg_play and mpg123 (audio only). Some have Image Magick's display. GNU/Linux systems on IA-32, IA-64, and PowerPC have xine. SGI IRIX has movie. Sun Solaris has the Java Media player, jmplay.
Modern Web browsers on Unix, such as firefox, mozilla, netscape, and opera, have plug-in libraries that allow viewing of a few movie file formats, but usually only within the browser, not as a separate viewing facility.
Can I use movies in PDF files?
While the widely used PDF document format is designed to support audio and video segments, the mechanism for doing so usually involves external programs that you cannot rely on to be available on systems other than your own.
Unless, or until, Adobe Systems produces Acrobat Reader implementations that themselves handle movie display of at least a few common audio and video formats on all supported platforms, you should not expect to be able to produce and distribute PDF documents containing audio or video data. There is likely to be strong demand for this capability, so it will likely be produced, but it certainly isn't here yet.
How can I convert one movie format to another?
On some of our GNU/Linux systems, the open-source ffmpeg and ffplay utilities are installed, and can be used for movie format conversion and playing. Here are some examples of their use:
# Convert from Microsoft Windows WMV format to three other movie formats: % ffmpeg -i myfilm.wmv -q:v 1 myfilm.avi % ffmpeg -i myfilm.wmv -q:v 1 myfilm.mov % ffmpeg -i myfilm.wmv -q:v 1 myfilm.mpg # Show their file types: % file myfilm.* myfilm.avi: RIFF (little-endian) data, AVI, 1440 x 1080, ~30 fps, video: FFMpeg MPEG-4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz) myfilm.mov: ISO Media, Apple QuickTime movie myfilm.mpg: MPEG sequence, v1, system multiplex myfilm.wmv: Microsoft ASF # Show their file sizes: % ls -log Vi* -rw-rw-r-- 1 12233422 May 6 14:41 myfilm.avi -rw-rw-r-- 1 696348 May 6 14:41 myfilm.mov -rw-rw-r-- 1 14999552 May 6 14:42 myfilm.mpg -r--r--r-- 1 4573771 Jul 23 2015 myfilm.wmv # Play the movies: % ffplay myfilm.avi % ffplay myfilm.mov % ffplay myfilm.mpg