GStreamer talk at OSSbarcamp tomorrow

OSSbarcamp logo

If you’re in Dublin tomorrow (Saturday 28th March), and you’re interested in Open Source, feel free to come along to the OSSbarcamp at DIT Kevin St and enjoy some of the (completely free!) talks and demos. I’ll be presenting an introduction to the GStreamer multimedia framework in the afternoon.

Other talks I’ll be attending include my wife Jaime’s talk on using Git, Luis’ “Being Creative With Free Software”, and Stuart’s Advanced Javascript presentation.

Details of times and the talk schedule are at

The first Thusnelda theora encoder release

I’d like to offer congratulations to all the Xiph folks, but especially Monty, Ralph and Tim on the theora-1.1alpha1 release from the Thusnelda encoder branch.

To try it out, I transcoded a short (1m40s) 720p trailer video from H.264+AAC to Theora+Vorbis, at libtheora quality setting of 32, using the 1.0 theora encoder, and again with 1.1. It’s not a very rigorous experiment, but enlightening nonetheless.

Both encoders produced output of comparable visual quality. With the 1.0 theora encoder the output file was 24383125 bytes. Of that, the video portion is about 1.835 Mbit/s. With libtheora 1.1alpha1, the same quality is reached with only 19088009 bytes (video at 1.416 Mbit/s)!

That’s a pretty easy 20-ish% compression improvement for no loss in quality. As an added bonus, the transcoding time dropped from 2m10s to 1m52s. That’s not quite real-time for this frame size in either case, but an impressive step closer.

There’s some degradation from the visual quality of the original file. That’s to be expected when taking a 5.61 Mbit/s video stream down to less than a third of the original size – even on the same codec.

For comparison, here’s a random frame from the output of each encoder, along with the same frame from the original file:

screenshot of the original H.264 frame
screenshot of the original H.264 frame
screenshot from the theora-1.0 encoding
screenshot from the theora-1.0 encoding
screenshot from the theora-1.1 encode
screenshot from the theora-1.1 encode

Sweeeet. Well done, guys!

My birthday is over at last!

Nearly 4 months after the fact, my birthday is finally complete – my “Netherlands and Architecture” “Open Source” coin finally arrived from the Royal Dutch Mint:

Royal Dutch Mint coin - Netherlands and Architecture
Royal Dutch Mint coin - Netherlands and Architecture

The delay was caused by transmission errors introduced somewhere while communicating our delivery address.

Obligatory GStreamer bit

The other nice thing from today is this script Luis and I put together to convert any supported video into a format suitable for playback on his new BlackBerry Storm after he had trouble with encoding errors trying to use FFmpeg for the task.

It’s a simple shell script that uses GStreamer’s gst-launch utility to do 2 pass conversion to H.264 and AAC in an MPEG-4 container. You can find it here if you’re interested.

As an added bonus, Luis reports that the GStreamer conversion is noticeably faster than the erroneous FFmpeg one.

A new trip

We were supposed to be in Thailand by now, on a two week holiday. Unfortunately, that’s been thoroughly scuppered by protests closing both Bangkok airports. It’s a big disappointment, because my parents and several brothers were also due to fly in, and we were really looking forward to spending time with them all.

Fortunately though, KLM gave us a full refund on our long haul flights, and the rest of the things we’d booked were fully cancellable, so we’ve hardly lost any money. We still have 2 weeks of annual leave stretched in front of us though, so we spent yesterday rearranging plans.

Instead of a trip to Bangkok and Krabi, we’re now doing a trip to Cairo, Hurghada and Paris starting tomorrow. Pyramids and sunshine, here we come!

Weekend in London

We took a trip to London this weekend. It started with some cheap BA tickets and a desire to see the musical Wicked – which was wonderfully done.

We were introduced to Wicked after reading Gregory Macguire’s book of the same name. I really enjoyed the idea of taking a story that everyone knows inside out (The Wizard of Oz) and creating an entire other story within and around it. I’m obviously not alone, since both the book, the sequel and the musical have been smash hits all over the world.

While we were in London, we took the opportunity to visit Zaheer and Alia and see their lovely new-to-us house. We also did some unsuccessful hunting for a copy of Starfarers of Catan.

On Sunday, since the skies were clear, we decided to brave the queues and went on the London Eye. Afterward, we visited Madame Tussauds, which was fun.

Mr T pities the foo'
I pity the foo’ that’s never visited a Madame Tussauds.

On an unrelated note from the Serendipitous Amusements department, a curious moment as I was in Hamburg for work a few weeks ago. One night, as we were looking for a restaurant in town we tried to print a map from Google maps. When I got around to the printer, it was blocked with a paper jam from earlier in the day. After unclogging the paper, the printer proceeded to divest itself of other peoples’ spooled jobs.

The first print job seemed to be a printout of someone’s computer magazine subscription, and the very first page that emerged was this one:

Klocwork code analysis ad
Klocwork code analysis ad

As I waited for my page, I was reading the Klocwork advertisement, and then was amused to note that amongst the source code at the bottom, I could discern lines that are clearly from GStreamer:

I recognise some of the lines from other open source projects, so hopefully someone else is as amused as I was to spot code from something they’ve contributed to πŸ™‚

Recipe for awesome

1 wife
2 best friends
4 beds
5 days in Edinburgh in August
1 Edinburgh Fringe Festival show guide
Tickets to as many shows as you can afford
A good list of free shows around the place, to fill in the gaps.

James and MikiI spent 5 days of the week before last in Edinburgh having a complete blast at the fringe festival with Jaime and 2 of my friends from high school – James and Miki. I really can’t recommend the fringe festival highly enough – if you haven’t been, put it on your list of things to do before you die. I want to go back next year for longer, if I can just figure out how.

We saw a bunch of awesome shows, and some hilariously bad stuff that I still enjoyed immensely. I think the pot luck aspect of picking a few shows at random is an important part of the fun. I’ve been trying to choose a Pick of the Fest since we got back, but failed. In the end, I’m calling it a draw between 3 shows: The Expert at the Card Table, Dead Cat Bounce Late Night Radio and Sammy J in the Forest of Dreams. If you get a chance to see any of them somewhere else in the world, jump at it!

The Expert at the Card Table is a one man show by Guy Hollingworth. Guy tells a compelling and wonderfully choreographed story of the origin of card tricks, while demonstrating a range of tricks and techniques.

Dead Cat Bounce, Late Night Radio is a show done by 4 guys out of Trinity College recreating a golden-age radio show, complete with foley, songs and a bunch of great jokes. Impressive stuff from some quite young guys that I’m keen to catch again elsewhere.

Sammy J is an Australian comedian that I hadn’t seen before. We picked the show purely on the basis of it mentioning puppets in the description. A fantastic 2-man show (Sammy J, and the puppeteer) with some good laughs. It’s fun to see an adult show featuring puppets.

We were really lucky with our accomodation choice. Jaime spent hours compiling a list of hotels and hostel options for us to choose. By the time we actually went to pick one 3 days later, all those options had booked out or doubled in price! Luckily, a new hostel had just opened up, and it worked out really well – University dorm accomodation vacated by the students for the summer break, right in the middle of town, at a great price.

Wednesday: Arrived in Edinburgh. Found hostel. Picked up a nice stack of tickets to shows from the ticket office. Hung out in the hostel until James & Miki arrived, and then kicked off our festival experience with Frank Woodley‘s one man show Possessed, which was hilarious despite (because of) him dropping out of character and ad-libbing quite a bit. In the evening, the La Clique circus in the lovely Spiegeltent venue. La Clique was a great show, as we’d expected from the reviews.

Ginger and BlackThursday: Ate a hearty Scottish breakfast at a local pub. Explored the city a bit, and went to some free shows at the Counting House. Marcel Lucont, Ginger & Black and Dean Scurry were the best of. Met up with Miki’s friends for dinner, and then went to a random choice: “Meli Melo 2”, which turned out to be 4 french men parodying about 50 different dancing styles in a dizzying array of costumes. Afterward, met some of James’ work colleagues (in town for the night) for drinks, and then braved the 2am Late-Night standup – back at the Counting House. The atmosphere was strained – only about 10 of us in the room, and 6 of those drunk and abusive. Headed back to the hostel about 3am.

Taming Of The ShrewFriday: Slept in ’til midday, and then off to Shakespeare in the park – The Taming of the Shrew, performed by the Pantaloons. Some more exploring of the city and enjoying the myriad of street performances. We took another punt on a random show and bought half price tickets to Happyland. It turned out to be an enthusiastic musical with a somewhat disappointing storyline, but still worth the 4£ to see πŸ™‚ Jaime arrived in the night, just in time to go to The Best Of The Fest and see Phil Nichol, Neil Delamere, Matt Kirshen, Jimeoin (who Australians will know) and Gamarjobat make us laugh ourselves silly for 2 hours.

Moonlight over the cathedralAfterward, we wandered back up the hill toward the hostel, and I tried unsuccessfully to capture the lovely effect of the moon through the clouds without a tripod.

Military TattooSaturday: Started quite late with Rich Hall‘s “50 cent words” – reading pieces from some of his books and short stories. It got a few lukewarm reviews, but I enjoyed listening to him vocalise his writing. After, Clive James In Conversation, interviewing Armando Iannucci about his life, British television, the evolution of comedy on TV and some random questions from the audience (Organic or GM, anyone?). A really quick dinner, and then Jaime and I went to the last night of the Military Tattoo at the castle.

After that, The Axis of Awesome (quite good Australian musical comedy trio) and Dead Cat Bounce Late Night Radio – one of my Best of Show picks πŸ™‚ Rather than head straight back to bed at 1am, we decided to try the Late Night Stand-up again, which turned out to be a good choice. The room was a lot livelier (and therefore funnier) than Thursday night, with a mostly-different set of comedians and jokes πŸ™‚

Sunday: Last day. Miki got up early and left us all sleeping to catch her flight back to Sweden. Jaime, James and I checked out about 10am, and went to Back To The Future: The Pantomime, which was thoroughly pantomimical and had plenty of Back To The Future as promised, but I still can’t decide if I liked it or not. James had to leave us at that point too, which was a bit of a shame because 2 of the best shows were yet to come.

To be honest, we originally picked The Expert At The Card Table on the basis that it was directed by Neil Patrick Harris, who we both find hilarious (Dr Horrible, anyone?). I’m really glad we did, because it turns out that not only is he a really good director, but Guy Hollingworth is a great actor and one of a select group of people on the planet who could pull this show off. The drama was built really well, and the card tricks blended perfectly to create a really nice piece of magical theatre.

After that, it was off to our final show – Sammy J in the Forest of Dreams, which I mentioned above. A great way to finish our trip to the Edinburgh Fringe.

I can’t wait for next year πŸ™‚

10 days in Turkey

We’re back at home after an awesome time in Istanbul, in which we attended GUADEC, did some sight-seeing (not enough), hung out with a bunch of really fun awesome people, and attended a great conference about what people are hacking on and planning for GNOME.

Arrived from Dublin around 11pm and got to the Golden Horn Sirkeci. Rang Wim & Christian and set one tone for the week by going out for beers until 3am.
Woke up late. Hungover for some reason. Went out and explored the spice market and Grand Bazaar. On the way back to the hotel ran into Collabora people sitting on the terrace of their hotel.

Luis and KrissaAfter a beer there, we all went searching for dinner and discovered the cushions on the street next to the Golden Horn, conveniently already populated with several other attendees, including Luis, Krissa and Phillip Van Hoof. Enjoyed dinner, beer & nargileh until after midnight.

Up early. Had breakfast at the hotel, and then off to the impromptu GStreamer summit from last blog post. Jaime went exploring while we chatted. We were short by a few key GStreamer hackers who either couldn’t make it to Istanbul or missed my poor excuse for an announcement, but had a nice solid representation of core hackers nevertheless. Quick summary:

  • Discussed that we should move GStreamer out of CVS, and our best overall choice is Git. FDO already has the infrastructure, we have people who know how to use it and will be there to help those of us who don’t and, most importantly, Tim & Edward are willing to do the migration work.
  • People weren’t interested in doing a 0.12 branch along the lines of 0.8->0.10 where everyone stops hacking on 0.10 for 12 months while the new version is produced. Instead, we should try a process where (after we move to Git and can do this sort of thing easily) people create their own experimental branches. After, when we have enough interesting experimental branches we try and bring them together and call it 0.12.
  • Saw and did interesting demos of in progress hacking: Edward’s HDV camera support. Wim’s basetransform rework. My DVD navigation pieces.

After, went hunting food and stopped at a place where, as soon as they saw us looking at the menu, about 10 nice policemen jumped up from the tables they were sitting at and took their food inside so we could sit outside.
After lunch, Andy declared “Let’s go to Asia!”, and we caught a ferry. Saw police in riot gear and tanks, then discovered the protest they appeared to be prepared for. Had beer, caught another ferry and reclined in the Cushion Street again for more food, beer and nargileh.
I know this one! ItÒ€ℒs Eunuchs!Up early and off to see Topkapi palace. I found myself constantly assessing features of the palace for ledges, handholds and other climbing points. Clearly played too much PoP.

After, caught the tram to the conference venue. We had a little trouble finding the place, but not as much as some. Met up with some more people, and went to Ghee’s printing BOF and Marina’s Online Desktop widget talk. Went for dinner at 360 restaurant before joining the opening drinks at Reddim night club. Didn’t stay long after the price of beer changed and the temperature went up.
dondurma bressert
Had Turkish icecream for breakfast, then I went to the conference while Jaime did some more sightseeing. Enjoyed the Banshee BOF – Banshee is cool. Inspired to try using Banshee as my primary media player for a while.
Ran into Marc-Andre and Meriam on the way to dinner and they joined Wingo, Zeeshan and us for dinner and chilling followed by more chilling under the Galata bridge with others.
Straight to university in the morning. Went to the conference opening, then Travis’ Soylent talk, the Clutter Guts talk, lunch with Lennart and kfish. As always after a clutter talk, felt inspired to try building a video app in clutter.
After lunch, Leisa’s great keynote on user experience design. Inspired to reimplement Silverback by gluing Istanbul and Cheese together.
Florian’s Elisa talk was interesting, and we talked with him about why Elisa doesn’t work for our video-watching workflow. It still feels like Clutter and Pigment duplicate a lot of effort, but I understand why combining is tricky.
Pippin’s GEGL talk was great. I really liked his ‘semantic desktop prototype’ presentation tool. Inspired to hack pretty things with GEGL.
A second good keynote from Blizzard. I want to see more of his presentations. Interesting stuff about using Firefox to influence the future of the web. Intrigued by their optimisation tools and techniques. Inspired to go optimise something. Drinks on the roof of the university with live music, followed by Cushion Bar.

Matt Webb’s keynote, then Rob’s Telepathy talk. I want to see features like ‘Right-click->share my desktop to Joe’ land in releases. Actually, I want to see ‘Right-click->Frag Joe in Quake ]|[‘ first.

Michael’s Moonlight canvas talk. There are lots of people exploring paths for the ‘platform for next generation UIs’ thing – clutter, moonlight, webkit, mozilla. It’ll be interesting to see where they converge.
After lunch, Kristian’s “GTK+ State of the Union’ keynote. I like their approach to GTK+ 3.0. The care it takes to preserve ABI/API while still producing new features and working around design shortcomings slows GStreamer development down too.
Went to Colin’s and then Owen’s Online Desktop talks. Glad to hear later that the APOC guys and the Online Desktop guys had some conversations about the commonalities and differences between them.
Collabora boat partyNot sure why Alp’s WebKit talk qualified as a keynote, but maybe because I already saw substantially the same talk at FOSDEM.
Fun with penis-enlargement pumps at dinner. More fun at the Collabora boat party. I came 3rd in the icecream eating competition. Inspired to eat icecream, forever.
After the boat party, we went out for kebabs with a crowd led by Pete and Miguel. Amusing chilli eating competition between Aaron and Jono. A good time was had by all.
Went to Benjamin’s Flash talk, then Bastien’s update on bluetooth development. Interested in PackageKit, but worried that it has a restrictive (prescriptive?) view of what package management systems should be allowed to ask as they install things. Apparently I’m not the first.
Excellent set of lightning talks after lunch, then the AGM. I liked the inspirational tone of Federico’s Document-Centric-Gnome proposal, but found the paper design unconvincing. I’d like to see a prototype though πŸ™‚
Google sponsored cup-o-beer-foam party had a good light show, but I can’t find a good pic of it.
Aya SofiaHad a sleep-in and then visited the Blue Mosque and Aya Sofia before going to Alberto and Joerg’s APOC talk. Also went to Alberto’s talk about polishing GTK’s image. Somewhat inspired to create a ‘GNOME stack SDK’ for Windows that’d come with GStreamer, GTK, Pango, etc in one big bundle.
After, went to the Galata tower, and then met up with Collabora guys and more to go to Asia again for dinner. Amusingly, the good restaurant from the guide book turned out to be the place we’d randomly ended up in on Sunday for drinks. Turns out the food is quite good.
Caught the plane back to Dublin. Did some good hacking on the way – integrating my recent GStreamer DVD navigation work into playbin so (e.g.) Totem can use it. Check it out:
Totem DVD

Hoping to have it feature complete within the next 2.5 months.

GStreamer Summit

We’re having a fairly impromptu GStreamer summit this Sunday in Istanbul.

If you’re interested in discussion where GStreamer is at, and where it might go next, come along πŸ™‚


Writing stuff down, where it can't hurt anyone