introduction to multicast multimedia delivery for internet broadcasters

16
Introduction To Multicast Multimedia Delivery For Internet Broadcasters Written By David Childers

Upload: scenicradio

Post on 27-Oct-2014

193 views

Category:

Documents


2 download

DESCRIPTION

Guide for using Multicast networking for multimedia content delivery.

TRANSCRIPT

Page 1: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Introduction To MulticastMultimedia Delivery For

Internet Broadcasters

Written By

David Childers

Page 2: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Creative Common License

This body of work is released under the Attribution-ShareAlike version 3.0, Creative Common License.

The work may be freely distributed or modified for commercial or non commercial purposes.

If this work is modified, compliance with the Attribution-ShareAlike version 3.0, Creative Common License is required.

These requirements include:

- Any derivatives of this work must be attributed to David Childers.- Any derivatives of this work must reference any additional sources that may be used.- Alterations, transforming, or building upon this work requires distributing the resulting work only under the same, similar or a compatible license.

For the complete legal code, please refer here: www.creativecommons.org/licenses/by-sa/3.0/legalcode

Cover graphic - Tango Applications Internet, Public Domain image.www.openclipart.org/detail/35389/tango-applications-internet-by-warszawianka

Foreword graphic - Philippe de Champaigne - Still Life with a Skull, Public Domain image.en.wikipedia.org/wiki/File:StillLifeWithASkull.jpg

Page 3: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

About The Author

David Childers is the Content Manager and Senior Editor for the International Broadcasting portal www.BroadcastingWorld.net. He is also the webmaster of the SHOUTcast video streaming information resource, www.scvi.net. He is very active in the Internet broadcast industry.

Mr. Childers' work has been cited in several national and International publications, such as:

Five Essays on Copyright In the Digital EraTurre Publishing

Research On High-Profile Digital Video ProductionDigital Content Association of Japan

Video Podcasting in Perspective: The History, Technology, Aesthetics and Instructional Uses of a New MediumJournal of Educational Technology Systems

Video Podcasting: When, Where and How it's Currently used for InstructionThe National Convention of the Association for Educational Communications and Technology

IP Packet Charging Model For Multimedia ServicesNational University of Rwanda

Preservation of audiovisual mediums: Problems and challengesPlatform for Archiving and Preservation of Art on Electronic and Digital Media

P2P Technology Trend and Application to Home NetworkElectronics and Telecommunications Research Institute Journal

Peer To Peer Computing - The Evolution of a Disruptive TechnologyIdea Group Publishing

Peer-to-Peer Systems and ApplicationsLecture Notes In Computer ScienceSpringer Berlin / Heidelberg

Mr. Childers has also written several guides including:

- Guide To Cyber Security

- Introduction To Broadcast Station Imaging

- Linux Applications For Internet Broadcasters

- How To Mobilize Your Broadcast Audience

- Introduction To Creative Commons Licensing For Broadcasters

- Media Server Security Guide

- Basic Internet Video Production Guide

- SHOUTcast Streaming - Best of Technical Support

- SHOUTcast Audio And Video Streaming Guide

- Streaming Media Handbook

- Icecast Streaming Handbook

- Search Engine Optimization Guide

- Internet Broadcast Promotion Handbook

- Internet Broadcast Revenue Handbook

- Guide For Creating Effective Internet Audio Commercials

- Broadcasters Social Media Guide

- Broadcasters Guide For Creating An Effective Media Kit

- Broadcasters Guide For Creating An Effective Newsletter

- Broadcaster Website Development Guide

- Broadcasters Guide To Understanding Your Audience

These guides can be read or downloaded FOR FREE at the Colossus Facebook publication page located here:www.facebook.com/pages/Colossus/127135787300504

Page 4: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Foreword

Greetings once again.

The use of alternative technology can greatly assist with the delivery of large amounts of multimedia data. This can be achieved at substantial resource and monetary savings without using software that is prone to causing computer security issues or carrying the specter of litigation.

The musical inspiration for this guide is Tomaso Albinoni - Adagio G Minor.

I would like to thank Scarlet Coker for providing assistance with the editing of the manuscript and James Davey at Broadcasting World for allowing me the opportunity to create this guide.

It is my sincere hope that the reader finds this guide beneficial.

David Childers www.scvi.net

June 2012

Posveèeno Neži Vidmar.

Non Est Ad Astra Mollis E Terris Via.

Technology makes it possible for people to gain control over everything, except over technology.

John Tudor

Page 5: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Index

- Introduction

- Theory

- Requirements

- Data Structure

- Data Control

- Data Routing

- Error Correction

- Stream Announcements

- Software

- Virtual Private Networks

- Additional Information

Page 6: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Introduction

Multicast provides very efficient use of network resources for the delivery of data to multiple clients and is used extensively in Europe and Asia. This technology is also being rapidly deployed in South America as a sustainable resource for data delivery. Multicast can be used to broadcast live multimedia, which can consist of either audio or video content.

Some notable events of multicast broadcasting include:

March 1992 - The Internet Engineering Task Force conference was broadcast using multicast.

Early 1993 - The multicast radio station Radio Free VAT, was started by Dave Hayesat.

March 1993 - Carl Malamud creates Internet talk radio using multicast broadcasting.

June 1993 – The first live performance by a band, Severe Tire Damage, was broadcast using multicast.

November 1994 - A Rolling Stones concert in Dallas, Texas was broadcast using multicast.

May 1996 – First Internet broadcast of the Cannes film festival using multicast.

October 2001 – University of Oregon provides multicast broadcast relay of NASA television.

April 2004 - GWR Radio is the first station in the UK to continuously broadcast live audio using multicast.

June 2004 – BBC provides live coverage of the World Olympics using multicast.

September 2004 – BBC provides regular radio and television multicast broadcast.

Page 7: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Theory

The concept of multicast networking was first proposed by Steve Deering in his 1988 Ph.D. dissertation.

Multicast

This technology provides the ability to deliver data from a single source to multiple destinations. This is achieved without the need for a centralized data server or requiring a data connection for each individual destination. Network hardware duplicates the data throughout the network. This allows the delivery of content using a single data connection, which provides very efficient use of network resources.

Destination DestinationSource O ------------> O ------------> O ------------> O ------------> O Destination Destination

Unicast

This technology is commonly used for Internet broadcasting. This method requires a central data server to deliver content using multiple server/ client connections. Each client requesting data must be provided with its own data communication connection. This method of content delivery is very inefficient and requires substantial hardware and bandwidth resources.

Destination /|\ | | | |Destination <------------- O -------------> Destination /| / | Source / | | \|/ Destination

Multicast networking uses class D IP addresses which consists of the following address ranges:

IPv4

224.0.0.0 to 239.255.255.255

IPv6

FF00:0000:0000:0000:0000:0000:0000:0000 to FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

Page 8: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Requirements(Broadcasting and Receiving)

- Access to a network that supports multicasting.

OR

- Access to a virtual private network that supports multicasting.

- Operating system that supports multicasting.

- Ability to run multicast routing daemon.

- Bandwidth to support multicast broadcast content.

- Network hardware must be multicast enabled.

Note

- It is important to use the appropriate routing daemon for the specific type of network topology used.

* Tree.

* Mesh.

- It is important to configure the routing daemon to link with the multicast network using the correct hardware.

* Ethernet connection.

* Wireless connection.

* Port number.

Page 9: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Data Structure

Multicast data delivery requires a specialized data structure to allow it to function.

Transmission Control Protocol (TCP)

TCP is not suitable for multicast network support due to the need for exchanging control dialogue between the data sender and receiver. The primary focus of TCP is to provide data integrity, reliability of delivery, and quality of service, which requires the constant exchange of information.

Example TCP communication flow

--------------------------> O Sender O Receiver <--------------------------

User Datagram Protocol (UDP)

UDP is ideal for multicast data delivery. It uses a delivery method that does not require the exchange of control dialogue between the data sender and receiver. The lack of exchanging control information does come at a cost, however. There is no guarantee that the data will be delivered without the verification of data that is exchanged between the sender and the receiver using TCP. UDP is commonly referred to as the “Send and Pray” protocol, due to the protocols inability to provide data delivery guarantee.

Example UDP communication flow

--------------------------> O Sender O Receiver

Page 10: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Data Control

Multicast requires specialized data control to provide content synchronization and multimedia broadcast support.

Real Time Transport Protocol

RTP is a control method designed for the delivery of multimedia over data networks. It provides detection and organization of data that is out of sequence, however it does not provide quality of service for the data being sent.

Real Time Streaming Protocol

RTSP is a control method designed to provide functionality to Internet broadcast content. It provides the ability to play or pause multimedia data that is being broadcast.

RTP and RTSP are used together to provide ease of use for broadcast multimedia content.

Page 11: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Data Routing

Multicast requires specialized network routing to allow the distribution of data without the need for a centralized server or requiring multiple data transmissions.

Protocol Independent Multicast

PIM is a group of multicast routing protocols used to control the distribution of data. They do not include the ability to acquire network composition. They use network topology information that is provided by other network routing methods.

There are four PIM modes:

- Sparse Mode (SM) - Dense Mode (DM) - Source Specific Multicast (SSM) - Bi Directional.

Sparse Mode (SM) is generally the most efficient mode for delivering data over a wide geographic network. It constructs an organized distribution tree within a multicast group.

Internet Group Management Protocol

IGMP is protocol allows a network hardware device to indicate if it wants to participate in a multicast group.

IGMP Snooping (*)

This is a IPv4 multicast process that allows network hardware to identify members of a multicast group that want to receive multicast packets. Members of a group that do not wish to participate can be filtered from the links.

Multicast Listener Discovery (*)

MLD is a IPv6 multicast process that allows network hardware to identify members of a multicast group that want to receive multicast packets. Members of a group that do not wish to participate can be filtered from the links. This is very similar to IGMP Snooping for IPv4 networks.

(*) Note

Both IGMP snooping and MLD are designed to stop data from being received by members of a multicast group that do not wish to participate.

Distance Vector Multicast Routing Protocol

DVMRP allows a network device to receive data from the network and forward it through each subscribed network device within a multicast network. A "prune message" is sent If a network device does not wish to subscribe to a multicast group. This message removes the network device from receiving data from the multicast group.

DVMRP has difficulties with network scaling and is best used in small network environments. It must periodically re flood a network to detect new hosts which makes it a very inefficient and problematic protocol.

IGMP Proxy

This is a simple multicast routing method that uses Internet Group Management Protocol (IGMP) information to dynamically route multicast data. IGMP proxies do not require multicast routing protocols to function, such as Protocol Independent Multicast (PIM) or Distance Vector Multicast Routing Protocol (DVMRP). This method is limited to a tree network topology, since no routing protocol is used.

Page 12: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Error Correction

These are experimental features that are intended to provide a quality of service ability for multicast data delivery.

Forward Error Correction

This is a method for controlling errors of data being sent using unreliable communications methods, such as multicast. Data is redundantly encoded using an Error Correcting Code which enables the detection of errors that may occur in a data transmission. This process allows any errors to be corrected without the need to re transmit data.

Example

First Data Packet

ABC DEF 001

Primary Redundant Error CorrectionData Data Code

Third Data Packet

HIG JKL 003

Primary Redundant Error CorrectionData Data Code

Second Data Packet

DEF HIG 002

Primary Redundant Error CorrectionData Data Code

Fourth Data Packet

JKL MNO 004

Primary Redundant Error CorrectionData Data Code

If the second data packet is “lost” from the example above, the Error Correction Code will indicate to use the redundant data DEF from the first packet.

If the third data packet is “lost” from the example above, the Error Correction Code will indicate to use the redundant data HIG from the second packet.

And so on.

IETF FEC documentation

RFC 2733 An RTP Payload Format for Generic Forward Error Correction.

RFC 5109 RTP Payload Format for Generic Forward Error Correction.

FEC software implementations

VLC

RTP streaming with FEC protection.forum.videolan.org/viewtopic.php?f=4&t=95636

Forward Error Correction multicast streaming.trac.videolan.org/vlc/ticket/820

SMPTE 2022

The Society of Motion Picture and Television Engineers introduced a standard known as SMPTE 2022. This standard describes a Forward Error Correction method that provides a method for real time RTP multimedia distribution.

SMPTE 2022 software implementation

VLC

SMPTE-2022 lib in C for VLC and other's.smpte-2022lib.sourceforge.net/

Page 13: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Stream Announcements

Broadcasters have the ability to transmit public announcements on multicast enabled networks to advertise their content. This is achieved using the Session Announcement Protocol (SAP). This is a format designed for describing streaming media parameters and is similar to the Shoutcast station directory which lists all known broadcasters using Shoutcast.

Some of the information contained in a SAP announcement include:

- Type of multimedia broadcast (audio/ video).- Bitrate of multimedia broadcast.- URL of multimedia broadcast.

You must be connected to a multicast enabled network to view SAP announcements.

SAP announcements can be viewed using the VLC software.www.videolan.org

Viewing SAP announcements with VLC

Open VLC software (For version 2.01)

- Click View tab. (Top of player.)

- Click Playlist tab. (Top of list.)

- Click Local Network. (Left side of player – underneath Playslist.)

- Scroll down on Local Network list.

- Find Network streams (SAP).

- Click Network streams (SAP).

- Find an SAP announcement you wish to view / listen to.

- Right click on the announcement and select play.

Page 14: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Software

Multicast enabled reception and broadcast software

VLCwww.videolan.org

Multicast Routing Daemons

IPV4

Pimd

Network routing application that uses Protocol Independent Multicast - Sparse Mode.

github.com/troglobit/pimd

github.com/troglobit/pimd#readme

SMCRoute(IPv4 and IPv6)

Network routing application that can be used as an alternative to dynamic multicast routers like mrouted or pimd where static multicast routes should be maintained.

github.com/troglobit/smcroute

github.com/troglobit/smcroute#readme

Mrouted

Network application that uses Distance Vector Multicast Routing Protocol.

www.github.com/troglobit/mrouted

github.com/troglobit/mrouted#readme

IGMP Proxy

Dynamic network routing application.

sourceforge.net/projects/igmpproxy/

IPV6

ECMH (Easy Cast du Multi Hub)

Network routing application that allows IPv6 multicast to be used without the need for Protocol Independent Multicast.

www.unfix.org/projects/ecmh/

MRD6

Network routing application.

www.fivebits.net/proj/mrd6

www-x.antd.nist.gov/ipv6/mrd6.html

SMCRoute(IPv4 and IPv6)

Network routing application that can be used as an alternative to dynamic multicast routers like mrouted or pimd where static multicast routes should be maintained.

github.com/troglobit/smcroute

github.com/troglobit/mrouted#readme

Page 15: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Virtual Private Network

For multicast data delivery to work, all network hardware devices must be configured to support multicast. The ability to configure network hardware may present a problem on lease networks or for service providers that do not support multicast networking. A Virtual Private Network can create a dynamic virtual network that does not require network hardware configuration to support multicast. This method allows both class D multicast addressing and multicast routing.

N2N

This is a software application that builds a virtual ethernet network between multiple computers that uses a full mesh topology. All nodes talk directly to each other, and there is no need for a central server.

www.ntop.org/products/n2n/

Current development branch of the n2n p2p vpn software

github.com/meyerd/n2n

Jn2n

A simple Java desktop application providing a graphical interface for n2n.

code.google.com/p/jn2n/

Free n2n supernode

n2n v2 supernode: IP: 88.86.108.50 port: 86

n2n v1 supernode: IP: 88.86.108.50 port: 82

www.vpnhosting.cz/wiki/index.php/N2n_Gui_En#Frequently_asked_questions

PeerVPN - the open source Peer to Peer VPN

This is a software application that builds a virtual ethernet network between multiple computers that uses a full mesh topology. All nodes talk directly to each other, and there is no need for a central server.

www.peervpn.net

Page 16: Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Additional Information

MBONE: Multicasting Tomorrow's Internet

A book about the multicasting backbone and the future of multimedia on the Internet Copyright 1996, 1998 by Kevin Savetz, Neil Randall, and Yves Lepage.

“This site contains the full text of our book, MBONE: Multicasting Tomorrow's Internet. This book was published by IDG in April 1996 and is now out of print. We are putting the book on the Web in its entirety in the hope that someone will find it useful. However, we have not updated the material since we wrote it, and don't intend to do so.“

www.savetz.com/mbone/

You can view broadcast both audio and video using VLC

wiki.videolan.org/Documentation:Streaming_HowTo_New

wiki.videolan.org/Documentation:Streaming_HowTo