Download Multicast - Etusivu - Tampereen teknillinen yliopisto

Document related concepts

IEEE 1355 wikipedia , lookup

Deep packet inspection wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Video on demand wikipedia , lookup

Internet protocol suite wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Streaming media wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Transcript
Multicast
What is Multicast?
• A new concept for transmitting data over
computer networks
• Best suited for one-to-many or many-tomany delivery of data
• Designed to reduce network load
• Developed for next-generation applications
Multimedia Systems
A Brief History
• The interest in building a multicast capable
Internet achieved critical mass in late 1980s
• MBone has been created in the beginning of
1990s and grew rapidly after 1992
• Multicast aware routers and lately even
switches appeared on the market
• Today multicast is still evolving, new multicast
routing protocols are being developed
Multimedia Systems
Applications that Need Multicast
• Audio and video conferencing
• Multimedia distribution (audio, video)
• Delivering stock tickers from stock exchanges
to brokers or businessmen
• “Shared whiteboards” and joint document
editing by a group
• Distance learning and training (lectures)
Multimedia Systems
Specific Multicast Applications?
• There is no “specific” multicast application
• Some think that multicast is suited only for
bandwidth consuming applications
• Some think that multicast is suited only for
multimedia delivery applications
• Some think that multicast is suited only for
applications with large number of receivers
Multimedia Systems
Why Multicast?
• Multicast introduces
S
7
2
6
Replicated unicast
6
G
G
G
G
3
G
2
2
G
G
S
G
G
Multicast
G
G
G
G
G
•
efficiency in data
transportation, shifting to
the network layer the
responsibility of delivering
packets to all interested endstations
There are a lot of one-tomany or many-to-many
applications that use
replicated-unicast or
broadcast in order to send
data to the receivers, but this
consumes processing power
and bandwidth
Multimedia Systems
How to Understand Multicast…
• Multicast falls between unicast and broadcast
• In fact we can view unicast and broadcast as
two “degenerate” cases of multicast
• Taking this viewpoint:
 unicast happens when there is a one-to-one data delivery
 broadcast happens when there is a one-to-all data
delivery
Multimedia Systems
The Multicast Groups
• Multicast introduces the concept of a multicast group
• A multicast group has a single multicast group address, all hosts
•
•
•
•
•
•
•
from a group will receive the data sent to that address
Multicast groups are dynamical, hosts can join and leave a group
at any time
Whether or not to be member of a group is a local decision
A group can have any number of members
A group can have any shape, size, or geographical extent
A host can belong to several multicast groups at the same time
The sender(s) do not have to belong to the group(s) to which they
send traffic
Group membership is receiver initiated (!)
Multimedia Systems
IPv4 Address Space
• The IPv4 address is 32 bits wide
• The address space has been divided in several
address classes originally to yield network
numbers of different sizes
• IP addresses are usually expressed in the
“dotted-decimal” notation, each address is
written as four numbers between 0 and 255
divided by dots (e.g. 130.230.50.30)
Multimedia Systems
The IPv4 Address Classes
• There are 4 IPv4
•
•
classes to date: A,
B, C and D
Initially all defined
addresses were
unicast
After multicast
addresses being
defined, classes A,
B and C are for
unicast, and class D
is for multicast
Class A Address
0.0.0.0 - 127.255.255.255
Class B Address
128.0.0.0 - 191.255.255.255
Class C Address
192.0.0.0 - 223.255.255.255
Class D Address
224.0.0.0 - 239.255.255.255
6,25%
6,25%
12,50%
50,00%
25,00%
Multimedia Systems
Class A
Class B
Class C
Class D
Unspecified
The IPv4 Address Syntax
• Class A addresses begin with a 0 bit:
 0 | 7 bits network number | 24 bits host number
• Class A addresses begin with a 10 bit:
 10 | 16 bits network number | 16 bits host number
• Class A addresses begin with a 110 bit:
 110 | 24 bits network number | 8 bits host number
• Class A addresses begin with a 1110 bit:
 1110 | 28 bits multicast group number
Multimedia Systems
Reserved Multicast Addresses
• A group can take any address available from the multicast address space.
However there are some addresses that are reserved and cannot be used,
since those are reserved for different protocols, certain applications or
special groups
• Class D addresses starting with 224.0.0.x and 224.0.1.x have been reserved
for various permanent assignments. For example:
 224.0.0.0 : Base Address
 224.0.0.1 : All Systems on this Subnet
 224.0.0.2 : All Routers on this Subnet
 224.0.0.4 : DVMRP Routers
 224.0.0.5 : OSPF All Routers
 …
 224.0.1.1 : Network Time Protocol
 224.0.1.2 : SGI-Dogfight
 224.0.1.3 : rwhod
 224.0.1.5 : Artificial Horizons – Aviator
Multimedia Systems
Other Reserved Multicast Addresses
• The last reserved multicast addresses
239.0.0.0/8 are set aside for use within private
networks
• Host groups on the public Internet should not
use these addresses
• Private networks that employ such addresses
should not forward packets destined to such
groups onto the Internet
Multimedia Systems
Scoping the Multicast Traffic
• Multicast traffic should be limited, in order not
to flood the Internet
• Scoping the multicast traffic presents it’s
difficulties when there are overlapping regions
• There are several ways of scoping the
multicast traffic (implicit scoping, TTL
scoping, administrative scoping)
Multimedia Systems
Implicit Scoping
• Implicit scoped groups are generally reserved
•
•
•
multicast addresses
These packets are limited to the subnet on which they
are originally transmitted
Both the TTL field is set to 1 (only the current
subnet), and the routers know not to ever forward
packets having the destination address within certain
range
The implicit scoped addresses are taken from the
range 224.0.0.0/24
Multimedia Systems
TTL-Based Scoping
• Each IP packet has a field
•
•
•
containing the TTL (time to
live)
Any router has a TTL value
assigned to it
Any packet having the TTL
value less or equal than the
router’s, is not to be
forwarded
Any packet having the TTL
value greater than the
router’s, will be forwarded
with the TTL value
decremented by 1
TTL
Scope Threshold
0 Restricted to the same host
1 Restricted to the same subnetwork
15 Restricted to the same site
63 Restricted to the same region
127 Worldwide
191 Worldwide; limited bandwidth
255 Unrestricted in scope
Multimedia Systems
Properties of TTL-Based Scoping
• It requires arbitrary choices of TTL ranges in
order to be effective
• The responsibility of enforcing the scope is
divided between 2 separate entities: the
network manager and the users of the source
station(s)
• Privacy and security policies are not applicable
if the only administrative metric is the TTL,
because TTL is indiscriminate
Multimedia Systems
Administrative Scoping
• The idea behind administrative scoping is to provide a way to do scoping
based on the multicast address
• The range 239.0.0.0/8 has been reserved for administrative scoping
• Even if these addresses represent 1/16 of multicast addresses, there still are
16,777,216 addresses to use
IPv6 Scope
Description
IPv4 Prefix
3
Local
239.255.0.0/16
5
Site-local
239.253.0.0/16
8
Organization-local
239.132.0.0/14
Multimedia Systems
Properties of Administrative Scoping
• An administratively scoped region has fixed
•
•
•
boundaries
Provides a mechanism for well-defined
boundaries (which may overlap)
It is a good privacy mechanism (important for
business conferencing and other private
information exchange)
All administratively and TTL scoped regions
must have the following properties:
 They must be convex
 They must be connected or compact
Multimedia Systems
Multicast Routing and Forwarding
• Multicast routing protocols are used by multicast
•
•
•
routers to discover multicast delivery trees
Multicast forwarding is the procedure of transmitting
from one router to another the multicast packets,
based on the information derived from multicast
routing protocols
Routers get information from the end-stations about
their group memberships (consequently about the
active groups) through IGMP
Routers maintain the multicast delivery trees through
specific protocols (DVMRP, PIM, MOSPF)
Multimedia Systems
Internet Group Management Protocol
• IGMP is the signaling protocol that the end-stations
•
•
•
use to signal their group membership interest
It is an integral part of IP, every router today is
supposed to support it
There have been two versions of IGMP, and the third
is being developed as we speak
Some companies (i.e. CISCO) have made their own
version of IGMP for their switches (CGMP)
Multimedia Systems
IGMPv1
• One multicast router per LAN must periodically transmit Host
•
•
•
Membership Query messages, addressed to the all hosts group
When an end-station receives an IGMP Query message, or when it
wants to join a group, it sends a Host Membership Report addressed
to the group’s address, for each group to which it belongs or in
which it wants to join
In order to avoid a flurry of Reports from every group members,
each end-station chooses a random delay until it transmits the
Report(s). If meanwhile it has detected another Report to a group to
which it is a member, the end-station will not send that Report
anymore
If the router does not receive any Report from any member of a
group after a number of Queries, it will assume that no group
members are present on that particular interface, and it will stop
forwarding the multicast packets for that group on that interface
Multimedia Systems
IGMPv2
• All the features from IGMPv1 are present in IGMPv2 with
•
•
•
•
some enhancements to improve efficiency
The multicast querier is the router with the lowest IP address
When an end-station leaves a group, it sends a Leave Group
message to the all-routers group (224.0.0.2)
In IGMPv2 there is a Group-Specific Query addressed only to
one group, so only one member from that group will send back
a Report
When there are a mixture between IGMPv1 and IGMPv2 endstations and/or routers the IGMPv1 will be used
Multimedia Systems
How to Implement a Multicast
Application?
• Decide what the application should do (text chat,
•
•
radio, TV, conferencing, on-demand services, etc)
considering the necessary and the available
bandwidth
Decide about the size of the intended coverage (LAN
only, corporate intranet, campus MAN, etc)
Decide about the scoping (TTL, administrative)
considering also on the network configuration
Multimedia Systems
Routing Techniques
• Broadcast and Prune
 The multicast data itself is the mean to control the delivery trees
 From time to time the multicast stream is broadcasted, and routers
which do not have end-stations for those group(s) send backwards a
prune message in order to remove themselves from the stream
 Protocols and Algorithms: DVMRP, PIM Dense Mode, RPM
• Shared Trees
 There is a central point to which all receivers attach
 Shared trees (rendezvous points) must be joined before the flow of
data, otherwise the central point doesn’t know of any stream and the
data stops
 Protocols and Algorithms: MOSPF, PIM Sparse Mode
Multimedia Systems
Reverse Path Multicasting Algorithm
• The first datagram is broadcasted
to all “child” routers
• If a “leaf” router detects that it has
no groups interested in that
datagram, it sends “upward” a
prune message
• Each “non-leaf” router keeps the
prune messages from it’s children
for a period of time. If it has
received prune messages from all
children, it send upwards a prune
message
• After the time delay has passed,
each router purges it’s prune
records and rebroadcast
“downward” a datagram
S
G
G
G
G
G
G
G
• If a leaf-router detects a “first”
member of a group, it sends
upward a “graft” message. This
message is forwarded upwards by
the routers until it reaches a active
router
Multimedia Systems
Multicast Routing Protocols
• There are several multicast routing protocols: DVMRP, PIM
•
•
•
(DM, SM), MOSPF
These protocols rely until today on the Broadcast and Prune
and Shared Trees routing techniques
The routing protocols implement the routing algorithms (i.e.
RPM), each with it’s own special enhancements, depending on
the network topology or group-members density that they
focus on
Each network manager should select inside his/her network the
routing protocol that is best suited for the network (s)he is
managing
Multimedia Systems
The MBone
• The Internet Multicast Backbone is an interconnected set of
•
•
•
sub-networks and routers that support the delivery of multicast
traffic
The MBone has grown from 40 subnets in four different
countries, to a few hundred thousands subnets today
It’s goal was to construct a semi-permanent IP multicast
testbed to enable the deployment of multicast applications
The MBone carries audio/video multicasts of IETF, NASA
Space Shuttle Missions, U.S. House and Senate sessions,
occasional concerts, sporting events, lectures etc
Multimedia Systems
Summary
•
•
•
•
We found out what multicast is
We know why multicast should be used
We learned how multicast traffic is scoped
We understood the algorithms with which
routers route and forward the multicast traffic
• We have seen the true potential of multicast
trough the MBone
Multimedia Systems
Multicasting Digital Video Streams
• The TUT’s Multimedia Laboratory has a project to
•
•
•
distribute digital streams
In the Tietotalo building is installed a system that
captures satellite and terrestrial digital video streams
These streams are multicasted through the TUT’s
network
There are a series of programs that can receive and
play the streams, both for Windows and Linux
platforms (e.g. NetFilter)
Multimedia Systems
Conclusions
• Multicast becomes more and more a necessity
• Multicast improves network performances,
•
•
•
respectively the costs
It is easy to configure the network (routers, switches)
to support multicast
In the future, more and more applications will
become multicast-dependent
Multicast has yet to prove it’s impact on our
networking
Multimedia Systems
MPEG-4 over
IP
OUTLINE
• MPEG-4 Systems
• Transport Protocols for MPEG-4 delivery
• Issues of “MPEG-4 over IP”
• Conclusions
• References
Multimedia Systems
Introduction
• MPEG (Moving Picture Experts Group);
• MPEG-1  standard on which Video-CD and MP3 are based;
• MPEG-2  standard on which Digital Television set top boxes and DVD are
based;
• MPEG-4  standard for multimedia for the fixed and mobile web;
• MPEG-7  standard for description and search of audio and visual content;
• An “IP (Internet Protocol) address” uniquely identifies a node, a device or host
connection on an IP network (or TCP/IP);
Multimedia Systems
Carriage of MPEG-4 contents over IP
Networks
• MPEG-4 is a standard designated for the representation and delivery of
multimedia information over a variety of transport protocols;
• MPEG-4 includes:
–
–
–
–
Interactive scene management;
Visual & Audio representations;
Functional systems (multiplexing, synchronization);
Object descriptor framework;
• Transfer method for MPEG-4 over IP:
– In context with specific IP packets;
– Multiplexed in MPEG-4 Flexmux (carried in IP packets);
– Multiplexed in MPEG-2 TS (carried in IP packets);
Multimedia Systems
Streaming Media Formats
Multimedia Systems
Example of MPEG-4 over IP
Multimedia Systems
Example of MPEG-4 scene
Multimedia Systems
Object-based compression and delivery
Multimedia Systems
HTTP Transport Protocol
• It is a very simple way to stream media files;
• The wire format is the same as the file-format storage;
• Arbitrary MPEG-4 Intermedia files cannot be streamed directly using HTTP,
because of the “loose” in ordering the objects, and possible cross-references
within the media file;
• Live streaming for Intermedia files can also be supported using proprietary
methods;
Multimedia Systems
Media Control Protocols
•
In order to enable full streaming systems, a media control protocol needs to
be defined to support the following features:
1.
Seeking:
– Forward;
– Rewind;
– Skip.
2.
Bandwidth Scalability
3.
Live Streaming
Multimedia Systems
MPEG-4 Systems
• In MPEG-4 Systems, the transport of streams is divided in 4 layers:
– Compression Layer: includes elementary (raw) media streams (audio, video,
etc.).
– Synchronization Layer (SL): Adds a header to each unit of an elementary
stream, which includes time stamps, reference to a clock elementary stream, and
identification of key frames (RandomAccessPoint). This is similar to the task of
RTP in IP networks. However, SL does not contain payload type (like RTP), and
does not contain the Elementary Stream. In addition, an SL packet does not
contain an indication of its length, so it must be framed by a lower-level protocol
such as FlexMux or RTP.
– FlexMux Layer: Groups elementary streams according to common attributes, such
a QoS requirements. This is very simple multiplexing protocol, but also very low
overhead.
– TransxMux Layer: This is the actual transport protocol, such as RTP/UDP, MPEG2, etc. MPEG-4 does not define its own transport protocol, but assumes the
application relies on an existing transport protocol. The FlexMux Layer is optional,
but the Synchronization Layer is always present.
Multimedia Systems
TCP/IP & SL-packet over UDP/IP
• TCP/IP:
– Not suitable for real-time transfers (high delays and causes jitter, it was
created for reliable transmission over timely delivery);
– Does not support multicast;
– Congestion control mechanism not suitable for AV media;
• SL-packet over UDP/IP:
– SL provides: Timing & Sequence numbering;
– UDP provides: Multiplexing, Length field, Checksum service;
– SL+UDP may be used like a transport protocol for AV media;
Multimedia Systems
Problems of SL/UDP/IP
• No other media stream can be synchronized with MPEG-4 data carried
directly over UDP;
• The dynamic scene and session control concepts cannot be extended to non
MPEG-4 data;
• No defined technique for synchronizing MPEG-4 streams from different
servers;
• Streams from different servers may collide (their sources may become
unresolvable at destination) in a multicast session;
• Mechanisms need to be defined to protect sensitive MPEG-4 data (RTP
supports FEC);
• A feedback channel must be defined for quality control;
Multimedia Systems
RTP & RTCP
• RTP = Real-time Transport Protocol;
• RTCP = Real-time Transport Control Protocol;
• A session consists of an RTP/RTCP pair of channels
• Usually works over UDP/IP (can work with other protocols also);
• RTP supports:
–
–
–
–
–
–
Multicasting;
Payload type identification;
Time stamping;
Sequence numbering;
Delivery monitoring;
From UDP (Multiplexing, Length field, Checksum service);
Multimedia Systems
RTP
• RTP Problems:
– It does not support the timely delivery of data or any other QoS guarantees;
– It does not guarantee delivery, so packets may be delivered out of order or get lost
(no mechanism to recover from packet loss);
• Time Stamp (TS):
– Place incoming packet in correct timing order
– Initial values are picked randomly and independently for each RTP stream;
– Increase in time indicated by each packet;
• Sequence Number (SN):
– Detect packet loss;
– Increase by one for each packet;
• For video frame that is split into multiple RTP packets: they share the same
TS but use different SN;
Multimedia Systems
RTP Characteristics
• RTP can map only one source stream onto RTP session:
– Multiplexing causes problems;
– For scale coding, each layer must have its own RTP session and multicast group;
• Within each RTP session, source can change its data format over time;
• It allows FEC (Forward Error Correction);
• Synchronize across different media streams;
• Provide feedback on the quality of data using packet counts;
• Identify and keep track of participants;
Multimedia Systems
MPEG-4 over RTP/UDP/IP
• Easiest is to wrap the MPEG-4 SL packet in an RTP packet:
– High overhead: two full headers;
– RTCP may not provide enough control for the MPEG-4 stream;
• Several types of MPEG-4 payloads are being defined by the IETF for different
ESs;
Multimedia Systems
RTP ES & SL payload restrictions
• RTP packetization is not media aware:
– No unique scheme can be defined, need a payload definition per payload type (not
practical);
– This may require the definition of new session and scene description mechanisms
to deal with all the flows;
• Common restrictions:
– RTP timestamp corresponds to composition time stamp (CTS) of MPEG-4 stream;
– Packets should be sent in decoding order;
– Streams can be synchronized using RTCP;
• Map SL stream onto RTP session:
– SL header is optional;
• Reduced SL headers does not include:
– Sequence number (mapped to RTP header);
– Composition Time Stamp (mapped to RTP header);
Multimedia Systems
Streams & Media Control in MPEG-4
• Multiple Strems inMPEG-4:
– Port consuming:
• Each AV contains one or more streams;
• Each stream needs one RTP session;
– Potential solution:
• Selective bundling of ESs-FlexMux -> define a multiplexed MPEG-4 payload (may have to
be defined for multiple payload types);
• Generic RTP multiplexing for use with MPEG-4, under development by IETF.
• MPEG-4 Media Control:
– Remote interactivity: add or delete a stream, etc.
– Media control channel allows renegotiating in time the available network and
processing resources;
– Must have an efficient signaling protocol that can handle such messages;
Multimedia Systems
Media Control Framework
• To allow a client and one or more servers to exchange types of control
messages and also allow for peer to peer exchange between two or more
clients, the framework requires several components:
– A description of the stored or live presentation;
– A set of protocols that can provide proper services for the back channel message
delivery;
– A set of protocols that can allocate resources for the involved hosts and networks;
Multimedia Systems
Components of media control (1)
• Presentation Description:
– The client needs to refer to the description of a presentation that
expresses the temporal and static properties of the presentation itself;
– Must include information about the media, location of the media, etc.
– Should provide multiple description instances of the same presentation so
that the client can specify a given combination that fits its
needs/capabilities – the client is the orchestrator of the presentation and
the server is participating;
Multimedia Systems
Components of media control (2)
• Client and Server State Representations:
– Out of band signaling is used: the data streams and the control
information are carried over separate channels using different protocols,
each best suited to their needs and modes of operation;
– As the media streams may be modified by the end user, the server needs
to a state if the streams status for each client it is serving;
– The client has to keep track of all the participating streams;
Multimedia Systems
Components of media control (3)
• Basic Media Control Messages:
– A multimedia system should have access to control messages ranging
from remote VCR functions such as stop, play, fast forward and fast
reverse, to messages generated in response to user actions to modify the
presentation of a given object stream such as add or remove or alter, etc.
– The basic control functionality relates to presentation and stream set-up:
play, stop, pause, teardown and recording;
Multimedia Systems
Real Time Streaming Protocol (RTSP)
• It is an application level protocol that provides an extensible framework to
•
•
enable controlled delivery of real-time data, such as audio & video;
It can be transported over UDP, TCP and is designated to work with RTP and
HTTP;
Provide support for bidirectional communications (frame level timing for
remote video editing);
• RTSP does:
– Control the transmission of media stream;
– Use out-of-band signaling;
• RTSP does not:
– Define compression schemes;
– Define how AV is encapsulated;
– Define how to buffer;
Multimedia Systems
MPEG-4 and RTSP
• From DMIF’s perspective, RTSP is an application alongside MPEG-4
systems;
• The RTSP client and server interact with the MPEG-4 systems;
• The RTSP client and server control the streams through the DAI by an RTSPDMIF interface;
• The interface is kept very simple by limiting it to field mapping between the
RTSP fields and the DAI primitive parameters;
• The RTSP client server interactions are used to control the MPEG-4
elementary streams;
Multimedia Systems
Session Initiation Protocol (SIP)
• IETF Family of Session Protocols:
– Session Description Protocol (SDP);
– Session Announcement Protocol (SAP);
– Session Initiation Protocol (SIP);
• SIP:
–
–
–
–
Two basic components: user agent & network server;
Independent of lower layer protocols;
Extensible to be application specific;
Gaining widespread use in IP telephony;
• MPEG-4 and SIP:
– Unique ability to control different media types within a single session  Multiple
stream transmission in one network session;
– User Agent model fits in well with an MPEG-4 Client/Server model (point-to-point
communication);
Multimedia Systems
Toolboxes for transmitting MPEG-4 over
internet
• RTP  transport of audio/video/… data, quality-of-service feedback;
• RTSP  very simple media control of streams;
• SIP  inviting people, media servers to sessions – telephony and streaming
audio/video;
• HTTP, SDP  retrieve media descriptions;
Multimedia Systems
Issues
• Encapsulation of MPEG-4 Sync layer packetized stream:
– IEC/ISO 14496-8, framework still in revision;
– Lots of issues still remain: time axis, buffer management, etc…
• Interactivity between application and End User:
– Description of MPEG-4 content;
– Initialization of an MPEG-4 session;
• SIP and IPC (Inter Process communication):
– How to describe the dynamic process of channel (stream) setup and release?
– What control information is necessary and how to transport it?
• Transport and IP QoS:
– Must define a mapping mechanism among the different QoS mechanisms:
transport QoS (not available yet), network QoS, etc.
• And much more…
Multimedia Systems
Conclusions
• MPEG-4 is here in a limited fashion;
• We will see a marked growth in MPEG-4 products as chip sets become more
readily available;
• Simple basic MPEG-4 service is not a problem;
• There is a lot of ongoing research on how to deliver MPEG-4 content over IPbased networks;
• The extended version still requires a lot more work.
Multimedia Systems
References
• Multimedia Systems, Standards, and Networks, edited by Atul Puri and
Tsuhan chen, publ. Marcel Dekker, Signal Processing and Communications
Series;
• Magda El-Zarki, Video Over IP, IEEE Infocom 2001, April 2001.
• Standards for Multimedia Streaming and Communication over Wireless
Networks v1.0, by Emblaze Research, July 2000.
• Haining Liu, Xiaoping Wei, Magda El Zarki, A transport infrastructure
supporting real time interactive MPEG-4 Client-Server Applications over IP
networks, IWDC 2001, pp. 401-412.
Multimedia Systems
Windows Media
Microsoft® Windows Media™
• a set of digital media components and
features for personal computers and
consumer appliances
• is fueling a revolution in how news,
information, and entertainment is
distributed and experienced
Multimedia Systems
The Beginning
• started with the personal computer and
•
•
streaming media over the Internet or corporate
network
provided for the first time, truly interactive, ondemand audio and video
though the quality over analog modems was
constrained, users were intrigued and satisfied
with capabilities like news and training ondemand, international radio, and Web-only event
broadcasts.
Multimedia Systems
The Present and Future
• several key initiatives that have already started
to broaden the impact of streaming media on
the consumer and the worker, the media and the
IT industries:
–
–
–
–
–
Broadband Internet
Digital Music
Consumer Electronics
Business
E-comerce
Multimedia Systems
Broadband Internet
• DSL and cable connected homes has
paved the way for the delivery of CD
quality music and near-broadcast quality
video
• need for high speed Internet access for
high quality video and rich interactivity
Multimedia Systems
Digital Music
• the music industry is at the forefront of
the digital media revolution
• providing CD-quality playback
• increase the number of listeners
• protect and distribute content
• allow for widespread compatibility with
other digital consumer devices
Multimedia Systems
Consumer Electronics
• ensure that the digital media revolution extends
•
•
beyond the PC!
media throughout homes, in cars, while jogging
a whole suite of additional Windows Media
compatible consumer electronics devices, will
soon be on the market, that span digital stereos,
car stereos, and advanced television set top
boxes
Multimedia Systems
Business
• Companies are rapidly discovering the
benefits of streaming media in their
organizations:
– virtual company meetings
– "just-in-time" learning
– ability to react to changing business
conditions quickly with immediate
communication to employees, partners and
customers
Multimedia Systems
E-commerce
• rapid growth in usage of digital media for both
•
•
consumer and business applications
content providers are looking to move from
experimentation to revenue generation as
quickly as possible
enables content providers to manage, deliver,
and sell Pay-Per-Download and Pay-Per-Stream
content with Windows Media™ over the Internet
Multimedia Systems
Key Features of Windows Media
•
•
•
•
•
•
•
•
•
Highest Quality Audio
Fast video encoding
Scalable to Full Screen
Windows Media On-Demand Producer
Intelligent Streaming
Advanced Compression Technologies
Integrated with other Microsoft Products
Digital Rights Management
Microsoft Producer
Multimedia Systems
Windows Media Components
• Windows Media Player
• Windows Media Content Creation Tools
• Windows Media Content Editing Tools
• Windows Media Services
Multimedia Systems
Windows Media Player
• play audio and video in most popular formats
• read and perform commands scripted in an .asx
•
•
•
(ASF Stream Redirector) file
receive script commands, markers, and
metadata, such as clip title, author, and
copyright
render Windows Media broadcasts and ondemand content for viewing live news updates
on the Internet
Play movie clips and music videos on a Web site
Multimedia Systems
Windows Media Content Creation
Tools
• used to create ASF content:
– Windows Media Encoder
– Windows Media On-Demand Producer
– Presentation Broadcasting
– Windows Media Author
– VidToASF
– WavToASF
Multimedia Systems
Windows Media Content Editing
Tools
• manage and edit your .asf files:
– indexing
– checking
– chopping
Multimedia Systems
Windows Media Services
• used to send audio and video content, by
unicast and multicast, to clients
• control number of streams played
• monitors clients connected to publishing
points
Multimedia Systems
Inside Windows Media - DirectX
• advanced suite of multimedia APIs (application
•
•
programming interfaces) built into Microsoft
Windows operating systems
provides a standard development platform for
Windows-based PCs by enabling software
developers to access specialized hardware
features without having to write hardwarespecific code
DirectX was first introduced in 1995 and is a
recognized standard for multimedia application
development on the Windows platform
Multimedia Systems
DirectX Usage
• running and displaying applications like
games that are rich in real-time full-color
3-D graphics
• movies, video presentations
• music, surround sound
• playing network games
Multimedia Systems
DirectShow Overview
• DirectShow is the streaming media component
•
•
of DirectX
enables the high-quality capture and playback of
multimedia streams such as AVI, MP3, and WAV
files
with DirectShow you can create DVD Players,
Video Editing Packages, Converters, MP3 Players
and Encoders, and other video/audio
manipulation applications.
Multimedia Systems
DirectShow Goal
• design goal is to simplify the task of creating
•
multimedia applications on the Windows
platform by isolating applications from the
complexities of data transports, hardware
differences, and synchronization issues
to achieve the throughput necessary for
streaming video and audio, DirectShow uses
DirectDraw and DirectSound to render data
efficiently to the system's sound and graphics
cards
Multimedia Systems
DirectShow relationship with other
components
Multimedia Systems
DirectShow Architecture
• DirectShow uses a modular architecture in which
•
operating system components called filters can be mixed
and matched to provide support for many different
scenarios.
DirectShow includes filters that support cutting-edge
multimedia capture and tuning devices based on the
Windows Driver Model (WDM) as well as filters that
support legacy Video for Windows (VfW) capture cards
and older codecs written for the Audio Compression
Manager (ACM) and Video Compression Manager (VCM)
interfaces.
Multimedia Systems
Filter Overview
• special DLL file (.ax)
• create with Microsoft Visual Studio
• based on COM (Component Object Model)
– getting a pointer to the interface
– release the pointer after you are done Object Model
• implements standard interfaces
• input and output pins
Multimedia Systems
Filter mixing
•
•
•
•
source filters (file, local network, internet)
splitter filters (MPEG2 Demux)
audio/video (de)compressors filters (MP3, DivX)
audio/video renderer filters (FullScreen, DirectSound)
Multimedia Systems
Filter’s Pins
• interconnects two filters
• input and output pins
• link between two filters: one-to-one
• responsible for
– negotiation of media transferred through
– data exchange
– synchronization
Multimedia Systems
Filter Graph Manager
• all DirectShow applications use this object
at some point
• this object controls the filter graph
• controls the data flow in the filters
• simple API
– addFilter
– run, stop, and pause
Multimedia Systems
References
• Microsoft
www.microsoft.com
• Windows Media
www.windowsmedia.com
• MSDN (Microsoft Developer Network)
msdn.microsoft.com
Multimedia Systems