Quicktime for Linux

by

HEROINE VIRTUAL LTD.

Homepage: heroinewarrior.com
Harassment address: broadcast at earthling dot net

Quicktime movies are first and foremost a very sophisticated wrapper for 3rd party compression schemes. While not belonging to the umbrella of officially sanctioned Microsoft software, it is well documented and pretty consistent.

Quicktime for Linux hides the structure of a Quicktime movie and gives the programmer a set of audio and video streams with some compression ability. The audio tracks are presented as sequential streams of PCM audio data and video tracks are a sequential streams of frames.

Before you quit your day job and write up your dream program on this be aware of some limitations. Quicktime for Linux is slowly increasing in functionality but is always going to be better at uncompressed streams than anything else.

This library doesn't give you the official Quicktime API. That was way too complicated and covered more than we needed. Instead it uses a proprietary C interface.

The library doesn't include any commercial codecs or compressed header support. Compressed header support may come in a later version.

There is growing support for McRosoft AVI. This format is lousy at uncompressed streams and not consistent so the AVI support is mainly for karma.

What you can do is create and read any Quicktime movie using certain compression formats. You can still access raw data if you want to write your own compression routines.

Quicktime for Linux doesn't use plugins to achieve functionality. The library is always updated more frequently than the codecs. Plugins are more convenient when the library is only available on hard media or requires upgrade licenses for every download, which it doesn't.

Contents

Here we cover the usage for accessing Quicktime files.

License

Step 1: Building the library

Opening a file

Reading a file

Decoding Video
Reading raw video
Reading keyframes
Reading raw audio

Positioning in a file

Writing a file

Encoding Video
Encoding Audio
Writing raw video
Writing keyframes
Writing raw audio
Information about specific codecs

Integrated DV support

Using the utilities