Dirac and MPEG TS

Ok, so I finally managed to push the long promised release of Dirac of the door thanks to the hard work for David Schleef. Not only that I was able to release our new MPEG Transport Stream muxer today including a written specification for how that is done, in order to allow other projects to implement it in a compatible way.

The new version of the decoder includes a heavily updated encoder and decoder compared to our previous code drop. This release encodes files that are very close to the latest Dirac specification in terms of conformance. The decoder should also be able to handle the files generated by the Dirac library from BBC.

You find the released files for both projects on the Schrodinger SourceForge project page.

The documentation for mapping Dirac into both Ogg and MPEG TS have now been added to the new Schrodinger documentation page.

And last but not least a GStreamer plugin using the new MPEG TS muxing library can be downloaded from the Fluendo file repository, the same repository holding our MPEG demuxer plugin which able to deal with the produced MPEG transport file which holds Dirac. Direct download from here

Questions, feedback patches etc. should go to the schrodinger-devel mailing list.

UDS Mountainview

So Wim, Tim and myself are back from attending the Ubuntu Developers Summit in Mountainview, California. It was a great conference and it was good to see how the Ubuntu community works up close. While I did attend an earlier UDS in Mataro outside Barcelona for a few days this one was a very different experience as multimedia was at the top of the agenda.

The specification for easy codec installation will hopefully help move things forward in userfriendliness quite a bit. Tim wrote the GStreamer
part of with input and help from Wim during the conference. The whole spec is not really tied to Ubuntu so our hope is that the various distro’s will hook their own systems into it just like Ubuntu plans to. My thinking at this point is that we will also hook our commerical plugin offerings from Fluendo into this setup.

Another specification which got a lot of discussion was the audio jumble one where
basically PulseAudio was basically chosen as the way forward. The plans in this area coincides well with the plans of other distro’s as well for example the work and plans of Monty for Red Hat/Fedora. A topic that came up a bit both in the meetings and also in private conversations aftwards was about the relation between pulse audio and GStreamer and the ‘border’ between the two. In regards to the first the answer is pretty straight forward, GStreamer is no sound server and thanks to Lennart we have a good Pulse Audio GStreamer output plugin. When it comes to the ‘border’ I think the broad lines are drawn already, but the finer details will have to be measured out over time. My general answer when asked about it was that I thought Lennart wanted PulseAudio to do more than what we in the GStreamer camp would have it do, but since he was the one doing the coding on Pulseaudio and not us, it wasn’t our place to critisize his choices.

There where also some nice coding done during the conference. Wim implemented full RTP support for both Vorbis and Theora in GStreamer during the conference, meaning that we took a big step forward in being able to provide a free RTP based streaming solution. The next step in the process is to merge in the RTP branch into Flumotion head and get that working with the new RTP modules.

Wim also did a lot of work on Ogg trick modes during the conference and was able to play a vorbis file backwards before we left. Still some more work needed before this works perfectly and also for Theora, but having it supported in a free codec feels good as it has only been implemented in our commercial windows media codecs so far.

As Jono mentioned in his blog there was also quite a lot of buzz around Jokosher at UDS. The effort that has been put into helping out the Jokosher team with resolving bugs in GStreamer and Gnonlin I think is reaping great rewards through the great steps forward that Jokosher is taking. The work on Gnonlin will also yield great returns for Pitivi as most of the issues fixed would have popped up in Pitivi too. The plans for network instruments that where discussed in conjuction with the work done on telepathy was another highlight and something I think could be a real killer feature for both Jokosher and Telepathy.

There where of course many other important topics that was discussed and planned for during the summit. For my own part I found the great work done on improving Bluetooth support to be quite exiting. This was also an example of how Nokia’s increased involvement due to the Maemo and 770 projects continues to be a positive addition to the community and also shows how Nokia strives to be great community memembers be reaching out to the wider Linux/GNOME bluetooth community, like Marcel Holtmann who was present at the conference. The work that Marcel Holtmann is doing in this field is nothing short of amazing and will be a big step up from the current meager offerings of the gnome-bluetooth manager.

The conference also provided a opportunity to hang out with David Schleef again. We managed to squeeze in an evening in San Fransisco, seeing David’s abode, going out for some Japanese food and drinking some local brews and a nice bar called the Toronado. We have a new release of Schroedinger ready so I just need to update the webpage and send out a release announcement. Will get the MPEG Transport Stream muxer out at the same time.

Returned to Barcelona on Saturday, didn’t get much done for the remainder of the weekend apart from sleeping and catching up on the two episodes for Battlestar Galactica that I missed while away :)

Time to give Solaris another try?

We have decided to try to support as many of our plugins as possible on the Solaris platform in addition to GNU/Linux. Due to this I installed Solaris Express under vmware on my machine this week. I have to say that Sun is making great strides forward with Solaris as a developers workstation. Coming at this from someone who has been using Red Hat/Fedora for a long while, this Nevada build was the first Solaris install I could actually see myself using for more than Solaris specific testing. And I mentioned this before, GNOME seems snappier when running under Solaris for some reason, even when running it inside wmvare.

DVD and Windows Media

On my last blog entry I got a couple of questions about the status of DVD and Windows Media in GStreamer.

In gst-ffmpeg CVS it now supports WMV9, so as soon as the next release is out then WMV9 support will be available through that. Also as I have mentioned here Fluendo will launch our proprietary Windows Media plugins very soon now, maybe as early as next week.

In regards to DVD support, well with the new decodebin, which we hope to integrate within the next week or two, getting DVD support working should be much easier. That said someone would still need to do the work. At Fluendo we are due to contractual obligations not able to directly participate in the development of the open source DVD plugins, so we need external contributors to do this work. Anyone interested in helping out should talk to __tim on on irc.freenode.com for the details of what needs doing.

Dirac

Thought I should do another Dirac update. The Schroedinger project is progressing nicely with the code currently being in bugfix and optimize mode. I hope to push out a release as soon as we have a couple of troublesome bugs fixed. We have sucessfully muxed Dirac into both Ogg and MPEG Transport Stream at this point and I am sure mappings for more formats will come.

Ours is not the only Dirac effort though, there is of course the reference/development version by the BBC and there is also a project to make a hardware implementation of Dirac by Peter Bleackley.

We are rapidly moving towards being able to start pushing Dirac with full force. The good thing at this point is that we have a lot more tools to start pushing Dirac with from day one. Like when we started pushing Theora there was a problem that people found they had few or no tools available to make Theora files, which caused even the strongest supporters of open formats to stumble. At this point hooking Dirac into tools such as Flumotion, Pitivi, Thoggen, Totem and many more is either a quick job or something that happens automatically, all thanks to having managed to build GStreamer and the eco-system around it.

DVB – I mentioned in an earlier blog Zaheer has been working hard on getting our DVB support up to scratch. Things are starting to come together know with a DVB signal being converted to Ogg on the fly and streamed using Flumotion. Some work remains before we can integrate DVB into applications like Elisa (and maybe even Totem?) but things are moving forward.

RTP – On the RTSP/RTP side progress is also being made. There is for instance a set of RTP paylaoders and depayloaders in CVS now for Vorbis. The plan is to also get a set for Theora in there.

Texas Instruments and GStreamer

Was very happy to see Texas Instruments announce their work
on integrating
GStreamer with the OpenMax acceleration architecture. A big thanks to Texas Instruments for this contribution to GStreamer.

Fluendo hiring

On the topic of GStreamer and embedded systems. We are looking to hire another motivated coder to work on Elisa and join our crazy team here in Barcelona. Anyone interested please Philippe Normand at ‘philippe at fluendo d0t com’ or come into the #elisa channel on IRC channel on freenode. Skills we are looking for is experience with GStreamer, Python, Twisted, OpenGL and uPnP so if you know one or more of these be sure to get in touch.

Elisa Press release finally out

So finally managed to put out the Elisa press release. It had been a good while since we last sent out a press release so it was good to get it out and hopefully get in the habitt of doing them more often.

Loic also put up some new pages on the Elisa Wiki describing the split-out of the Toolkit from the application. Very nice overview of what features are in the toolkit, how it works and where we are seeing it go forward. Also based on a discussion I had with Matthew Allum we added OpenGL ES as an explicit target for Elisa.

In other cool news so did Stuart ‘Young Whippersnapper’ Langridge put up a webpage for Jackfield. Jackfield for those you missed Stuart’s talk during GUADEC is a engine for running MacOSX Dashboard applets under GNOME. Be sure to check it out and send Stuart patches to make your favourite Dashboard applet work.

Want out of the box Vorbis support on the 770?

I know many of you have requested Vorbis support on the 770. Well the way we can make that happen is to demonstrate that there is a real interest in this. Nokia gathers statistics on what people report in their bugzilla and this is a big part of setting priorities going forward. So if you want Ogg Vorbis to be supported on the 770 device then please go to Maemo bugzilla and file a bug report requesting they add Vorbis support. I am going to do this myself this week, so please do so yourself and also tell anyone you know to do so too. If you don’t then you lose the right to complain about lack of Ogg Vorbis support on the 770.

GStreamer, gst-python hackfest

Edward Hervey is organizing a gst-python centric hackfest here at GUADEC tomorrow at 12.00 in Carpa. (Originally scheduled for Friday).
Projects such as Pitivi the non-linear editor, Jokosher audio mixer/recorder, Elisa media center and the Flumotion streaming server will be there. So if you are interested in getting involved with any of these projects make sure to be there. Also if you have questions about writing GStreamer applications in Python in general experts like Edward, Jono Bacon, Stuart Langridge, Phillipe Normand and Loic will on call.

Back and kicking

Been a while since I blogged the last time. Got sick which took my energy level down to 0. Still not fully recovered, but thanks to the wonders of modern medicine I can at least function quite well now.

Polypaudio (or what is now known as Pulse)

Got a few comments on my previous blog entry where I discussed Polypaudio (Pulse) (and also mentioned JACK). To start with JACK, as I tried to say in my previous entry, I simply think its the wrong tool for the job (the job in this case being a generic sound server for the desktop). JACK solves the problem of low latency access on your local for applications specifically written for it when used in combination with a special kernel. The desktop on the other hand is looking for a solution which mixes your sound streams if you have a cheap sound card, gives you some basic network transparency and sample caching.

In regards to Pulse vs Phonon, I don’t think comparing them makes sense. As for wether Pulse is an unecessary interfaces, well for many of us it is. If you are only playing back sounds on your local system and your soundcard handles multiple writes or you are using dmix then having a soundserver there doesn’t give you anything extra IMHO. The sound server usecase is mostly in the case of remote clients or as an alternative way of mixing sounds to using a kernel/alsa level solution like dmix. Personally I wouldn’t mind having a sound server there even if I strictly don’t need it if it didn’t get in the way. ESD do get in the way which is why I haven’t used it for the last 3-4 years. So I am not giving Pulse a ringing endorsement yet, haven’t used it enough to do such a thing, all I am saying is that its the most ‘plausible to suceed’ desktop sound server project in a long time.

GUADEC just one week away!

So GUADEC will fire up next weekend with the main event next week. Really looking forward to it! The teams here at Fluendo is working hard to have cool stuff to demo for Pitivi, Elisa and Flumotion.