MP3BROADCASTER(1)

NAME
MP3Broadcaster - MP3 file playlist broadcaster

SYNOPSIS
MP3Broadcaster [-v] [-d] [-x] [-X] [-a ipAddress] [-p portNum] [-l filename] [-w filename] [-e filename] -c filename

DESCRIPTION
MP3Broadcaster broadcasts a set of MP3 files listed in a special playlist file format. If the MP3 source files referenced in the playlist contain meta-data suitable for display in clients then this too is streamed to a server on a separate TCP connection.

MP3Broadcaster is intended to be used with QuickTimeStreamingServer(1) which handles the details of delivering one or more MP3 broadcast streams to MP3 clients. MP3Broadcaster cannot be used to deliver a MP3 broadcast stream directly to a MP3 client. A MP3 stream reflector server such as QuickTimeStreamingServer(1) or Shoutcast must be used to deliver the stream to clients. You may also use MP3Broadcaster with other 'Shoutcast-compatible' servers such as Icecast.

MP3Broadcaster requires a -c command line option followed by a playlist config file path. All other command line options are not required. If MP3Broadcaster is used with no options it just prints a usage string to the command line.

A command line option of -d must be specified if you want MP3Broadcaster to run as a foreground shell process. (It defaults to running as a background shell process otherwise.)

The playlist configuration file specified with a -c command line option is a plain ASCII text file with configuration parameters for the MP3 broadcast specified one per line. A configuration keyword must be specified on each line followed by one or more spaces followed by the value to be set associated with that keyword. If the value is a character string containing spaces it must be surrounded by double quotes.

For example, a playlist configuration file might be given as:
    destination_ip_address 90.22.34.5
    destination_base_port 8000
    max_upcoming_list_size 1
    play_mode sequential_looped
    recent_songs_list_size 1
    playlist_file /home/bozo/jazz.play
    working_dir /home/bozo
    logging enabled
    show_current disabled
    show_upcoming disabled
    broadcast_name "Steve's Broadcaster"
    broadcast_password hackme
    broadcast_url http://myserver.nowhere.com:8000
    broadcast_mount_point /HotJazz
    broadcast_genre Jazz
which would cause MP3Broadcaster to start broadcasting the playlist named "jazz.play" in the directory path "/usr/bozo" to the server located at IP address 90.22.34.5 on TCP port number 8000. Assuming that the server at this IP address is QuickTimeStreamingServer(1) and has been configured to accept MP3 streams on port 8000 with a MP3 broacast password of "hackme" then the stream will be accepted by the server and be ready to forward the stream to any client that requests the mountpoint of "/HotJazz".

The playlist file like the playlist configuration file is a plain text ASCII file that list the MP3 files to be broadcast. The format of the file is a single line containing string "*PLAY-LIST*" followed by a list of file paths to individual MP3 files with an optional parameter of a number from 1 to 10 that designates the weight of the file. (This optional parameter is used with the "play_mode" keyword associated with the value "weighted_random". When this play mode is specified the files will be picked at random according to the specfied weight.)

For example, a playlist file might be given as:
    *PLAY-LIST*
    "/home/bozo/my_first_song.mp3" 6
    "/home/bozo/my_second_song.mp3" 7
    "/home/bozo/my_favorite_song.mp3" 10
    "/home/bozo/my_last_song.mp3" 3
which would cause each file in the playlist to be broadcast at random according to the weight specified. (Assuming a play_mode of "weighted_random" is specified in the configuration file.) If the optional weight parameter is not present in the playlist file then a value of 10 is assumed. The weight parameter is ignored if the play_mode is specfied as "sequential" or "sequential_looped".

Text lines in the playlist configuration file or the playlist file that begin with the '#' character will be treated as comments and will not be read by MP3Broadcaster.

The MP3Broadcaster may be run in "preflight" mode by using the -x option which will cause the configuration file to be read and the MP3 files to be scanned for potential errors. The MP3Broadcaster will not broadcast any files when run in this mode. You can use this mode to check your configuration file for errors.

OPTIONS

The MP3Broadcaster accepts the following command line options:

-v  Displays the version and build information.

-d  Runs MP3Broadcaster as a foreground shell process. (The default is to run as a background shell process.)

-x  Runs MP3Broadcaster in preflight mode. (See description above.)

-X  Causes MP3Broadcaster to scan the MP3 files listed in the playlist file for errors.

-a <ipaddr>
    Is the broadcast IP address as given by the argument <ipaddr>. The default if not specified in the playlist configuration or with this option is the local loopback address. If this value is specfied in the configuration file then using this option overrides that value.

-p <portnumber>
    Is the TCP port number to be used in the broadcast as given by the argument <portnumber>. The default if not specified in the playlist configuration or with this option is port number 8000. If this value is specified in the configuration file then using this option overrides that value.

-c filename
    Is the path to the playlist configuration file as given by the argument filename. The keyword values listed in filename must be one per line. Leading and trailing white space are not part of the symbol name. Lines starting with # are ignored.

-l filename
    Is the path to the playlist file as given by the argument filename. The MP3 file paths listed in filename must be one per line followed by an option weight value of between 1 to 10. If the fle path names contains blanks then the path must be surrounded with double quotes. The first line of filename must be the string "*PLAY-LIST*". Lines starting with # are ignored. Any value specified with this option overrides a value given in the configuration file.

-w path
    Is the path to the directory for temporary files. Any value specified with this option overrides a value given in the configuration file.

-e filename
    Is the path to an error log file as given by the argument filename.

SEE ALSO
QuickTimeStreamingServer(1), PlaylistBroadcaster(1)

LIMITATIONS
The MP3Broadcaster does not perform down-sampling or re-encoding of the source MP3 files. If the source MP3 files are encoded at a bit rate too high for reliable streaming then they must be re-encoded by other means.