Respect to the web developers

I been working on a web page for my wedding in November. This has turned out to be quite a lot more painful
than I expected and I have to admit my respect for web developers have increased a lot due to it. Getting a webpage to look nice across all browsers seems to be a really painful job.

Currently the only browser in which my page works perfectly is Firefox, Opera also does a mostly fine job, while Chrome fails on handling a dynamic SVG image I embedded in the page, and IE8, well lets not talk about what horrendous results it gives :)

Collabora Multimedia at GUADEC

The full Collabora Multimedia crew is in The Hague this week for GUADEC and our annual get together. It is the first time all 12 of us are together and its nice to spend some time face to face to get to know each other beyond IRC.

Currently doing a little hackfest at our hotel, pushing forward some cool stuff like echo cancellation, PiTiVi and more.

GStreamer Conference 2010

The preparations for the GStreamer 2010 conference is moving ahead at full speed. Today I was able to put the speakers list and program online showing out strong lineup of presenters and topics.

The actual GStreamer conference website is here for those of you who missed it the first time.

So be sure to mark 26th of October in your calendar so you can attend.
There are some great GStreamer related talks that will happen as part of
the CE Linux conference too, but I will wait until that program has been announced before letting you know more about those :)

OpenOffice and GStreamer

Was happy to see this OpenOffice and GStreamer blog entry today about how OpenOffice has chosen GStreamer to power the multimedia support in OpenOffice going forward. While users of OpenOffice on Linux have been able to enjoy GStreamer support for quite some time thanks to the efforts of Novell, it is still good to see that the upstream project is also coming around to officially supporting this. Currently only enabled by default for Unix/Linux systems I hope we will see it used on Windows and on MacOS X eventually. A big welcome to the OpenOffice community into the GStreamer community :)

One man against the elements

Every once in a while a man is faced with what seems like an insurmountable obstacle, at that point he has two choices, give up and despair or tackle the challenge head on. Yesterday I was faced with such an obstacle and in honour of my mountain dwelling ancestors I did the right thing and of course took on the challenge.

So what peril came across my path you ask? What challenge lead me to having to reach for new heights in ingenuity and problem solving? Well I will tell you. It all started in those days that Cambridge was bathed in blue skies and sunlight for over a week, it being such a rare occasion I felt a special tribute to the sun needed to be built and with no one else stepping up to the plate it was left to me to take on this Herculean and potentially dangerous task. The first component of my sun altar came from a land far away, known for its huge amounts of sunlight and its skimpy bikinis. This crucial building block was called the Amazonas Paradiso Terracotta Hammock and yesterday morning it was delivered to my humble abode.

However standing there with my new hammock I realized all was not well in the land, my garden only got one tree in it. And while others might have looked to the sky and screamed ‘why me?’ I instead decided to take matters into my own hands. So after a quick trip to B&Q I had gathered the materials I needed to create my own tree, my frankentree one could say. After a lot of digging, hammering, drilling and rope cutting, my act of creation was done, and a wonder had appeared in my humble garden.

And thus it had happened, against all odds and mother nature herself fighting against me, I had endured and in the end succeeded in my mission.

So now I can spend the rest of the summer relaxing in my wondrous hammock, enjoying Pax Romana

NLNet, Collabora Multimedia and Echo Cancellation

One of our main goals here at Collabora is to move the open source multimedia platform forward. Due to this we are investing a lot of time and effort into projects such as GStreamer, Telepathy, PiTiVi, Empathy and PulseAudio. So when we are able to play our part in making sure open source and linux desktops keep abreast of current development, like our work on WebM with Google and Entropy Wave we of course feel extra happy.

Well I thought it was time to announce another important effort we have just undertaken. Thanks to the generous support of NLnet, the same guys who helped Collabora make the Muji multi party chat extension for XMPP, we are now kicking of an effort to add echo cancellation support to Pulse Audio.

The goal of this effort is to make it possible to hook in various kind of audio effects into PulseAudio, including echo cancellation, so that as an application you can just tell PulseAudio that you want it to give you echo cancellation between an incoming and outgoing channel. As a starting point we will port some open source echo cancellation implementations to this framework, with one of them ending up as the default (the goal is that applications can just ask for the default, but that they can also ask for a specific one if it doesn’t want the default for some reason).

We hope this work will have a lot of positive long term effects, easier support for echo cancellation in applications, new improved echo cancellation algorithms and implementations being released and improved audio drivers on the linux desktop (not all drivers are doing a good job currently).

So in the coming weeks Wim Taymans will be leading this effort on our side and I will try to keep you up to date on it as it progresses.

So a big thanks to NLnet for making this possible.

Deadline for submitting talks to GStreamer Conference

Thought I should remind everyone that if you want to do a talk at the GStreamer Conference 2010 you need to submit an abstract before end of June. We already got some really great talks and presentations lined up, but there are still some slots up for grabs.

We are currently looking at splitting the day up into a batch of 45 minute presentations of GStreamer technologies and projects, some 10 minute lightning talks, and finally some 30 minute case-study type talks. So if you are interested in any of those make sure to send in an abstract. Looking forward to seeing as many of you as possible in October!

DLNA, GStreamer and Gst-convenience

It is always nice to see various pieces of code that has been under development for some time start coming together and new functionality get unlocked. Since it is also of critical importance to Transmageddon I have been following the work of Edward Hervey on the gst-convenience library. Well actually gst-convenience isn’t really a separate library, it is a planned extension to GStreamer itself which makes a lot of things a lot easier to do with GStreamer, like advanced multimedia attribute discovery and encoding.

One of the first projects set to benefit from this is the Rygel DLNA library written by Zeeshan Ali. Zeeshan recently posted a great post on how through utilizing gst-discoverer they are now able to do proper DLNA profile detection in the gupnp-av library, you can find the full email here, it is definitely worth a read in my opinion. One thing Zeeshan doesn’t mention in his email, but as I see as one of the big advantages of this new system is that it is also easy to do intelligent transcoding. No matter if you are doing automatic DLNA transcoding or manual transcoding to your device, you normally want to transcode as little as possible. Dumb transcoding (which is what my current Transmageddon profiles do, just transcoded the audio and video to a known working target, regardless of if either the incoming video or audio already was in an acceptable state, thus taking more resources and decreasing audio and video quality more than needed. With smart transcoding you instead cross check between input and output the possibilities and you figure out an optimal remuxing and or transcoding strategy. Thanks to gst-convenience this is not easy to do in Rygel and it will be easy to do in Transmageddon.

One thing holding is a little back atm is that doing bindings using GObject introspection seems a little raw still. Since Rygel and gupnp needs Vala bindings and Transmageddon needs Python bindings it would be nice if we could get the bindings generation working smoothly, but so far it hasn’t been. If anyone got any experience with this I am sure the help would be appreciated.

Want to join the Collabora Multimedia team?

Want to be working on cool multimedia software? Well we are looking to recruit a few more people to Collabora Multimedia over the next few Months. Anyone who got strong multimedia and programming skills are encouraged to apply, for instance the last few additions to our team didn’t have much GStreamer experience at all before joining us, but instead had strong skills developed on other multimedia related projects.

So if you got experience with any of the following technologies and a decent open source track-record please send us your CV by emailing my at christian(dot)schaller(at)collabora(dot)co(dot)uk.:

  • GStreamer
  • Pulse Audio
  • Vala programming
  • GObject
  • C programming
  • Python programming
  • DLNA and upnp
  • ffmpeg
  • v4l
  • Open GL
  • DSP programming

We offer a flexible work environment with a strong free software focus and competitive terms. You could either work from one of our 3 offices (Barcelona – Spain, Cambridge – UK or Montreal – Canada) or from home. Most the work we do for our customers is done remotely so only modest needs for travel and all hardware/software needed is provided.