simplify open_audiod_pipe(), remove a trailing newline which caused
[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 (aka "database tools")
27 available:
28
29 - random
30 - plm (playlist manager)
31 - mysql
32
33 The first two of these are rather simple, and they are always
34 supported. They allow streaming of randomly selected files
35 or files given by a playlist respectively.
36
37 The (optional) mysql selector is more involved. It manages
38 statistics on your audio files and audio file selection is
39 done by sending a user-defined sql-query to the mysql server.
40 This allows rather sophisticated configurations and is
41 explained in detail in README.mysql.
42
43 It is possible to switch between all supported selectors at
44 any time.
45
46 small memory footprint:
47 ~~~~~~~~~~~~~~~~~~~~~~~
48 paraslash is lightweight. The stripped binary of para_server
49 with all its features compiled in (mysql/random dbtool,
50 mp3/ogg support, http/ortp support) is about 110K on i386
51 under Linux. para_audiod is even smaller.
52
53 command line interface, including shell:
54 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 para_client without arguments starts interactive (shell)
56 mode. Otherwise, command is sent to para_server directly
57 and output is dumped to stdout. This can be used by any
58 scripting language to produce user interfaces with very little
59 programming effort.
60
61 authentication/encryption via openssl:
62 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 All connections between para_server and para_client are
64 encrypted by default. For each user of paraslash you must
65 create a public/secret key pair for authentication/encryption.
66
67 various user interfaces and utilities:
68 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 o para_gui. Curses based interface, displays information in a
70 curses window and can be used to easily control para_server
71 and para_audiod.
72
73 o 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
77 o para_krell. A gkrellm2 plugin that shows small pics and is
78 able to launch 27 different commands by clicking on the image.
79
80 o para_slider. User-friendly stream creator for people who
81 don't like their keyboard.
82
83 o para_dbadm. Simple curses interface for changing attributes.
84
85 o para_fade. Simple volume fader and alarm clock.