FEATURES: reformat to grutatext-friendly style
[paraslash.git] / FEATURES
1 Features
2 ========
3
4 configurable audio streaming software:
5 --------------------------------------
6
7 para_server streams binary audio data (mp3/ogg/m4a files) over local
8 and/or remote networks. It supports three builtin streaming methods
9 (senders): http, dccp, or rtp.
10
11 para_audiod runs on the client side and connects to para_server. The
12 audio stream is read from the network and sent through any of
13 paraslash's filters (decoder, volume normalizer,...). The resulting
14 stream is written to an external program's standard in, usually an
15 audio player like para_write, which comes with paraslash and contains
16 an alsa player. It is possible to capture the stream at any position
17 in the filter chain.
18
19 The receiving/filtering/playing software is also available as
20 standalone command line tool: para_recv, para_filter, and para_write.
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 small memory footprint:
41 -----------------------
42
43 paraslash is lightweight. The stripped binary of para_server with
44 all its features compiled in (mysql/random/playlist selector,
45 mp3/ogg/aac support, http/dccp/ortp support) is about 120K on i386
46 under Linux. para_audiod is even smaller.
47
48 command line interface:
49 -----------------------
50
51 paraslash commands are sent to para_server and the response is
52 dumped to stdout. This can be used by any scripting language
53 to produce user interfaces with little programming effort.
54
55 authentication/encryption via openssl:
56 --------------------------------------
57
58 All connections between para_server and para_client are encrypted by
59 default. For each user of paraslash you must create a public/secret
60 key pair for authentication. The (authenticated) connection is crypted
61 with a symmetric rc4 session key.
62
63 various user interfaces and utilities:
64 --------------------------------------
65
66 * para_gui. Curses based interface, displays information in a
67 curses window and can be used to easily control para_server
68 and para_audiod.
69
70 * para_sdl_gui. Shows pictures (on a per song basis) and
71 other information about the current audio file. Can be used
72 as a screen saver.
73
74 * para_krell. A gkrellm2 plugin that shows small pics and is
75 able to launch 27 different commands by clicking on the image.
76
77 * para_slider. User-friendly stream creator for people who
78 don't like their keyboard.
79
80 * para_dbadm. Simple curses interface for changing attributes.
81
82 * para_fade. Simple volume fader and alarm clock.