Workshop 1
              IPTV
           James Harris




FDB09104                  Page 1
What is IPTV?

IPTV describes a system where TV is delivered over the internet.
These systems can take many forms from traditional broadcast
style channels that are multicast to entire networks of computers
through to on demand services where content can be viewed at
any time, for example youtube.

IP Networks

When we talk about the internet we are just describing a group of
computers that are connected together using the Internet Protocol.
This gives us an extremely flexible way of transferring data
between computers, but it is not without its limitations.

Bandwidth

One of the limiting factors of any network is bandwidth, this is
how much data can be transferred across the network in a given
amount of time and is usually expressed in kilobits per second or
megabits per second. This becomes slightly more complicated for
a home broadband connection as the system used (ADSL –
Asynchronous Digital Subscriber Line) has a different bandwidth
in each direction.

According to YouTube*, the average connection speed is around 4
megabits per second downstream (from the ISP to to the user).
Upstream data is not available but for ADSL would usually be
limited to 512 kilobits per second upstream.

*This data is aggregated from YouTube video servers. All ISP and
geographical speed numbers are averages across many types of Internet
connectivity. Data retrieved 2/3/2011.

FDB09104                                                           Page 2
Video compression

In order to use the internet to send video, we must use
compression. Normally video would require vast amounts of
bandwidth (the magic number for standard definition is 270
megabits per second) thankfully video compression can reduce the
required bandwidth to a useful rate for IPTV.

The more compression is applied the lower the bandwidth
required to send the video, but also the more noticeable the
compression becomes. The video will tend to look more and more
“blocky”, these artefacts are due to the way the compression is
achieved.

So when we compress video for IPTV we have to think about how
much compression to apply. Too little and we won't be able to
send our video over the internet, too much and the video
compression artefacts will become objectionable to the viewer.

Clients and servers

Networks are traditionally made up of two main classes of
computers, these are clients and servers. Servers are computers
that provide a service or services to other computers in a network
while clients receive services from servers.

In the context of IPTV a client will be the computer the viewer is
using to access the video and the server is the computer that is
sending the video. Most IPTV services use a client-server
architecture.

It is also possible to have a system known as peer-to-peer where

FDB09104                                                       Page 3
all computers are considered to be peers, neither clients nor
servers. Data (video) can then be exchanged between computers
without relying on a server. Most peer-to-peer networks do
however use a server to track peers, making an initial connection
for each peer.


Streaming

There are principally two ways the video can reach the viewer,
either the video can be streamed where it is viewed as it is being
transferred or it can be progressively downloaded and viewed after
the download is complete.

Progressive downloading can be a huge advantage for viewers
with a slow internet connection as the rate at which the video is
downloaded does not affect the quality of the video.

Streaming on the other hand provides for near real-time viewing
as long as the internet connection can support the bandwidth
requirement of the video being viewed.

The web

We need a common way of exchanging data between computers
so we have HTML, or the Hyper Text Mark-up Language. This is
a way of describing pages of text and images so that information
can easily be shared.

HTML contains a number of tags that describe the formatting of
the page and allow other content to be embedded. Because the tags
are just text inside the < and > symbols we can edit web pages
with a simple text editor such as notepad

FDB09104                                                        Page 4
A basic HTML file (a web page) might look like this:

<html>
<body>

<h1>This is my Main Page</h1>
<p>This is some text.</p>
<p><a href="page1.htm">This is a link to Page 1</a></p>
<p><a href="page2.htm">This is a link to Page 2</a></p>

</body>
</html>

When displayed in a web browser it would look like this:

    This is my Main Page
This is some text.
This is a link to Page 1
This is a link to Page 2


The tags are interpreted by the browser which makes the necessary
changes to the formatting of the text as well as adding special
features (in this case we have added 2 hyperlinks to other pages).

Embedding Youtube video

Youtube video is easy to embed into a web page:

Firstly you will need to find a youtube video you want to embed, I
chose a video about embedding videos:
http://www.youtube.com/watch?v=ZnehCBoYLbc


FDB09104                                                      Page 5
Once you have found the video you want, look below the video
and you should see a button marked embed, clicking this button
opens up some embedding options:

Include related videos – At the end of a video, users are given the
option to watch other related videos, this may take them away
from the rest of your site if left ticked.

Privacy enhanced mode – Reduces the amount of information
stored in cookies on the computer viewing the video.

Use HTTPS – If the site you are embedding the video into is on a
secure server, then you should use this setting to maintain the
security of the site.

Use old embed code – Switches from iframes embed code, back to
the old object based embed code for compatibility reasons.

Choose a resolution for the video, then simply copy the text from
the embed text box and paste it into your html file. The resolution
chosen will affect how long the viewer has to wait for the video to
load (dependant on their internet connection speed).




FDB09104                                                        Page 6
For the video I chose the embed code was:

<iframe title="YouTube video player" width="640" height="510"
src="http://www.youtube.com/embed/ZnehCBoYLbc?rel=0"
frameborder="0" allowfullscreen></iframe>

The old object based code for the same video:

<object width="425" height="344"><param name="movie"
value="http://www.youtube.com/v/ZnehCBoYLbc&hl=en_US&fs=1&"><
/param><param name="allowFullScreen" value="true"></param><param
name="allowscriptaccess" value="always"></param><embed
src="http://www.youtube.com/v/ZnehCBoYLbc&hl=en_US&fs=1&"
type="application/x-shockwave-flash" allowscriptaccess="always"
allowfullscreen="true" width="425" height="344"></embed></object>

Please note, anyone who uploads a video to youtube may select an
option to disallow embedding.


For more information on HTML the site:
http://www.w3schools.com provides a good reference




FDB09104                                                        Page 7
Now lets compare each system:

       System              Advantages           Disadvantages
Multicast            Server requirements are Uses bandwidth to each
                     relatively low           consumer regardless of
                                              whether or not it is
                     Bandwidth usage is       being watched
                     consistent regardless of
                     have many viewers        Each ISP must
                     choose to watch          reconfigure their
                                              network to support
                     Content can be changed multicast data
                     in real time eg one
                     programme substituted
                     for another or a news
                     flash can be shown
On demand eg youtube Any viewer can watch Very heavy server
                     any programme at any requirements, each
                     time                     viewer directly adds to
                                              server load
                     Content can be
                     packaged up into         Unpredictable server
                     channels if desired      requirements depending
                                              on how many viewers
                     On demand services       use the service at any
                     can usually have live    given time
                     programmes added, for
                     example streaming of
                     news
Peer-to-peer         Extremely low server Generally not real time.
                     requirements             Content is downloaded
                                              for later viewing
                     Viewer content can
                     easily be added


FDB09104                                                        Page 8

IPTV Workshop FDB104

  • 1.
    Workshop 1 IPTV James Harris FDB09104 Page 1
  • 2.
    What is IPTV? IPTVdescribes a system where TV is delivered over the internet. These systems can take many forms from traditional broadcast style channels that are multicast to entire networks of computers through to on demand services where content can be viewed at any time, for example youtube. IP Networks When we talk about the internet we are just describing a group of computers that are connected together using the Internet Protocol. This gives us an extremely flexible way of transferring data between computers, but it is not without its limitations. Bandwidth One of the limiting factors of any network is bandwidth, this is how much data can be transferred across the network in a given amount of time and is usually expressed in kilobits per second or megabits per second. This becomes slightly more complicated for a home broadband connection as the system used (ADSL – Asynchronous Digital Subscriber Line) has a different bandwidth in each direction. According to YouTube*, the average connection speed is around 4 megabits per second downstream (from the ISP to to the user). Upstream data is not available but for ADSL would usually be limited to 512 kilobits per second upstream. *This data is aggregated from YouTube video servers. All ISP and geographical speed numbers are averages across many types of Internet connectivity. Data retrieved 2/3/2011. FDB09104 Page 2
  • 3.
    Video compression In orderto use the internet to send video, we must use compression. Normally video would require vast amounts of bandwidth (the magic number for standard definition is 270 megabits per second) thankfully video compression can reduce the required bandwidth to a useful rate for IPTV. The more compression is applied the lower the bandwidth required to send the video, but also the more noticeable the compression becomes. The video will tend to look more and more “blocky”, these artefacts are due to the way the compression is achieved. So when we compress video for IPTV we have to think about how much compression to apply. Too little and we won't be able to send our video over the internet, too much and the video compression artefacts will become objectionable to the viewer. Clients and servers Networks are traditionally made up of two main classes of computers, these are clients and servers. Servers are computers that provide a service or services to other computers in a network while clients receive services from servers. In the context of IPTV a client will be the computer the viewer is using to access the video and the server is the computer that is sending the video. Most IPTV services use a client-server architecture. It is also possible to have a system known as peer-to-peer where FDB09104 Page 3
  • 4.
    all computers areconsidered to be peers, neither clients nor servers. Data (video) can then be exchanged between computers without relying on a server. Most peer-to-peer networks do however use a server to track peers, making an initial connection for each peer. Streaming There are principally two ways the video can reach the viewer, either the video can be streamed where it is viewed as it is being transferred or it can be progressively downloaded and viewed after the download is complete. Progressive downloading can be a huge advantage for viewers with a slow internet connection as the rate at which the video is downloaded does not affect the quality of the video. Streaming on the other hand provides for near real-time viewing as long as the internet connection can support the bandwidth requirement of the video being viewed. The web We need a common way of exchanging data between computers so we have HTML, or the Hyper Text Mark-up Language. This is a way of describing pages of text and images so that information can easily be shared. HTML contains a number of tags that describe the formatting of the page and allow other content to be embedded. Because the tags are just text inside the < and > symbols we can edit web pages with a simple text editor such as notepad FDB09104 Page 4
  • 5.
    A basic HTMLfile (a web page) might look like this: <html> <body> <h1>This is my Main Page</h1> <p>This is some text.</p> <p><a href="page1.htm">This is a link to Page 1</a></p> <p><a href="page2.htm">This is a link to Page 2</a></p> </body> </html> When displayed in a web browser it would look like this: This is my Main Page This is some text. This is a link to Page 1 This is a link to Page 2 The tags are interpreted by the browser which makes the necessary changes to the formatting of the text as well as adding special features (in this case we have added 2 hyperlinks to other pages). Embedding Youtube video Youtube video is easy to embed into a web page: Firstly you will need to find a youtube video you want to embed, I chose a video about embedding videos: http://www.youtube.com/watch?v=ZnehCBoYLbc FDB09104 Page 5
  • 6.
    Once you havefound the video you want, look below the video and you should see a button marked embed, clicking this button opens up some embedding options: Include related videos – At the end of a video, users are given the option to watch other related videos, this may take them away from the rest of your site if left ticked. Privacy enhanced mode – Reduces the amount of information stored in cookies on the computer viewing the video. Use HTTPS – If the site you are embedding the video into is on a secure server, then you should use this setting to maintain the security of the site. Use old embed code – Switches from iframes embed code, back to the old object based embed code for compatibility reasons. Choose a resolution for the video, then simply copy the text from the embed text box and paste it into your html file. The resolution chosen will affect how long the viewer has to wait for the video to load (dependant on their internet connection speed). FDB09104 Page 6
  • 7.
    For the videoI chose the embed code was: <iframe title="YouTube video player" width="640" height="510" src="http://www.youtube.com/embed/ZnehCBoYLbc?rel=0" frameborder="0" allowfullscreen></iframe> The old object based code for the same video: <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ZnehCBoYLbc&hl=en_US&fs=1&">< /param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZnehCBoYLbc&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object> Please note, anyone who uploads a video to youtube may select an option to disallow embedding. For more information on HTML the site: http://www.w3schools.com provides a good reference FDB09104 Page 7
  • 8.
    Now lets compareeach system: System Advantages Disadvantages Multicast Server requirements are Uses bandwidth to each relatively low consumer regardless of whether or not it is Bandwidth usage is being watched consistent regardless of have many viewers Each ISP must choose to watch reconfigure their network to support Content can be changed multicast data in real time eg one programme substituted for another or a news flash can be shown On demand eg youtube Any viewer can watch Very heavy server any programme at any requirements, each time viewer directly adds to server load Content can be packaged up into Unpredictable server channels if desired requirements depending on how many viewers On demand services use the service at any can usually have live given time programmes added, for example streaming of news Peer-to-peer Extremely low server Generally not real time. requirements Content is downloaded for later viewing Viewer content can easily be added FDB09104 Page 8