fbc842904d37bc5880c5458fe2e1ec7a3c117450
[paraslash.git] / FEATURES
1 Features
2 ========
3
4 configurable audio streaming software:
5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6         para_server streams binary audio data (mp3/ogg files) over
7         local or remote networks. It contains two built-in streamers:
8         the http streamer and the ortp streamer.
9
10         para_audiod runs on the client side and connects to
11         para_server. The audio stream is read back and sent through
12         any of paraslash's filters (mp3 decoder, ogg vorbis decoder,
13         volume normalizer,...) and the resulting stream is written to
14         an external program's standard in, usually an audio player,
15         like para_play that uses alsa. It is possible to grab the
16         stream at any position in the filter chain.
17
18         The receiving/filtering software is also available as
19         standalone command line tool: para_recv grabs the http or ortp
20         stream and writes to stdout; para_filter reads from stdin,
21         converts the stream according to the given --filter command
22         line options and writes the transformed stream to stdout.
23
24 configurable audio file selectors:
25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26         There are three audio file selectors available:
27
28                 - random
29                 - plm (playlist manager)
30                 - mysql
31
32         The first two of these are rather simple, and they are always
33         supported. They allow streaming of randomly selected files
34         or files given by a playlist respectively.
35
36         The (optional) mysql selector is more involved. It manages
37         statistics on your audio files and audio file selection is
38         done by sending a user-defined sql-query to the mysql server.
39         This allows rather sophisticated configurations and is
40         explained in detail in README.mysql.
41
42         It is possible to switch between all supported selectors at
43         any time.
44
45 small memory footprint:
46 ~~~~~~~~~~~~~~~~~~~~~~~
47         paraslash is lightweight. The stripped binary of para_server
48         with all its features compiled in (mysql/random dbtool,
49         mp3/ogg support, http/ortp support) is about 110K on i386
50         under Linux. para_audiod is even smaller.
51
52 command line interface, including shell:
53 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54         para_client without arguments starts interactive (shell)
55         mode. Otherwise, command is sent to para_server directly
56         and output is dumped to stdout. This can be used by any
57         scripting language to produce user interfaces with very little
58         programming effort.
59
60 authentication/encryption via openssl:
61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62         All connections between para_server and para_client are
63         encrypted by default.  For each user of paraslash you must
64         create a public/secret key pair for authentication/encryption.
65
66 various user interfaces and utilities:
67 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68         o para_gui. Curses based interface, displays information in a
69         curses window and can be used to easily control para_server
70         and para_audiod.
71
72         o para_sdl_gui. Shows pictures (on a per song basis) and
73         other information about the current audio file. Can be used
74         as a screen saver.
75
76         o para_krell. A gkrellm2 plugin that shows small pics and is
77         able to launch 27 different commands by clicking on the image.
78
79         o para_slider. User-friendly stream creator for people who
80         don't like their keyboard.
81
82         o para_dbadm. Simple curses interface for changing attributes.
83
84         o para_fade. Simple volume fader and alarm clock.