New Schroedinger release out

So David Schleef is kicking ass currently and our Dirac implementation, Schrodinger, is moving quickly forward these days. I just cut a new development releases of both Schroedinger and libtsmux so be sure to check them out.

The plan is to try to make much more frequent releases from here out as things are coming together fast now and the package is at least generally useful for testing.

Be aware that the weakest link in the package is currently the encoder, but this is also what David is focusing on at the moment so expect to see big strides forward in the next few weeks and months in terms of quality of encoded video. Could be we need to tweak the encoder setting further also, although David tried add some sensible defaults for this release.

Here is a couple of screenhots of Totem in action playing a movie I transcoded from a HD Quicktime clip.

dirac screenshot 1

dirac screenshot 2

The pipeline used to create this movie was:


gst-launch-0.10 filesrc location=animusic2dvd_m720p.mov ! decodebin2 name="decode" decode. ! ffmpegcolorspace ! videoscale method=1 ! "video/x-raw-yuv, width=(int)640, height=(int)360" ! ffmpegcolorspace ! schroenc ! queue ! oggmux name=mux ! gnomevfssink location=file:///tmp/anime.ogg decode. ! audioconvert ! vorbisenc ! queue ! mux.

On Sawfish, Metacity and Linus

Managed to get myself embroiled in a little email exchange with Linus about configurability options and GNOME. Seesm that little exchange even managed to hit Slashdot.
The misconception that I feel Linus have and a lot of the people posting on Slashdot is that patches that adds configuration options to GNOME would automatically get rejected. This is simply false.

At best this is an extrapolation of the quite strict policy of Metacity in particular and the general GNOME policy of ‘no GUI options before thinking’. This policy did come into effect with GNOME 2.x and it came about both due to UI design usability discussions, but also as a result of seeing our config menu’s get clogged with options which mostly where there due to bugs, missing features and a heterogen deployment environment below GNOME. It was decided to focus on actually trying to solve these lower level issues instead of offering config options to work around them. A talk by Jim Getty’s at GUADEC called ‘Draining the swamp’ being considered the call to arms on that issue. Projects such as HAL, the rejuvenated X.org effort and many other freedesktop projects came about almost as a direct consequence of this.

There was also some misconceptions on the Sawfish to Metacity switch that happened in this time period. It is not correct to say that Sawfish got replaced by Metacity due to it being deciding its high degree of configurability was bad, far from it. Sure there
where people who felt Sawfish went a bit overboard in that regard, but that was not the reason it got ditched as the default GNOME window manager. The reason for that was simply that after Eazel went backrupt and Sawfish maintainer John Harper had to find a new job, he ended up at Apple. And thus due to Apple corporate policy, and probably long hours at work, he couldn’t maintain Sawfish anymore. The troublesome thing about Sawfish was that it was written in its own Lisp dialect so as part of Sawfish you got both an extra lisp interpreter and GTK+ bindings for it. This meant that the C/C++ skills in the GNOME community didn’t lend themselves well to fixing bugs in Sawfish.
The two libraries and Sawsfish itself thus went unmaintained as John went away and nobody where interested/felt qualified to take it over. Thus the GNOME developers had to look around for a new window manager and it was decided that one should aim for one written in C like the rest of the desktop libraries to lessen the chance of future maintenance prolems. To answer this call Havoc Pennington stepped up with Metacity and it was quickly adopted by a lot of GNOME developers and users and subsequently chosen as the standard.

Metacity was philosophically very different from Sawfish and Havoc
was very strict about what he let into Metacity, due to an idea that requests for config options was usually a result of broken behaviour in the window manager and thus feeling the behaviour should be fixed instead of a config option added to work around the problem.
This was in line with the policy that do govern GNOME as mentioned above, but in the case of Metacity this was applied in a much sterner/hardcore fashion that for most other modules.
But due to Havoc’s high profile in the community and beyond it I think the policy he kept for metacity colored how people outside the project perceivedthe project as a whole which is the main reason I see for this hard killed perception to live on.

Anyway, back to Linus and his irritation with Metacity. I can’t not say if his patches will go in or not, its not my call. But I did at least add them properly to bugzilla for Linus to ensure they get reviewed and commented on at least.

A cool video blogging idea

A bunch of us from Fluendo where out yesterday at a local bar with Internet access. As such things go we started playing a bit with our Nokia 800’s and the video conferencing feature. What suddenly struck me is that it would be great to have a small application which connects to a googletalk account and just listens for incoming talks. You should then be able to call this account and the application will just accept the inncoming talk and then record it to disk, by muxing it into a container format and maybe transcoding it to Theora/Vorbis. That way you have a easy way to record little video blogs as you travel around and store these on your home computer. The next step then of course would be some kind of youtube extension that let you upload the video clips automatically to youtube or something like that :)

Just proposed the application to the Make it with Mono competition that Miguel blogged about recently. Hopefully it will make it through the moderation so I can try plugging it when the voting starts in April. Should be fairly easy to build this on top of GStreamer and Telepathy (which are also used in the Nokia 800)

Dirac encoder/decoder coming along nicely

So we have been working on the Schroedinger Dirac implementation for some time now and its starting to come together now.
The decoder is pretty fast and works well and the encoder is getting quite close too although its default settings needs to be moved away from developer settings. Not exactly sure where we stand in terms of being compliant with the latest Dirac specification, but we should be quite close as most of Dave’s commits recently have been about taking us the last few steps towards compliance. Anyway here is a screenshot I took today which is showing a video I created using this pipeline:


gst-launch-0.10 filesrc location=Dolphins_1080.wmv ! decodebin2 name="decode" decode. ! ffmpegcolorspace ! videoscale method=1 qos=false ! "video/x-raw-yuv, width=(int)640, height=(int)480" ! ffmpegcolorspace ! schroenc ! queue ! oggmux name=mux ! gnomevfssink location=file:///tmp/dolphins.ogg decode. ! audioconvert ! vorbisenc ! queue ! mux.

Two things stands out in this screenshot, one is that we need the Dirac plugins to report their codec and bitrate to the GUI :) The second is that the encoder needs tweaking so we don’t get the blur shadow at the ‘borders’ between different items in the image.

Interviewed on The Linux Link Tech Show

Ok, so I was interviewed about our recent plugin show on the The Linux Link Tech Show. So if you are interested in hearing what Dan and Patrick managed to lure out of me then go to their page and download Episode 176. Topics include our new codecs, free codecs, DRM and other things we do at Fluendo. The sound, especially on my part being recorded with my on my cell phone and the output of that transcoded at least once if not twice. But hopefully I am interpretable :)

Shop FAQ

So I thought I answer a few of the questions that have popped up accross the web after the shop launch and yesterdays blog entry.

  • Are the EULA’s available online?
  • Yes, they are available under the terms link just before you finalize your order to go to the payment system. I realize a lot of people want to be able to read over the EULA before getting that far so I will put them up somewhere more easily reachable today.

  • What happens when new codecs are added?
  • Often the bundles will grow and people who bought the bundle as it is will be able to download the new bigger bundle for free. However there will also be new bundles made as things progress.

  • What about encoders?
  • We will soon start to offer some encoders too. Our windows media audio encoder is already in the beta program and the windows media video encoder is in final stages of development before hitting the beta program. To begin with these will be just separate download or maybe part of an windows media encoding bundle. As more encoders gets created we probably will offer bigger encoding bundles to, similar to the playback ones.

  • What about supporting other media frameworks/applications?
  • This will not happen. We are still a small company and the cost of supporting even more frameworks in a good way is daunting.

  • Why is only a subset of the plugins available on Linux PPC and Solaris?
  • Because we don’t have them ported yet. To be honest the popularity of the Windows media plugins on Linux PPC and Solaris will determine if we ever do port them in fact. Unless the plugin available for these platforms sell well enough to validate the cost of porting more codecs there will be no further codecs supported on these platforms. That said we are not going to pass judgement on either platform very quickly. For Linux PPC we will let PS3 be out on the market a while before start making assumptions about the viability of that market and for Solaris we will let Sun ship something else than just development versions of Solaris bundled with GStreamer 0.10.

  • Will you ever support Real Media, Quicktime, Flash Video etc.
  • The answer is Yes, to some degree, and maybe. We have a working Real Media decoder plugin, but we will not be able to release that before we have a full Real Media networking stack to use it with, but this is being worked on and shouldn’t be to far away. As for Quicktime we will be able to support AAC and H264 which seems to be the most used Quicktime codecs today and the Quicktime container format is just a tweaked version of the MPEG4 ISO format. So we will be able to offer something that plays most Quicktime trailers, but we might not be able to call it Quicktime support though due to trademark issues and of course not supporting Apple specific codecs such as Sorenson. As for Flash video or VP6 as its also called. Well we are trying to work something out there, but its still quite up in the air what will happen.

    Shop open for business!

    Ok, so as promised the shop.fluendo.com is now live with all our codecs!. You guys have no idea all the practical issues delaying this, the last that hit us today being the credit card system suddenly refusing payments in dollars so we had to switch the shop over to Euro.

    Anyway the press release is out and hopefully we get some good coverage. This release should also be a response to Eric Raymonds request
    for someone to save him from the lack of codecs
    .

    As you will see if you go to the shop we support Windows Media codecs on Linux x86_32, Linux x86_64, Linux PPC, Solaris Intel and Solaris SPARC, just as we do with our MP3 plugin. Depending on interest other platforms could follow.

    For Linux x86_32 and Linux x86_64 we also have MPEG2, AC3 and MPEG4 Part available. AAC is underway.

    People will also notice that we rebate heavily if you buy the codecs in bundles, this is because we really prefer to stear people away from the single codecs purchases as they cost us as much as a bundle per transaction, which means more money to the bank and less to us :)

    The codecs are distributed inside tarballs together with instructions. We realize this is not as painless an install as one could wish for. But doing packages for a million and one distro’s was not a plausible solution either. That said we are working on a codec installer/updater which will automatically download and install any codec bought in the shop. It will also upgrade those codecs as updates becomes available. The idea is that a purchase of the codecs gives you a year of updates, after which you can buy an discounted update to continue getting updated codecs and bundles.

    So I hope people like the shop and also for anyone reading this wanting a site license, we do offer that, but that will be handled outside the shop. The shop is targeted at people looking for 20 or less licenses.

    Fluendo webshop updates

    So for a *long* time we have promised to provide a wide set of plugins
    for GStreamer through the Fluendo webshop. We have had a series of plugins in beta testing for a long time now while at the same time sorting out the final legal and other practical issues. Anyway things are now ready I have been working a lot on getting everything ready this week.

    As a final grand test I have updated the mp3 plugin we have offered for free on the shop for a while now. Due to this I would like to ask that anyone reading this blog entry please try downloading the new mp3 plugin and testing it on their systems. Currently the shop contains an GStreamer MP3 plugin for X86_32, x86_64, Solaris Intel and Solaris SPARC. Also trying to get a Linux PPC version online today. People who have gotten our plugin earlier from the webshop should also get this new version as the code has many bugfixes and improvements over the first version we offered.

    The new bug system should be available on Monday, so anyone downloading and having problems during the weekend with the plugins please just send me an email on christian at fluendo dot com.

    So unless this final mini test should turn up something unexpected I will upload all the plugins on Monday and send out a press release.

    Be aware that the webshop offers you two payment systems so be sure to choose the ‘Free of Charge’ one for the mp3 plugin as the credit card system do not handle charges of 0 very well :) We will be working on getting rid of the credit card option as an option when people just get our free stuff.

    Feelgood stuff

    I guess we all sometimes feel burned out by the goings of the free software community. Endless discussions about the technical superiority of one solution over another, a feeling of the community sometimes being overly narrow in its view of the world beyond or the amount of negative feedback tending to heavily outnumbering the good or dealing with licensing issues might all be things that steal energy. Yes, there are many reasons for sometimes wanting to throw in the towel and look for both work and entertainment a different sector of society.

    Yet many of us have stuck around for quite a long time now and I guess there are many reasons for it, like good friends, jobs, professional pride and so on. Another burst of energy comes from the times when you see free software having a positive impact on people’s life, like when Wingo showed me how they had deployed Linux at schools across Namibia. But it doesn’t need to be as big as that, today for instance it put a smile on my face seing a mail from someone who had been using the Flumotion streaming server to let family members living remotely take part in the Christmas festivities at their family home. Not exactly a use that changes the way of the world, but it did give me a sense of joy seing someone being able to use our technology in a way that enriched their lives. Thanks for sharing that.