Speak Freely for Unix: sfvod

by John Walker

Back to Speak Freely for Unix

SFVOD(1)                                                 SFVOD(1)

NAME
       sfvod - Speak Freely voice on demand server

SYNOPSIS
       sfvod [ -aduvx ] [ -lfile ] [ -pport ] [ -rprogram ] [
            -ttimeout ] [ soundfile...  ] [ - sfmike options ]

DESCRIPTION
       sfvod monitors connections to a given port.  When  a  user
       connects  with Speak Freely, sfvod transmits an audio file
       or live audio to the connected user.   sfvod  allows  cre-
       ation  of  servers  which play audio on demand to any user
       who connects to the host and port where a given audio file
       is published.  If the SPEAKFREE_LWL_TELL environment vari-
       able is set to a one or more Look Who's  Listening  hosts,
       sfvod  will publish its existence on those hosts.  See the
       ``Look Who's Listening'' section in the  sfspeaker  manual
       page  for details on how to set the environment variables.

OPTIONS
       -a        Transmit live audio rather than a sound file.

       -d        Generate debug output on standard output.

       -lfile    Logs requests processed by  the  server  in  the
                 named file.  The log is written in a format com-
                 patible with that of the NCSA HTTPD server.   If
                 you're running multiple copies of sfvod, serving
                 different sound files, each must write  a  sepa-
                 rate log file which you can consolidate later.

       -pport    sfvod  monitors  the  control  port of the given
                 port pair (port specifies  the  data--even  num-
                 bered--port of the pair).  When a connection oc-
                 curs, transmission of the specified  sound  file
                 or live audio commences.  When a BYE message ar-
                 rives on the control port, transmission is  ter-
                 minated.

       -rprogram The  named  program  is executed to transmit the
                 message to the connected user.  The default pro-
                 gram is sfmike.

       -ttimeout If a remote site fails to send a BYE message, it
                 will be timed out (and hence become eligible for
                 retransmission  of  the sound file if another ID
                 message arrives) after timeout seconds.  The de-
                 fault timeout is 30 seconds.

       -u        Prints how-to-call information.

       -v        Causes  sfvod to log all connections, disconnec-
                 tions, and timeouts to standard output.

       -x        Dump host address records and packet contents to
                 standard output in hexadecimal.

       -         Any  command line arguments that follow a single
                 dash are passed directly to sfmike.

BUGS
       sfvod is a Perl script that transmits  sound  by  invoking
       sfmike.   In order to use it, you must have Perl installed
       on your system.  sfvod was developed using Perl 4.0, patch
       level  36;  the  program  has  also been tested under Perl
       5.004.

       When transmitting sound  files,  sfvod  forks  a  copy  of
       sfmike  to service each request.  If many simultaneous re-
       quests are received, the compression overhead of  multiple
       copies of sfmike may overload the CPU and create pauses in
       the transmitted audio.  If you're  using  GSM  compression
       and  expect  substantial traffic, consider pre-compressing
       your audio files with toast (found in the gsm/bin directo-
       ry)  and  specifying the resulting .gsm file as the sound-
       file on the command line.

       Multiple simultaneous requests may overload  the  outbound
       network  capacity, leading to pauses on the receiving end.

       When sending live audio, sfvod kills and  restarts  sfmike
       each time a host connects or disconnects.  This may result
       in a brief interruption in the audio  transmission.   This
       could  be  eliminated by adding a signal handler to sfmike
       that causes it to update its list of hosts directly.

SEE ALSO
       perl(1), sfmike(1), sfspeaker(1), toast(1)

Back to Speak Freely for Unix


by John Walker
April 15, 1999