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 creation 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 variable 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 compatible with that of the NCSA HTTPD server. If you're running multiple copies of sfvod, serving different sound files, each must write a separate log file which you can consolidate later.

-pport
    sfvod monitors the control port of the given port pair (port specifies the data--even numbered--port of the pair). When a connection occurs, transmission of the specified sound file or live audio commences. When a BYE message arrives on the control port, transmission is terminated.

-rprogram
    The named program is executed to transmit the message to the connected user. The default program 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 default timeout is 30 seconds.

-u  Prints how-to-call information.

-v  Causes sfvod to log all connections, disconnections, 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 requests 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 directory) and specifying the resulting .gsm file as the soundfile 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)

AUTHOR
    John Walker
    WWW:    http://www.fourmilab.ch/

This program is in the public domain.