Songbird using GStreamer on MacOSX and Windows

Songbird hacker Steve Krulewitz posted a blog entry yesterday outlining the progress made on using GStreamer for the Songbird music player and browser not only on Linux/Unix, but also on Windows and MacOS X.Collabora‘s very own Edward Hervey has been spending the last Month in San Francisco, working with steve on getting everything going. As you see in the screen shots posted by Steve in his blog, the native codec wrappers are up and running fine, and Songbird even added a nice about:gstreamer URI for the Songbird browser, just wish all browsers had that :) So be sure to check out the blog entry from Steve.

I was also very excited to see Aaron Bockovers blog entry of having added video support to Banshee. Great stuff Aaron!

The world of Transcoding

Spent some time early this week trying to figure out how to get my NTSC DVD’s ripped and transcoded into a format I could store and play on my PS3. My main goal was to keep the AC3 audio intact and use the best video codec possible and at the same time have it working on the PS3. After some trial and error I learned that MPEG PS was the only way to combine AC3 audio and H264 video into a file and have the PS3 be able to read it.

None of the various Linux rippers seemed to support this combination however and trying to use gst-launch I discovered that the mpeg ps muxer from gst-ffmpeg did not seem to work to well.

As part of this process I got reminded of a couple of things. The first being that we really need an relatively commonly used application using GStreamer to test and make sure our muxers and encoders keep working. Pitivi would fit that role, but its a complex application which I think is still some way away from being a tool for everyone. A simple transcoder application would probably be a better choice to get us started. That said looking at the current rippers out there the either are very targeted at a specific target (like Thoggen) or have a GUI which I think is unnecessarily complex for the average user (dvd::rip). I do not consider myself a multimedia novice, but I still only had a vague idea what the various options exposed in dvd::rip would accomplish. I am not saying dvd::rip sucks though, it was in fact the only application I was able to find for Linux which produced files that my PS3 actually recognized (although I had to use ac3 and mpeg4 part 2 in avi to make it happen.) Tried another application called Handbrake, which was fairly easy to operate although only being command line for linux, but the only files it could make that worked was h264 and aac in mp4 which meant I lost surround sound output due to my PS3 being connected by s/pdif to my amplifier.

Mockup of gstreamer transcoder

So thinking about what kind of GUI I thought a transcoder should/could have I took a screenshot of dvd::rip and started modifying it in the Gimp. The result you see above. The idea would be that you select your input source at the top and then choose your target container format. Based on which container you choose the codecs which are supported by that container get ungreyed, while the remaining ones stay grey (unselectable). One are able to query muxers for the codecs they can mux so with the aid of pbutils one should be able to ungrey the codecs dynamically (which is an advantage as muxers could have new mappings added as time goes on.)

Once we have managed to stabilize/improve the muxers and encoders in GStreamer due to this application being tested and bugreported upon we could move this page into a ‘advanced’ tab. The new default view should then be a list of presets for various devices like N810, PS3, PSP, iPod and so on. These presets could then of course in addition to the codec choices also include resizing based on target device.

While there are use cases where one might still want/need a more advanced GUI which need all the options exposed by something like dvd::rip I think for the vast majority of us this application would do the job.

So if anyone out there would be interested in trying to hack up this application using gst-python for instance that would be really cool :)

ECE in Linz

So Wim and I spent this weekend in Linz representing Collabora at the 9th Realtime linux Conference and the European CE Linux conference. Had a great time there, meeting a lot of interesting people. Not as many GNOME people as last one, but some familiar GNOME people like Dodji from Opened Hand and Marcel Holtman of Bluetooth hacking fame. Of course meeting Marcel at a conference is not particularly hard as he seems to be invited to attend them all :)

Had quite a few meetings with various of the embedded companies there and I think we walked away with a few solid business leads. Wim and I also probably walked away a few kilos heavier after gobbling gigantic ice creams at an Austrian ice cream cafe almost every day.

I am back in Cambridge now, while Wim will be heading up to Dublin to stay with Jan and Jaime for some days. Wim also hopes to brainstorm playbin2 with Jan while there to see if we can get some progress on that.

Back at the office I am admiring the PS3 Devkit Sony has sent us, the thing is quite big, but not as big as I feared. Tim will be starting hacking on it in the very near future to see what we can do. This means of course a partial return to the gaming industry for Wim, so maybe we will end up making a PS3 sequel to Wim’s game Puffy’s Saga ;).

Taking one for the team

Part of doing business today is of course attending various conferences in order to network and discuss current plans. Not all conferences are equally fun of course, so I am very happy that Tim, being our point man in Bristol, will be taking care of attending PonyCon 2007 on our behalf. So for those of you attending and who see Tim walking around the conference halls, please feel free to tap him for a discussion. Also if you want Tim to fix a particular GStreamer bug for you he really wants the 2003 Rainbow Haired Unicorn Christmas Special Edition Pony :)

Go Bristol!

Update: Tim asked me to let people know that only Ponies of Mint/Near Mint grade is of interest. The person who tried to peddle a Fair grade Pony will never be spoken to again.