Google Summer of Code mentor summit

I am currently at the Google Summer of Code mentors summit together with representatives for a many of the open source projects involved in the Google Summer of code. Had some interesting discussions so far, for instance we had a informal gathering of multimedia developers yesterday which reviewed the bugzilla entry for automatic support for interlaced media in GStreamer. Thanks to having a lot of people present like David Schleef, Mike Smith, Edward Hervey, Timothy Terriberry allowed us to map out all important interlacing variations and review the design proposal done by Jan Schmidt.

With the new deinterlace2 plugin fixed up by Sebastian Dröge it will be nice to be able to autoplug that plugin into our pipelines when we get this design completely implemented.

Another nice think discovered here is the Gerrit code review tool which they released alongside Android. It intergrates closely with Git and thus would be something that would be very nice to get running on freedesktop alongside the GStreamer CVS to Git migration.

Want to hack on video editing?

So as I mentioned in a preceding blog entry, we at Collabora Multimedia are looking at increasing the pace of development for Pitivi. The first step we took in that regard was hiring Brandon Lewis. We are now ready to take the second step and are now looking for good candidates to join our team. So if some of the bullets points below fits your profile and you would be interested in taking open source video editing to the next level, please send me your CV.

  • Solid C or C++ development skills
  • GStreamer experience
  • Video editing experience
  • Python development experience
  • Video codec development experience

We are not expecting someone to have all of these points down, and we are looking just as much for people who got any kind of experience with non-linear video editors as people with specific GStreamer skills. So for instance if you worked on any of the many open source video editing projects out there you could be our perfect candidate, even if this editor was not using GStreamer. As long as you are a generally proficient developer, it is more important for us that you know what chroma keying is than what a GstSegment is.

So if you are interested in joining one of the coolest companies in the world and especially if you wouldn’t mind coming to work in one of our offices in either Montreal Canada, Cambridge United Kingdom or Barcelona Spain, please send me your CV and short intro at christian-schaller-at-collabora-co-uk.

What does the free desktop need to grow in market share?

Saw a story on OpenOffice 3 today which reminded me of a question I been asking myself recently. What does the free desktop need to grow in market share?

Up to this point I guess I my thinking about the free desktop (grouping GNOME, KDE, XFCE etc. as one) and its growth has mostly been about seeing it as a dam filling up. The mass migrations from Windows would be trickling in slowly until at some point we have added enough features and polish to the free desktop for the dam to break. Kinda like how linux in the server space lived many years without a lot of adoption outside academia and or specific fields before suddenly becoming an ‘overnight’ success.

But at this point I am not so sure anymore. I mean is what holding us back from rapid gains in marketshare really just better MS Word import in OpenOffice? Or better support for exchange servers in Evolution? Or better drawing tools in Inkscape and Gimp? Or better support for muxing Quicktime files in GStreamer? Or improved ways of embedding a blingy clock widget into the desktop background? Or just adding an application that can do XYZ? Or is it the lack of a good driver for hardware ZYX? Sure these questions are part of the answer, but I can’ t help but wonder if they are a smaller part than I have given them credit for so far.

I have sometimes seen the lack of games being mentioned, but the Windows game market is suffering terribly these days, caught between piracy and console dominance. So if people care about games I think they probably got themselves a Wii, PS3 or Xbox360 to satisfy that need. So I can’t see lack of game support as being the tipping point either.

Not that there isn’t progress made. There are good migration stories out there from the major Linux vendors and PC makers like Dell do seem to try to offer better sales support for Linux desktop systems. But I can’t help but feel that we might be missing something in terms of understanding what needs to happen for the market share to grow more rapidly. And if we don’t diagnose the issue we will not be able to resolve it.

GStreamer RTSP server

One request we get often here at Collabora Multimedia is from people using GStreamer in the embedded and mobile sector and are looking for ways to stream over RTSP with GStreamer, often in combination with various kinds of transcoding and proxying functions. Due to this we have launched a new project, the GStreamer RTSP server. This server is written by GStreamer maintainer Wim Taymans and is tightly based on the RTP infrastructure in GStreamer that he has been working on for quite some time now.

It is a server written in C which can stream any GStreamer supported file over RTSP using any of the wide range of RTP formats supported by GStreamer. It also allows you to take any RTSP or HTTP stream and proxy it onwards over RTSP. The screenshot below is of totem playing a RTSP stream of the Max Payne trailer from Apple’s website. The stream offered by Apple is a normal Quicktime http stream, but our RTSP server repackages it and retransmits it over RTSP on my local network on the fly.

The code is currently only available through a git repository which you can grab using this command:
git clone git://git.collabora.co.uk/git/gst-rtsp-server.git gst-rtsp-server

The reason there is no formal release yet is due to early stage the software is in, while it works it is not very user friendly yet, with media paths having to be edited and compiled in with the server for instance. But for those looking for a RTSP server solution using GStreamer, which is suitable for putting onto embedded and mobile devices, then it might be enough to get you started and of course we at Collabora are available to offer assistance for those who want it. One hope we have is that this code will help people doing DLNA servers support the mobile profile of that specification for instance.

We also plan on moving the code into GStreamer’s code repository once that is migrated to git from CVS.

Supporting Pitivi

For a long while we had discussions here at Collabora Multimedia about how to push Pitivi forward at a more rapid pace. While Edward has been working on it as time allows, we came to the conclusion that if the Linux desktop was going to have a nice and easy to use video editor any time soon, we needed to do something to increase the pace of development significantly. We have several efforts under way to achieve this and I will announce the first one today:

We just hired Brandon Lewis for the sole purpose of doing Pitivi development. Brandon has been working on Pitivi for a long time now, having gotten involved during last years Google Summer of Code. He brings a lot of python development skills to the table and will let Edward focus his currently limited Pitivi hacking time (we hope to change this too soon :) on Pitivi related improvements in GStreamer and Gnonlin.

Brandon job will be making sure all the features available gets exposed in the user interface and that the user interface is intuitive and easy to use.

So Brandon, welcome to the team and lets make Pitivi rock!

Totem BBC plugin

As I mentioned in my previous blog post here at Collabora Multimedia we have been working with Canonical and the BBC to create a plugin for Totem which plays BBC content. This work is progressing well and with the recent patches we made for Totem to sort out python threading issues are looking really good. I really recommend that people running the latest Ubuntu test releases grab this for some testing. I attached a screenshot of Totem playing a Dirac stream from the BBC showing Big Buck bunny.

Big Buck Bunny
Big Buck Bunny

Update:: I noticed a lot of people commenting on the user interface. We are aware that the current user interface is far from perfect and a lot of the requested features are planed. So far we have focused on getting the base technology working smoothly which I think you will agree is the most important first step. A nice looking user interface is of little value if the application locks up :)

Updates on cool GStreamer happenings

Axis and GStreamer

Axis got a new camera out these days called the Axis P3301. Axis is well known for having what are probably the best network cameras on the market and this new beauty is especially nice as it uses GStreamer internally. It also supports Avahi, so you can get access to its services through avahi enabled applications, hopefully a feature we can get supported in Totem so you get access to these kind of cameras in your network very easily. Wim got gifted one of these by Axis while at their office in Sweden, which we got up and running at the Collabora Multimedia office now. Axis also got a video server, the AXIS Q7401 which also use GStreamer internally.

Jokosher

Jokosher is making great strides forward currently too. They did their 0.10 release a little over a Month ago and today Peteris Krisjanis told me that they just landed support for multichannel soundcards, which has been a major missing feature for a lot of potential Jokosher users. The mutichanel code is currently hosted in this branch on launchpad, but it will of course move into head once it gets stabilized.

Pitivi

Things are also moving forward with the Pitivi video editor these days. Edward recently merged the two Google Summer of Code projects that had been happening over the summer and also switched to the so called advanced timeline view to be the default in Pitivi. Thanks to Serat’s work there is now a structure in place in Pitivi for handling live sources, like webcams or DV cameras for instance. The simple timeline feature has also been dropped now as it turned out to be a lot less useful than we originally envisioned. So going forward the focus will be on making the previously named ‘advanced’ timeline userfriendly and easy to use instead. We will have some further cool Pitivi related announcements coming soon :)

Collabora Multimedia

We had our first ever full meeting of the Collabora Multimedia division over the last few days in Barcelona. It was the first time Wim, Edward, Tim, Mark, Sebastian and myself where all together. It was both a social event to get to know eachother, but also a good chance to discuss various technical issues. For instance Tim and Edward managed to solve a painful python threading issue we have been experiencing in a current project we have been doing together with Canonical and the BBC, which is writing a Totem plugin to enable viewing of various BBC content easily through Totem (as mentioned in the Ubuntu beta release notes. The plan is to push this plug-in upstream also, so that everyone using Totem can get it.