World Wide Conferencing Network

WWCN is a system that provides multimedia conferencing services on a world-wide scale. It has been optimized for realtime data delivery: music, voice, video, pictures, text, software updates, and so on. To cope with today's bandwidth scarcity, it implements a reliable "multicasting" technology (one to many data communication) over standard TCP (internet) connections.

Contents

HOME

WHAT IS WWCN?
   Introduction
   White papers

HOWTO...
   connect
   tune in
   build a network?

SOFTWARE
   multimedia players
   multimedia producers
   chat clients
   server software

MANUALS
   xmit
   recv
   fifo123



Multimedia Producer Software

A 'producer' is an application that produces and transmits a datastream onto the WWCN network. This website offers two programs (for Unices): fifo123, which is a variation on the mpg123 theme, and xmit. But a lot of common Unix tools can function as producer too; examples follow.

'fifo123' is based on mpg123 (version 0.59r): instead of playing the uncompressed data through your speakers, it writes the compressed data stream to a fifo '/tmp/fifo123.fifo' in exactly (very very accurately) the proper datarate. The 'fifo123' program is available as a patch against mpg123-0.59r.
The data stream that is sent to the fifo by fifo123 can then be transmitted to the WWCN network using the program 'xmit'. In fact, xmit can send any file or any stream to the network. If you write a program that, for example, writes MPEG4 data in the proper pace to a fifo (eg by modifying an existing player), then xmit will happily transmit the video data for you to the WWCN network.
Some more examples:

# find rock -type f -print0 | grep mp3  | xargs -0 fifo123 -x /tmp/rock.fifo &
# xmit wwcn.server.com radio.rock.rock4u -f /tmp/rock.fifo
Now, all your files in directory 'rock' are written to the fifo, and sent to the WWCN network by xmit. You do not need to worry about bitrates and stuff, this is all managed automatically. To build a radio station that transmits mp3's in realtime from an analogue input, you can use something like:
# sox -r 48000 -w -t ossdsp /dev/audio -t wav - | bladeenc -64  \
  STDIN STDOUT | xmit localhost test.radio.no-udp
This would sample the analogue input of your PC (use a mixer program to configure the audio recording input) at a rate of 48000 samples per second, pipe the wav data to an mp3 encoder (bladeenc) which encodes it to mp3 and pipes it to 'xmit' which transmits it to the WWCN network. Live and in real time! That is, if your machine has sufficient PC power. And has a soundblaster card, duh. Another example:
# xmit wwcn.server.com software.linux.kernel -f ./latest-kernel.tgz -r 10240
This command will transmit the latest linux kernel to a channel at a fixed rate of 10 kilobyte per second; the file will be received by all users that have a client (for example, recv) listening to the channel.

You can also copy 'live' streams from the internet onto WWCN, for example with the help of lynx. An example:

lynx -source http://relay.spamradio.com:8000/spam \
| xmit wwcn.server.com radio.spam 
This would copy the mp3 stream produced by spamradio to xmit, which would transmit it to channel 'radio.spam'.