Category Archives: General

First GStreamer 0.11 out, GStreamer 1.0 looming on the horizon

GStreamer maintainer Wim Taymans just released the first 0.11 development release of GStreamer. The 0.11 development series will lead up to the long awaited GStreamer 1.0 release!

The changes from 0.10.x to 0.11 might seem quite technical and obscure to most, with items such as reworked buffer memory management, arbitrary buffer metadata and integrated bufferpool management being among the advertised features, but all these changes are made to help GStreamer make significant leaps forward in terms of integration with hardware codecs like VAAPI and VDPAU and of course hardware codecs on embedded platforms like ARM for instance the OpenMax IL API. There are also a lot of important performance improvements, which will make applications like Totem and Banshee more snappy to use, but you probably will see the biggest improvements in applications like PiTiVi who relies on more complex pipelines and thus more complex pipeline negotiations. For devices which got more constrained CPU resources, like various embedded systems, these performance gains should also be very noticeable.

At Collabora we are putting a lot of effort towards GStreamer 1.0, most visible through letting Wim put most of his work hours into it, in collaboration with our partners at Texas Instruments. GStreamer is not just another open source project for us at Collabora, it is something we are truly passionate about. The open source software ecosystem can not compete with proprietary systems unless we have a top notch media framework and with GStreamer we are providing exactly that. Ever since the release of GStreamer 0.10 the project has gone from strength to strength, and when 1.0 gets released later this year it will be another major milestone towards world domination :)

For those interested to learn more about GStreamer 1.0 you have two good opportunities coming up, Collabora’s own Wim Taymans and Edward Hervey will be doing a talk about GStreamer 1.0 at the Desktop Summit on 8th of August. And Wim will also be doing a keynote speech about GStreamer 1.0 at the GStreamer Conference 2011 in October. So I hope to see you there.

I am also working on an interview with Wim Taymans about GStreamer 1.0 so if you have any questions you would like me to include, feel free to add them to the comments section of this blog post.

We will also be organizing some 0.11 hackfests online where people like Wim, Tim and Edward will be online to answer porting questions and the community can work together to port all important plugins to 0.11. There is some early stage porting documentation to be found here.

For now, go to the GStreamer website and grab the 0.11 tarballs and give them a spin, and if you have any questions, remember you are always welcome in #gstreamer on irc.freenode.net.

Weekend hacking

Spent some time this weekend hacking on Transmageddon. Fixed various small bugs and UI issues that I had punted up until now for the UI. For instance with latest git when you create a pure audio file it doesn’t automatically get the suffix .mp3, which is nice in the cases when you are not creating a mp3 file :) And if you put aac into a quicktime container the file gets named .m4a instead of .mov.

Also started looking into the issue of how to handle multiple audio streams in the file being transcoded. Currently all streams gets transcoded to the same chosen format if the container format support its, if the container only supports 1 audio stream you get one by random. This is not ideal :)

Ended up filing this bug with a request for how we can improve the GStreamer API to make handling such things easier for application developers. Discoverer, uridecodebin and encodebin makes a lot of things a lot easier, but for handling files with multiple streams of the same type I think we still need some improvements.

On the path to GStreamer 1.0

GStreamer maintainer and code god Wim Taymans just posted an update on the the progress of GStreamer 0.11 to the GStreamer development mailing list. For those interested in learning about the new features coming in GStreamer 1.0 this email (along with the previous update) is must read material.

In addition to the updates on the core coding work and important notice from Wim in his email is that the very first 0.11.x release will happen this week, so that you have a snapshot release to start playing with. GStreamer 1.0 is moving forward at a fast pace, so be prepared :)

Hopefully we can do a GStreamer 1.0 release part at the GStreamer Conference 2011!

GStreamer Conference 2011 update

Just sent out this little email with some updates on the GStreamer 2011 Conference. Planning is progressing and a sponsorship leaflet is now available for those interested in sponsoring the conference. The call for paper deadline is also slowly but surely approaching, so anyone who wants to do a talk please send in an abstract before the 1st of July this year.

For everyone else, just register for the conference and set aside October for GStreamer and Prague :) As always details can be found on the GStreamer Conference 2011 website.

Edward Hervey talks about GStreamer Editing Services

A second Collabora talk from the Meego conf is now online. Edward Hervey did a talk about GES, the GStreamer Editing Services, which is a library that is part of GStreamer which makes video editing and encoding a lot easier. It it part of GES that I use in the git version of Transmageddon and there is also a plan to port PiTiVi to use GES.

Edwards talk focuses on using GES on embedded systems, as it was done at the MeeGo conference, so if you are interested in video editing be it on the desktop or on an embedded system be sure to check out the talk. You can find Edwards talk here on the Meego website.

OpenOffice vs LibreOffice – the next chapter

Been seeing with interest the latest moves around Open Office. While a lot of people see it as almost a direct attack on Libre Office, to me personally it seems like a clumsy result of Oracle trying to ditch OpenOffice without frustrating their main OpenOffice business partner, IBM. Due to having the Lotus Symphony suite based on OpenOffice under a special license from Sun/Oracle, I wouldn’t be surprised if switching to the pure LGPL Libre Office seemed painful to them. And thus the idea of an Apache licensed OpenOffice must have seemed endearing.

Personally I hope people stick with LibreOffice and build upon their existing success. Chasing a big company like IBM might seem tempting, but big companies change their mind and change priorities all the time, just look at Nokia, so if you have something viable without a big company involved, stick with it, and let the big company contribute on your terms if they want, as it will then have the ability to stay around even when the big company goes elsewhere.

GStreamer Conference 2011 website up

The website announcing this years GStreamer Conference 2011 is up. I am really looking forward to this years event due to the great fun last years event in Cambridge was. This year we will host the conference in Prague in the Czech Republic, a city I long wanted to visit and now I finally got a great excuse to do so.

For those who missed out on last years conference I think it is safe to say it turned out to be a wonderful place to learn about latest developments in the GStreamer community and hear about some of the challenges and solutions being used when using GStreamer in various devices and projects. This year Wim Taymans will be able to present on all the progress being made on GStreamer 1.0 and let us all know how things are looking in terms of setting a final release date :)

I moved last years conference page to a new permanent GStreamer Conference 2010 site, I recommend checking out that site for links to videos of all of the talks last year if you are unsure about if the GStreamer Conference is for you. This year we are co-hosting with 3 other conferences, the Linux Kernel Summit, the Embedded Linux Conference Europe and finally LinuxCon Europe, so there should be something for everyone.

Transmageddon hacking

Finally making some good progress on Transmageddon again. The new version is a quite big rewrite, switching to the new discoverer in plugins-base and using the new encodebin element. The UI has also been heavily modified and no longer uses the radio buttons, but instead relies on dynamic drop down lists.

Feature wise I am still at the same point as the previous version, partly because my developed goal was to port to the new UI and backend before adding features. Do plan on adding deinterlacing in there though, before making a new release (and do a lot o testing, I am sure there are a ton of regressions and behaviour issues atm).

Mandatory screen shot below, hope people like the new UI. I expect I will be able to close the vast majority of open Transmageddon bugs with this release, but of course the switch to encodebin has revealed some new bugs too :)

Transmageddon git

GStreamer and Android

One project we have been working on for some time at Collabora Multimedia is making it easy to use GStreamer with Android. There has been some code available to do this for some time, but it was incomplete and not easy to use. Thanks to a project we did with ST Ericsson we got that code much improved and ST Ericsson kindly released that code afterwards. We then took that code and updated it to run with latest Gingerbread release of Android and also generalized it to make it easy to run with any chipset.

We have also now imported this code into the main GStreamer repositories, so that when you visit the GStreamer Git repository you find the code there along with all the other GStreamer modules. And we have also set up a GStreamer-android mailing list alongside the other GStreamer lists.

Edward Hervey sent out an email today with some the technical details of this project and how it works. But in general the goal here is to offer a transparent integration of GStreamer into Android. We also got a wiki page with full build instructions.

I recommend anyone interested to try it out to join the mailing list and engage with us on moving this code forward. Hopefully we can use it to enable a lot of cool Android devices coming out in the future using advanced GStreamer features such as video editing, Rygel DLNA support, Telepathy video conferencing and collaboration support, DVB support and more.

So a big thank you to Alessandro Decina, Reynaldo Verdejo, Thibault Saunier and Derek Foreman for the great effort they put into this and getting the code ready for release.