X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=README;h=6cf34f2751332c82e630c6c53a3fe887e089129c;hp=0173fb3bbb60e1cf6d0c7402593238605a4b288d;hb=df6606e438a34c7bfc325e5f320843d1e97d3f7a;hpb=e5e8648e4e4bd1edb1823dc932c96a7a271b27a4 diff --git a/README b/README index 0173fb3b..6cf34f27 100644 --- a/README +++ b/README @@ -8,25 +8,25 @@ _Play, archive, rate and stream large audio sets happily_ It contains the following programs: ------------------------- -para_server (obligatory) ------------------------- +----------- +para_server +----------- para_server streams binary audio data (mp3/oggvorbis/m4a files) over local and/or remote networks. It listens on a tcp port and accepts commands such as play, stop, pause, next from authenticated clients. However, there are many more commands. -It supports three builtin network streaming methods (senders): http, dccp, -or rtp. +It supports three built-in network streaming methods (senders): http, dccp, +or udp. * The http sender is recommended for public streams that can be played by any player like mpg123, xmms, itunes, winamp... - * The dccp sender is experimental and requires kernel support for the - rather new datagram congestion control protocol. + * The dccp sender requires kernel support for the datagram congestion + control protocol. - * The ortp sender is recommended for multicast LAN streaming + * The udp sender is recommended for multicast LAN streaming. It is possible to activate more than one sender simultaneously. @@ -37,30 +37,33 @@ selected. Its features include - * attributes: Allow fine-grained audio file selection. + * attributes. Allow fine-grained audio file selection. - * image table. For storage of e.g. album cover art. + * image table. For storing e.g. album cover art. - * lyrics table. For storage of lyrics. + * lyrics table. For storing lyrics. - * playlist table. Stores arbitrary many playlists. + * playlist table. Stores arbitrary many playlists for later use. * mood mode. Audio file selection works by specifying mood methods involving attributes, pattern matching for file names - and more. This allows rather sophisticated configurations - and is explained in more detail in INSTALL. + and more. This allows rather sophisticated configurations + and is explained in more detail in +<< + README.afs +>> * rename detection. If files are moved or renamed, afs will - recognioze them despite of this change. + recognize them despite of this change. Despite of all these features, paraslash is lightweight. The stripped binary of para_server with all its features compiled in -mp3/ogg/aac support, http/dccp/ortp support) is about 150K on i386 +mp3/ogg/aac support, http/dccp/udp support) is about 160K on i386 under Linux. para_audiod (see below) is even smaller. ------------------------- -para_client (obligatory) ------------------------- +----------- +para_client +----------- The client program to connect to para_server. paraslash commands are sent to para_server and the response is dumped to stdout. This @@ -69,88 +72,101 @@ little programming effort. All connections between para_server and para_client are encrypted by default. For each user of paraslash you must create a public/secret -key pair for authentication. The (authenticated) connection is encrypted -with a symmetric rc4 session key. +RSA key pair for authentication. The authenticated connection is +encrypted with a symmetric rc4 session key. --------------------- -para_recv (optional) --------------------- +--------- +para_recv +--------- -A command line http/dccp/rtp stream grabber. The http mode of this tool -can be used to receive date from any http streaming source. +A command line http/dccp/udp stream grabber. The http mode of this +tool can be used to receive data from any http streaming source. ----------------------- -para_filter (optional) ----------------------- +----------- +para_filter +----------- -A filter program that converts from stdin and writes to stdout. It -is completely independent from the rest of paraslash, so it might be -useful also for different purposes. +A filter program that converts from stdin and writes to stdout. para_filter combines several decoders (mp3, oggvorbis, aac) and a -volume normalizer New filters can be added easily due to the modular -design. If more than one filter is specified, the given filters -are 'piped' together in-memory, i.e. without calling any of the -read(2)/write(2)/select(2) etc. functions. +volume normalizer. New filters can be added easily. It is possible +to "chain" any number of filters, like UNIX pipes. ------------------------ -para_write (obligatory) ------------------------ +para_filter does not depend on other parts of paraslash, so it can +be used as a stand-alone command line tool for audio decoding and +volume normalization. + +-------- +para_afh +-------- + +A small stand-alone program that prints tech info about the given +audio file to stdout. It can be instructed to print a "chunk table", +an array of offsets within the audio file or to write the content of +the audio file in complete chunks 'just in time'. + +This allows third-party streaming software that is unaware of +the particular audio format to send complete frames in real +time. Currently, mp3, ogg vorbis and aac are supported. + +---------- +para_write +---------- A modular audio stream writer. It supports a simple file writer -output plug-in and optional wav/raw players for alsa (linux-only, -Debian package: libasound2-dev) and Mac OS. para_write can also be -used as a stand-alone wav or raw audio player. +output plug-in and optional wav/raw players for ALSA (Linux) and for +coreaudio (Mac OS). para_write can also be used as a stand-alone wav +or raw audio player. ---------------------------------------- -para_audiod (optional, but recommended) ---------------------------------------- +----------- +para_audiod +----------- The local daemon that collects information from para_server. -It runs on the client side and connects to para_server. The audio stream is -read from the network and sent through any of paraslash's filters (decoder, -volume normalizer). The resulting stream is written to an output plug-in -(writer), e.g. the alsa writer on linux systems. It is possible to capture the -stream at any position in the filter chain. +It runs on the client side and connects to para_server. As soon as +para_server announces the availability of an audio stream, para_audiod +starts an appropriate receiver, any number of filters and a paraslash +writer to play the stream. It is possible to capture the stream at +any position in the filter chain. -para_audiod starts an appropriate receiver, filter and player as soon as -para_server announces the availability (and the type) of an audio stream. -Moreover, it listens on a local socket and sends status information about -para_server and para_audiod to local clients on request. +Moreover, para_audiod listens on a local socket and sends status +information about para_server and para_audiod to local clients on +request. Access via this local socket may be restricted by using Unix +socket credentials, if available. --------------------------------------- -para_audioc (optional, but recommended) --------------------------------------- +----------- +para_audioc +----------- -The client program which talks with para_audiod. Used to control +The client program which talks to para_audiod. Used to control para_audiod, to receive status info, or to grab the stream at any point in the filter chain. -para_audioc (hence para_audiod) is needed by para_gui, para_sdl_gui -and para_krell, see below. +para_audioc (hence para_audiod) is needed by para_gui see below. -------------------- -para_gui (optional) -------------------- +-------- +para_gui +-------- Themable ncurses-based gui. It calls para_audioc and presents the obtained information in an ncurses window. para_gui provides key-bindings for the most common commands and new key-bindings can be added easily. --------------------- -para_fade (optional) --------------------- +--------- +para_fade +--------- -A (Linux-only) alarm clock and volume-fader. +A (oss-only) alarm clock and volume-fader. --------------------------- -bash_completion (optional) --------------------------- +--------------- +bash_completion +--------------- A small bash script for inclusion in ~/.bashrc. It gives you command line completion for some paraslash commands. + ------- LICENSE -------