[Top] [Contents] [Index] [ ? ]

Cinelerra CV Manual


1. Introduction


1.1 About Cinelerra

For years, some people have wanted a way to edit their audio and video in one place as fluidly as writing text. Cinelerra tries to be a single location for all your audio and video editing needs. All the recording, editing, and playback are handled here. It can be used as an audio player. It can be used to record audio or video. It can even be used as a photo retoucher.

There are two types of moviegoers: producers who create new content and revisit it for further refinement, and consumers who want to acquire the content and watch it. Cinelerra is not intended for consumers. Cinelerra has many features for uncompressed content, high resolution processing, and compositing. Producers need these features in order to retouch many generations of footage, which makes Cinelerra very complex. Consumers should consider other tools such as Avidemux (http://www.avidemux.org/), Kino (http://kinodv.org/) or Kdenlive (http://kdenlive.org/).

Quote from Miro's Wiki (http://www.mitvwiki.org/Cinelerra):
"The key difference between Cinelerra and many of the commercial editors is that Cinelerra hides much less from the user, exposing much of the inner workings to direct interaction. This can be harder to use, but does make it tremendously powerful, and for some operations blistering fast."


1.2 The two versions of Cinelerra

There are two branches of Cinelerra. One can be found at http://www.heroinewarrior.com and the other at http://cvs.cinelerra.org. This documentation is focused on Cinelerra-CV (Community Version).

The official Cinelerra source code is developed "upstream" by Heroine Virtual, Ltd (HV). HV shares its code base with a community version of Cinelerra (Cinelerra-CV), but does not actively participate with the community of developers responsible for Cinelerra-CV. HV likes to work on its own copy of Cinelerra, releasing code on a periodic basis every 6 months or so.

Cinelerra-CV was founded by developers who wanted to extend the functionality and fix bugs inherent in the HV code base. They decided to develop Cinelerra in a community fashion and not create a separate fork of the original HV code. So, the Cinelerra CV code is very similar to the official release. CV coders apply bug fixes (http://bugs.cinelerra.org), enhancements to the SVN and compliance fixes. Programmers occasionally send patches upstream. In this way, Cinelerra CV has a number of features that the official version does not.

Unlike other programs, the HV release can not be described as "stable". After HV's Cinelerra is released, there are often bugs or unusable new features. When there is a new release, a CV member (j6t) merges HV's code with Cinelerra CV code, taking the enhancements from HV and reformatting the CV code (white spaces, function naming, directory naming) to be more similar to HV's with slight changes to implementations. After the merge, the latest Cinelerra CV release is a little unstable as users find bugs. Time permitting, the CV programmers will address as many of these bugs as possible. In this way, Cinelerra CV can be seen as the community's attempt to stabilize HV's release.

As mentioned, the community adds new enhancements to the HV source. Members will comment on each other's implementations in order to create a more fully functional and stable product. Occasionally, HV will give feedback on implementations that the members of the CV submit to it. However, not all of the enhancements that the community create make it upstream; for example, YUV pipe rendering.

Given the above discussion, obtaining the SVN just before a merge will generally be more stable than a post-merge CV version. Be aware that existing project description files, or Edit Decision Lists (discussed below), may not be compatible with the newly merged CV version. With any version of Cinelerra, the task of finding bugs is relatively easy. However, clearly and concisely documenting these bugs for the community that fixes them is a task that we ask of all users of the software. The community is very responsive. Please help them by creating well-formed bug reports. You may join our mailing list at http://cvs.cinelerra.org.


1.3 About this manual

This manual edition is 1.55.EN, for Cinelerra CV version 2.1. You may redistribute it and/or modify it under the terms of the GNU General Public License, as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This manual originates from "Secrets of Cinelerra", an excellent primer written by Adam WILLIAMS from HEROINE VIRTUAL LTD. In 2003 Alex FERRER created a Wiki based on that manual and added many screenshots and topic descriptions. At that time, Cinelerra CV still did not have its own manual and information regarding the Community Version of Cinelerra was scattered across the Internet (mailing-list, IRC, websites, wiki, etc). In 2006, Nicolas MAUFRAIS combined the original "Secrets of Cinelerra" with the contents from Alex FERRER's Wiki into a unified document.

Cinelerra-CV documentation maintainers:
English: Nicolas MAUFRAIS (coordinator), Raffaella TRANIELLO (apprentice sorcerer)

Manual translators: French: Jean-Luc COULON
Brazilian Portuguese: Flavio SOARES (maintainer), Willie MARCEL
Spanish: Alberto RAMALLO, Gustavo Iñiguez GOYA (chapter 17 - Keyframes)
Basque: Iñaki Larrañaga MURGOITIO "Dooteo".

Other contributors: Alexandre BOURGET, Kevin BROSIUS, Carlos DAVILA, Cillian DE ROISTE, Rafael DINIZ, Pierre DUMUID, Mike EDWARDS, Martin ELLISON, Graham EVANS, Alex FERRER, Scott FRASE, Joe FRIEDRICHSEN, gour, Gus Gus, Terje HANSSEN, Mikko HUHTALA, Ben JORDEN, Nathan KIDD, Marcin KOSTUR, Joseph L., David MCNAB, Valentina MESSERI, Sean PAPPALARDO, Paolo RAMPINO, Herman ROBAK, Dana ROGERS, Jim SCOTT, Andraz TORI, Raffaella TRANIELLO, Hermann VOSSELER, Norval WATSON.

Thanks to the GNU project team, and particularly to Karl BERRY, maintainer of GNU Texinfo, for the precious help he gave us during the elaboration of this manual.

The sources of the manuals are Texinfo files. They are in the same SVN repository as Cinelerra's source code (hvirtual/doc folder). They can be converted in many formats. The doc/README_en file contains instructions for building the manual in PDF, HTML (single page) HTML (one page per chapter, in a folder), plain TXT, TXT in DokuWiki sintax (one file per chapter, in a folder), Docbook.

You can participate on editing this manual by making changes in the Cinelerra-CV wiki:
http://cvs.cinelerra.org/docs/wiki/doku.php

If you would like to translate this manual in your language, see the doc/TRANSLATIONS file and contact the Cinelerra CV Community.


1.4 Getting help

Help can be found at:


1.5 Tutorials

Some Cinelerra tutorials are available on the internet:


1.6 HOWTOs

Some HOWTOs for specific needs are available on the internet:


1.7 Miscellaneous links

Miscellaneous links:


2. Installation

This is the general contents of all Cinelerra packages.


2.1 Hardware requirements

Cinelerra is demanding on all PC subsystems, as reading, decoding and playing video can be quite taxing. Thus, performance and usability of Cinelerra are directly proportional to the video format (SVCD/DV/HDV/HD/etc) used and the CPU and I/O bus speeds and video and memory bus architecture of your hardware. Therefore, it stands to reason that a less powerful system will be sufficient for users working with audio only or lower resolution video formats. However, that same system may slow down considerably when playing back a higher resolution format, such as DV video. Effects and several tracks of audio will compound these problems. Given these constraints, here are some suggestions for running Cinelerra:


2.2 Software requirements

To install Cinelerra you should have a current version of GNU/Linux with the X Window System (e.g., X.org) and some audio management software properly running. You should also have the following libraries installed (partial list):

You will also need the headers for all required libraries. For many distributions, this means that you will need to install the "-dev" or "devel" packages that correspond to your installed library packages. In addition to the libraries listed here, be sure you have the X library headers. Missing headers will usually result in compilation failing with cryptic error messages.


2.3 Compiling Cinelerra CV


2.3.1 Usual compilation process

You can install Cinelerra CV by fetching the source code and compiling it. That is the method to use if you want to compile the most up-to-date version of Cinelerra CV.

The source code of Cinelerra-CV is available from a Subversion (SVN) repository. Subversion is available for download at http://subversion.tigris.org/, but most likely your distribution has prebuilt packages. Complete documentation of subversion is available at http://svnbook.red-bean.com/nightly/en/index.html.

  1. First you have to fetch Cinelerra CV's sources from the SVN repository (approximately 170Mb or 60Mb for a read-only checkout). Run the following command:
    svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtual
    The svn command above will create in your current working directory a directory hvirtual that contains the sources.
  2. Go to the hvirtual directory:
    cd hvirtual
  3. Create the `./configure' file by running:
    autoreconf -i --force
  4. Then run the `.configure' file:
    ./configure --with-buildinfo=svn/recompile
    This option makes the revision number to be shown in the About tab of the Preferences window. You can have a look at all the other options available by running:
    ./configure --help
    Most of the missing dependencies should be listed after running.
  5. And run make:
    make
    If you wish to log the make output in order to search for errors, this command can be used:
    make 2>&1 | tee logfile
  6. Install Cinelerra CV:
    sudo make install
  7. Finally run as root (for first time compilation only):
    ldconfig

Notes:


2.3.2 Compiling with debugging symbols

When Cinelerra CV crashes, one can compile it with debugging symbols and run it inside gdb. The information displayed by gdb is far more detailed and will help CV developers find bugs faster.

First, fetch the SVN sources as usual. Then, run the following commands:
cd hvirtual
nice -19 autoreconf -i --force
mkdir ../hvdbg
cd ../hvdbg
nice -19 ../hvirtual/configure CXXFLAGS='-O0 -g' CFLAGS='-O0 -g' --with-buildinfo=svn/recompile
cd quicktime/ffmpeg
nice -19 make CFLAGS='-O3'
cd ../..
nice -19 make
nice -19 make install

See section Reporting bugs, for information about running Cinelerra inside gdb.


2.4 Running Cinelerra

The simplest way to run Cinelerra is by running /usr/bin/cinelerra
Command line options are also available by typing cinelerra -h These options are described in several sections below. For rendering from the command line See section Rendering files.

If you get this error message when running Cinelerra for the first time:

WARNING:/proc/sys/kernel/shmmax is 0x2000000, which is too low

See section Freeing more shared memory, for details.


2.5 Live CDs

You can try and use Cinelerra on a computer without having to install it on your system. This is possible by using Live CDs, that are GNU/Linux distributions which boot from a CD, without installation on a hard drive. Here are some of the Live CD's known to contain Cinelerra:


2.6 Arch Linux

Cinelerra CV is included in the Arch Linux community repository.
To install the cinelerra package enable the community repository first (See http://wiki.archlinux.org/index.php/AUR_User_Guidelines for more info).
Then run the following command from the command line:
pacman -Sy cinelerra-cv


2.7 Ark Linux

Cinelerra CV is included in the Ark Linux package repository.
To install the cinelerra package use the Install Software tool in Mission Control or run the following commands from a command line:
apt-get update
apt-get install cinelerra.


2.8 Debian


2.8.1 Debian binaries

Andraz TORI maintains build rules for Debian Sid. He also makes binary .deb packages for Sid. They are built from the unofficial SVN releases. Debian Sid packages can be found here:

Valentina MESSERI built also

Christian MARILLAT makes binary Debian packages, built from the unofficial SVN releases, for stable, testing and unstable.

Note: BRANCH = stable, testing or unstable
Note: Install debian-multimedia-keyring to add in your keyring Marillat's gpg-key.

Note: If Cinelerra produces the following error:
cinelerra: relocation error: /usr/lib/libavcodec.so.0.4.8: undefined symbol: faacDecOpen
You can solve the problem by entering the following command as root:
apt-get install --reinstall libfaad2-0=2.0.0-0.5


2.8.2 Debian prerequisites

Standard development packages

These are packages which might be considered "standard" development pacakges. The chances are, though, that you wouldn't have them installed by default, so you will probably need them:

Extra Debian packages

These are development packages which are "non-standard", and you'll almost certainly have to install them if you want to compile Cinelerra:

Some packages which may or may not be required:

External packages

You need some prerequisites which are not found in Debian's official repositories. You should add in your `/etc/apt/sources.list' the following line, which is Christian Marillat's repository:
deb http://www.debian-multimedia.org/ sid main

You will need to apt-get install the following packages:


2.9 Ubuntu


2.9.1 Ubuntu packages repositories

For Ubuntu 8.04 Hardy Heron:

For Ubuntu 7.10 Gutsy Gibbon:

For Ubuntu 7.04 Feisty Fawn:

For Ubuntu 6.10 Edgy Eft:

For Ubuntu 6.06 Dapper Drake


2.9.2 Instructions for Ubuntu packages installation

Chose a repository from the ones above according to your release and CPU type and install the package.
Here are 3 ways of doing that:

With Synaptic Package Manager:

Open the Software Sources Window.
You can do it in two ways:
- Go to System -> Administraton -> Software Sources
- Inside Synaptic Package Manager: Go to Settings -> Repositories.
Make sure you have universe, multiverse and restricted sources checked in the first tab.
Click on tab Third Party. Click on the Add button and enter your chosen repository.
Clicking Add Source will display the new repository enabled in the Software Sources window.
You should now see Cinelerra in the list of packages available in Synaptic.
Follow Synaptic instructions for installation.

With the command line:

Edit directly your `/etc/apt/sources.list' file.
Make sure you have universe, multiverse and restricted sources enabled by checking you have the following line uncommented:

deb http://archive.ubuntu.com/ubuntu dapper universe multiverse restricted

Add the complete APT line of your chosen repository.
Install Cinelerra by typing in your terminal:

apt-get update

and then

apt-get install cinelerra

With GDebi Package Installer:

Send Firefox to the web address of the repository
(e.g. http://www.kiberpipa.org/~muzzol/cinelerra/edgy-i386/.)
Click on the .deb link for your chosen Cinelerra package
(e.g. cinelerra_2.1.0+svn20070109-0ubuntu1_i386.deb)
A dialog window will ask you to confirm your intention to open this file with GDebi Package installer.
Clicking OK will start the download.
If during the process you get errors about not satisfiable dependencies, try installing the problematic library with the same method from the same webpage.

HOWTOs for package installation or compilation from source code


2.10 Gentoo

Installation for Gentoo GNU/Linux is very straight forward. Simply type:

emerge cinelerra-cvs

as root and it should install and run without any problems. Note that you may need to put cinelerra-cvs in your `/etc/portage/package.keywords' file in order to unmask it:

echo "=media-video/cinelerra-cvs ~x86" >> /etc/portage/package.keywords

See http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3 for details. If you are running on an architecture other than x86 e.g. amd64, you will need to replace ~x86 with the relevant architecture e.g. ~amd64.

You may also want to adjust the USE flags. First run

emerge -av cinelerra-cvs

to see what flags are available and then add the relevant ones to `/etc/portage/package.use':

echo "media-video/cinelerra-cvs ieee1394" >> /etc/portage/package.use 

This would enable support for firewire devices.


2.11 Fedora

Cinelerra is included in the Freshrpms repository at http://freshrpms.net. The easiest way to install packages from Freshrpms is to include the repository in the yum configuration. Also make sure that the Fedora Extras repository is enabled. This is the case by default on Fedora 5 and 6, and Core and Extras are merged into one on Fedora 7.

For Fedora 8 see http://kernelreloaded.blog385.com/index.php/archives/install-cinelerra-on-fedora-8/

On Fedora 6, as the user root do:

rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/6/\
freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

On Fedora 5, do:

rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/5/\
freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

Then type:

yum -y install cinelerra

to get and install Cinelerra and all the dependencies, including ffmpeg and mjpegtools. If it does not work, check the `/etc/yum.conf' file and make sure that the Freshrpms config gets included from the `/etc/yum.repos.d'.

Notes:


2.12 Mandriva

Cinelerra packages for Mandriva are made by PLF are ready to install. Read http://plf.zarb.org/packages.php for more information.


2.13 Slackware

Rafael DINIZ build Slackware packages for Cinelerra.


2.14 Suse

RPMs for SuSE 9 are built from SVN sources by Kevin BROSIUS, and available at http://cin.kevb.net/files/RPM/

RPMs for OpenSUSE 10.1 and 10.2, architecture i586 and x86_64, are built from SVN by Leon FREITAG at Packman. They are available at http://packman.links2linux.org/package/cinelerra/16413.

The RPM package(s) can be installed as root in a terminal using this command:

rpm -Uvh package_name.rpm

The following installation case shows four screenshots for a GUI based Cinelerra SVN installation on OpenSUSE 10.2 i586 using YaST2. First by adding packman's YaST2 repository as a YaST2 Installation source, and next the package installation with the YaST2 Software Manager.

Start the YaST Control center on OpenSUSE 10.2 and add the root password when requested:

manual_images_intl/yast2_control_center

Start the YaST2 installation source tool, select the HTTP protocol and add the servername for packman as shown. Synchronization with Zenworks may take some time, wait until it is finished.

manual_images_intl/yast2_installation_source

Start the YaST2 Software Management. Enter "Cinelerra" in the left search field and next check the checkboxes for the Cinelerra packages in the right window. If an older version of Cinelerra is installed on beforehand visible with a lock symbol, delete it, possibly try an update first.

manual_images_intl/yast2_cinelerra_installation

Click Accept to start the package installation and afterwards Next to finish.

manual_images_intl/yast2_package_installation


2.15 MacOSX

FIXME


3. Configuration

Because of its flexibility, Cinelerra cannot be optimized without special configuration for your specific needs. Unfortunately, very few parameters are adjustable at compile time. Therefore, runtime configuration is the only option for most users because of the multitude of parameters available.
Below are configuration options as well as the supported API's in GNU/Linux.
In Cinelerra, go to settings->preferences to see the options.


3.1 Environment variables

In UNIX derivatives, environment variables are global variables in the shell which all applications can read. They are set with a command like set VARIABLE=value. All the environment variables can be viewed with a command like env. Cinelerra recognizes the following environment variables:


3.2 Audio drivers

The audio drivers are used for both recording and playback. Their functionality is described below:


3.2.1 Sound driver attributes


3.2.2 OSS

This was the first GNU/Linux sound driver. It had an open source implementation and a commercial implementation with more sound cards supported. It was the standard sound driver up to GNU/Linux 2.4. It still is the only sound driver which an i386 binary can use when running on an x86_64 system.


3.2.3 OSS Envy24

The commercial version of OSS had a variant for 24 bit 96 KHz soundcards. This variant required significant changes to the way the sound drivers were used, hence the need for the new driver.


3.2.4 Alsa

ALSA is the most common sound driver in GNU/Linux 2.6. It supports most of soundcards now. It takes advantage of low latency features in GNU/Linux 2.6 to get better performance than OSS had in 2.4, but roughly the same performance that OSS had in 2.0. Unfortunately ALSA is constantly changing. A program which works with it one day may not the next day. New wrappers are being developed on top of ALSA. We plan to support them at regular intervals, though not at every new release of a new wrapper.
ALSA is no longer portable between i386 and x86_64. If an i386 binary tries to play back on an x86_64 kernel, it will crash. For this scenario, use OSS.


3.2.5 Esound

ESOUND was a sound server that sat on top of OSS. It was written for a window manager called Enlightenment. It supports a limited number of bits and has high latency compared to more modern drivers, but it does have the ability to multiplex multiple audio sources. It is unknown whether it still works.


3.2.6 Raw 1394

The was the first interface between GNU/Linux software and firewire camcorders. It is the least reliable way to play audio to a camcorder and consists of a library on top of the kernel commands.


3.2.7 DV 1394

This is the second rewrite of DV camcorder support in GNU/Linux. This is the most reliable way to play audio to a camcorder and consists of direct kernel commands.


3.2.8 IEC 61883

The third rewrite of DV camcorder support in GNU/Linux. This is a library on top of RAW 1394 which is a library on top of the kernel commands. It is less reliable than DV 1394 but more reliable than RAW 1394. The next rewrite ought to fix that. Visit http://www.linux1394.org for more information and the latest drivers.


3.3 Video drivers

The video drivers are used for video playback in the compositor and the viewer.


3.3.1 Video driver attributes


3.3.2 X11

This was the first method of graphical display on any UNIX system. It just writes the RGB triplet for each pixel directly to the window. It is the slowest playback method. It is still useful as a fallback when graphics hardware can not handle very large frames.


3.3.3 X11-XV

This was an enhancement to X11 in 1999. It converts YUV to RGB in hardware with scaling. It is the preferred playback method but can not handle large frame sizes. The maximum video size for XV is usually 1920x1080.


3.3.4 X11-OpenGL

The most powerful video playback method is OpenGL. With this driver, most effects are done in hardware. OpenGL allows video sizes up to the maximum texture size, which is usually larger than what XV supports, depending on the graphics driver. To enable it you will need a binary built with OpenGL support. The configure option to enable OpenGL is `--enable-opengl'. You need a video card which supports OpenGL 2.0. Recent Nvidia video cards should work. You also need to use a video driver supporting OpenGL 2.0, such as Nvidia's binary driver. To know if your video driver supports OpenGL 2.0, type the following command: glxinfo | grep "OpenGL version"

OpenGL relies on PBuffers and shaders to do video rendering. The graphics driver must support OpenGL 2.0 and Cinelerra needs to be explicitly compiled with OpenGL 2.0 support. This requires compiling it on a system with the OpenGL 2.0 headers. PBuffers are known to be fickle. If the graphics card does not have enough memory or does not have the right visuals, PBuffers will not work. If OpenGL does not work, try seeking several frames or restarting Cinelerra.

Limitations:


3.3.5 Buz

This is a method for playing motion JPEG-A files directly to a composite analog signal. It uses a popular hack of the Video4Linux 1 driver from 2000 to decompress JPEG in hardware. Even though analog output is largely obsolete, newer drivers have replaced BUZ.


3.3.6 Raw 1394 video playback

This was the first interface between GNU/Linux software and firewire camcorders. It is the least reliable way to play video to a camcorder and it consists of a library on top of the kernel commands.


3.3.7 DV 1394 video playback

The second rewrite of DV camcorder support in GNU/Linux. This was the most reliable way to play video to a camcorder and consists of direct kernel commands.


3.3.8 IEC 61883 video playback

The third rewrite of DV camcorder support in GNU/Linux. This is a library on top of RAW 1394 and is less reliable than DV 1394 but more reliable than RAW 1394. The next rewrite ought to fix that. Visit http://www.linux1394.org for more information and the latest drivers.


3.4 Playback


3.4.1 Audio out

These determine what happens when you play sound from the timeline.


3.4.2 Video out

These determine how video gets from the timeline to your eyes.


3.5 Recording

The parameters here expedite the File->Record... function by allowing the user to pre-configure the file format. The file format is applied to all recordings. Also set here is the hardware for recording, since the hardware determines the supported file format (in most cases).


3.5.1 File format

This determines the output file format for recordings. It depends heavily on the type of driver used. The menu selections are the same as the rendering interface. See See section Rendering files. The Record audio tracks toggle must be enabled to record audio. The Record video tracks toggle must be enabled to record video. The wrench button left of each toggle opens a configuration dialog in order to set the compression scheme (codec) for each audio and video output stream. The audio and video is wrapped in a container format defined by the File Format menu. Different wrappers may record audio only, video only, or both.

Some video drivers can only record to a certain container. DV, for example, can only record to Quicktime with DV as the video compression scheme. If the video driver is changed, the file format may be updated to give the supported output. If you change the file format to an unsupported format, it may not work with the video driver.


3.5.2 Audio in

These determine what happens when you record audio.


3.5.3 Video in

These determine what happens when you record video.


3.6 Performance

You will spend most of your time configuring this section. The main focus of the performance section is rendering parameters not available in the rendering dialog.


3.6.1 Background rendering

Background rendering was originally conceived to allow HDTV effects to be displayed in real-time. Background rendering causes temporary output to be rendered constantly while the timeline is being modified. The temporary output is displayed during playback whenever possible. This is useful for transitions and previewing effects that are too slow to display in real time. If a renderfarm is enabled, the renderfarm is used for background rendering. This gives you the potential for real-time effects if enough network bandwidth and CPU nodes exist.

Background rendering is enabled in the Performance tab of the Preferences window. It has one interactive function Settings menu -> Set background render. This sets the point where background rendering starts up to the position of the insertion point. If any video exists, a red bar appears in the time ruler showing what has been background rendered.

It is often useful to insert an effect or a transition and then select Settings menu -> Set background render right before the effect to preview it in real time and full framerates.


3.6.2 Renderfarm

To use the renderfarm, set these options. Ignore them for a standalone system


3.7 Interface

These parameters affect purely how the user interface works.


3.8 About window

This section gives you information about the copyright, the time of the current build, the lack of a warranty, and the versions of some of the libraries. Be sure to agree to the terms of the lack of the warranty.


4. Project attributes


4.1 Set format window

When you play media files in Cinelerra, the media files have a certain number of tracks, a certain frame size, a certain sample size, and so on and so forth. No matter what attributes the media file has, it is played back according to the project attributes. So, if an audio file's sample rate is different than the project attributes, it is resampled. In like fashion, if a video file's frame size is different than the project attributes, the video is composited on a black frame, either cropped or bordered with black.

The project attributes are adjusted in Settings->Set Format and to a lesser extent in File->New. When you adjust project settings in File->New, a new, empty timeline is created. Every timeline created from this point on uses the same settings. When you adjust settings in Settings->Format, media on the timeline is left unchanged. Also, every timeline created from this point uses the same settings.

manual_images_intl/format

Set Format window

In addition to the traditional settings for sample rate, frame rate, frame size, Cinelerra uses some unusual settings like channel positions, color model, and aspect ratio.


4.2 Presets

Select an option from this menu to have all the project settings set to one of the known standards.


4.3 Audio attributes

manual_images_intl/channelpositions

The channel position widget

The channels are numbered. When rendered, the output from channel 1 is rendered to the first output track in the file or the first soundcard channel of the soundcard. Later channels are rendered to output tracks numbered consecutively.

The audio channel positions correspond to where in the panning widgets each of the audio outputs is located. The closer the panning position is to one of the audio outputs, the more signal that speaker gets. Click on a speaker icon and drag to change the audio channel location.

The speakers can be in any orientation. A different speaker arrangement is stored for every number of audio channels since normally you do not want the same speaker arrangement for different numbers of channels.

Channel positions is the only setting that does not affect the output necessarily. It is merely a convenience, so that when more than two channels are used, the pan controls on the timeline can distinguish between them. It has nothing to do with the actual arrangement of speakers.

Different channels can be positioned very close together to make them have the same output.

See section Panning audio tracks.


4.4 Video attributes


5. Loading and saving files


5.1 Supported file formats

Here are most of the supported file formats that can be loaded and redered to, with notes regarding their compression. You may be able to load other formats not described here.
The format of the file affects what Cinelerra does with it. Edit decision lists stored in XML save the project settings. Formats which contain media but no edit decisions just add data to the tracks. If your project sample rate is 48 kHz and you load a sound file with 96khz, you will still be playing it at 48 kHz. If you load an EDL file at 96khz and the current project sample rate is 48 kHz, you will change it to 96 kHz.
Some file formats are very slow to display on the timeline. These usually have video which is highly compressed. Drawing highly compressed video thumbnails on the timeline (picons) can be very slow. Disable picon drawing for these files with the draw media toggle in the patchbay to speed up operations.

Supported file formats that Cinelerra can import and export are currently:


5.1.1 Quicktime

Quicktime is not the standard for UNIX but we use it because it is well documented. All of the Quicktime movies on the internet are compressed. Cinelerra supports some compressed Quicktime movies. If Cinelerra crashes when loading a Quicktime movie, it is most likely because the format was not supported.
Quicktime is a container for two streams, a video stream and an audio stream. These streams are compressed using separate encoding schemes. The preferred encoding for Quicktime output is MPEG-4 Video and MPEG-4 Audio. This format is compatible in the commercial players for Windows, has good compression quality and good output quality. For better compression, use H-264 video. Unfortunately H-264 decoding is so slow it can not play very large frame sizes.
Cinelerra supports two non-standard codecs: Dual MPEG-4 video and Dual H.264 video. These will not play in anything but Cinelerra and XMovie. They are designed for movies where the frames have been divided into two fields, each field displayed sequentially. The dual codecs interleave two video streams to improve efficiency without requiring major changes to the player.


5.1.2 MPEG-4 audio

This is the same as Quicktime with MPEG-4 Audio as the audio codec.


5.1.3 Still images


5.1.3.1 Loading still images

You can load still images on video tracks just like you do for any video file.
Supported file formats are mainly: PNG, TIF, TGA or JPG, EXR, raw digital camera images.

When loaded on the timeline, by default the image takes up one frame in length. To view the image, zoom in time (down arrow) on the timeline so you can see the single frame.
To extend the length of the image, drag its boundaries just as you would do with regular video media.
You can drag the boundaries of a still image as much as you want. Images in Cinelerra have the ability to be dragged to an infinite length.
Cinelerra lets you define the initial duration of the loaded images. The parameter is set in the Images section of the Settings->Preferences->Recording window.

Unless your original material comes from a digital source (like a digital photo camera), the first thing you have to do before you can use it is to somehow capture the assets into a usable digital medium.
For old photos, paper maps, drawings or diagrams, you might have to scan them into a file format like PNG, TIF, TGA or JPG files by using a digital scanner. You might want to use Gimp to post-process the images, clean damaged areas or color correct the assets.
If your assets come from a digital source like a digital camera or a screen capture, be sure to capture the material using the best resolution possible. This will allow you to get the best quality output from your Cinelerra project.

Rendering a video to a single image causes the final image file to be overwritten for every timeline position. The rendered file is a single still image of the last frame of the video. No table of contents is created. See section Images sequence.


5.1.3.2 Still images size

Imported images always stay at their original size. Therefore, you may need to scale your pictures before importing them in Cinelerra.
For resizing your picture to fit the project size you can use Imagemagick (http://www.imagemagick.org/script/index.php)
Example:
convert inputfile.jpg -resize 720x576 outputfile.jpg

You have to take into account the aspect ratio of your video. For example, PAL images aspect ratio is 4/3, but 720x576 is 5/4. For your imported images to be displayed correctly, you have to rescale their horizontal size:
new horizontal size=(5 / 4) / (4 / 3) x original horizontal size
For PAL videos, you have to multiply the horizontal size of the pictures you want to import by a factor of 0.9375.
Here is a small shell script which, when ran from a folder containing jpg images, resize those images and put the new images in a `resized' folder:
Note: Make sure you have installed Imagemagick which provides the functions 'identify' and 'convert' used in the script.

#/bin/sh
mkdir resized
for element in `ls . | grep -i '\.jpe*g$\'`;
do
    size=`identify ${element}`
    width=`echo ${size} | sed '+s+.*JPEG ++' | sed '+s+x.*++'`
    height=`echo ${size} | sed '+s+.*JPEG [0-9]*x++' | sed '+s+DirectClass.*++'`
    let new_width=${width}*9375/10000
    convert -resize "${new_width}x${height}!" -quality 100 ${element} resized/${element}
done

When the size of your image is different from the size of your project, but the ratio is the same, you might want to keep the image at its original size, to load it on a dedicated track and adjust the display of it with the camera zoom. See section The camera and projector.


5.1.3.3 Open EXR images

You may not know about Open EXR. This format stores floating point RGB images. It also supports a small amount of compression.

Projects which render to EXR should be in a floating point color model to take advantage of the benefits of EXR. See section Project attributes.

Several compression options are available for EXR.

Select Use Alpha if the project colormodel has an alpha channel and you want to retain it in the file. Otherwise the primary colors are multiplied by the alpha channel.


5.1.3.4 Raw digital camera images

RAW digital camera images are a special kind of image file that Cinelerra only imports.
Once they are on the timeline, these must be processed in a floating point color space. Raw images from Canon cameras are the only ones tested. They need to have the Gamma effect applied to correct gamma. Because raw images take a long time to interpolate, they are usually viewed first in a proxy file and then touched up.

First apply the Gamma effect to a track of raw images and set it to automatic with 0.6 gamma. Then render the timeline to a Quicktime JPEG file. Append the Quicktime JPEG file in a new track and disable playback of the old track. Now the gamma corrected copy of each raw image can be previewed relatively fast in the same timeline position as the original image.


5.1.4 Images sequence

An images sequence is a series of ordered still pictures (e.g. the frames of an animated scene). They can be loaded as multiple files.

An image sequence can be represented in Cinelerra also by an image list file, called also Table Of Contents file (TOC). A TOC is a text file with a specific format containing absolute paths to every frame in the sequence plus additional information like image resolution, fileformat and sequence framerate. To get better performance, the table of contents can be loaded as a single asset instead of the individual images. A TOC is not a media file but it behaves like a video clip.

Cinelerra creates TOC files by rendering to "Images sequence".
When rendering a video to an images sequence Cinelerra creates a different image file for every timeline position and generates a TOC for this images sequence. This is useful to split video into frames as single stills.
When rendering a series of stills to an images sequence Cinelerra generates a TOC for the images sequence but also creates a different image file for every still. The source files are copied and renamed. The TOC file contains the paths to the new files. This is useful only when you want to create a list and change the format of your source files.
For creating a TOC file without creating new image files you can use external list generators like IMG2LIST 0.1.5. (by Claudio "malefico" ANDAUR) or Seven Gnomes (by Peter SEMILETOV). See http://cvs.cinelerra.org/user-tips.php.

Cinelerra can create TOCs with the following formats: JPEG, PNG, EXR, TIFF, TGA.
Images lists can be edited manually.


5.1.5 AVI

Because AVI (Audio-Video Interleave) is so fragmented with varied audio and video codecs, you may not be able to play all AVI formatted files.


5.1.6 MPEG files containing video

MPEG files containing video can be loaded directly into Cinelerra. If the file is supported, a table of contents is built. If the file is unsupported, it usually crashes or shows very short tracks. Unfortunately, this method of loading MPEG files is not good enough if you intend to use the files in a renderfarm.
To use MPEG files in a renderfarm, you need to run mpeg3toc in orde