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