Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Goabit Users Manual

Download as odt or pdf
Download as odt or pdf
You are on page 1of 16

GoalBit Media Player

GOALBIT is a Peer-to-Peer distribution system, capable of distributing high


bandwidth live media content to all network peers while preserving its perceived
quality

User Guide Created By

David Childers

Research for this project is / was partially supported by

Institut National de Recherche en Informatique - France


Administración Nacional de Telecomunicaciones - Uruguay
Universidad de la Republica - Uruguay

goalbit.sourceforge.net
Creative Common License

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

You may freely distribute or modify this work for commercial or non commercial purposes.

If you choose to modify this work, you are required to comply with the Attribution-ShareAlike version 3.0,
Creative Common License requirements.

These requirements include:


- You must attribute any derivatives of this work to David Childers.
- If you alter, transform, or build upon this work, you may distribute the resulting work only under the
same, similar or a compatible license.

For the complete legal code, please refer here:


http://creativecommons.org/licenses/by-sa/3.0/legalcode
Index

Foreward

Project Members

Introduction

Motivation

Architecture

Debian Linux Installation

Streaming Shoutcast / Icecast – Video / Audio

Links To Additional Information


Foreward

The GoalBit Media Player Project represents a dramatic improvement for Peer-to-Peer multimedia
streaming. It provides the ability to pull stream data from multiple sources as well as the ability
to restructure the Peer-to-Peer network for optimum data transfer. These advances eliminate the
potential for stream failure due to lost data or network latency.

I would like to thank these people: The GoalBit Media Player project members and Streamer 45
for providing software testing information.

Pode ser que os seus sonhos se realizem.

David Childers

Sustaining Member

Society Motion Picture


and Television Engineers

Discovery is seeing what everybody else has seen, and thinking what nobody else has thought.

Albert Szent-Gyorgyi
Project Members

Project Leader
Rodriguez-Bocca, Pablo

Principal Researchers [4]


Cancela, Héctor
Rodriguez-Bocca, Pablo
Robledo, Franco
Rubino, Gerardo

Developement Engineers [7]


De Vera, Daniel
Rostagnol, Claudia
Barrios, Andres
Barrios, Matías
Comas, Juan José
Lacuesta, Sebastián
Perdomo, Pablo
Rodriguez, Laura

Past Researchers and Engineers [11]


Capdehourat, German
Chadarevian, Andrés
Couto da Silva, Ana Paul
Fargeas, Gildas
Fernández Ibarra, José Luis
Fischer, Xavier
Kassis, Roxanda
Martínez, Marcelo
Morón, Alexis
Sabiguero, Ariel
Stábile, Luis
Introduction

GoalBit is a Peer-to-Peer distribution system, capable of distributing high bandwidth live media
content to all network peers while preserving its quality. This project follows a BitTorrent like
approach in which the media stream is broken down into partial streams. These partial streams
are then relayed to other clients within the Peer-to-Peer network. In order to measure the peer's
perceived quality, GoalBit uses the recently developed PSQA (Pseudo Subjective Quality
Assessment) technology.

Basic Features

GoalBit is a free software project for video and audio streaming. It is released under the GNU
General Public License.

GoalBit runs on GNU / Linux, *BSD, Solaris, and Microsoft Windows.

GoalBit uses BitTorrent streaming.

GoalBit supports the following formats: Media File, Video acquisition (DV, webcam),
HTTP/MMS/FTP, Shoutcast/Icecast, UDP/RTP, Unicast/Multicast, TCP/RTP Unicast, DVD, VCD,
SVCD, etc.

GoalBit supports various audio and video codecs: MPEG-1, MPEG-2, MPEG-4, DivX, WMV, Theora,
VP3, VP6, Dirac, H.264, AAC, AAC+, MP3, Ogg, WMA.

A full video delivery network monitoring suite is included. (The perceived quality of the client is
automatically measured in real time.)
Motivation

There is a steady growth of multimedia distribution systems being used on the Internet. This is a
result of the increasing development of broadband access for residential users in addition to new
business models for content producers. These producers use various methods for content
distribution that depend on the size and popularity of the media being distributed. The majority
of content producers use a traditional Content Delivery Network (CDN) structure (such as msnTV,
YouTube, Jumptv, etc.). There are several mature Peer-to-Peer (P2P) systems (such as Joost, iMP,
etc.) that are used to distribute both audio and video media as well.

Peer-to-Peer architectures are virtual networks developed at the application level over the
Internet infrastructure. The nodes in a P2P network are called peers, and they offer their
resources (bandwidth, processing power, storing capacity) to the other nodes. These nodes
share their resources because they are exchanging data that is common to all participants.
When the number of participating nodes increase, the global resources of the Peer-to-Peer
network also increase, which allows for greater content distribution potential. Peer-to-Peer
networks are very popular and are widely used for file sharing and content distribution. Some
examples of Peer-to-Peer networks include: BitTorrent, KaZaA, eMule, etc.
Architecture

Inside the GoalBit Project there are five basic components (Fig. 1): the streaming server, the
clients, the control server, the PSQA learning tool and the webstat application.

Fig. 1. Global architecture

The streaming server distributes the media content over the P2P Delivery Network. It represents
the primary node in the peer distribution architecture.

Each client receives several partial streams from other clients that are located elsewhere. The
client is able to reconstruct the complete media stream from the various partial streams that
they receive. The client continuously measures information about the network distribution
quality and reports this data to the control server. Each client receives instructions from the
control server that specify which nodes to connect to and get the partial streams from.

The control server automatically measures the perceived quality at the client side and predicts
the best possible path for the Peer-to-Peer data transfer. It periodically rebuilds the structure of
the distribution network based on these values.

The PSQA software learning tool is used to predict the perceptual quality value within the
network.

The webstat application provides a web interface for the network topology and the client’s
reports presentation.
Debian Linux Installation

Opentracker Information

Opentracker is an open bittorrent tracker.

This tracker is open in a sense that everyone announcing a torrent is welcome to do so and will
be informed about anyone else announcing the same torrent. Unless
-DWANT_IP_FROM_QUERY_STRING is enabled (which is meant for debugging purposes only), only
source IPs are accepted. The tracker implements a minimal set of essential features only. When
tested, the software was capable of responding to more than 10000 requests per second on a
Sun Fire 2200 M2 (thats where we found no more clients able to fire more of our testsuite.sh
script).

Some tweaks you may want to try under FreeBSD:

sysctl kern.ipc.somaxconn=1024
sysctl kern.ipc.nmbclusters=32768
sysctl net.inet.tcp.msl=10000
sysctl kern.maxfiles=10240

License information:

Although the libowfat library is under GPL, Felix von Leitner aggreed that the compiled binary
may be distributed under the same beer ware license as the source code for opentracker.
However, we like to hear from happy customers.
GoalBit Information

Download the source code

$ mkdir -p ~/svn/
$ cd ~/svn/
$ svn co https://goalbit.svn.sourceforge.net/svnroot/goalbit goalbit

Prepare your environment

Install 3rd party dependencies

Not all of them are necessary, come back later if you have trouble in the compilation step

# apt-get install autoconf cvs git git-core subversion sudo gdb


# apt-get build-dep vlc
# apt-get install libavcodec-dev libpostproc-dev libmpeg2-4-dev x264 libx264-dev libswscale-
dev
# apt-get install libfaac-dev libfaac0 libxvidcore4-dev libxvidcore4
# apt-get install liblame-dev libmp3lame0 libmp3lame-dev
# apt-get install libqt4-dev
# apt-get install libxpm-dev

Compile miniupnp

This software is mandatory, it allows the opening of TCP ports in your router/firewall

$ cd ~/svn/goalbit/build/contribs
$ tar xvf miniupnpc-1.1.tar.gz
$ cd miniupnpc-1.1/
$ make
$ sudo make install

Compile Tracker

$ cd ~/svn/goalbit/src/opentracker/libowfat/
$ make
$ cd ~/svn/goalbit/src/opentracker/btv-opentracker/
$ make

Compile GoalBit

$cd ~/svn/goalbit/src/goalbit/
$rm -rf autotools/ intl/
$make clean
$./bootstrap
$./configure --enable-optimize-memory --enable-mostly-builtin --enable-debug \
--enable-sout --enable-httpd --enable-vlm --enable-dshow \
--enable-libcdio --enable-vcdx --enable-cdda --enable-vcd --enable-ogg --enable-mkv --enable-
mad \
--enable-vorbis --enable-speex --enable-x264 \
--enable-real --enable-realrtsp \
--enable-x11 --enable-xvideo --enable-glx --enable-opengl --enable-sdl --enable-freetype --
enable-fribidi --enable-v4l2 \
--enable-directx --enable-fb --enable-caca --enable-oss --enable-esd --enable-alsa \
--enable-skins2 --enable-wxwidgets --enable-visual --enable-qt --enable-qt4 \
--enable-galaktos --enable-loader --enable-theora \
--disable-dvdread --disable-dvdnav \
--enable-ffmpeg --disable-live555 --enable-a52 --enable-libmpeg2 \
--enable-mozilla \
--disable-hal
$ ./compile

If you want to integrate the tracker with the GoalBit media player (experimental), add the
following lines to the configuration.

--enable-goalbit_btv_tracker --with-owfat-
tree=/home/USER/svn/goalbit/src/opentracker/libowfat/

Try it!

$ cd ~/svn/goalbit/src/goalbit/
$ ./goalbit -vvv
Streaming Shoutcast / Icecast – Video / Audio

Installing The Tracker Software

Download and run the latest version of the btv opentracker:


http://goalbit.svn.sourceforge.net/viewvc/goalbit/build/dists/

For the windows version of the open tracker, the DLL file must be placed in the same directory as
the btv-open tracker software.

The tracker will run on port 6969 and is viewed as: http://your_ip_address:6969.

Installing The GoalBit Software

Download the latest version of GoalBit.

http://goalbit.sourceforge.net/downloads.html

Install the GoalBit software.

Configuring The GoalBit Software

Run GoalBit.

Click on the Broadcast yourself tab.


(Main screen) Another screen will open.
Configuring The Station Information

Input all the channel / station information.

- Channel
identifier

- Channel name

- Channel
description

- Channel logo

* If you
substitute the
logo, the
replacement
must be
continuously
accessible via
the Internet.

Configuring GoalBit To Broadcast An Icecast / Shoutcast Stream

Click on the Input parameters button (Broadcast yourself screen), another screen will open.

Click on the the Network tab.

Select the HTTP Protocol.

Input the network address of the computer running the Shoutcast or Icecast media server.

Shoutcast

NSV Video - http://DNAS_server_ip_addrress:port_number/;stream_name.nsv

MP3 Audio - http://DNAS_server_ip_addrress:port_number/

AAC Audio - http://DNAS_server_ip_addrress:port_number/

AAC+ Audio - http://DNAS_server_ip_addrress:port_number/

Icecast

Theora Video - http://Icecast_server_ip_address:port_number/stream_name.ogg

Ogg Audio – http://DNAS_server_ip_addrress:port_number/stream_name.ogg


Click the accept button after entering the stream information.

Configuring The GoalBit Software To Connect To The Tracker Software

Click on the Output parameters button (Broadcast yourself screen), another screen will open.

Change only the tracker URL address. (This is the network address of the computer running the
open tracker software.)

Click the accept button after entering the tracker URL address.
Creating The GoalBit Torrent File

Click on the Generate GoalBit file button (Broadcast yourself screen).

The file that is generated must given to people or embedded on a web site so that they can
listen to or view the station.

Streaming The Content With GoalBit

To start the P2P broadcast, click the play button and GoalBit will start after a few seconds.

End users must install the GoalBit media player to watch the P2P streaming content.
Links To Additional Information

Documentation for the Icecast / Shoutcast multimedia server.

Icecast server
www.icecast.org/docs.php

Shoutcast server
www.shoutcast.com/support

Download and documentation for the Dirac and Theora video codecs.

Dirac
www.diracvideo.org
(ffmpeg2dirac) converts media to dirac/ogg in the ogg format

Theora
www.theora.org
(ffmpeg2theroa) converts media to theora/ogg in the ogg format

Documentation for Nullsoft Video streaming.

NSV
www.scvi.net

Software to source static video and audio files to the Icecast multimedia server.

Ezstream
www.icecast.org/ezstream.php

You might also like