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