X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=INSTALL;h=9e53e1f3dbeccf49b6ee8647673823ee54bef7c2;hp=d791cb780d11829ae3a9b8ecc2d900148263af5b;hb=450dc78c2298f8ebc8ec494288c6b04aa2359e2d;hpb=abc9c35b6ddb7b0b2f508970e736a5f4767472cf diff --git a/INSTALL b/INSTALL index d791cb78..9e53e1f3 100644 --- a/INSTALL +++ b/INSTALL @@ -22,7 +22,6 @@ software). Then, as root, make install - Setup user list and create rsa keys ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you already have your rsa keys, skip this step. If you are new @@ -32,7 +31,8 @@ want to allow to connect. You need at least one user. Let's assume that you'd like to run the server on host server_host as user foo, and that you want to connect from client_host as user bar. -As foo@server_host, create ~/.paraslash/server.users: +As foo@server_host, create ~/.paraslash/server.users by typing the +following commands: target=~/.paraslash/server.users key=~/.paraslash/key.pub.bar @@ -54,7 +54,9 @@ Next, extract its public part: pubkey=~/.paraslash/key.pub.bar openssl rsa -in $key -pubout -out $pubkey -and copy the public key just created to server_host: +and copy the public key just created to server_host (you may +skip this step for a single-user setup, i.e. if foo=bar and +server_host=client_host): scp $pubkey foo@server_host:.paraslash/ @@ -64,7 +66,12 @@ Finally, tell para_client to connect to server_host: Start para_server ~~~~~~~~~~~~~~~~~ - para_server +For the first try, we'll use the default audio file selector, the +"random" selector which chooses audio files from the given directory +by random. You have to tell para_server via the --random_dir command +line option where this selector should look for audio files. + + para_server --random_dir=/my/mp3/directory Now you can use para_client to connect to the server and issue commands. Open a new shell (as "bar" on "client_host" in the above @@ -75,6 +82,36 @@ example) and try to retrieve the list of available commands and some server info. +Start streaming manually +~~~~~~~~~~~~~~~~~~~~~~~~ + + para_client play + para_client stat 2 + +This starts streaming and dumps some information on the current song +to stdout. + +You should now be able to receive and listen to the stream. To check +this, try the following on client_host (assuming alsa and an mp3 +stream): + + para_recv -r 'http -i server_host' > file.mp3 #interrupt after a few seconds + ls -l file.mp3 # should not be empty + para_filter -f mp3dec -f wav < file.mp3 > file.wav + ls -l file.wav # should be much bigger than file.mp3 + para_write -w alsa < file.wav + +If this works, proceed. Otherwise doublecheck what is logged by +para_server and use the --loglevel option of para_recv, para_filter +and para_write to increase verbosity. + +Next, put the pieces together: + + para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_write -w alsa + or + mpg123 http://server_host:8000/ + or + xmms http://server_host:8000/ Choose an audio file selector ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -100,35 +137,6 @@ The current audio file selector can be changed at runtime via para_client chs new_selector -Start streaming manually -~~~~~~~~~~~~~~~~~~~~~~~~ - - para_client play - para_client stat 2 - -This starts streaming and dumps some information on the current song -to stdout. - -You should now be able to listen to the stream with any player -capable of reading from stdin. To check this, try the following -on client_host: - - mp3: - - para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_play - or - mpg123 http://server_host:8000/ - or - xmms http://server_host:8000/ - - ogg: - - para_recv -r 'http -i server_host' | para_filter -f oggdec -f wav | para_play - -If this works, proceede. Otherwise doublecheck what is logged by -para_server and use the --loglevel option of para_recv, para_filter -to increase verbosity. - Configure para_audiod ~~~~~~~~~~~~~~~~~~~~~ In order to automatically start the right decoder at the right time @@ -140,17 +148,24 @@ the audio stream. Try para_audiod -h for help. Usually you have to specify at least server_host as the -receiver specifier, like this: +receiver specifier for each supported audio format, like this: -r 'mp3:http -i server_host' The prefered way to use para_audiod is to run it once at system start as an unprivileged user. para_audiod needs to create a "well-known" -socket for the clients to connect to. If you want to change the -default socket (e.g. because you do not have write access for the -directory where the socket resides), use the -s option or the config -file to change the default. Note that in this case you'll also have -to specify the same value for para_audioc's -s option. +socket for the clients to connect to. The default path for this +socket is + + /var/paraslash/audiod_socket.$HOSTNAME + +so the /var/paraslash directory should be owned by the user who +runs para_audiod. + +If you want to change location of the default socket, use the -s +option for para_audiod or the config file ~/.paraslash/audiod.conf +to change the default. Note that in this case you'll also have to +specify the same value for para_audioc's -s option. If para_server is playing, you should be able to listen to the audio stream as soon as para_audiod is started. Once it is running, try @@ -173,23 +188,23 @@ information in a curses window. It also allows you to bind keys to arbitrary commands. There are several flavours of key-bindings: o internal: These are the built-in commands that can not be - changed (help, quit, loglevel, version...). + changed (help, quit, loglevel, version...). - o external: Shutdown curses before launching the given command. - Useful for starting other ncurses programs from within - para_gui, e.g. aumix or para_dbadm. Or, use + o external: Shutdown curses before launching the given command. + Useful for starting other ncurses programs from within + para_gui, e.g. aumix or para_dbadm. Or, use para_client mbox - to write a mailbox containing one mail for each file - in the mysql database and start mutt from within para_gui - to browse your collection! + to write a mailbox containing one mail for each file + in the mysql database and start mutt from within para_gui + to browse your collection! o display: Launch the command and display its stdout in - para_gui's bottom window. + para_gui's bottom window. o para: Like display, but start "para_client " instead of "". + command>" instead of "". That's all, congratulations. Check out all the other optional gimmics!