GStreamer 1.0 Application porting hackfest/code sprint

We are trying to put together a hackfest to help developers using GStreamer to port their applications to GStreamer 1.0. The GStreamer Hackfest/Code Sprint 2012 will take place in Malaga, Spain, between 25th to 27th of January (3 full days). I would ask all developers out there interested in attending to add your name to the wiki as quickly as possible, just so we can estimate interest. If you are interested, but don’t know for sure if you can make it there, it would still be good if you added your name with maybe a comment mentioning that you need to verify before you are certain.

We will be offering some travel sponsorship, so even if you are short on cash we hope to have you attend, more details on the hackfest&codesprint wiki page.

For those wondering why we choose Malaga, well the reason is that Wim Taymans, the GStreamer 1.0 designer and lead developer lives there, and at a previous hackfest we tried to do in Oslo he ended up in Helsinki instead. So this time we are taking no risks, but instead we are taking the hackfest to him :)

Are you in Malaga, Spain? Or know someone there?

I am desperately looking for someone familiar with Malaga, Spain, maybe a local LUG or similar. The reason is that we are interested in doing a GStreamer 1.0 application porting hackfest there in late January. So getting hold of someone with local knowledge who would be able to help us find a suitable venue would be great. Please get in touch with me on christian.schaller(at)gmail.com if you are in the area and willing to help or know someone would probably could help us.

HTML5, Video editing and the Collabora website

So I did a bit of work last week to convert the Collabora website to HTML5. The actual porting was quite simple, mostly replacing the DOCTYPE tag to the new HTML5 one. Found a few other issues through the W3C validator, but nothing major. Today I took the next (small) step in the process by actual adding some real HTML5 content to the site. Actually I only sort of did. Instead of hosting the video locally and using the new video tag I ended up uploading it to youtube and embedding the WebM video in our page. The small video clip I added is demonstrating the HTML5 video editing demo we released recently. (For those of you who missed it I recommend the HTML5 video editing blog entry by Mateu Batle, which explains the whole thing in detail and also links to the code).

The demo, while simple, is quite cool, showing off our HTML5 based touch screen interface all built on top of Webkit and the GStreamer Editing Services. The embedded video is to be found on the GStreamer Editing Services page.

As a sidenote, to make this I actually relied on the GNOME 3 built in screen capture support, which I have to say worked like a charm :) Always felt screen casting to be a pain before, but this time it worked very well for me.

Farstream and libnice, an interview with Youness Alaoui

After the success of the GStreamer interview with Wim Taymans I thought we follow up with another great interview with a Collabora developer.

This time we are talking with Youness Alaoui who is one of the maintainers of Farstream, the audio and video conferencing framework built on top of GStreamer. We also cover another of Youness Alaoui projects, libnice, the NAT traversal library. So if you want to know what is happening with audio and video conferencing on Linux be sure to read the full interview with Youness Alaoui here.

GStreamer Conference 2011 videos recordings

It has was announced some time ago, but I thought to make sure to also blog about it, that all the GStreamer Conference talks from this year are now available online.

The Ubicast recording system is really impressive (and uses GStreamer :). If you look at the talks they recorded at the GStreamer Conference 2011 you can get an impression of how nice their system is, capturing both the slides and the speakers with a high resolution camera and automatically cropping and mixing them together. A big thanks to Florent and Anthony for their hard work during the conference.

Transmageddon 0.20 released

So after a very long 1 year development cycle I finally managed to push a new release of Transmageddon. The main reason for it haven taken this long was because I decided to port to the brand new discoverer and encodebin elements, to greatly simplify the code and improve functionality. The thing was that Edward Hervey when he wrote those elements took the conscious decision to make them assume that all needed GStreamer plugins worked as they should to be perfect GStreamer citizens. As you might imagine, since many of the plugins had never been tested for all such behaviour a lot of things did not work after the port. But over the last Months I have filed bug reports and most of them are now fixed. And with todays new python-gstreamer release (0.10.22) the fix for the binding bug for encodebin is fixed and thus I decided it was time to put out a new release.

I am quite happy with my new feature list:

  • Port to new plugins-base discoverer and encodebin
  • Replace radiobutton lists with a combobox instead
  • add support for audio only transcoding
  • add support for outputting audio only from video+audio files
  • Add deinterlacing
  • Support container free audio formats such as FLAC, mp3 and AAC
  • Add HTML5 and Nokia 900 profile
  • add support for video only transcoding
  • add support for mpeg1 video and mpeg2 audio

The new user interface should solve the problems people with small screens used to have with Transmageddon, like many netbook users. Transmageddon now also automatically deinterlaces deinterlaced video clips, I want to improve this feature in a later release, but making it optional to deinterlace and also use Robert Swains new elements that can help detect interlaced files that have been encoded as progressive files (as shown in his presentation in Prague).

Another major feature of this release is that audio only files are now officially supported, and you can also use Transmageddon to easily output just the audio from a audio+video clip.

I also added a HTML5 webm profile, so output to that should be easier than ever. In fact I used that profile when I transcoded 100GB of video that we had recorded at an internal session at Collabora.

My next goal is to port to GStreamer 1.0 and GTK3. That said if there turns out to be some brown paper bag issues in this release I will try to fix them and make a new release, but my guess is that most bugs people might encounter will be because there are issues that are only fixed in GStreamer git yet, so until they are all released not everything works 100% and until those releases are out there might be some small regressions from the previous release.

Anyway, I hope you head over to the Transmageddon website and grab the latest release for a test run. I will try to follow-up on bug reports, but might be a bit slow the next week as I am flying down to Lahore to celebrate my sister-in-laws wedding and also see my beautiful wife again after almost a Month apart.

Back from GStreamer Conference in Prague

I am back home for about a day today after spending a week in Prague for the GStreamer Conference and LinuxCon Europe.

Had an absolute blast and I am really happy the GStreamer Conference again turned out to be a big success. A big thanks to the platinum sponsor Collabora, and the two silver sponsors Fluendo and Google who made it all possible. Also a big thanks to Ubicast who was there onsite recording all talks. They aim to have all the talks online within a Month.

While I had to run a bit back and forth to make sure things was running smoothly, I did get to some very interesting talks, like Monty Montgomery from Xiph.org talking about the new Opus audio codec they are working on with the IETF and the strategies they are working on to fend of bogus patent claims.

On a related note I saw that Apple released their lossless audio codec ALAC as free software under the Apache license. Always nice to see such things even if ALAC for the most part has failed to make any headway against the already free FLAC codec. If Apple now would join the effort around WebM things would really start looking great in the codec space.

We did a Collabora booth during the LinuxCon and Embedded Linux days that followed the GStreamer Conference. Our demos showcasing a HTML5 video editing UI using GStreamer and the GStreamer Editing Services and video conferencing using Telepathy through HTML5 was a great success and our big screen TV running the Media Explorer media center combined with Telepathy based video conferencing provided us with a steady stream of people to our booth. For those who missed the conference all the tech demos can be grabbed from this Prague-demo Ubuntu PPA.

So as you might imagine I was quite tired by the time Friday was almost done, but thanks to Tim Bird and Sony I got a really nice end to the week as I won a Sony Tablet S through the Elinux Wiki editing competition. The tablet is really nice and it was the first tablet I ever wanted, so winning one was really great. The feature set is really nice with built in DLNA support, it can function as a TV remote and it has support for certain Playstation 1 titles. The ‘folded magazine’ shape makes it really nice to hold and I am going to try to use it as an e-book reader as I fly off to Lahore tomorrow morning for my sister-in-laws wedding.

What kind of economic system do we have?

Mathias Hasselmann posted a blog entry called ‘on populism’ commenting on the earlier blog post by Josselin Mouette called ‘A message to liberals’.

First of all the first entry was using the term liberals, which I would suggest avoiding, because while in Europe it tends to mean people who are on the right wing of the political spectrum, because they are liberals in terms of economic policies, in North America a liberal is someone on the left side of the political spectrum as they tend to liberals in terms of social policies like gay marriage, abortion etc. Due to this I tend to try to refer to these groups as either social liberals, economic liberals (or libertarians if they are both for a free market and have socially liberal views.)

Anyway, I think the original article by Josselin was quite silly in its tone. There are a lot of reasons we have the current set of problems in the world economy, and economic liberal policies have only a small part of the blame. First of all the problems in Europe is, as Mathias says in his rebuttal, that you have mostly left leaning governments budgeting year after year after year with huge deficits, covering the deficits by pulling their countries deeper and deeper into debt. So when a crisis hits and it always will under any system, they have nothing to fall back on as they are already debted to the neck. Personally I think Keynesian policies is probably what is needed in a situation like this, but that is based on an assumption that they governments have made sure to have reserves or have low debt before a crisis hits, so they can use these reserves to help pull the economy through. In Europe the problem was that the governments where already so deep in debt that when they tried to stimulate their economies they just make it clear how much money they actually owed and how unable they would be in ever getting back on track again.

The US did something even more silly, they cut taxes and increased expenses at the same time. This idiot policy was called Reaganomics. And while it was definitively right wing in origin, I am not sure it can be easily placed in a libertarian versus socialist context. No matter if you are left wing or right wing, the most basic rule is that you keep your books in order. That means that if you want to increase spending you need to also increase your income, and if you want to decrease taxes and thus your income, you need to decrease your spending. The left wing governments of Europe only increased spending, but not income, and the right wing governments of the US only cut income, but not spending.

As for the depressed wages around the western world they are caused by a lot of different things, but the biggest of them all is that new technology combined with free trade agreements have undermined our ability to keep the rest of the world down in poverty and unable to develop their own industries. I assume we all accept this as a good thing in principle, but yes it does cause transitional pains and wage pressures here while we wait for the cost levels in the BRIC countries to catch up with us.

As for deregulation of the banking sector, which can be said to be a economically liberal policy, to be part of what caused the recent upheaval, yes it probably did play a part. But it does strike me as quite hypocritical that when the political drive to get people into the housing market, which was supported everywhere by people on both the left and the right, ends up getting banks in trouble due to the so called sub-prime loans collapsing, it is all about the banks and not about the politicians who supported such lending habits to support their own social policies. Subprime loans is not something impossible to understand, it is basically loans to poorer people. And politicians on both side of the aisle felt that encouraging house ownership was a great way to help raise such people into the middle class. And it worked quite well for a while in regard to improving the standard of life for a lot of people, but as we all know now, it was a bubble that had to burst at some point. Anyway, lending money to poorer people who might not be able to afford it, in order for them to buy their own house, doesn’t seem to be a clear fit under the headline ‘liberal economic policies’ to me.

I think most people agree that a ideologically pure system of any type is not likely to work or be deployable. In my view, the problem these days is that the system has moved from being one leaning towards being a free market economy, supporting entrepreneurship and healthy competition, to one of protecting established players. So we have policies through things like the tax system, government aid and the patent system, in most western countries, functioning in a way that protects established companies and disadvantages small companies who try to compete with them. I would rather define that as government lead capitalism and not free market liberalism.
So it doesn’t matter if we are talking about North America or Europe here, most times when politicians talk about new policies to help the economy or stimulate job growth, it is policies to support big established companies or groups. So every year these companies and industries grows more bureaucratic and less efficient, while more innovative and nimble startups faces an uphill struggle against the establishment.

So while I readily admit that there are a million other factors also playing in and that the root cause of issues wary from country to country somewhat, lets avoid silly name calling and pretend that populist policies is what is needed to improve the situation. Because if there is one ‘ism that is to blame for where we are at, it is not liberalism or socialism, it is populism. The populism supporting 5 minute news cycle which means politics is about 10 second long snazzy slogans and handsome faces, and not in-depth discussion or detailed review.

Dynamic Adaptive Streaming over HTTP standard, ST Microelectronics, Fraunhofer and GStreamer

Edward Hervey pointed out to me this morning that there are some nice articles online about an effort between ST Microelectronics and Frauenhofer, around the 3GP DASH (Dynamic Adaptive Streaming over HTTP) standard. There is for instance this article in Thinq magazine and this article on TMCnet. What you might not know and which is even cooler is that Emanuele Quacchio will be speaking this GStreamer based DASH implementation at the the GStreamer Conference later this Month. So if you haven’t signed up for the GStreamer Conference already, then maybe this is the time to do it :)

I am really excited about this years GStreamer Conference as we have a lot of ongoing efforts about to come to fruits. From Collabora we got Wim Taymans will be talking about GStreamer 1.0 effort, which we expect to have out before years end and Tim-Philipp Müller will speak about a lot of the other incredible advances we made over the last year. Being in the middle of it I think its easy to go a bit blind due to the gradual process, but things like the new parsing libraries that Thibault Saunier have been working on, which will enable much quicker and better support for things like libva and vdpau plugins in GStreamer. Or the new baseclasses that Mark Nauwelaerts have ported most of our plugins over to now, which in one fell swoop improved our plugin quality by leaps and bounds. And of course there are things like the GStreamer Editing services (GES), discoverer and encodebin which Edward Hervey created, which will make applications like Transmageddon video transcoder and remuxer and the PiTiVi video editor a lot easier to develop.

We will also be doing some real cool demonstrations of stuff we have been working on at Collabora at the Linux Con Showcase on Thursday. Thanks to GES we have a great demo of a mobile editing solution using either QML or HTML5. We have HTML5 video calling using Telepathy and we have Video calling using Telepathy from the Media explorer media center solution.

Another talk that I will be sure not to miss is Jan Schmidt who will be talking about Blu-Ray playback with GStreamer. In addition to being technically interesting Jans talks are always fun, like last year he did his presentation using GStreamer instead of something like LibreOffice, having created his slides as a DVD menu through a small program he wrote to turn SVG files into DVD menus :)