Вы находитесь на странице: 1из 16

Introduction To Multicast Multimedia Delivery For Internet Broadcasters

Written By David Childers

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

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 Era Turre Publishing Research On High-Profile Digital Video Production Digital Content Association of Japan Video Podcasting in Perspective: The History, Technology, Aesthetics and Instructional Uses of a New Medium Journal of Educational Technology Systems Video Podcasting: When, Where and How it's Currently used for Instruction The National Convention of the Association for Educational Communications and Technology IP Packet Charging Model For Multimedia Services National University of Rwanda Preservation of audiovisual mediums: Problems and challenges Platform for Archiving and Preservation of Art on Electronic and Digital Media P2P Technology Trend and Application to Home Network Electronics and Telecommunications Research Institute Journal Peer To Peer Computing - The Evolution of a Disruptive Technology Idea Group Publishing Peer-to-Peer Systems and Applications Lecture Notes In Computer Science Springer 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

- 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

- Basic Internet Video Production Guide - Broadcasters Guide For Creating An Effective Newsletter - SHOUTcast Streaming - Best of Technical Support - Broadcaster Website Development Guide - SHOUTcast Audio And Video Streaming Guide - Broadcasters Guide To Understanding Your Audience - Streaming Media Handbook

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

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

Posveeno Nei 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

Index - Introduction - Theory - Requirements - Data Structure - Data Control - Data Routing - Error Correction - Stream Announcements - Software - Virtual Private Networks - Additional Information

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.

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 Destination Source 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

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.

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

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.

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.

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 Primary Data DEF Redundant Data 001 Error Correction Code Third Data Packet HIG Primary Data JKL Redundant Data 003 Error Correction Code

Second Data Packet DEF Primary Data HIG Redundant Data 002 Error Correction Code

Fourth Data Packet JKL Primary Data MNO Redundant Data 004 Error Correction 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/

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.

Software Multicast enabled reception and broadcast software VLC www.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

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

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

Вам также может понравиться