X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=README;h=017bc0c31d71e4d984783d5d0a6a2e3a46a2fc14;hp=b51a8d39cd8ca153c7996f8a6e9dd94f41bd2b03;hb=f6c929d9e580bb1f2666236b16de1e3fe73878d3;hpb=d1bfba58e0a93444c7381e9029eda5e786b2fa02 diff --git a/README b/README index b51a8d39..017bc0c3 100644 --- a/README +++ b/README @@ -8,31 +8,33 @@ It contains the following programs: - para_server (obligatory): - This server listens on a tcp port and accepts commands such as - play, stop, pause, next. However, there are many more commands. + This server supports audio streaming of mp3, ogg vorbis and + aac files. It listens on a tcp port and accepts commands + such as play, stop, pause, next from authenticated clients. - For audio streaming, at least one sender must be activated. - At the moment, paraslash contains two internal senders: + The audio stream may be sent over the network by three + different senders: The http sender is recommended for public streams that can be played by any player like mpg123, xmms, winamp... + The dccp sender is experimental and requires kernel support + for the rather new datagram congestion control protocol. + The ortp sender is recommended for LAN streaming and for private streams that require authentication. It is possible to activate more than one sender simultaneously. - All senders have the same set of commands that allow to - control the access permissions of the stream. - para_server needs a "database tool" to work, mainly to - determine which song to stream next. There are three such - tools available: random, plm and mysql. The former chooses - audio files randomly and plm, the playlist manager, can handle + para_server needs an "audio file selector" to work, mainly + to determine which song to stream next. There are three + selectors available: random, playlist and mysql. The former + chooses audio files randomly and playlist can handle, well, playlists. Both are always supported. - The (optional) mysql database tool connects to a mysql server - which holds information on your audio files. It has several - unusual features, see README.mysql for details. + The optional mysql selector connects to a mysql server which + holds information on your audio files. It has several unusual + features, see README.mysql for details. - para_client (obligatory): @@ -40,60 +42,61 @@ It contains the following programs: - para_recv (optional) - A command line http/ortp stream grabber. + A command line http/dccp/rtp stream grabber. - para_filter (optional) - An filter program that converts from stdin and writes to + A filter program that converts from stdin and writes to stdout. This one is independent from the rest of paraslash, so it might be useful also for different purposes. - para_filter combines an mp3 decoder an oggvorbis decoder + para_filter combines several decoders (mp3, oggvorbis, aac) and a volume normalzer. 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. -- para_play (optional) +- para_write (obligatory) - A small wav/raw player for alsa. + A modular audio stream writer. It supports a simple file + writer output plugin and an optional wav/raw player for alsa. Debian package: libasound2-dev - para_audiod (optional, but recommended): - The local daemon that starts playback and collects information - from para_server to be forwarded to local clients. - - para_audiod reads the audio stream from the network if - para_server indicates that there is a stream available. It may - be sent through any of the supported filters (see para_filter - above) before the result is fed to the output software - (default: para_play) which must be capable of reading from - stdin, but is not restricted otherwise. + The local daemon that collects information from para_server. It + starts an appropriate receiver, filter and player as soon + as para_server announces the availability (and the type) of + an audio stream. para_audiod listens on a local socket and + sends status information about para_server and para_audiod + to local clients on request. - para_audioc (optional, but recommended) - A small client that can talk to para_audiod. Used to control - para_audiod and to receive status info. It can also be used to - grab the stream at any point in the filter chain. para_audioc - is needed by para_gui, para_sdl_gui and para_krell, see below. + The client program which talks with 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_gui (optional, but recommended): +- para_gui (optional): - 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. + 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_sdl_gui (optional): - SDL-based gui. Similar to para_gui but presents its output in - an X window (fullscreen mode is also available) and can display - jpg images on a per song basis. para_sdl_gui provides an input - prompt to enter arbitrary commands. However, it can also be used - non-interactively (e.g. as a screen saver) via the -i switch. + SDL-based gui. Similar to para_gui but presents its output + in an X window (fullscreen mode is also available) and can + display jpg images on a per song basis. para_sdl_gui provides + an input prompt to enter arbitrary commands. However, it + can also be used non-interactively (e.g. as a screen saver) + via the -i switch. -- para_krell (optional, only useful in conjunction with the mysql dbtool): +- para_krell (optional, only useful in conjunction with the mysql selector): A plugin for gkrellm which shows small pictures of the current song. It allows you to launch 27 different commands @@ -104,13 +107,13 @@ It contains the following programs: A (Linux-only) alarm clock and volume-fader. -- para_dbadm (optional, only useful in conjunction with the mysql dbtool): +- para_dbadm (optional, only useful in conjunction with the mysql selector): Very simple curses-based frontend which uses libmenu. Useful for quickly changing the attributes of the current song (e.g. from para_gui as an external command). -- para_slider (optional, only useful in conjunction with the mysql dbtool): +- para_slider (optional, only useful in conjunction with the mysql selector): A small X application which shows a scrollbar for each attribute defined in the mysql database. It creates a stream @@ -127,11 +130,8 @@ REQUIREMENTS: ~~~~~~~~~~~~~ In any case you need - - gcc, the gnu compiler collection (shipped with distro): gcc-3 - or newer is prefered, but gcc-2.95 is still supported. Note - that gcc-2.95 may spit out many warnings like unused function - parameters and missing initializers. These are all harmless - and may be ignored. + - gcc, the gnu compiler collection (shipped with distro): gcc-3.3 + or newer is required. - openssl (needed by server, client): usually shipped with distro, but you might have to install the "development" @@ -141,7 +141,7 @@ In any case you need - software mixing, e.g. ALSA and the direct mixing plugin (dmix) -If you want to use the mysql-based dbtool (recommended), you also need +If you want to use the mysql-based audio file selector, you also need - mysql-server - mysql-client @@ -160,15 +160,19 @@ make sure to install the corresponding development package as well. If you want to stream ogg vorbis files you'll need: - libogg, libvorbis, libvorbisfile, and a command line ogg vorbis - player, e.g. para_filter or ogg123. + decoder, e.g. para_filter or ogg123. http://www.xiph.org/downloads/ Debian packages: libogg-dev libvorbis-dev -Note that para_audiod still works even if neither mp3 nor ogg support -was compiled in. You'll have to use the --no_default_filters option -in this case (and e.g. "mpg123 -" as the stream write command). +For aac files (m4a) you'll need libfaad. Get it at + + http://www.audiocoding.com/modules/wiki/?page=AAC + +Note that para_audiod still works even if no audio file support was +compiled in. You'll have to use the --no_default_filters option in this +case (and e.g. "mpg123 -" as the stream write command for mp3 streams). If you intend to use the optional ortp streamer: @@ -209,12 +213,6 @@ LICENSE: ~~~~~~~~ Distribution of paraslash is covered by the GNU GPL. See file COPYING. -LIMITATIONS: -~~~~~~~~~~~~ -The mysql database tool assumes that the basenames of your audio files -are unique. If this is not the case, don't use this database tool, -rename your files, or create your own database tool. - THE AUTHOR: ~~~~~~~~~~~ Author: Andre Noll