Merge branch 'dccp'
[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 - playlist
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/playlist
49 selector, mp3/ogg support, http/ortp support) is about 110K
50 on i386 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.