Real Time Multimedia Streaming Using Bittorrent
Society of Motion Picture and Television Engineers
Society of Motion Picture and Television Engineers
Abstract
Streaming of multimedia content via the Internet can be accomplished by using several data communication protocols . The most common choice for content producers is the use of the inefficient Unicast protocol, which wastes network resources. A secondary choice for content streaming is the use of Peer-to-Peer. Peer-to-Peer content delivery does not waste network
resources and drives down the cost of content delivery.
Why Peer-to-Peer content streaming ?
Internet television and radio stations can suffer from the “Slash Dot“ popularity effect, which means that broadcasters must cope with greater bandwidth demands due to more people receiving the Internet broadcast. Peer-to-Peer multimedia streaming was developed to alleviate the need for large amounts of bandwidth for Internet streaming to a global audience. Without access to Peer-to-Peer content delivery, Internet Radio and Television stations are forced to use the inefficient and bandwidth intensive streaming technology.
There are many open and closed source Peer-to-Peer multimedia streaming applications available. (1) (2) Several of these applications do not easily scale with traffic demands or they use inefficient peer distribution methods which can result in point-to-point data exchange failure. Some of these applications also require complex installation and configuration, which is difficult for the less experienced computer user.
What is Bittorrent ?
Bittorrent is an open source software application which was developed to distribute data files without requiring large amounts of bandwidth. This software delivers the information by cutting files into smaller pieces and using a specialized Peer-to-Peer distribution process. It does not require special configuration and is extremely easy to use. The software is used extensively to distribute various types of content over the Internet. Unfortunately, there are several drawbacks
for using this software to deliver multimedia. This includes not being designed to distribute continuous streams of audio or video, which requires users to download an entire file before they can view or listen to it. (3)
Improvements to Bittorrent that support real time multimedia streaming The European P2P Next organization and the Deft University of Technology in the Netherlands have developed several improvements to Bittorrent that allow the software to support continuous data distribution, such as audio and video streaming. (4) These improvements incorporate a new process known as “Give To Get“, (5) (6) which focuses on having peers distributing content to neighboring clients using a special incentive process. Clients receive data based on the amount of data that they themselves send. Information indicating the amount of data distributed by individual clients is gathered from surrounding peers and evaluated. The ability to monitor the amount of data distributed by clients creates a incentive for all peers to actively participate in the exchange of data. The original Bittorrent distribution process known as “Tit For Tat” focused on peers exchanging data with neighboring clients that had previously done so. (7)
These software improvements also include a modified method of data distribution priority. This method combines the processes of giving priority to rarest data chunks first and the sequential order of the data chunks. Standard Bittorrent relies on giving priority to distributing the rarest chunks of data first. This improvement allows the continuous flow of ordered data, which is important for Internet broadcast streaming. (8)
Additional steps required for using Bittorrent real time multimedia streaming To provide continuous delivery of content, the encoded multimedia must be encapsulated using the Transport Stream communication protocol. This specialized protocol was created for the distribution of data that uses unstable environments for the transfer of data. A Transport Stream
is created by inserting additional time stamps into an existing data stream, which are placed at fixed intervals. Any header information contained in the multimedia stream, such as those found in video, are not used for content playback. (9)
The Swarm Player is a modified Bittorrent client that is necessary to view or listen to the specially formated Peer-to-Peer streaming multimedia. It uses the open source VLC media player; which is capable of using many audio and video codecs, in addition to content encoded with various multimedia container formats. This software operates by using the Peer-to-Peer improvements for content redistribution. The Swarm Player is a desktop application that does not require special configuration and is available for various computer operating systems. (10)
You can download the Swarm Player here: trial.p2p-next.org.
Bittorrent Streaming incorporates the following steps:
* Multimedia is encoded.
* The encoded multimedia is passed to the Transport Stream encapsulation software.
* The encapsulated multimedia Transport Stream data is passed to the Bittorrent Stream creation
software.
* The Bittorrent Stream is passed to the Internet for distribution.
* The end user receives the content using the Swarm Player.
Multimedia encoding is the first step in the streaming process. Several audio and video codecs can be used for the encoding the content. The list of codecs that can be used in the encoding process include: MPEG-1, MPEG-2, MPEG-4, H.264, Dirac, JPEG and Windows Media for video; in addition to MP1, MP2, MP3 , MP4, AC-3, LPCM , DTS for audio. Audio, video or a combination of both, can be used for streaming; in addition to using live or pre-recorded multimedia content. (11) (12)
The next step is to encapsulate the encoded multimedia, using the Transport Stream protocol. The software used to encapsulate the encoded multimedia content must be capable of being used with both continuous data streams and individual data files. This provides the ability to distribute either a multimedia stream or individual on demand files.
The final step is to use the Tribler software application for distribution of the multimedia content using Bittorrent Peer-to-Peer delivery. This is an open source application that is available for various operating systems. The Tribler software slices up the encoded multimedia Transport Stream into evenly divided data chunks and distributes them using the modified Peer-to-Peer delivery system. (13) It also creates a special torrent streaming file which allows people to click
on the file and receive the multimedia content. (14)
View on demand Creative Common multimedia content using Bittorrent Streaming You can view a collection of Creative Commons on demand films being distributed using Tribler Bittorrent Streaming located here : www.cs.vu.nl/~arno/vod
Conclusion
Bittorrent Streaming provides the ability to save bandwidth costs, using proven technology and can be deployed using free and open source software that is available for various operating systems. Several groups have committed substantial monetary grants for continued development of this Peer-to-Peer multimedia streaming application with the pledge of keeping the software improvements open source.
Peer-to-Peer streaming can provide greater distribution potential at lower costs for both video and audio content. Internet broadcasters will no longer be penalized for having popular stations and will no longer be forced to sacrifice multimedia quality for lower bandwidth use. The age of the Micro Broadcaster is finally here.
(1)
www.scvi.net/stream/soft.htm
(2)
www.scvi.net/stream/soft2.htm
(3)
en.wikipedia.org/wiki/BitTorrent_protocol
(4)
www.p2p-next.org
(5)
www.tribler.org/trac/wiki/Give-To-Get#Give-to-Get
(6)
www.pds.ewi.tudelft.nl/pubs/papers/mmcn2008.pd
(7)
www.tribler.org/trac/wiki/Give-To-Get#Uploadingpolicy
(8)
www.tribler.org/trac/wiki/Give-To-Get#PiecePickingpolicy
(9)
en.wikipedia.org/wiki/MPEG_transport_stream
(10)
http://www.tribler.org/trac/wiki/StreamingExperiment#Software
(11)
ffmpeg.mplayerhq.hu/general.html#SEC6
(12)
ffmpeg.mplayerhq.hu/general.html#SEC7
(13)
www.tribler.org/trac/wiki/StreamingExperiment#Setup
(14)
www.tribler.org/trac/wiki/StreamingExperiment#Clients




Comments
Write New Comment ▼
Write New Comment
Sorry! This knol's owner(s) have blocked you from editing, making suggestions, or commenting here.