PiTiVi 0.13.1 : “L’Aquila Immota Manet : The eagle remains unmoved”

The PiTiVi team is very proud to announce the first release in the unstable 0.13 PiTiVi series.

This release is in memory of those who have lost their lives, friends, houses in the April 6th 2009 earthquake in l’Aquila, Italy.

You will find more info of the changes, bugfixes and so forth in the online release notes here .

To sum up this release :

  • 3 developers working mostly full time : Alessandro Decina, Brandon Lewis and myself
  • An insane QA/usability nazifreak who has overwhelmed the bugtracker with issues : Jean-Francois Fortin Tam
  • Over 700 commits !
  • Complete core rewrite, new multi-layered timeline, audio waveforms, video thumbnails
  • Speed improvements

This is not the end, far from it. We’re already working on the next 0.13.2 release which should be available just before the Gran Canaria Desktop Summit in July with exciting improvements like : transitions, mixing, effects, more speed/memory improvements…

People say an image is worth a thousand words… then I guess a video is worth a million words. Jean-Francois did a screencast showing off the latest features of PiTiVi… and of course edited it with PiTiVi. You can find it in ogg or on youtube. Thanks Jean-Francois !

Enjoy the Show !

PiTiVi video editor pre-release !

We got a bit delayed, but it’s happened at last. The PiTiVi team is proud to announce the first 0.13 pre-release.

Tarball available here: http://ftp.gnome.org/pub/GNOME/sources/pitivi/0.13/pitivi-

For those using Jaunty, we’ve also made pitivi (and all required dependencies) available on the gstreamer-developers PPA:  https://launchpad.net/~gstreamer-developers/+archive/ppa

Testing, feedbacks, bug reports are welcome as usual on bugzilla:  http://bugzilla.gnome.org/enter_bug.cgi?product=pitivi

Unless blockers popup, expect the 0.13.1 release next monday (25th May).

Update : I didn’t put the details of the changes since summarizing 700+ commits is not trivial. The release will have more details, but to summarize : back-end rewritten, multi-layer editing, speed improvements and awesomeness :)

PiTiVi progress, Summer Of Code and Android

As usual, a long time since the last update. But “as usual”, plenty of updates :)

PiTiVi updates

Over the past 3-6 months hacking has been going at an insane rate, thanks mostly to Collabora Multimedia hiring Brandon Lewis (who worked the 2 past Summer Of Code on PiTiVi) and Alessandro Decina (Python god and GStreamer hacker) to work on PiTiVi and the related technologies.

We’ve been refactoring most of the code based on the past 5 years of feedbacks and a 3 month re-design I carried on last summer. At this point we’re on schedule for the end-of-April 0.13.1 release. Everything is available in the new GIT repository.

What’s new  you ask ?

  • multiple layers (yes, like a real editor :) )
  • trimming/cutting support, ripple/roll, slip/slide
  • audio-only or video-only support (yes, along with pictures)
  • Faster backend with many improvements and bugfixing in GNonLin and GStreamer
  • cleaner API for extensions
  • and much more

Since the current git version depends on bugfixing done in unreleased GStreamer packages, Alessandro set up a PPA for ubuntu with latest packages so you can try PiTiVi the right way. Available here : https://launchpad.net/~gstreamer-developers/+archive. It’s also a good way to tryout the latest GStreamer and plugins.

Feedbacks and comments are welcome as usual. The more feedback we get, the better suited PiTiVi will be for you.

Summer Of Code

Want to earn some cash while making PiTiVi rock even more ? How about participating in Summer Of Code 2009 ?

There are many ways you can help PiTIVi due to it’s modular approach:

  • Since we rely entirely on GStreamer for multimedia processing, you can propose a project with GStreamer [see existing proposals].
    Amongst the various proposals, there’s one very interesting one (not only for PiTiVi but for multimedia in general on Linux) is to bring the awesome collection of AVISynth filters to GStreamer by creating a wrapper to load existing AVISynth filters as GStreamer elements.
    Another one that would benefit everybody is to wrap VDPAU/VA-API  as decoder/filters/sink elements in GStreamer, bringing us closer to real-time editing of HD content. Ask us on the pitivi or gstreamer mailing-list if you’re unsure, we’ll give you more pointers.
    Yet another one would be to help make the consumer Video Camera (DV/HDV/AVCHD) support in GStreamer pristine (capture, seeking, auto-cut, editing, rendering, …), which requires some help in various elements (like the mpegts demuxer, add some parsers, etc…).
  • You can also hack at the PiTiVi level by adding better integration to existing tools or online services. One existing proposal in the GNOME project is to have a tight integration with Brasero. Proposals to integrate PiTiVi with Telepathy for real-time collaborative editing would also be much welcome. For application-level proposals we’d recommend choosing a desktop-style organisation (like GNOME, or KDE).
  • Helping FFMpeg by adding new decoders/encoders  or improving the existing ones would also be beneficial for everybody.

As a side note, there’s also a few other organisations which have got GStreamer-related proposals or could do with some GStreamer loving, like Wine who have got a proposal to have a GStreamer backend for playback, or you could propose adding GStreamer support in Moonlight (reusing all the available GStreamer plugins) ! Don’t limit yourselves to the GStreamer/GNOME organisations if you have GStreamer ideas, the sky’s the limit, ask us for pointers and we’ll be able to find GStreamer hackers to co-mentor projects in other organisations.

GStreamer on Android

Over the past few weeks, I’ve been working along with Prajnashi porting GStreamer to Android. We’ve been making big progress and are at the point where we can actually replace OpenCore (the ‘official’ Android multimedia framework) with GStreamer. Funnily enough, this happens exactly at the time where the official Android build is broken due to OpenCore :) Those interested can join the dedicated google group site.

Along with Zaheer’s recent efforts to port GStreamer to S60, it looks like there will soon be no device not running GStreamer :)

PiTiVi 0.11.2 “Milanesa de Lomo”

The PiTiVi team is proud to announce the third release in the unstable 0.11
PiTiVi series.

This release series is not intended to be production-ready, but instead to allow
users to try more often new features that will be available in the next stable

The developers will not be held accountable for any work lost, flooding or war
caused by this unstable series.

Due to its dependency on GStreamer, The PiTiVi team strongly recommends users have
all official latest gstreamer libraries and plugins installed for the best user

Features of this release

  • New advanced timeline interface by Brandon Lewis (SoC)
  • Capture interface for webcams and network sources by Sarath Lakshman (SoC).
  • Simple Timeline is gone.
  • Project save/load now activated by default
  • Cutting/Trimming/Removing features added to advanced timeline.
  • Misc fixes and improvements

Bugs Fixed

  • 552777 : [ruler.py] BadAlloc error with big sources
  • 353870 : Save/Load project from/to file
  • 332473 : Capture from given gstreamer input source
  • 334631 : xvsink crash with python in pitivi
  • 339895 : [Advanced Timeline] Zooming in too much causes X error
  • 432678 : [discoverer] Files that report a duration of 0s is BUGGY !!!
  • 458944 : Cancelling while rendering does not work
  • 461738 : [Advanced Timeline] Scrollbar always comes back to beginning
  • 498071 : [Simple Timeline] Drag and Drop puts clips in the wrong slot
  • 498904 : incorrect indentation: some tabs are mixed with spaces in…
  • 501028 : Missing files from POTFILES.in
  • 501068 : Uses make instead of $(MAKE)
  • 518301 : Pitivi won’t start under KDE: " Icon ‘misc’ not present in…
  • 547095 : [Export Settings] Filter unusable muxers
  • 554544 : net_capture.glade not installed
  • 554602 : seeking is not working correctly …


  • gstreamer >= 0.10.14
  • gst-python >= 0.10.6
  • gnonlin >= 0.10.9
  • pygtk >= 2.8.0
  • zope.interface (http://www.zope.org/Products/ZopeInterface)
  • setuptools (http://peak.telecommunity.com/DevCenter/setuptools)
  • pygoocanvas (http://live.gnome.org/GooCanvas)
  • dbus and HAL for capture support


  • Edward Hervey
  • Sarath Lakshman
  • Brandon Lewis

PiTiVi source tarballs are available on gnome FTP:
See the website for distribution-specific packages : http://www.pitivi.org/

Lost my phone…

… so yeah, I actually managed to lose my phone while in Istanbul. Just got myself a new phone/card with the same phone number as before (+34 666 …). If you have my phone number in your address book… send me an sms or a mail with your name and phone number so I can rebuild my address book.

Will write a post soon about GUADEC istanbul.

Sync me up !

Question for the internet:

I have a phone (Nokia N80), lots of GNOME/Gentoo computers and some internet tablets. Add to that… I’m starting to move more and more for business/leasure, sometimes I only have the phone on me and I need to have all my contacts/calendar/tasks/notes synchronized over all of those devices. I’ve been trying to find a FOSS solution to do this… but haven’t found anything coherent.

What do people use that can run on all those devices and properly synchronize that information across all of them ? I’m open to solutions that require setting up a daemon on a server. And obviously… it needs to be free software (although for the phone part it might be hard) :)

PiTiVi 0.11

So finally, after much delay, the PiTiVi team gives you: PiTiVi 0.11.0 “A hooligan’s game played by gentlemen”

This is the first release of the 0.11 unstable serie. What does the 0.11 branch mean for users and PiTiVi followers ? It will be released more often (we’re aiming at every 3 weeks), (almost) regardless of current code status, in order for you to try out the latest improvements and bugfixes, give you a more periodic idea of where PiTiVi is heading towards, and allow you to give us more regular feedback. Most of the current work is going to be concentrating on this branch, in order to finally come up with a stable branch within the next 6months.

What does it contain ? The major part is the work Brandon did for the 2007 Summer of Code, which contains a lot of nice improvements to the simple timeline. You’ll also be able to play around with the Advanced Timeline which has been re-enabled. Brandon is carrying on his amazing job post-SOC by working heavily on the project save/load framework, most of the work is currently in the code but not yet enabled. Luca Della Santina has also been commiting the beginning of a promising plugin system to extend PiTiVi’s feature-set. All in all, good stuff coming ahead !

More information on the 0.11.0 release here : http://www.pitivi.org/wiki/0.11.0

Contact adress

Seems like my last blog entry was missing something important at the very bottom.

You can now contact me at bilboed AT gmail DOT com or bilboed AT bilboed DOT com . All mail going to the fluendo address will most likely go to /dev/null .

Is that a video editor ?

You have no idea how many times people have asked me that question. And every single time the answer was “We’re adding features gradually making sure it keeps stable every step of the way. We still don’t have the basic editing features.”. The we in that sentence is for “PiTiVi team”, which was me alone until now apart from a few outside patch contributors who will get their overdue’d beers at GUADEC 2007.

Flashback (first cvs entry):

Author: bilboed
Date: Sat May  1 10:48:55 2004 UTC (3 years, 2 months ago)
Log Message: Initial revision

The first 6 months were done outside of CVS and without filling in the ChangeLog appropriately (that has changed since, don’t worry). So yes, it has been in fact 3 years and 8 months since PiTiVi was first hacked on.

Quick refresher of PiTiVi history

December 2003 – March 2005

  • PiTiVi was my end-of-studies project for the last 2 years at school. I had been wanting to do an open and flexible video editor for ages by then. This was the chance to actually get it done. “Yeah, we’re 10 students and within 18 months we should have something nice” … oh man… what a fool I was.
  • I’d already played around with GStreamer at that point, and I was sure it was the best option to do such an editor… except I hadn’t accounted for the fact that I was going to spend the next 4 years fixing GStreamer, plugins and GNonLin to actually get it to a level stable enough for a video editor :) We didn’t take into account that we were students, had different views and motivations on that project, etc…
  • End result : we had a limited, special cases only editor… So still far away from something usable.

March 2005 – June 2007

  • Working at Fluendo, first as a 6months internship… and then as a Junior Developer (if you laugh, you don’t get free beers at GUADEC!) .
  • The reaction all of you must be having is “But if you were working all the time on PiTiVi, how come it’s still not full featured?”. Well the answer is quite simple : I was NOT working all the time on PiTiVi.
  • I was also working on converting the python bindings to GStreamer 0.10 and maintaining it, taking care of gst-ffmpeg, doing bugfixing in plugins, adding new features to GStreamer core (hello multiqueue/decodebin2), doing work for other sections of Fluendo, doing consulting work, giving trainings, etc… Yeah, it’s a company, we actually needed to make some money :)
  • What did I really do on PiTiVI ? Convert it to python (best move ever), switch GNonLin (the non-linear plugins for GStreamer) to 0.10 and bringing them to a more stable level (ok, fine, the Jokosher team did find some bugs, but were quickly solved), fix core/plugins issues related to encoding/decoding/accurate-seek/transcoding/…
  • Looking over my work stats for the past 8 months, I’ve in fact been doing 62% work on consulting work, 11% on community work (I fixorz yo bugz), and 28% of the time only on PiTiVi work (including lower-levels works).

“Dude, almost 4 years ? And you still don’t have basic editing features ?”

Well guess what : NO LONGER !!!! For teasers, I give you a screenshot of the triming features in PiTiVi where I can change the start/stop position of a clip used in a timeline :

Editing in PiTiVi

How did this happen ? Well thanks to the awesome work Brandon Lewis, the SoC student working on PiTiVi, has been doing on creating widgets, I was able to link up everything within one day… and voila :) It still has some rough edges, but we’re working on doing a preview release by GUADEC. Lots of other stuff are in the bag for the SoC : effects, transitions, picture support, project file save/load, ….

Post-Edit : All this work is available in the PITIVI_SOC_2007 branch of PiTiVI for those wondering.

“I want feature XYZ in PiTiVi NOW!”

By now, you might have guessed that bribing/paying/drunken-ing me is not the way you’re going to get that feature faster. The only way that is going to happen… is by having more contributors ! If you’re good at UI designing, writing widgets, with gtk-python …. send a mail to the mailing list and we can start sharing the workload of what’s left to do to create the killer video editor. There are some low hanging fruits that can be solved if you’re comfortable with gtk-python, and some challenging features if you’re comfortable with gst-python and editing concepts.

Grab me or Brandon at GUADEC for a chat if you’re interested. I’ll also most certainly setup again a GStreamer hackfest as we did last year, so if you feel like having a hands-on experience, join the fun !

No longer at Fluendo

Nothing much to say about that currently, more in the coming weeks. What a blast it was though… but times are different, things have changed at Fluendo… and we’ll see where the wind blows this time :)