PiTiVi is a GStreamer-based non-linear video editor (NLE) developed by members of the GStreamer project itself. That means it is often the first project to showcase new features, and last month’s new release is no exception. The major new feature is support for audio and video filter “effects” but there are usability and speed improvements worth examining, too.
For those unfamiliar, PiTiVi has been in development for several years, with the team taking a piecemeal approach to adding new features. They would focus on adding support for a feature to GStreamer or to the NLE toolkit Gnonlin first, then expose it in PiTiVi. At times that meant that PiTiVi was behind the feature-curve advertised by rival projects like Kdenlive, but it always had the advantage of stability. Kdenlive may have offered a title-editor years ago while PiTiVi didn’t, but at least PiTiVi didn’t blink out of existence and destroy your work without provocation.
That is why it is big news that audio and video effects support has landed in the new release, version 0.14. You can download packages and source code from the project’s web site (there is also a PPA repository available for Ubuntu users). The dependency list is long but not arduous: count on adding GStreamer packages and a few odds and ends, but nothing that is not supplied by most distributions’ package managers.
Making Their Debut
The effects in PiTiVi 0.14 come courtesy of a Google Summer of Code project from 2010, whose student has since become a full-time GStreamer developer. Any effect supported by the GStreamer framework is available, including a massive assortment using the cross-application frei0r API. I counted 101 video effects and 126 audio effects, although the total may depend on the GStreamer packages you have installed.
In the user interface, an effects chooser now sits next to the “media library” chooser at the top of the window, above the timeline. Between the chooser and the preview player is an effects configuration panel. In practice, you can select any clip (audio or video) in the timeline, and then drag an effect from the chooser into the configuration panel. You can stack as many effects as you want, and activate or deactivate each with a checkbox. When you select an effect in the config panel, whatever sliders and controls apply to it appear below, and you can see their impact immediately in the preview player.
There are some limitations; for example you cannot “fade in” or “fade out” an effect, or apply it to only a portion of a clip. The current effects palette also tends towards the mathematical: all sorts of color effects, distortion, and re-sizing are possible, but the effects do not add new features like image stabilization or chroma-key. That is not a criticism, it is just important to understand what precisely is meant by “effects.” On the other hand, it is extremely useful that every effect has a human-readable description that appears as a mouse-hover pop-up — new users are not liable to know what Scanline0R means on their first visit.
Also new in this release is the complete freedom to choose any aspect ratio and frame-rate your heart desires. 2000-by-1 pixels? No problem! 900 frames per second? You betcha! Naturally if you are developing content for Hollywood, this is not critical, but if you are working on pet projects or scientific image collection, it is useful. Better still, you can now save your peculiar (or run-of-the-mill) project settings as presets, for one-click access in the future.
There is also a command-line rendering command available in this release, which might be most useful to those people working on large projects who want to leverage beefier hardware than they develop on in front of the keyboard. Finally, it might not sound like much, but one of the best new features in this release is the ability to preview (with audio and video playback) clips before you add them to your project. With a large library of clips on disk, getting mixed up is all too easy.
Apart from the new features, which are easy to get excited about, PiTiVi 0.14 makes some welcome improvements to the editorial workflow itself. Clicking on the zoom button immediately does a “zoom to fit” showing all of the clips in the timeline (but the normal zoom-in and zoom-out functions remain as well). You can also jump to any exact position in the timeline (which is useful for large projects), and the media library panel has a search bar (although this feature makes me wonder if “library” is really the correct term for the clips imported to a project; “workspace” seems more appropriate).
The actual GTK+ interface has some new super powers of its own. Tabs — such as the media library and effects library — are detachable. Just click and drag one off of the main editor window and it appears in a window of its own. This can be very helpful when working in HD, if you would like to move the preview player to a full-screen window all on its own.
Two of the key modal dialogs have been redesigned, hopefully for improved clarity. The project settings dialog, which lets you control aspect ratio, frame rate, audio bit-depth, and other features, has been reorganized to hopefully shed light on some of the potentially confusing details. For example, you can link the horizontal and vertical pixel size of the video, and choose whether the “display aspect ratio” or “pixel aspect ratio” field is used to determine the output size. If that last question sounds confusing, that’s where the interface comes in: you can click on one and adjust it, and watch how the changes affect the other setting.
The rendering dialog has also seen a refresh, separating video, audio, and container format settings each into its own tab. Finally, whenever you launch PiTiVi, you are greeted by a “welcome dialog” that pops up a list of your recent projects, plus a button to start an entirely new project.
The Reviews Are In
It is a testimony to PiTiVi’s stability that the only problems I found with it were minor. In a couple of places, the application seemed not to pick up on the correct localization, because it used a comma instead of the decimal point (which is the standard here). In others (such as the media library and effects configuration panel), it made the odd choice of placing light gray text on a pale yellow background. That does not reflect anything in my GTK+ theme, so I have to chalk it up to the application. It’s also a little difficult to tell which video track is selected in the timeline — I like PiTiVi’s “grab it and use it” UI approach in general, but now that effects have landed, distinguishing between selected and unselected clips is vital. The current scheme seems to be “medium-green for unselected clips, imperceptibly-darker-than-medium-green for selected clips.” I hope that’s adjustable.
UI nitpicks aside, however, I do think there is still some room to clarify the often ambiguous relationship between pixel dimensions, display aspect ratio, and pixel aspect ratio. Even seasoned computer scientists I know still don’t grasp the concept of non-square pixels (or where they might come from); toss in anamorphic screen projections and you’re asking for trouble. Maybe a simple thumbnail diagram previewing the settings would clear up any confusion.
In the long run, my only major concern with this release of PiTiVi is that when rendering video, it only makes use of one of my processor cores. Rendering video is without doubt the most CPU-intensive task a non-physicist, non-kernel-hacker like myself will do in the course of a given day, and I hate to see three or more cores sitting idle. GPU acceleration would be nice, but seems like a full step removed. In searching for an answer, I’m not quite sure where the one-CPU limit comes from: if it is PiTiVi itself, Gnonlin, or somewhere in GStreamer. Wherever it lies, even though 0.14 claims a number of speed improvements, a fourfold rendering speedup would put them all to shame.
That issue aside, everything else in 0.14 is a win. Obviously the big plus is the vast assortment of effects available, and how easy they are to configure and use. But the collective effect of the UI improvements (settings presets, detachable tabs) and other enhancements (fully adjustable frame rates, media previews) make for a better editing experience as well.
Seeing how well the 2010 Summer of Code effects project worked out, I am definitely looking forward to the next release of PiTiVi. This year’s set of four projects make for an enticing menu: compositing, rendering and web uploading presets, titles and transformation effects, and noise reduction and shake correction. If the majority of those features land, I just might have to revisit what I said about PiTiVi’s slow and methodical progress.