Archive for the ‘General’ Category

Moving on

Tuesday, August 3rd, 2010

I have had a wonderful 4 1/2 years at Flumotion where I am proud to have been part of a huge success that I didn’t think was possible at the time I started. We have streamed live the Olympics, the FIFA World Cup, Cristiano Ronaldo’s inauguration at Real Madrid, Barack Obama’s inauguration as President of the USA, the UK election’s first live debates, the launch by Shakira of the new Seat Leon and much much more that I have forgotten over the years. We are the only streaming solution I know of that streams Ogg/Theora/Vorbis, Flash (with H264/VP6 video and MP3/AAC audio), Windows Media, WebM, iPhone/iPad fragmented streaming and can do all that from DVB (satellite or terrestrial), Firewire, Webcam, Analogue TV card, Windows Media Encoder, Flash Media Encoder and others I have forgotten about probably.

It has impressed me heavily about how, without any badgering from us devs, that our marketing team have really been pushing our WebM streaming. When our sales and marketing drive started a few years ago, there was reluctance as perceived from our (development) end to push the free formats. This year, with the hard work put in at all sorts of hours to make live streaming of WebM a reality, the marketing has been plenty to mark our pioneering work. This culminated with last week’s streaming of Guadec in WebM which we developers had no idea about until just days before it started.

As some of you know, I have been working the last 3 years in London while the office and everyone else at the company is in Barcelona. This kind of isolation amongst a few other factors were involved in my decision to leave. So last week instead of being at Guadec, I was in Barcelona doing a little knowledge transfer (and getting my hands dirty with some bug hunting and fine-tuning of the Guadec streams). Last Friday, the 30th July 2010 was my last day working at Flumotion.

This week, I have a short break where I am cleaning and doing some admin that I needed to do and just haven’t got around to. Next week, I start my new role at Tandberg/Cisco. It looks exciting and I am looking forward to starting a new chapter in my worklife there.

WebM, Guadec, Live streaming

Thursday, July 29th, 2010

Yesterday Guadec started and thanks to Marc-Andre we had streaming machines in the Hague ready to stream the talks live to all those poor souls like me who couldn’t make it this year.

This year, we are streaming the conference talks in WebM and all seems to be going pretty well. We have had over 100 concurrent viewers watching the streams during yesterday’s talks and after a few initial configuration issues, the picture quality is now pretty decent. We integrated the live streaming of WebM support into the necessary GStreamer elements and into Flumotion over late night hours after the Google announcement of the WebM project. This has subsequently reached releases of GStreamer and a Flumotion stable release with the WebM and VP8 support in is undergoing QA for imminent release.

Something that got a little wrong in the press for the Guadec streaming and was too late to change because we devs noticed in the PR after it had already gone out to everyone was that it kind of made it look like Fluendo did the integration of VP8 and WebM into Flumotion. It is kind of true because Flumotion is in the Fluendo group, but it meant to say that Fluendo integrated WebM and VP8 into Moovida.

N900 and Maemo5 playing vp8/webm live stream

Monday, May 24th, 2010

On Wednesday, Google announced the WebM project.

On Friday, we got flumotion to stream vp8/webm live.Details on a previous blog post. On the weekend and today (Monday), I set up a live stream from a TV channel from DVB to output in vp8/vorbis/webm. Details on another previous blog post.

Tonight, I started building packages for Maemo 5 for getting vp8/WebM playback and encoding working on the Nokia N900. After a little work, I got it working such that putting the http url to playbin2 or passing it as a dbus message to the media player will make the N900 play the webm stream. I believe this is the first phone in the wild (outside of On2, Google and their partners) to play any kind of WebM/VP8/Vorbis and definitely the first phone to play a live WebM/VP8/Vorbis stream over http.

Pictures speak louder than words:

The packages needed are on the way to extras-devel, beware of enabling extras-devel in an N900. Packages there have not been QAd.  The packages are:

gstreamer0.10-mkv_0.10.16-0maemo5 gstreamer0.10-vp8

More exciting live streaming from Flumotion with vp8 and webm

Monday, May 24th, 2010

So a test pattern is pretty boring and a screenshot of it in even more boring. I have now setup a test stream which is streaming a TV channel from the Astra 28.2 satellite with DVB. So here it is, try it in your WebM enabled browser. That means Opera beta or Firefox Developer Preview and not Chrome/Chromium because of a bug in their implementation.

Page showing test live stream

WebM and VP8 streaming live from Flumotion

Friday, May 21st, 2010

We did it! Today we managed to get Flumotion to stream live over http a test signal encoded in Vp8 and muxed in the WebM container.

The below screenshot shows Firefox webm developer preview playing it back in browser!

It requires patches to GStreamer and to Flumotion. So what you need is:

Thanks to Google for opening up vp8 and throwing the HTML5 video tag’s codec race wide open! Thanks to Collabora (especially Sebastian Dröge) and Entropy Wave (especially David Schleef) for getting the GStreamer plugins in shape! Thanks to Mark Nauwelaerts for fixing bits in the matroska muxer so it doesn’t output small buffers then seek every ebml tag! Thanks to Andoni Morales and Xavier Queralt for also putting in a lot of time after hours to work together to have the streaming working quick-smart.

I believe we are the first free software live streaming solution to have VP8 in WebM streaming live to browsers, if we are not we are definitely one of the first. This makes me very proud. We still have work to do to clean up the patches we have done and push them upstream to GStreamer and to Flumotion. There is still some work to do in cleaning up the patches and get them upstream in GStreamer and Flumotion but the hard part is done.

UPDATE: All the patches have landed into GStreamer and Flumotion so no need to use my repositories any more, just get from upstream! Also we have an official demo up at  http://www.flumotion.com/demosite/webm/

Tip to get Internet in Egypt

Sunday, May 2nd, 2010

So with the hotels charging obscene amounts for Internet iin Egypt, I did a little preparation before flying here. I saw that the mobile network operators were doing prepaid sims at good prices. So I unpacked the usb modem, I was gifted by Vodafone in the UK last year for taking up a sim-only 12 month contract, and got it unlocked for GBP 1.49. I packed the usb modem and my Fonera 2.0n router which can also take usb 3g/gsm modems and provide a wifi access point. The day after arriving in Cairo, I went to a Vodafone shop and asked for a prepaid data sim. They offered me one with or without a usb modem. The one without costs 15LE (less than 2GBP) and comes with 166MB included without topup required. So I plug in the usb modem with this Vodafone Egypt sim into the Fonera and within 5 seconds I have a wpa protected wifi ssid advertised that I can use on my laptop, N900, Alia’s N900 and ipod touch.

So total cost of about 3.49GBP and I have wifi with probably enough Megabytes for the length of our trip. Beats paying 20 GBP a day for hotel wifi and can use it with all devices and it is fast thanks to HSDPA coverage.

Lawrence Lessig in Open Video Alliance

Thursday, February 25th, 2010

We at Flumotion are streaming the Lawrence Lessig wireside chat streamed in Ogg/Theora/Vorbis. To watch it direct in your movie player: put this url in: http://event.mozilla.stream.flumotion.com/mozilla/event.ogg.m3u read about it at: on the Flumotion blog.

N900 (and other OMAP3 devices) DSP accelerated Theora

Thursday, November 12th, 2009

David Schleef’s theora optimisation for the dsp in the OMAP3 will really make open video a reality for the N900 and other OMAP3 devices like Palm Pre/Motorola Droid. Thank you David and Mozilla for the work.

N900 Youtube app

Monday, November 9th, 2009

At the end of last week, I put packages for flv and ffmpeg gstreamer plugins into maemo extras-devel for fremantle (the version of Maemo that ships in the N900). With those packages, the N900 can play flv files from youtube and elsewhere but there was no app making use of it except the built in media player which one would have to write a mafw plugin for the different sites. So on Sunday afternoon, after a good round of golf (albeit some really crappy short putts missed) I decided to try and write a youtube browser and player. After 20 minutes (and code to parse youtube stuff borrowed from Canola2), I had a start. It would get the top rated videos list from you tube and display them in a pannable area as a list of buttons. Tapping a button would play the clip with GStreamer’s playbin2.

Then I thought maybe the app could be more useful to others with a little work, I gave the app a name: zoutube. I gave the app a crappy icon (icon designers feel free to contribute a nicer icon) and added debian packaging stuff. I made the app show a list of YouTube’s categories as well as Recently Features, Most Viewed, Top Rated, Most Recent as the front screen before it showed the videos. The next features I plan are:

  • search
  • show full description
  • seek bar when playing
  • download
  • thumbnail of video

Please try it out, it is in extras-devel if you have it enabled, it will appear as zoutube in the App Manager on your N900 under Internet and Networking. Also feedback welcome and appreciated. Screenshots here (video not in player screenshot because screenshotting on N900 does not show accelerated video overlay):

Front Screen
Video List
Player

Using GStreamer-python in Maemo 5 on N900

Friday, October 16th, 2009

Yesterday lunchtime I wrote a simple GStreamer app in python to run on the N900 with the video embedded in a widget inside the app. I committed it inside gst-python git inside the folder examples. It just does videotestsrc ! videoscale ! ximagesink. It could have been videotestsrc ! xvimagesink but I wanted to grab a screenshot.

Code (with comments): http://cgit.freedesktop.org/gstreamer/gst-python/tree/examples/maemogst.py