After recommending Movavi to a friend who uses Windows, i wanted a video editor for Linux as well. I didn’t really like the first few i tried (Openshot, PiTiVi) because they tended to crash a lot and provided a lot less features than Movavi did.
At a second try, i tried cinelerra, which seems to be great, and seems to offer everything i want.
One caveat: In the standard configuration, video playback is real slow. This can be changed in the settings/preferences menu by changing the video renderer to x11 opengl. And while at it, best change the audio source to alsa (from oss). This fixes the slow playback problem.
Another thing you want to do is add the line
to /etc/sysctl.conf to get rid of that pesky message when cinelerra starts. This is 2 GB of shared memory, which is quite a bit less than what your machine should have nowadays.
Cinelerra, like a lot of programs, take quite a long time to render the output. Fortunately, there’s a batch renderer as well – add your render definitions to the batch list, then call cinelerra -r from the command line when you’re finished, and it’ll render your files in the background.
One thing i like about linux programs is that normally, they use simple ascii files for configuration. Cinelerra is no exception. So, it’s quite easy to write a little perl script that gets a list of cinelerra project definition xml files as arguments, and creates render definitions from them. So i’ll just call perl projgen.pl *.xml from the directory my xml files are in, then cinelerra -r, and all videos will get rendered again. If i’ll change my preferences sometimes in the future, i can re-render everything with very few manual interaction.
The things i’m missing:
- Video size detection. Whenever i load a new file, i’ll have to adjust the track and output size to the new video, and i haven’t found a way to auto-set them to the current video. Current solution: open the file in vlc, and use view codec information.
- Video size scaling. If the dimensions of the output video are different from the input video, the video won’t get scaled; just cropped / put on a larger, empty canvas. I think i’ll have to check ffmpeg or avidemux for that one day.
- Capturing an image from a video. Right now, i work around that by selecting a few frames from the video, then render to jpeg destination. Still a bit clumsy, but the best way to do it i found.