This article provides step-by-step instructions for installing Cinelerra 4.4.
I upgraded my main workstation to Ubuntu 12.04 recently, briefly looked at PiTiVi and decided that Cinelerra is still the only capable video editor for Linux, despite its many flaws.
This post provides step-by-step instructions for compiling and installing Cinelerra 4.4.
Here is the list of dependencies that I know about. At a minimum you’ll need these packages, although there may be more. If the compile fails on a dependency, simply look at the last few lines of the output and the error should tell you what it’s missing.
$ sudo apt-get install wget bzip2 patch build-essential w32codecs w64codecs libtool nasm libncurses5-dev libbz2-dev libncursesw5-dev libxv-dev libxxf86vm-dev libogg-dev libvorbis-dev libtheora-dev libopenexr-dev libdv-dev libpng-dev libjpeg62-dev libfreetype6-dev libfaad-dev libsndfile1-dev uuid-dev libavutil-dev libmpeg3-dev libavcodec-dev libx264-dev libfaac-dev libglu1-mesa-dev libmjpegtools-dev
$ wget http://downloads.sourceforge.net/project/heroines/cinelerra-4.4-src.tar.xz $ tar xvf cinelerra-4.4-src.tar.xz
You should now have a directory called cinelerra-4.4
You will need to apply two patches from the Community Version of Cinelerra to add dnxhd and dv50 codec support and YUV Stream support. This was easy, b/c the patches applied cleanly.
$ wget http://renomath.org/video/linux/cinelerra/patch-cinelerra-4.4-dnxhd $ wget http://renomath.org/video/linux/cinelerra/patch-cinelerra-4.4-yuvstream $ patch -Np1 -d cinelerra-4.4 < patch-cinelerra-4.4-dnxhd $ patch -Np1 -d cinelerra-4.4 < patch-cinelerra-4.4-yuvstream
I found out about these patches from Eric Olson’s site: http://renomath.org/video/linux/cinelerra/
$ cd cinelerra-4.4 $ ./configure $ make
The install target does not work, so don’t bother with it. After make succeeds, the Cinelerra binary will be in the bin/ folder. So, to run Cinelerra:
$ cd bin # ./cinelerra
I mostly use Cinelerra to work with AVCHD video from my Sony DSLR, which shoots at 1080p with 60 FPS. Cinelerra cannot read the resulting MTS files, so I have to convert them to dnxhd (AVdn) format first:
$ ffmpeg -i 00014-360_2.MTS -b 185M -vcodec dnxhd -acodec pcm_s16le -threads 4 output.mov
Also, I could not get Cinelerra to read the sound from the resulting file (complains about missing ‘lpcm’ codec), so I had to take another intermediate step to extract the audio from the file, so I can import it separately:
$ mplayer output.mov -vo null -vc dummy -ao:file=sound.wav
Once I import output.mov into Cinelerra, I delete the audio tracks and I replace them with sound.wav, which work well.
Aside from some new features here and there, the most obvious advantage of Cinelerra 4.4 over the Community Version is that the video processing and playback appears to be faster. I get about 10 FPS in cinelerra-cv, whereas Cinelerra 4.4 gives me 20 FPS, which makes the video manipulation and playback much smoother. Nice.
Missing Faders in Video Tracks
Aside from some minor problems, like missing icons for transitions and other resources, the most severe problem I ran into was the missing Fader line in video tracks. The audio tracks still had the Faders, but in Video tracks the horizontal white line was just gone.
Here is what it looks like:
If this happens to you, the fix is to press the 3rd button from the right in the tool bar. It is called “Fit autos to display (Alt + f)”. What it will do is change the fade range in the drop down at the bottom from “-10.00 – 10.00” to something like “-33.00 – 133.00” in my case. You can also select “0 – 100” from that drop down as an alternative.
Michael Lining said:
Hi there, I’m trying to compile this on Linux Mint 14 32 bits. Two dependencies weren’t available in the repositories, libdv-dev, and w64 codecs, and there were some other libdv tools that I installed. I proceeded with build and got as far as this:
../include/EST_TIterator.h: In instantiation of ‘EST_TStructIterator::EST_TStructIterator(const Container&) [with Container = EST_THash; IPointer = EST_THash::IPointer_s; Entry = EST_Hash_Pair]’:
siod.cc:47:3: required from here
../include/EST_TIterator.h:212:7: error: ‘begin’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/EST_TIterator.h:212:7: note: declarations in dependent base ‘EST_TIterator<EST_THash, EST_THash::IPointer_s, EST_Hash_Pair >’ are not found by unqualified lookup
../include/EST_TIterator.h:212:7: note: use ‘this->begin’ instead
../include/EST_TIterator.h: In instantiation of ‘EST_TRwStructIterator::EST_TRwStructIterator(Container&) [with Container = EST_THash; IPointer = EST_THash::IPointer_s; Entry = EST_Hash_Pair]’:
siod.cc:47:3: required from here
../include/EST_TIterator.h:292:7: error: ‘begin’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/EST_TIterator.h:292:7: note: declarations in dependent base ‘EST_TRwIterator<EST_THash, EST_THash::IPointer_s, EST_Hash_Pair >’ are not found by unqualified lookup
../include/EST_TIterator.h:292:7: note: use ‘this->begin’ instead
make: *** [siod.o] Error 1
make: *** [siod] Error 2
make: Leaving directory `/home/michael/Downloads/cinelerra-4.4/thirdparty/speech_tools’
make: *** [all] Error 2
make: Leaving directory `/home/michael/Downloads/cinelerra-4.4′
make: *** [all] Error 2
CS23302-linux cinelerra-4.4 #
So, third party speech tools? What is this?
I did not have the issue you describe, so I can’t give you a ready to use fix, but I have some ideas.
The error does not indicate a missing dependency, but rather something like a difference in the compiler you are using with your distro. It also turns out that Arch Linux users have the same issue as you:
There is also a number of patched proposed, which look like they might turn out to be useful to you:
Let me know if this works for you, so I can update the post with the info. Good luck.
Hello valblant, I tried to compile cinelerra HV 4.4 following your instructions on my Debian Wheezy amd64 and I had the same issue as Micheal. But I found a solution. Just use the third patch on http://renomath.org/video/linux/cinelerra/ by Eric Olson : patch-cinelerra-4.4-gcc47 and everything will be ok. Then launching cinelerra we have another little flaw: MWindow::init_theme: theme Blue Dot not found. So that, following http://git.cinelerra.org/irclog/index.php?file=2005-11-29.html open ~/.bcast/Cinelerra_rc find the line that starts with THEME and delete it. Hope it will help you all. Cheers!
This is parts on festival speech synthesis system. I just deleted speech tools and festival from the cinelerra source subdirectory because it’s already present in linux distribution.
Thank you, Mr. Plinsksy. Good stuff!
I’ve needed to add a dependency libasound2-dev and I was unable to compile when I use the patch patch-cinelerra-4.4-yuvstream, without this patch it is compiled and executed correctly
Did the steps, no error messages, but in the bin directory there is no cinelerra binary… in bin there is just a bunch of files that end with the word ‘plugin’, and two directories: fonts and shapes…
Interesting. Can you post the full listing of your bin/ directory?
Are you sure there were no errors? Try running ‘make -C cinelerra’ from the root directory. Does that run successfully?
Hi, tried compiling cinelerra 4.4 last month, but had a missing dependency and make errors on Debian wheezy 7.1-amd64. That was after adding the patches. So I ended up installing the deb from deb-multimedia.org. Which isn’t patched and has no stream output option. It is rock stable I’m no longer saving and restarting every 15 minutes. Well still saving. Rendering issues: h264 produces just gray video with some blobs here and there. YUV420p in mov container looks great, but ffmpeg says a bunch of the frames are bad. Listing thousands of errors in just seconds. Had scrolling set to 5000 lines & it ran past that before I hit quit. RGB comes out looking like the colors are swapped around, BGR, maybe. I would just like to render mov using h264 & aac. I have a 480p yuv420p project, I’d like to render & I don’t want to render it to a lossy format then transcode to h264 aac .mp4. Any advice? Thanks.
this isn’t working! It worked for me before but I’m trying it on another computer and when I do the ./cinelerra I get
bash: ./cinelerra: No such file or directory
FYI I got this message when doing the “make”
In file included from adeviceprefs.C:23:0:
audioalsa.h:30:28: fatal error: alsa/asoundlib.h: No such file or directory
Is that the source of the problem?
Thanks for the grate job.
But this is not working with the newest Version 4.5 of Cinelerra
have changed the patch command to cinelerra4.5 and done exactly the same and get the following error message with ubuntu 12.04
qtmp3.c:2:18: schwerwiegender Fehler: lame.h: Datei oder Verzeichnis nicht gefunden
make: *** [x86_64/qtmp3.o] Fehler 1
(If you are not able to read German: bad error: lame.h: File or folder not found Compiler finisched…
/bin/bash ../libtool –mode=link gcc -O2 -Wall -o faac main.o input.o ../libfaac/libfaac.la -lm
gcc -O2 -Wall -o .libs/faac main.o input.o ../libfaac/.libs/libfaac.so -lm -Wl,–rpath -Wl,/usr/local/lib
../libfaac/.libs/libfaac.so: undefined reference to `sincos’
../libfaac/.libs/libfaac.so: undefined reference to `sin’
../libfaac/.libs/libfaac.so: undefined reference to `asin’
../libfaac/.libs/libfaac.so: undefined reference to `cos’
../libfaac/.libs/libfaac.so: undefined reference to `log’
../libfaac/.libs/libfaac.so: undefined reference to `pow’
../libfaac/.libs/libfaac.so: undefined reference to `log10′
../libfaac/.libs/libfaac.so: undefined reference to `sqrt’
collect2: error: ld returned 1 exit status
Michael Knap said:
I have the same issue as Richard.
Anyone have any ideas? Version issue with libfaac?
Ed T said:
I hate to say it, but me too. BOO! I’m on Lubuntu 13.10. If I figure it out, I’ll let you know…