| [Top] | [Contents] | [Index] | [ ? ] |
| 1. Introduction | Cinelerra in brief. | |
| 2. Installation | Making Cinelerra work on your system. | |
| 3. Configuration | Adjusting the behavior of Cinelerra. | |
| 4. Project attributes | Changing the way the media is displayed. | |
| 5. Loading and saving files | Moving media between disk and Cinelerra. | |
| 6. Program window | ||
| 7. Editing | ||
| 8. Compositor window | ||
| 9. Viewer window | ||
| 10. Resources window | ||
| 11. Sound level meters window | ||
| 12. Transport controls | ||
| 13. Timebar | ||
| 14. Realtime effects | ||
| 15. Rendered effects | ||
| 16. Ladspa effects | ||
| 17. Transitions | ||
| 18. Keyframing | Making effects change over time. | |
| 19. Capturing media | Moving media from the real world to disk. | |
| 20. Rendering files | ||
| 21. Tips | Unusual applications of Cinelerra to common problems. | |
| 22. Troubleshooting | Problems with Cinelerra. | |
| 23. Plugin authoring | How to write new effects. | |
| 24. Keyboard shortcuts | How to accelerate most commands with the keyboard. | |
| GNU General Public License | The GNU General Public License |
| 1.1 About Cinelerra | ||
| 1.2 The two versions of Cinelerra | ||
| 1.3 About this manual | ||
| 1.4 Getting help | ||
| 1.5 Tutorials | ||
| 1.6 HOWTOs | ||
| 1.7 Miscellaneous links |
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."
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.
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.
Help can be found at:
Some Cinelerra tutorials are available on the internet:
Some HOWTOs for specific needs are available on the internet:
Miscellaneous links:
This is the general contents of all Cinelerra packages.
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:
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.1 Usual compilation process | ||
| 2.3.2 Compiling with debugging symbols |
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.
svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtualcd hvirtual
autoreconf -i --force
./configure --with-buildinfo=svn/recompile./configure --helpmakemake 2>&1 | tee logfile
sudo make install
ldconfig
Notes:
./configure
with the `--enable-mmx32' option. If you do that, you may have to use the
`--without-pic' option too, otherwise, compilation may fail.
./configure --prefix=/usr --enable-x86 --enable-mmx32 --enable-freetype2
--with-buildinfo=svn/recompile CFLAGS='-O3 -pipe -fomit-frame-pointer
-funroll-all-loops -falign-loops=2 -falign-jumps=2 -falign-functions=2
-ffast-math -march=pentium-m -mfpmath=sse,387 -mmmx -msse'
./autogen.sh./configuremakemake installsvn updatesvn checkout -r <revision>
svn://svn.skolelinux.org/cinelerra/trunk/hvirtual
./configure (replace `xxx' by the number of the revision you
are compiling):cd /usr/local_cinelerra/rxxx./cinelerra_rxxxWhen 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.
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.
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:
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
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.1 Debian binaries | ||
| 2.8.2 Debian prerequisites |
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:
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/sid/ ./
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/pentium4/ ./
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/pentiumm/ ./
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/athlonxp/ ./
Valentina MESSERI built also
deb http://giss.tv/~vale/debian64/ ./
Christian MARILLAT makes binary Debian packages, built from the unofficial SVN releases, for stable, testing and unstable.
deb http://www.debian-multimedia.org BRANCH main
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
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:
error: X11/extensions/xf86vmode.h: No such file or directory
error: X11/extensions/Xvlib.h: No such file or directory
/usr/bin/ld: cannot find -lXxf86vm
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.1 Ubuntu packages repositories | ||
| 2.9.2 Instructions for Ubuntu packages installation |
For Ubuntu 8.04 Hardy Heron:
deb http://repository.akirad.net akirad-hardy main
Installation notes:
- To add this repository in your sources list use the following terminal
command:
sudo wget http://repository.akirad.net/dists/hardy.list -O
/etc/apt/sources.list.d/akirad.list
-Installations from this repository need an authentication key. Add it by
typing the following command in your terminal:
wget -q http://repository.akirad.net/dists/akirad.key -O- | sudo
apt-key add -
- Cinelerra package is available in 5 variants:
cinelerra (x86 and x86_64 without opengl 2.0 video card)
cinelerra-generic (all x86 and x86_64 with opengl 2.0 video card)
cinelerra-k7 (amd32 without opengl 2.0 video card)
cinelerra-k7gl (amd32 with opengl 2.0 video card)
cinelerra-k8 (amd k8 optimized with opengl 2.0 video card)
- Cinelerra must be set to work with PulseAudio. Open Cinelerra and go
to Settings->Preferences->Playback->Audio Driver. Select ESound and set the
following parameters:
Server:
Port: 7007
- These packages set shmmax to 0x7fffffff and add non-English language support
for Cinelerra.
- Please, report any package bug to akir4d at gmail dot com
For Ubuntu 7.10 Gutsy Gibbon:
deb http://repository.akirad.net akirad-gutsy main
Installation notes:
- To add this repository in your sources list use the following terminal
command:
sudo wget http://repository.akirad.net/dists/gutsy.list -O
/etc/apt/sources.list.d/akirad.list
-Installations from this repository need an authentication key. Add it by
typing the following command in your terminal:
wget -q http://repository.akirad.net/dists/akirad.key -O- | sudo
apt-key add -
- Cinelerra package is available in 5 variants:
cinelerra (all x86 and x86_64 without opengl 2.0 video card)
cinelerra-generic (all x86 and x86_64 with opengl 2.0 video card)
cinelerra-k7 (all amd32 without opengl 2.0 video card)
cinelerra-k7gl (all amd32 with opengl 2.0 video card)
cinelerra-k8 (all amd64 with opengl 2.0 video card)
- These packages set shmmax to 0x7fffffff and add Cinelerra non-English language
support on Ubuntu.
- Please, report any package bug to akir4d at gmail dot com
deb http://giss.tv/~vale/ubuntu32 ./
deb http://giss.tv/~vale/ubuntu64 ./
Note:
- If your package manager complains that it does not have the right version of
libfaac (1.25) you can install:
http://www.debian-multimedia.org/dists/stable/main/binary-amd64/package/libfaac0.php
For Ubuntu 7.04 Feisty Fawn:
deb http://giss.tv/~vale/ubuntuopengl/ ./
deb http://giss.tv/~vale/ubuntu64 ./
deb http://giss.tv/~vale/ubuntu64NOopengl/ ./
deb http://www.kiberpipa.org/~muzzol/cinelerra/feisty-i386/ ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/feisty/cinelerra/i686/ ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/feisty/cinelerra/athlonxp/ ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/feisty/cinelerra/pentium4/ ./
For Ubuntu 6.10 Edgy Eft:
deb http://www.kiberpipa.org/~muzzol/cinelerra/edgy-i386/ ./
deb http://giss.tv/~vale/ubuntu32 ./
For Ubuntu 6.06 Dapper Drake
deb http://www.kiberpipa.org/~gandalf/ubuntu/dapper/mjpegtools ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/dapper/cinelerra/pentium4/ ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/dapper/cinelerra/i686/ ./
deb http://www.kiberpipa.org/~gandalf/ubuntu/dapper/cinelerra/athlonxp/ ./
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
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.
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:
Cinelerra packages for Mandriva are made by PLF are ready to install. Read http://plf.zarb.org/packages.php for more information.
Rafael DINIZ build Slackware packages for Cinelerra.
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:
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.
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.
Click Accept to start the package installation and afterwards Next to finish.
FIXME
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 | These environment variables are recognized by Cinelerra | |
| 3.2 Audio drivers | Information about the audio drivers | |
| 3.3 Video drivers | Information about the video drivers | |
| 3.4 Playback | Configuring parameters related to playback. | |
| 3.5 Recording | Configuring parameters related to recording. | |
| 3.6 Performance | Configuring parameters related to how fast things go. | |
| 3.7 Interface | Configuring the user interface. | |
| 3.8 About window | Viewing information about the program. |
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:
export LANG=es_ES LANGUAGE=es_ES, then run
cinelerra from the same shell. It will open set on the Spanish language.If your distribution has only UTF-8 support (like Ubuntu), first you must create
the language charset with this command:
localedef -c -i (language_prefix) -f (your ISO-8859 variant)
(language_prefix).(your ISO-8859 variant)
This is an example for Italian language:
localedef -c -i it_IT -f ISO-8859-15 it_IT.ISO-8859-15
Then you can run cinelerra with this command:
env LANG=$(echo $LANG | sed -e s/UTF-8/(your ISO-8859 variant)/g)
cinelerra
This is an example for Italian language:
env LANG=$(echo $LANG | sed -e s/UTF-8/ISO-8859-15/g) cinelerra
In some cases (e.g. if you compiled Cinelerra specifying a `--prefix=' option different from `/usr/local') the translated .po files are not installed. If you can't run Cinelerra in your chosen language, try running the following commands before changing the LANG and LANGUAGE environment variables:
cd hvirtual
./configure prefix=/usr
cd po
sudo make install
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 | Notes about the OSS driver | |
| 3.2.3 OSS Envy24 | Notes about the OSS driver for the Envy24 chip | |
| 3.2.4 Alsa | Notes about the ALSA driver | |
| 3.2.5 Esound | Notes about the ESound driver | |
| 3.2.6 Raw 1394 | Notes about the Raw1394 driver | |
| 3.2.7 DV 1394 | Notes about the DV1394 driver | |
| 3.2.8 IEC 61883 | Notes about the IEC 61883 driver |
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.
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.
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.
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.
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.
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.
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.
The video drivers are used for video playback in the compositor and the viewer.
| 3.3.1 Video driver attributes | ||
| 3.3.2 X11 | ||
| 3.3.3 X11-XV | ||
| 3.3.4 X11-OpenGL | ||
| 3.3.5 Buz | ||
| 3.3.6 Raw 1394 video playback | ||
| 3.3.7 DV 1394 video playback | ||
| 3.3.8 IEC 61883 video playback |
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.
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.
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 version string: 2.0.2 NVIDIA 87.74
OpenGL version string: 1.4 (2.0.2 NVIDIA 87.74)
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:
BC_Texture::create_texture frame size <frame_width>x<frame_height> bigger
than maximum texture 4096x4096.
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.
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.
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.
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.1 Audio out | ||
| 3.4.2 Video out |
These determine what happens when you play sound from the timeline.
These determine how video gets from the timeline to your eyes.
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 | ||
| 3.5.2 Audio in | ||
| 3.5.3 Video in |
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.
These determine what happens when you record audio.
These determine what happens when you record video.
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 | ||
| 3.6.2 Renderfarm |
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.
ls commands will not work in the background rendering directory. The
browse button for this option normally will not
work either, but the
configuration button for
this option works.
To use the renderfarm, set these options. Ignore them for a standalone system
These parameters affect purely how the user interface works.
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.1 Set format window | ||
| 4.2 Presets | ||
| 4.3 Audio attributes | ||
| 4.4 Video attributes |
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.
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.
Select an option from this menu to have all the project settings set to one of the known standards.
Sets the number of audio tracks for the new project. Tracks can be added or deleted later, but options are provided here for convenience.
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.
In order to do effects which involve alpha channels, a colormodel with an
alpha channel must be selected. These are RGBA8888, YUVA8888, and RGBA Float.
The 4 channel colormodels are slower than 3 channel colormodels,
with the slowest being RGBA Float. Some effects, like fade, work around the
need for alpha channels while other effects, like chromakey, require an alpha
channel to do anything, so it is a good idea to try the effect without alpha
channels to see if it works before settling on an alpha channel and slowing it
down.
When using compressed footage, YUV colormodels are usually faster than RGB colormodels.
They also destroy fewer colors than RGB colormodels. If
footage stored as JPEG or MPEG is processed many times in RGB, the colors will
fade whereas they will not fade if processed in YUV.
Years of working with high dynamic range footage have shown floating point RGB
to be the best format for high dynamic range. 16 bit integers were used
in the past and were too lossy and slow for the amount of improvement.
RGB float does not destroy information when used with YUV source footage and
also supports brightness above 100%. Be aware that some effects, like
Histogram, still clip above 100% when in floating point.
| 5.1 Supported file formats | What formats Cinelerra can import and export | |
| 5.2 Loading files | Loading all types of files | |
| 5.3 Loading the backup | Recovering the session from before a crash | |
| 5.4 Saving project files | Saving edit decision lists | |
| 5.5 Merging projects |
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:
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.
This is the same as Quicktime with MPEG-4 Audio as the audio codec.
| 5.1.3.1 Loading still images | ||
| 5.1.3.2 Still images size | ||
| 5.1.3.3 Open EXR images | ||
| 5.1.3.4 Raw digital camera 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.
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.
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.
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.
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.
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.
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 order to generate a table
of c