summaryrefslogtreecommitdiff
path: root/README
blob: 2586f0340e1a3b48ec9fa924ed9507aa5cb52522 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Introduction
============

sydra is a toolbox which allows you to set up multiple bidirectional
Video/Audio streams from external locations.
sydra has been written to be used for the Elevate Festival in Graz
Austria in order to involve external locations to present themselves
at the festival.

Sydra consists of several components:

sydra-rtp:
  This is the basic utility for the task which is based on GStreamer and is
  written in C.
  The utility creates a gstreamer pipeline to send or receive RTP-based
  Audio/Video streams. For a bidirectional connection 2 instances of sydra-rtp
  are required on both sides of the communication. sydra-rtp has automatic
  client detection capabilities in the form of keep alive messages.
  These message are sent out by receivers to request RTP packets from a sender.
  The sender will send RTP packets to one or more receivers which request
  the stream. It also uses the keep alive messages to remove stale client
  'connections'. A receiver can also request to be removed from the list of
  receivers. This ensures a fast and clean shutdown.
  The keepalive messages are also a simple way to work around NAT and
  firewalls (UDP hole punching).

sydra-launch:
  This utility is basically a gst-launch equivalent.
  It creates and runs a gstreamer pipeline which is configured through  command-line
  arguments. The syntax for the pipeline description is the same as for gst-launch.
  The sole purpose of this program is that it allows to set the app-name which will
  get used for example by xvimagesink to set the window title. This is needed for
  sydra to tell a tiling window manager where a window should be shown.


Dependencies
============

Linux
-----

core:
 build-essential
 libglib2.0-dev
 libgstreamer1.0-dev (>= 1.4)
 pkg-config

if you want to use clang as compiler
 clang

if you want to rebuild the manpage:
 asciidoc


Installation
============

Getting the source via GIT:
---------------------------

git clone git://git.spreadspace.org/sydra.git
cd sydra

Building from source
--------------------

# cd src
# ./configure
# make


Installing
----------

# sudo make install

This will install sydra under the --prefix defined with configure.


Uninstalling
------------

# sudo make remove