IPTV Report
IPTV Report
IPTV Report
Anass Touati
Mehdi Masbahi
Claudia Elena Toader
Jose Pablo Loera Saucedo
Table of Contents
I.
II.
MPEG................................................................................................................................ 6
2.
DVB-S................................................................................................................................ 6
3.
DVB-C ............................................................................................................................... 7
4.
DVB-T ............................................................................................................................... 8
2.
V. MythTV.................................................................................................................... 19
1.
Introduction .................................................................................................................... 19
2.
3.
Hardware ........................................................................................................................ 22
4.
5.
Installation ...................................................................................................................... 24
a.
b.
c.
d.
Introduction .................................................................................................................... 33
2.
Internet Video is video content over the Internet open public network.
Over the web, portals offer video streaming and discrete content elements, no
Quality of Service and a wide range of video formats & streaming protocols.
On the other hand, IPTV has become a high-benefit service for the
operators by adding multimedia content delivery (TV, Video & Audio) over their
own network. One hop before the client they include a Set Top Box to give
interactive and customized services that add aggregated value to the service like:
Targeted advertisement
The process of live streaming involves a camera for the video, an encoder
to digitalize the content, a video publisher where the streams are made available
to potential end-users and a content delivery network to distribute and deliver
the content. The media can then be viewed by end-users live.
IPTV Project
Our project is based on a proposed typical architecture for video streaming over a
wireless network and a classic ADSL network. Their functionalities will be tested in
order to verify limitations, quality and available bandwidth.
The compression algorithm for the video is MPEG2 and MUSICAM for the audio.
Most important transmission supports are:
-
Satellite DVB-S
Cable DVB-C
Terrestrial DVB-T
For each one, the DVB project has chosen a specific modulation:
-
DVB-S QPSK
DVB-C 64-QAM
DVB-T COFDM
Source coding
and multiplexing
Adaptation to
the channel,
Coding and
Modulation
Transmission
medium
Demodulation
and decoding
Displaying
1. MPEG
The standardized technique used send audio and
video over the network in a fast and efficient way is MPEG2. This protocol is directed at broadcast formats at higher
data rates; it provides extra algorithmic 'tools' for efficiently
coding interlaced video, supports a wide range of bit rates
and provides for multichannel surround sound coding.
MPEG-2 decoders will also decode MPEG-1 bit streams.
Main features of different versions of the standard:
Figure 2 : prediction in MPEG
MPEG -1
Intended for use in creating video compact discs (CDs), operating at 1Mbps.
Occasionally used for: low-cost surveillance and some web video, doesnt support
Interlacing or HD video and lacks of advanced coding techniques
MPEG-2
Approved in 1996, it is used widely in all video fields. Chosen by DTV broadcast TV in
the USA Supports Interlacing & HD video (720p, 1080i & p). Multiplexing of a number of
Video & Audio streams, offering multichannel, multilingual, and multi-program
capabilities 5 channel audio (surround sound) support Advanced Audio Coding (AAC)
2. DVB-S
DVB-s describes the DVB frame structure, the modulation of the MPEG-2 packets and the
channel coding system for satellite (frequency band from 11 to12 GHz) digital Television
services. It also gives minimum performance required by the system in terms of resistance to
errors and noise. The implementation of the receiver part is left to the the manufacturer choice.
The European Standard EN 300 421 defined the main functions of the DVB-S.
3. DVB-C
DVB-C stands for Digital Video Broadcasting - Cable and it is the DVB European
consortium standard for the broadcast transmission of digital television over cable. This
system transmits an MPEG-2 or MPEG-4 family digital audio/video stream, using a QAM
modulation with channel coding.
4. DVB-T
It is the standard was chosen by the DVB project for the terrestrial channel, this kind of
the transmission is certainly the most difficult to deployed. There is high attenuation at
the receiver, signal to noise ratio (SNR) is limited to approximately 18.6 dB, and InterSymbol Interference (ISI) due to significant multipath long distance (high propagation).
For the transmission over the terrestrial channel of 8MHz, the upper limit of binary flow
is around 24 Mbit/s. The binary good put depends of the correction code and the
modulation. Like the other standard of DVB, DVB-T uses the MPEG-2 for the coding of
baseband signal. But it uses a new modulation OFDM (Orthogonal Frequency Division
Multiplexing).
A new version of the standard was developed recently supporting HDTV format.
Unicast streaming
For this part, we used the following command:
vlc -vvv test.mp4 --sout udp:10.10.1.2 --ttl 10
Where:
-
VOD streaming
We can also use VLC to stream videos on demand. To do this, we use the RTSP (Real
Time Streaming Protocol) protocol which offers essential features to control the video
(pause, play ).
The following commands show the procedure for RTSP streaming:
vlc vvv color I telnet-password admin rtsp-host 0.0.0.0:5554
Where:
-
10
11
video functions. The windowing system primarily supports WebMedia and the
applications layers, which use color keying and Video Middleware API calls in order to
interface with video functions. Color keying works by drawing a rectangle in a special
color using a standard graphical API, with the Geode's video overlay processor
combining the video stream into the framebuffer contents defined by the color-keyed
area. Thus, positioning or resizing the video stream is straightforward. WebMedia's use
of FLTK allows the X Window System to be used as the windowing system, if desired.
The audio subsystem API uses an abstract device called an audio player to control the
playback of multiple applications while masking the differences of underlying hardware
implementations. With audio players, applications are assured of consistent audio
playback, regardless of the features or limitations of the target audio device. Audio also
includes CD-ROM audio support for playing tracks from an audio CD (a CD-ROM is
considered an audio source when an audio CD is inserted).
13
The video capture API enables applications to capture single or multiple frames of live
video in real time and save them to a pixel map in graphics memory. Applications can
then manipulate the captured images using the functionality of the graphics subsystem
or other image-processing facilities.
Overlay Subsystem
The overlay subsystem APIs used in concert with the graphical-windowing system
provide arbitration across multiple applications and control which applications are
visible. In addition, the overlay subsystem provides a mechanism to overlay graphical
information from the graphics subsystem over video.
MPEG Subsystem
The MPEG transport APIs provide traffic management of MPEG transport streams for
digital video. MPEG transport streams are multiprogram data streams of interleaved
digital video, audio and data. This API receives MPEG transport streams containing
encoded content from the network and extracts the desired program from them. It then
separates the audio, video and data components and routes them to the audio decoder,
video decoder and CPU RAM, respectively.
TV Subsystem
The TV subsystem API provides a consistent interface to analog and digital broadcast
services, so applications developed for one service easily can be extended to work with
other services. The TV API also provides functionality that lets end users control
interactive TV sets in familiar ways, such as changing the channels and adjusting
volume.
14
-Sample WebMedia HTML-Based User Interface WebMedia is a modified version of the ViewML internet browser and uses the FLTK
widget set, which allows it to be portable on Microwindows and the X Window System.
Because the Video Middleware is separated from the graphical windowing system, it is
relatively easy to switch windowing systems. Integrating another browser with the
system is straightforward, using the extension mechanism described below.
The entire user interface for the set-top box is written in HTML, which includes both the
full-screen viewing and menu-button operations. This allows the set-top box look and
feel to be customized easily. Two mechanisms are used to integrate video into the
display. The first mechanism involves an extension to the HTML Anchor feature, which
allows a specified WebMedia plugin to execute using parameters contained in the
anchor tag. For instance, the following HTML causes the DVD plugin to execute a rewind
request:
<a exec=/bin/wmcmd,dvd,rew><img src=images/rewind.gif>
When remote-control arrow keys are pressed, WebMedia outlines successive images
associated with anchor tags, allowing the remote control to be used as a pointing device.
The prebuilt WebMedia DVD plugin will execute when the remote control is used to
select the rewind.gif image. The prebuilt plugins call the Video Middleware API to
control the STB hardware functions. Other commands are used to position and scale the
video. The second mechanism maps a video stream to the display screen, using the
overlay API. A special RGB color is displayed normally on the screen using an HTML
image, and color keying is used to merge the video data with the framebuffer contents.
This is performed in real time directly by the Geode SC1200 CPU.
In normal operation, the Linux4.TV set-top box runs WebMedia as the controlling
application, with HTML specifying a variety of plugins to control the video system
integration and user interface. In this manner, the set-top box user interface and total
system operation are easily customized for a variety of applications
15
Open Source Device 2" from Neuros its a more conventional box that can encode
video at 720p in MPEG-4 format, H.264 D1 resolution (that's DVD quallity) from an
analog video source, upscale video to 1080i or transcode it for a PMP. It's got a serial
port, IRBlaster port, connections for Wi-Fi antenna, USB, LAN, HDMI, composite
video and stereo audio, and even packs an SD port. It's shipped with a Linux-based
firmware stack, but is completely open to user OS hacking.
Link is a media extender capable to recover video and streaming from various TV
sources (Hulu, NBC, ABC, etc.) and also local audio and video content from USB.
Links software is open source, well documented and developed enough so that you
can watch video on streaming easily using Neuros.TV interface. This interface is
unique so that the user wont have to browse several web pages to find videos
online.
16
WebMedia using APIs and application components. The SDK includes documentation,
software libraries, sample code, and user interface templates
We have open source software like:
iSET bundle with support for basic set-top box functionality and sevrel other
features that came with the newst versions.
VT Media Technologies VT900 Developers Kit a complete, integrated, commercialready hardware/software bundle based on the low-cost VT900 platform.
National Semiconductor SP1SC10 Development Platform
For
downloading
and
subscription:
http://embedded.censoft.com/iset/products/index.php
17
hopes
will
be
many
entries
in
the
market.
e. The YBox2
YBox2 is a DIY networked set-top box that can be used to design customized content to
be delivered direct from the Internet.
This project is great for people who want a new platform to experiment with. The video
and Internet cores are ready to go and easy to work with. The whole project is open
source so you can start hacking your own. If you've ever been curious about the Parallax
Propeller chip, the YBox2 is a perky little platform with tons of accessories.
Download software: http://curl.haxx.se/dlwiz/?type=bin
f. GeexBox
GeexBox is STB developed under Linux and having the functionalities of a Media Center.
It acts like a fully operating system and it can be used as a LiveCD. In our case we tested
GeexBox from a USB device. We can easily run movies but once connected to a network
the detecting the Network Interface its an issue even when forcing the OS to do it.
Download software: http://www.geexbox.org/download/
18
V. MythTV
1. Introduction
Enter MythTV, a grand unification of personal digital video recording and home
theater technology, and a magnum opus of modular design, freedom of expression and
personal entertainment. At its core, MythTV is a digital video recording solution
composed of several modular components that facilitate time-stretched manipulation of
live television feeds, but it's really much more than that. In this rapport, we examine the
depth and scope of MythTV's capabilities. We start here from the standard MythTV base,
then address the wide-open capabilities that make MythTV more than just a video
recording suite - the capabilities that make it into a quintessential home theater PC
(HTPC) system.
MythTV is a software suite that is available as a free download. It consists of a
menu system, several plug-ins and a unique frontend/backend network architecture
that can be used to transform an existing Linux, BSD, Mac OSX or Windows desktop
computer into the multimedia entertainment centerpiece in your den, bedroom or office.
Using MythTV, you can morph your dekstop into a video viewfinder, a slideshow gallery,
a DVD burning station, a VoIP phone console, a Netflix manager and more.
It has been created by Isaac Richard in 2002 who wanted to use something better
than the TV Box which this grow up within is community. Now, he is a strong tool for
watching and recording TV.
MythTV was a simple application who were only use for TV and now its more an
Home media center, which can handle personnal photos, web video, news and more.
Hardware requirements are easily satisfied: MythTV can run on minimalist EPIA
mini-ITX PCs (with or without integrated hardware decoding) all the way up to high-end
server hardware with multiple processors and video capture cards. In essence, MythTV
has the same minimum requirements as Linux, with the addition of audio/video
hardware normally too specialized for typical desktop use. There are a number of
compatible capture cards that work with Linux and MythTV.
MythTV consists of a suite of GPL-licensed applications designed to convert a
19
middling system into a fully-fledged mythical convergence box complete with all of
those capabilities one might wish for from a media center, including some features no
other such systems possess. For newcomers to MythTV, installation and setup is much
easier than in years gone by, as older more experienced users can confirm. Better
packaging of MythTV components is now available, and years of development
improvements have eased implementation for both experienced and inexperienced
users of Linux and MythTV.
On the surface, MythTV provides all the features you would expect from a digital
video recording solution: pause, fast-forward and rewind live television, with support
for multiple tuner cards (thus, multiple simultaneous recordings) and support for native
RTjpeg, MJPEG and MPEG-2 real-time compression for better integration with popular
hardware decoders. MythTV can also process Digital Video Broadcast (DVB) data from
compliant cards and pc HDTV tuner cards where applicable. An on-screen display
provides rich contextual meta-data when browsing channels, also includes key bindings
for quick interactive keyboard input and allows for changing and importing of global
menu themes and theme-able semi-transparent on-screen displays.
Beyond its glossy surface, MythTV also contains functionality for automatic
commercial detection and removal, picture-in-picture support for applicable tuner
cards, comprehensive recording scheduling with built-in conflict resolution and a wealth
of modules that can enhance any personal entertainment experience. Several auxiliary
features come from various modularized components: DVD video and CD audio
playback/ripping support, weather forecast information, ROM game emulations,
slideshow gallery rotation and electronic program guide support primarily for use with
XMLTV-based program guide feeds such as DataDirect.
MythTV is also scalable in the sense that one system may contain multiple tuner
cards, or multiple systems can contain one or more tuner cards, where all of them work
in concert from a single unified recording schedule to optimize recording capabilities.
This is made possible through a well-designed, distributed network architecture that
compartmentalizes functionality according to media handling roles: MythTV consists
primarily of a single back-end server and one or more front-end clients. Here, a single
server can serve double duty as both a front-end client and a back-end master or slave
media storage device.
Additionally, the latest MythTV version (0.24, available through subversion
revision control or SVN) is better designed to draw menus based. It uses the OpenGL
graphics library, contains improved DVD player support and menus, and comes
equipped to handle hot-plug removable media and universal plug-and-play (UPnP)
devices for introducing new audio and video content.
Main function
Parental controls
RSS support
MythTV have a flexible architecture server / client allowing multiple machines to access
to the content of one or more servers.
MythTV was design initialy for Linux, BSD and MacOS X but a Windows version exist.
2. MythTV architecture
MythTV need different component to work. The three principal component are
MythBackend, MythFrontend and a database. Those component can be installed in a
single or several others machines. In fact, it can be split into multiple machine.
Below the architecture of MythTV which show how the component dialog each others.
MythBackend
The backend process (mythbackend) is the portion of the system that handles the
Video capture cards as well as scheduling recordings on those cards, commercial
detection, and transcoding. The backend process interacts with the database primarily.
Database
MythTV stores all of his data into this mysql database; his setup, IP address of the
frontend, recording, etc...
MythFrontend
The frontend process (mythfrontend) is responsible for anything that requires
interaction such watching recorded programmes or watching TV. It provides the GUI
you use on your TV or monitor as well as the LiRc, keyboard, or other input handling for
Frontend Navigation. In addition, any MythTV Modules, or plugins, that are installed
execute on the same machine that the user is interacting with. As such, the hardware
21
3. Hardware
Convergence technology plays a defining role in everyday digital appliances we
use at home and on the move. It's nice when something just works, when an iPod
synchronizes seamlessly with desktop computer data or when an incoming VoIP call
registers on your television screen while you're watching a favorite program. In fact, we
think you would do well to treat the MythTV suite of software applications as a harness
for exercising greater control over those appliances that govern our daily activities
outside the workplace.
In and of itself, MythTV represents a framework for building an ultimate home
theater system that combines radio, telephony, television and removable/recordable
storage media in various useful ways. That said, MythTV is purely software, and this
lacks the hardware needed to exercise its capabilities. In other words, MythTV is not
something you purchase off the shelf as a finished product like a TiVo unit - but by the
same token, that is just another facet of MythTV's unmatched might in the arena of
personal digital recording appliances.
As with a Media Center PC you might build yourself, you must supply your own
components for a MythTV system, and therefore must forge your own experience based
on the budget and usage constraints that factor into your build. Since you won't pay an
annual subscription fee for user services related to MythTV operation (as you would
with a TiVo) or upfront licensing costs (as with Windows MCE), total cost of MythTV
ownership is limited to whatever hardware is already available for the job and that
which remains to be purchased - all involving one-time fees.
The following screenshot shows the searchable PVR MythTV hardware database
listing provided here : http://pvrhw.goldfish.org/tiki-pvrhwdb.php .
22
That said, what goes into a MythTV box (and subsequently, what comes out of it)
is based entirely on personal choice. You control what does or doesn't qualify for the
final build, you tailor the hardware and software components to your liking and you
retain ultimate control over its appearance, operation and performance.
Box.
So it's more based on a personal choice the setup you should use for your MythTV
In our project we used our laptop, but they are way to powerfull for this applications, so
in fact you can use more cheaper hardware to fully function MythTV at a lower price.
There are other Linux-based media applications that can produce a similar media
experience, and repurpose standard-fare computer equipment as video recording and
23
playback gear. Freevo and GeexBox are two likely examples, but they fail to match the
feature sets for either MCE or MythTV. The following table outlines some of the
prominent differences between the latter pair of products.
MythTV
MCE 2005
Native, interchangeable codecs (both OSS and Proprietary codecs acquired separately
proprietary)
Support for MPEG2 transcoding
Perhaps the most profound and telling advantage to MythTV is that its status as a
community-based product means anyone can lend a hand in the development process.
Possible contributions range from suggesting new and improved features, to creating
and implementing new components. In fact, that is how many of the bundled plug-ins
and add-ons found their way into the existing MythTV suite, and many more follow suit
in each new release.
In the next article, we take a look at what truly distinguishes MythTV from all other
media system software: its impressive scalable network architecture enables a
staggering variety of topologies and arrangements that should have you dusting off and
repurposing old systems just for the joy of putting them back to work.
5. Installation
a. Before installation
Before the installation you should determine which configuration are you willing
to use, this configuration will determine the level of complexity of the installation. Here
we will show only the configuration 1 installation.
Configuration 1
Configuration 2
24
Configuration 3
System requirements
Minimum System Requirements:
b. From source
First install required packages:
sudo apt-get install build-essential liblircclient-dev libasound2-dev libdts-dev
libdvdnav-dev \
libxv-dev libxxf86vm-dev transcode libmp3lame-dev subversion qt4-dev-tools libqt4dev libsamplerate0 \
libxvidcore4 liba52-0.7.4-dev libfame-dev libcdio-dev msttcorefonts libasound2-doc
libmad0-dev \
25
Download it at Mythbuntu.org and install it like any other Linux distribution. Everything
will be setup and ready to go after the installation.
MythTV should open as Ubuntu starts.
d. Configuration
26
Mythtv-setup allows the configuration for the database access and the TV part. Its also
here where we setup the acquisition cards.
Input connections : Some cards have different entry, so you should be more
specific on which one you want to use.
Channel Editor : You should have here all the channel you can view and modify
there number etc...
27
VI. Experiments
VLC streaming: after having in mind all this concepts and overall idea of the project
we adapted the video streaming between server and client into the ADSL network of the
lab. The connection through the network works this way:
The BAS routes traffic to and from broadband remote access devices such as
digital subscriber line access multiplexers (DSLAM) on an Internet service provider's
(ISP) network.The BAS aggregates user sessions from the access network. It is here that
an ISP can inject policy management and IP Quality of Service.
The DSLAM is deployed in the access network to provide broadband services
with ATM via ADSL, SDSL, UDSL, or other xDSL services. The DSLAM incorporates the
ATM cross-connect functionality and the central control processor for the entire system.
From a protocol point of view what happens in this architecture with the data is
that it generates a large overhead due to different kinds of encapsulations along the
path. In all layers and protocols theres generated overhead:
28
In a network where a series of routers are needed, IGMP is used to support multicasting,
as it is an integral part of IP. To use multicasting, a process on a host must be able to join
and leave a group. Group access is identified by the group address and the NIC interface.
A host must keep track of the groups that at least one process belongs to and the
number of processes that belong to the group.In our case multicast has not worked
because there might be a restriction with NAT at the CPE.
At this point we achieved end-to-end connection between VLC client and VLC
server through ADSL architecture. By having this connection we streamed a video to the
client and by making a request to the IP address of the CPE, the flux is passed onto him.
On the ATM side we have the 10.10.2.0/24 private network. We configure
10.10.2.5 IP address on the VLC client so to be a part of the network. The CPE has the
role of a router. It also has the NAT functionality which translates the private IP
addresses into public ones so to make the connection with the public network of the VLC
server. So we have on the client interface the 10.10.2.100 address which is also the
address used to configure the CPE because it is a static one and on the server interface
the 157.159.226.100 address connecting to the outside network. The VLC server has an
IP address in the 157.159.226.X/24 range, given by the DHCP server.
In the next picture we can see the CPE configuration:
29
One of the issues encountered at the CPE level is due to the NAT function. As you
can see in the following figure the destination port is unreachable (ICMP message type
3) so the CPE does not know where to send the stream:
30
After reconfiguring the CPE we manage to capture the stream at the client level.
The fallowing picture shows the case of an UDP unicast stream. For the client the
network outside is completely transparent. The flow from the server has as a source
address the IP address of the CPE acting as router/NAT. The VLC client has no need to
know the VLC server address because it just opens the network streams and receives
them if they exist.
We can also notice that the UDP packet encapsulates a MP2T packet that
represents a Transport Stream used by MPEG encoding method. The TS packets can then
be multiplexed and transmitted using broadcasting techniques, such as those used in
DVB.
Those TS (MP2T) are formed by Packetized Elementary Stream (MPEG-PES) that
are a specification in the MPEG-2 Part 1 (Systems) (ISO/IEC 13818-1) and ITU-T
H.222.0. PES defines carrying of elementary streams in packets within MPEG program
stream and MPEG transport stream. The elementary stream is packetized by
encapsulating sequential data bytes from the elementary stream inside PES packet
headers as in the next figure:
31
As for the ADSL infrastructure the CPE statistic lets us collect some important
data as displayed in the next figure:
We can see that between the CPE and the DSLAM we have an PPPoA ( Point to
Point over ATM). PPP is used for authentication: user credentials, users login and
password and ATM is used to transport the data encoded intro fixed-size cells over
virtual circuits (VCs).
The ADSL link between the client and the CPE has a Downstream Rate of
7616kbps and an Upstream Rate of 800kbps. We can easily notice the big rate difference
for this asymmetrical line.
We also have the two main functionalities of the CPE that of a Network Address
Translation and that of a DHCP server for the private network of the clients side.
32
1. Introduction
The most important application of the multicast is IPTV. With the coming of the Triple
play including voice, data and video, all in the same network, management of the
network resources has become necessary. Therefore multicast is an important part of
the IPTV broadcasting.
The main purpose of the multicast is to send data to many people only once, rather than
sending a separate copy of the data to each user, routers along the way to the
destinations make copies as needed, and multicast receivers just have to request data to
receive it.
The destination IP address in a multicast is address of the multicast group,
Typically in IPTV, the TV channels are multicast in the core network and only forwarded
in the access network when clients request the respective TV channels. Compared to the
core network, the access network has only limited bandwidth capacity involving a good
management of traffic in this area.
stream traverses three networks: the core network, which is maintained by the IPTV
service provider; the access network, which connects the user with the service provider
and the home network, the network found in the users premises. The access network
and home network are interconnected by a home gateway (HG). The HG is the
component which allows devices in the home network, such as a PC or STB, to have
connectivity with the outside world. The access network and core network are
connected by a Multi Service Access Node (MSAN).
To enable multicast data transport typically two protocols are used: the Protocol
Independent Multicast Sparse Mode (PIM-SM) and Internet Group Membership Protocol
(IGMP).
34
i.
PIM-SM is a routing protocol for multicast groups defined by The Internet Engineering
Task Force (IETF) in the RFC 2117and RFC 2362 specifications: it allows routers to
notify each other of available multicast channels and provides multicast routing
functionalities, including the setup of new multicast distribution path from a source to
one or more receivers.
It an independent protocol based on others unicast routing protocols, it used typically in
WAN networks.
Principle:
A router receives explicit Join/Prune messages from those neighboring routers that have
downstream group members. The router then forwards data packets addressed to a
multicast group, G, only onto those interfaces on which explicit joins have been received.
A Designated Router (DR) sends periodic Join/Prune messages toward a group-specific
Rendezvous Point (RP) for each group for which it has active members. Each router
along the path toward the RP builds a wildcard (any-source) state for the group and
sends Join/Prune messages on toward the RP. The term route entry is used to refer to
the state maintained in a router to represent the distribution tree. A route entry may
include such fields as the source address, the group address, the incoming interface from
which packets are accepted, the list of outgoing interfaces to which packets are sent,
timers, flag bits, etc.
Step 1
Step 4
Step 2
Step 5
Step 3
Step 6
35
ii.
IGMP
IMGP is a subscription protocol with several versions defined also by The Internet
Engineering Task Force (IETF) in RFC 1112(v1), RFC 3376(v2) and RFC 2236(v3)
specifications, which allows clients to subscribe to multicast groups by means of sending
membership reports. Access node routers use these IGMP report messages to determine
which users are interested in a certain multicast group (TV channel) and thus to
determine if packets from a specific multicast group should be forwarded, and to which
router ports.
i.
IGMP v1
Principle
In each subnet, a router is designed (DR) to send
queries every 60 seconds to all the hosts with
the multicast address: 224.0.0.1, in which it asks
to which group do you want subscribe? or
who is subscribed to the multicast group given
as parameter.
Upon receiving a query message, Hosts (the
delay timer of whichever expires first) sends an
IGMP report to the multicast group address
to announce its interest in this group.
Figure 5: joining multicast groups
Other hosts in the same sub-network
suppress themselves report messages for the same multicast group. This mechanism
helps reduce traffic over the local subnet.
Hosts wishing to join a group send a report without waiting for request.
But in this version of IGMP, host cant indicate
to router that it leaves a group and this is no
specified how a DR is designed if there are
several routers in the subnet.
a. IGMP v2
This is the most common version of IGMP, it
is compatible with
version 1
and
corrects the limitations of previous version.
Indeed, leaving a group and designed router
election mechanism are specified.
Leaving group:
36
The message to leave a group is directed to the address 224.0.0.2 (All routers). When the
router applicant receives this message, it sends a message in response to specific query
group left to determine whether there is a host group member in the subnet. If no
response is received, the router considers that there are more subscribers to the group.
Figure 6: IGMP v2 diagram
Election DR mechanism:
When a router receives a request from another router, it compares the source IP address
with its own. The router whose address is the lowest is selected as the DR on the
segment. When a router receives such request higher than its own, he starts a timer of
250 seconds that it stops sending queries. If no message from a DR with a smaller IP is
received during this period, requests are sent again.
Nevertheless, this version has some limitations. It is not possible for a host to indicate
that it wishes to receive a group from a specific source or exclude a particular source.
37
Figure 8: Before and after IGMP Snooping is enabled on the Layer 2 device
38
VIII. Conclusion
After implementing an IPTV platform and dealing with all the practical
troubleshooting that cames along we can say that we have a better understanding of all
the issues on video streaming over a network.
First of all, the key fact that we have to keep in mind is that we are working with
open source platforms. This brings along advantages and disadvantages.
In the STB case, for instance, it is easy to find the corresponding documentation
but not to find coherent and competent answer. It is also difficult to find a virtual STB
that has all the functionalities of a real one. In our case the two choices left were
GeexBox which has a basic interface and MythTV which is better developed but not yet
fully functional. MythTV has also the role of a Media Center, this being the main reason
we focused on it. It is important to specify that MythTV can handle streams from DVB
sources therefore we manage to receive the TV channels send by Freebox after
recovering the channel list in .m3u format. The problem was that we the STB cannot
read the .m3u file created locally so we could not recover videos streams from our VLC
server. This is an issue for further research and it may be a developers problem of the
software.
Secondly, for the VLC client-server, streaming the UDP/RTP/HTTP posed no
problems but the use of the RTSP protocol for VOD was more complex as you could see
on the VLC chapter. Using UDP brings less overhead on the link so the latency is lower
but does not allow any flow control on the network thats way RTP its better suited for
IPTV.
Thirdly, the ADSL platform helped us understand the two main protocols ATM
and IP and how they interconnect and interact when using video streaming. We noticed
that the stream rate is not that very high so an all IP network its more likely to be
deployed for HD TV, for example.
In the end we can say that IPTV is a complex field that still needs a lot of research
and developing and most of all less ownership ant better opening to the outside
developers.
39
Bibliography
http://www.dvb.org/technology/fact_sheets/DVB-T2_Factsheet.pdf
http://www.opensource.org/
http://www.videolan.org/vlc/
http://mysettopbox.tv/archive.html
http://www.geexbox.org
http://curl.haxx.se/dlwiz/
http://www.mythtv.org
Protocol Independent Multicast-Sparse Mode (PIM-SM):
Specification (Revised)
http://www.renater.fr/IMG/pdf/05-PIM_EN_v03.pdf
http://www.h3c.com/portal/Products___Solutions/Technology/IP_Multicast/Technolog
y_Introduction/200702/201192_57_0.htm
http://fr.wikipedia.org/wiki/Internet_Group_Management_Protocol
40
Schedulers
41
ADSL card
42