Category Archives: GStreamer

Comments on Novacut

Been some discussion recently about Novacut, a open source non-linear video editor project which is trying to raise some money through kickstarter, a crowd sourcing system.

Personally I think that some of the criticism against Novacut and their effort is fair. It does seem extremely ambitious and it hard to reconcile the money requested and the ambitions of the project. That said I am not as sceptical to the endeavour as some, I even pledged some money to it in fact.

The thing is, a lot of open source projects starts out a bit naive about the challenges ahead of them, and frankly if they had known all the problems facing them when starting out, they would never had succeeded. For instance, if we had known up front it would take us 10 years to get GStreamer to where it is today I don’t think we would have ever started.

The other factor that plays on my mind is that even if they ‘fail’, they might be a great success. The thing is they plan on building Novacut on top of GStreamer and GNonlin, the same foundation as PiTiVi. As part of this process I am sure they will find and fix bugs in GStreamer and GNonlin and they will add new features to GStreamer and GNonlin. So even if ‘Novacut’ itself fails to take off, a lot of the work they will be doing will directly benefit GStreamer applications in general and probably PiTiVi especially. And who knows, even if ‘Novacut the application’ fails to ever reach a useable state, maybe ‘Novacut the idea’ will be alive and kicking inside PiTiVi in a year or two.

One could argue that Novacut should be done as a PiTiVi extension from the beginning, and I might agree, but to me, saying no to Novacut for not being a PiTiVi patch or extension is saying no to something good because you want to wait for something utopian.

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.

Media Explorer

Discovered a new piece of software using GStreamer the other day called Media Explorer. It is a nice media center type solution for the desktop and Meego devices. The system has been developed by mostly Intel engineers, but they have now made it freely available. I tried it on my Fedora system last evening and it seems to have a bit of a MeeGo bias currently, as it complained about Connman being installed and also didn’t look for media in the desktop Media directories, but I am sure those are smaller issues that can quickly be sorted out. Thomas Wood did this nice blog entry about it a couple of weeks ago, with some more details.

Anyway if you are looking for a linux based media center UI this might be what you are looking for, personally I will try to see if I can get it going on my little Panda board at home.

Update: Also noticed there is a nice article about Media Explorer on linux.com.

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.

Luis talk on Rygel

For those who don’t know yet Rygel is an open source implementation of DLNA, a standard for ensuring interoperability between the different media devices on your home LAN. Rygel was started some years ago by my friend Zeeshan Ali and is being used in Meego and GNOME among others. We have been working on Rygel for some time now and thus Collaboras own Luis de Bethencourt did a talk at the recent Meego Summit in San Fransisco. It is an interesting talk about the current state of Rygel and how a lot of the Rygel features are implemented using GStreamer. So if you are interested in the future of interoperable devices check out Luis talk at the Meego website. Seek about 3.5 minute into the talk as they haven’t edited the videos it seems so you get a lot of uninteresting preparation before the talk starts.

New PiTiVi release getting a lot of positive attention

I am really happy to see how the new 0.14 version of PiTiVi is garnering so much positive attention. A lot of tweets seen and quite a few people blogging about this recent release, like this entry on omgUbuntu or this entry on Ubuntu corner or this little blurb on Phoronix.

A lot of people here at Collabora are involved with PiTiVi development as time allows and while we for a long while felt that we had a forest of features we could enable in PiTiVi, we seemed to be stuck with a certain feature set for a long while, as we kept going back to maturing the under laying GStreamer plugins and features that we wanted for PiTiVi. I think we have rounded a corner and with a total of 4 Google Summer of Code projects underway around PiTiVi we should be ensured that PiTiVi continues to develop quickly, as the PiTiVi team continue to both stabilize the current feature set and add new ones.
My hope is that PiTiVi will soon be packaged by every major distribution and be seen as a core part of the linux desktop and something that everyone uses when they need to edit their holiday movies or make small projects for school or work.

Hmm, remdinds me need to make sure we got a nice PiTiVi talk at the GStreamer Conference this year :)

Btw, for those interested in getting involved with PiTiVi, the best place to meet the community and get involved in joining the #pitivi channel on irc.freenode.net.

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.

GNOME 3 and Fedora 15

Updated my own and my wifes computers yesterday to latest Fedora version, which included an upgrade to GNOME 3. Have to say I am quite impressed with it so far, I mean it is definitely a .0 release with a lot of little issues (like not remembering how to deal with my dual screen setup at work). But apart from that it feels pretty sweet, especially like the messaging integration into the desktop. It still got quite a few issues though, but here at Collabora we now have Jonny Lamb and Guillame Desmottes helping out with trying to polish it up.

The biggest change I found that was that of the attitude of my wife, she went from “linux sucks, why do I have to use this stuff” to “this is actually quite cool”.

So a big congrats to the GNOME 3 team for a wonderful release! I am looking forward to seeing how it develops in the coming Months.

I am generally impressed by all the nice work being done across a lot of projects these days, helping to make sure we have a really powerful and nicely integrated platform. It wasn’t that long ago the linux desktop (and server for that matter) felt like a taped together collection of stuff, but for each new release it seems the ease of use and polish increase, with good integration happening between all major layers. Efforts to drain the swamp, like systemd, does make a huge difference over time and draws us ever closer to the goal set when GNOME 2 was being created, remove the need to have configure options in the user interface to make the system ‘work’. If you need to enter a configuration menu to have basic functionality work, then that is a bug, not a feature.

I think there has been a general change in philosophy happening over the last 5-6 years, where we moved from everyone trying to fix the world in their own corner, to people instead trying to work together. For instance in GStreamer we have moved from trying to fix the problem by supporting every sound system under the sun, and instead try to work closely with the best solution out there to actually solve the problems people have, which is why people like GStreamer maintainer Wim Taymans have also been contributing to Pulse Audio over the last year. Enabling people to switch backends between ALSA, OSS, Sun Audio or Pulse Audio isn’t a solution, is it exposing a bug. So while the plugins supporting all those systems are still there of course, as they are useful for people in various situations, I think our thinking now is that when we find an issue that is best solved in Pulse Audio, as opposed to GStreamer, we solve it in Pulse Audio, instead of trying to make a second rate solution in GStreamer itself. And if there is a feature missing in Pulse Audio the solution is not to add an option in the user interface to ALSA, it is to add the feature to Pulse Audio. There are of course still cases where we need to support multiple plugins offering the same functionality of course, codecs being the best example, but if we want to make the open source ecosystem better we need to all focus on making things work well without needing the user to reconfigure which libraries and backends they use for a given task.

Seeing all this other great efforts move forward to plug the remaining holes I am also happy to say that by the end of the year we should have GStreamer 1.0 out the door, Wim Taymans is putting the foundations together as we speak. It should provide a lot of great improvements to GStreamer, like good solutions for handling 3D video for instance, but also provide a lot of speed improvements which will be especially useful for embedded setups (allthough I haven’t met a desktop user so far who hates getting faster software either.)