Multimedia Software: Ms P Kadebu
Multimedia Software: Ms P Kadebu
Ms P Kadebu
Networked multimedia
Network multimedia can be
defined as multimedia
applications and services,
which are distribute into a
network
For example, www services,
digital television, and WAP
Causes of multimedia
Multimedia has continuous media elements,
which have to be synchronized
Media is usually transferred as streams
Inside the stream, the samples (audio sample,
video frame, etc.) are in order
Media streams can be synchronized
› Internal synchronization: isochronous
› External synchronization: synchronous
Buffering of media streams
It is impossible to synchronize media streams
exactly
Data transfer delay fluctuates, which causes jitter
Human can detect even small fluctuation
Fluctuation can be reduced with buffering
Usually, buffering is required in several stages
Programming
There are two ways to implement distributed
multimedia system:
› client / server
› distributed software
Browser software architecture is typical example
of client / server architecture
Distributed software means usually distributing a
object oriented software into a network
Browser based architecture
Internet applications are based on client / server
architecture
WWW browser is a typical client program
WWW server is a typical server
There can also be other servers (database, video
on demand, video conference, etc.)
In addition infrastructure servers are needed
(proxies, directories, etc.)
WWW architecture
Helix
Helix DNA is an open source multimedia
platform based on RealPlayer
It contains streaming server, player, codecs, and
production tools
All components are available both as commercial
and open source versions
In May 2006, Helix had been installed in over
hundred different mobile phones and over 80
million units had been delivered
Helix Platform
Distributed software
Object oriented software can easily be distributed
to several computers
Objects have to find each other somehow
› directory service
The method calls and replies of the objects have
to be forwarded to the right computer
› Object Request Broker (ORB)
Commercial solutions are, e.g., OMG Corba,
Microsoft DCOM & .NET, and Java RMI & Jini
Corba architecture
Components
Client and object implementation talk via ORB
The interfaces are defined with IDL (Interface
Description Language)
Normally, the calls are made to the static stub,
which forwards the call via skeleton to the object
The implementation can also be dynamic
Objects register with the help of the adapter
Software architecture
implementation
The software architecture can be implemented
also on the system component level
Multimedia affects both servers, network, and
terminals
Efficient implementation requires additional
features and even full redesign of some
components
Servers
The servers can be classified into transaction
(www, data base) and streaming servers (video)
Scalability is most important feature of
transaction servers
› if necessary, the task can be divided for several
servers (replication)
Most important feature of streaming servers is
real-time support
› in practice, this means real-time scheduling
Disk scheduling
The hard disk usage of video-on-demand servers
have to be designed carefully
Usually, the disk seek time and space
consumption is optimized
› thus data retrieval is based on fairness
Video-on-demand server has to keep buffers full
› real-time scheduling algorithms
› relative location of files
Apple Darwin Streaming Server
Based on Apple QuickTime Streaming Server
Apple published it as open source in March 1999
Latest version is 5.5.4
Originally intended for OS X operating system,
but also available Linux, FreeBSD,
Solaris, Unix, OS 9, and Windows
Configuration Example
Capture and encode
Streaming Server
Network
Network has to support multimedia transfer:
› Quality of Service (QoS)
› real-time media streams
› scalability
Resources have to be reserved for multimedia
traffic
› ATM QoS
› IP Integrated Services
› IP Differentiated Services
Network (cont.)
Network protocols have to support realtime
Media streams
› e.g., IP Real-Time Protocol (RTP), Real-Time Control
Protocol (RTCP), and Real-Time Streaming Protocol
(RTSP)
In addition, the network has to support several
simultaneous users
› e.g., IP Multicast
Terminals
XML parser
XSL transformer
DOM interface
ECMAScript interpreter
XPath engine
XML Schema engine
CSS layout
X-Smiles History