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.

New Elisa out with Trick modes support

The Elisa media center team did a new development release yesterday. One of the exciting features of this release is the support for trick modes. This means you can do things like fast forward or half speed forward playback. Also for Ogg files with Ogg Theora video you can do reverse playback of the files. So if you have ripped any movies using Thoggen or KungFu you can now play them with Elisa and ‘rewind’ when needed if you want to take a closer look at a scene. The nice thing is that reverse playback like forward playback can happen at a multitude of speeds.

Its nice to have a software package out there enabling trick modes making it available as a visible feature to end-users :)

Gluetastic Pitivi

Anyone following GNOME CVS activity over the last days would have noticed the heavy Pitivi hacking activity. As of yesterday evening Pitivi properly supports ‘gluing’ together multiple videoclips and outputing them as one file. This includes re-scaling the videoclips into one shared size if they are of multiple sizes. The current battle plan is to enable new features in Pitivi even when we know they trigger bugs in various GStreamer elements. Then later on when the GStreamer bugs gets fixed we will hopefully have an active user community which will scream murder (file bugs) when plugins break Pitivi functionality. Next step in enabling the new GUI ideas is to enable basic transitions and some simple cutting (not necesarily in that order). After that we should have a basic but useful tool for people to start using. What the exact priorities will be after this is not set in stone, but will depend on user feedback and of course the priorities of new contributors coming onboard. A big thanks to Edward for his relentless effort in getting Pitivi ready for mass consumption!

The struggle of Pitivi

One of the applications we have under development here is Pitivi. For outside developers it could seem as if Pitivi has been standing still for a while. This is both very true and very false. Edward who is the lead developer on Pitivi have had little time to put into enabling more features in the GUI and polishing up the look and feel of the GUI lately. On the other hand improving Pitivi is only half about working on ‘pitivi’, the other part of the equation is fixing bugs in GStreamer itself and gnonlin. Both of these libraries have seen a lot of bugfixes over the last few months and Jokosher is a living testament to their effect.

Pitivi being both audio and video is more complex, but also for Pitivi these fixes have made the application more stable and producing less error messages. Doing some QA work over the last few days I found that AVI (Divx) and MOV (Quicktime) files both transcoded dependably to Ogg Theora.

More work is needed to make MPEG and Windows Media transcode as dependable, but this shouldn’t be to hard to rectify. Once we got the input formats working dependably for Pitivi I guess it would be time to go through the output formats. I haven’t tested yet, but there has been quite a lot of work done to enable and fix more muxers in recent months so maybe some combinations already work fine.

Edwards next target for Pitivi is enabling cutting in the GUI. That means that we at least allow cutting and gluing of video clips which should be a step toward providing useful functionality beyong transcoding.

Of course a lot more could be enabled quickly in the GUI if more python hackers came onboard to help out. If you are getting into Python and is interested in helping out, please stop by #pitivi on irc.freenode.net

Latest developments – Schrodinger, Flumotion, Elisa and Trick Modes

For those who want to use Schrodinger to build plugins or support Dirac encoding/decoding in their own applications or libraries which don’t use GStreamer David have now commited the changes to SVN which makes libschrodinger install the needed header files for development. We are still not promising a fully stable API, but we don’t expect any radical changes either so it should be a good time to start playing with it.

On the topic of free formats. Wim wrote a full set of GStreamer RTP plugins for Vorbis and Theora recently and now Sebastian, who is the latest addition to our Flumotion team, is working on integrating RTP streaming into the open source Flumotion. When this is done we will have a end-to-end Vorbis/Theora RTP streaming solution going from Flumotion to Totem.

Philippe checked in initial trick modes support to Elisa the other day. That means that when you play back you can speed up/slow down the playback speed of videos, using your remote or using the keyboard arrow keys.
Forward trick modes (fast forward, slow forward) works on all formats automatically, but reverse playback only works on formats where support for it is specifically added to the decoder. Wim is working on getting reverse playback going for Ogg Vorbis/Theora files currently so there is at least one open working example of it available.

Getting an end-to-end RTP streaming solution using Vorbis/Theora and full Ogg Theora/Vorbis trick modes going will be a good milestone for us as one of our initial goals at Fluendo was making sure that free formats where competitive on features with non-free ones. Its been a rough road getting there as enabling these for open formats have tendsed to be harder in many cases compared to the non-free ones, both due to the distinct nature of the Ogg container format and also the need to define specifications first in many cases (like our sponsorship of getting the Vorbis and Theora RTP specifications written), but seeing things come together now feels really rewarding.

Btw, I did a new micro release of the MPEG Transport stream muxing library today with a tiny fix to the .pc file. If you installed libtsmux into something else than /usr/lib you would have discovered by now that the GStreamer MPEG TS muxing plugin didn’t build. This updated version of libtsmux fixes that. Get it from the Schrodinger download page

Also a big congratulations to the Jokosher team on their 0.2 release. Keep on rocking guys!

New release of Elisa

While I was away at UDS in Mountainview the Elisa team did a new release of our Elisa mediacenter solution. At the same time the website got a facelift making it look a little closer to the new default theme for Elisa. As mentioned this release do not add a big amount of new features compared to the previous one as it has mostly been about remodeling the internals of Elisa to enable us to take it where we want to. We are now however again going to be moving forward with feature additions and usability improvements. On the top of my personal wishlist is trickmodes and stronger upnp support. Coming up with some clever UI ideas for how we handle music collections and huge video collections is another important todo.

We need more people!

Things are moving fast here at Fluendo and we are continously looking to add more developers to our staff. The Elisa team is looking for a new member and I am looking for someone interested in working on various solutions around our codecs, especially some installation and upgrade tools to integrate with our webshop solution. Something a little more advanced that loki_setup/loki_update, yet less ambitious than Red Carpet or RHN. Longer term this person would probably be involved in other projects here too, like the DVD/BlueRay player and general codec development. If you are interested in any of these two and Barcelona sounds like a tempting place to live please mail me (christian-at-fluendo-.-com) for more information.

Thanks to Sun for GPL Java

As everyone is aware of by now Sun is releasing Java under the GPL, which is great news. One thing did strike me as a little weird though,
when visiting the page with video’s with testimonials from people like RMS and Mark Shuttleworth they use Flash video (which for me almost never plays in sync). Considering this is an announcement of GPL Java it would have been cool if they instead used Cortado which is a 100% Java GPL licensed solution using the Free Vorbis and Theora codecs. And as you can see from this demo page for our stream hosting service the quality of Cortado these days is pretty good and we are continuing to invest more resources into it to make it more powerful.

So get into the groove Sun and go 100% Java with your internet video, no need to use an expensive proprietary solution when you can get something just as good based on 100% GPL Java :)

Ubuntu Developers Summit
So Wim Taymans, Tim-Philipp Müller and myself will be attending the Ubuntu Developers Summit next with in Mountain View,California. We will be there to discuss issues and opportunities for improving
multimedia support in Ubuntu and friends. We will try to attend as many of the multimedia related tracks as possible.

Elisa

Grabbed the subversion branch of Elisa yesterday in order to try to help out with cleaning up the licensing before release. The new default theme is looking really sweet and the ability of the new backend ‘pigment’ to run on any backend we want to will be a great advancement. Anyway before we release I need to go over both Elisa and Pigment and verify that all the files have a copyright header and that it is the correct ones :)

Cedega by NVidia
Discovered today that Nvidia are offering a download of Cedega
through the demo downloads site NZone. Hope its a sign that linux is becoming a gaming platform that commercial vendors have started to notice.

A Scanner Darkly
Saw the movie ‘A Scanner Darkly yesterday at the cinema. Well the animation effect was fun for the first 15 minutes, after that the fact that the movie was just extremely boring started to kick in. Considered leaving the cinema at mutiple times before it was done playing.

Elisa and Dirac news

Thought I share some of the latest newsbits on Elisa our media center solution. Philippe and Loic are hard at work with the reworking of Elisa internals, which hopefully will be mostly done by the end of next week. Once that is done we have a much stronger fundation for going forward and can go back into ‘feature add’ mode. Two features which we hope to get added in the coming month(s) is full uPnP support and DVB support.

There already is limited client uPnP support in current Elisa, but thanks to the work Frank Scholz is doing on creating a python uPnP framework called Coherence (sorry no URL yet) it should be much easier for us to take the upnp support to the next step to make Elisa a full server and control point for upnp/viiv services. One nice thing that this will enable is integration with Media Streamer which is a upnp enabled player/controller for the Nokia 770. My hope is that you would eventually be able to use your 770 as a media center control pad for your home with Elisa as the heart.

In regards to DVB most of the GStreamer related work is done now and in GStreamer CVS. What we know need is some way to scan whats available through DVB and then hook everything up with a GUI in Elisa.
I hope to be able to throw out my DVB decoder box at home and replace it by a system with a DVB card and running Elisa before new years.

Another cool Elisa newsitem is the Flickr plugin that Michael Sheldon did. As Elisa matures I hope we have a huge number of such plugins available enabling people to easily pick and choose the plugins they want to create the media center system of their dreams.

Dirac stuff

David Schleef is doing some great work currently on Schroedinger. With latest CVS of Schroedinger and liboil I am able to transcode files to Dirac in Ogg using this pipeline:

gst-launch-0.10 filesrc location=320-256kbits-NVIDIA-MadModMike.wmv ! fluasfdemux ! fluwmvdec ! ffmpegcolorspace ! schroenc ! oggmux ! filesink location=dirac-in-ogg.ogg

And play it back again with gst-launch and playbin. Still eating a lot of CPU which David is trying to figure out how we can reduce even if the arithmetic decoding seems like a though nut to optimize. Getting some strange error in Totem, but we will hopefully be able to resolve that soon.

I am also able to create MPEG Transport Stream files with Dirac inside using our Transport Stream muxer that we developed with BBC R&D. We are working on some critical deadlines currently making time a lacking resource, but hopefully things will cool down a bit next week and we can take the time to move it into the public SVN and make a proper release for the public.

GStreamer and Phonon

Starting 1st of November Fluendo will be dedicating a resource to implementing a full featured GStreamer backend for Phonon, the multimedia API for KDE4.
The goal is to make the best backend for Phonon possible in order to demonstrate the qualities of GStreamer to the KDE community and hopefully lessen the chance of fragmentation in the free software multimedia space. This work is done in cooperation with a major industry player who shares our goal of providing the Linux and Unix communities with a unified multimedia API. I let them let announce their name themselves due to contractual reasons, but I do expect to see them talking publically about this at some point as it is quite direct follow-on to already announced efforts they are doing to bring more unity the free desktop under the auspices of the Portland project and the LSB.

As some of you know I have personally voiced reservations on Phonon in the past, and while I still think some of my concerns are valid, I hope that this effort can be a starting point for a more productive exchange of ideas. If we manage to make the GStreamer backend as good as we hope to then it would be a big step forward in resolving the worries some KDE developers have voiced about the readiness of GStreamer and maybe even encourage the development of a full set of Qt-style binding to GStreamer to suplement to the high level objects of Phonon.

I also hope is that this work will be a big step towards making users life much easier, as it will allow distributions to ship GStreamer plugins that enable proprietary codecs, and know that no matter if the user uses a GNOME/GTK or KDE/QT application the user will get access to these formats (at least as soon the licensing of applications are sorted out ;).