Boxtream's basic requirements :

The Boxtream software is conceived to accomodate both semi-professional or professional hardware that only institutions or entreprises can afford, as well as the very minimal hardware many people already have at home. This page documents what you can do if you want to use the Boxtream software but don't have sufficient money to purchase hardware similar or better than our own.

Examples of minimal hardware setup

- This minimal example was done with the following hardware :

  • Dell Optiplex GX620 with 1 GB of RAM.
  • Logitech QuickCam? Messenger Plus USB camera.
  • Labtec headphones and microphone.
  • That's all ! (Yes, really !)

Of course the HardWare present in our own Box is more complex and produce better results, but this demonstrate how you can easily use Boxtream on your own computer without having to spend huge amounts of money.

- At home I use :

  • Beige Box with Intel Pentium IV 3.0 Ghz and hyperthreading, with 512 MB of RAM.
  • Panasonic NV-GS17 mini-DV camcorder with integrated microphone.
  • A firewire cable to link both.
  • The following script to launch both the backend and the frontend (with dedicated hardware, the backend is usually launched only once from /etc/inittab) :
    #! /bin/sh
    #
    # For this to work you must ensure the user have
    # the sufficient permissions on /dev/raw1394, usually
    # by making the user part of the ''disk'' system group.
    #
    # The GUID of my DV camcorder
    DVGUID=0x00804580c151235d
    boxtream --destination ~/boxvideo/ \
             --server stream.example.com \
             --port 8000 \
             --password thisisthepassword \
             --presenterguid $DVGUID \
             --debug >>/tmp/boxtream-backend.log 2>&1 &
    sleep 3
    xboxtream --debug
    # Beware : don't forget to kill the backend from xboxtream's UI before leaving.
    
  • That's all ! (Yes, really !)

In order to be able to run a minimalist Boxtream you need :

  • A recent machine with at least one IEEE1394 (firewire) port or an USB or analog video input.
  • A firewire device which can be the source of an audio+video DV stream : a simple camcorder will do, but you can also use an analog-to-DV converter, or a DV tape recorder, depending on what is available to you. You can also use an USB Webcam if that's all you have.
  • GStreamer and the GStreamer plugins featuring the following elements (additional elements may be needed depending on your hardware choices) :
    • dv1394src : handles firewire sources
    • dvdemux : demultiplexer for DV streams
    • dvdec : decodes DV video streams
    • v4lsrc : handles analog video sources
    • videorate : to ensure constant framerate
    • videoscale : to rescale video streams
    • videobox : to add borders to video streams
    • videomixer : to combine several video streams
    • videobalance : to control video levels
    • clockoverlay : to overlay a clock onto video streams
    • textoverlay : to overlay text onto video streams
    • ffmpegcolorspace : to convert between different color spaces
    • theoraenc : to transform video streams into Theora streams
    • level : to be able to visualize audio levels
    • audioconvert : to convert audio streams between different formats
    • audioresample : to resample audio streams
    • vorbisenc : to transform audio streams into Vorbis streams
    • oggmux : multiplexer for Ogg/Vorbis and Ogg/Theora streams
    • shout2send : to send Ogg/Vorbis and Ogg/Theora streams to an IceCast2 or compatible streaming server
    • filesink : to save files to the local hard disk
    • tee : to split data streams
    • queue : to bufferize data streams and make them be handled by their own thread

  • An IceCast2 or compatible streaming server, compiled with Theora support (the standard one from Debian Lenny is ok).