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 ;).

News and tidbits

Realized I hadn’t blogged in a while so I figured I should get back into the groove by highlighting some of the cool developments at Fluendo and around GStreamer.

Elisa is making great strides forward. One of the latest features being worked on is DVB support with Zaheer working on the GStreamer side of things, and it is starting to come together with audio playing yesterday. Hopefully soon we will have video going too. Getting DVB working will not only be useful for Elisa of course, but also be of great use for Flumotion.

On the playback side there are some nice developments as well. Wim committed some changes to GStreamer last week which improves network buffering quite a lot, as soon as Tim updates Totem this will improve Totem/GStreamer as a streaming client. Wim is also working on integrating a series of patches by Lutz Müller which improves our RTSP support and will also give us support for RTSP in playbin/Totem. Combined with the work that has been going on by Bastien and Christian Persch to improve the Totem browser plugin I think web media handling will be greatly improved. Using Fluendo’s Windows Media plugins I am now able to view the videoclips on cnn.com for instance.

Edward is putting final touches on some major GStreamer decodebin changes these days too. The new version will allow decodebin to not only output raw audio and video, but also output compressed data. This is very useful for use with digital output like s/pdif where you want to output AC3 or DTS not raw audio. The changes will also improve our handling of media files which contain more than one audio or video track and last but not least will solve the problem of handling chained oggs we have been seeing for a good while now.

Another cool addition coming soon is a MPEG Transport Stream muxer for GStreamer which Jan is working on. This project is done in collaboration with our friends at the BBC R&D. As part of this Jan is also defining a mapping for Dirac in MPEG TS so that other players and projects can use compatible mapping with ours.

Speaking of Dirac, work is still continuing at full speed on Schroedinger our Dirac implementation. David Schleef is currently polishing up the code to make sure the produced bitstreams are 100% compatible with the ones created by the Dirac library. Once that work is finished we will cut a new release before moving on to a optimisation phase to make sure Schroedinger is a really high performance Dirac implementation.

Another nice GStreamer change we hope to get into upstream GStreamer soon is a binary registry for GStreamer. Matthieu have been working on it for a while and the main advantage is that it improves both performance and of course gives GStreamer one less dependency as it removes the libxml requirement.

Also thanks to the work and support of Nokia, including the hard work of Edgard Lima and Stefan Kost, we will soon be able to move the video4linux2 plugin into -good. This means that we feel confident that the v4l2 plugin has reached a quality level where we can officially support it as part of the GStreamer project.

Another fun development at Fluendo without any direct community effect is that we have been doing a lot of training sessions recently for our customers. Fluendo trainers have been flying of so far to the US and China, but India , Taiwan and Brazil are on the agenda too now. As the adoption of GStreamer in the embedded market is rapidly growing in momentum the need for developers to get trained in how do develop with the GStreamer framework has given us a nice and interesting side business.

Also some long legal negotiations are being rolled up these days, meaning that we expect to launch a big slew of new plugins into our webshop very soon. Been beta-testing the Windows Media ones for quite some time now, but I hope to add MPEG2 and MPEG4 to the beta program this week in preparation for the launch. There has also been some significant fixes done to the MP3 plugin we offer so a new version of that will also be pushed out.

I am also very happy to see all the nice GStreamer developments happening elsewhere, like the OpenOffice and GStreamer integration work reported on by Michael Meeks. The ongoing greatness of Jokosher and the really sweet UI revamp that will happen to Pitivi partly due to having recently hired a graphical designer here at Fluendo who has been working with Edward on coming up with some radical new UI ideas.