Transcript of talk: "Network-Integrated Multimedia Middleware"

KDE Contributor and Developer Conference

Notes taken by: Jonathan Riddell (these are not official material)

More information on the talk can be found here

PC centred approach is current, stand alone multimedia PC, streaming content from the Internet is the closest you get to networked multimedia. Some other devices e.g. set top boxes running GNU/Linux, palmtops as well. NMM is a middle layer between applications and distributed systems.

Some examples of applications with NMM are distributed encoding, watching TV using remote TV receiver, remote control for remote TV. Multicasting to many users. Drive-in cinema is a far out idea of a large video screen with audio sent to local palmtop computers.

GStreamer and MAS have the concept of a pipeline, NMM calls them flowgraphs with nodes. Nodes are as small as possible. Jacks connect nodes. e.g. read file->MPEG Audio Decode->Playback Node.

NMM is just a messageing system at its core. Header information has timestamps etc. A buffer stores data. Flow graphs are distributed, each node can run on a differrent system. NMM IDL is similar to CORBA IDL. Nodes are similar to GStreamer or MS Direct Show, source nodes, effect nodes and sink nodes.

Lots of technical stuff followed, read the slides.

Various demos including Amarok playing video using NMM. People were impressed by NMM outputting to a local machine and to a remote machine in perfect synchronization.

Question about viability of development. Unlike GStreamer this is a research project but not actively bazaar developed. If people want to help they will be welcome, also there are lots of students at their university willing to help because they like being able to recode their media files.

Question about usage of NTP, when will NMM make NTP nice? NTP is nice, it's complex but they doubt it can be done better at least not by them.

They are not considering security at all currently. They have considered restricting the interfaces that other applications can connect to but that work remains to be done.

How about binary compatibility. If someone needs it they will do it.