QStream Installation

Home

Documentation

Downloads

Contact Information

Links

Screen Shots


Requirements

Linux

The native OS of QStream is Linux. The QStream developers currently use Ubuntu distributions as their main environments. Prior to Ubuntu, we used Fedora Core.

QStream depends on a number of packages. Generally speaking, QStream requires a well-stocked development environment. This means that basic development environment including gcc, autoconf, automake, pkg-config and libtool are installed. QStream also has a number of dependencies on some specific development packages. Under Ubuntu, the following packages are required:

      gcc automake autoconf pkg-config
      libgtk2.0-dev libdb4.6-dev libasound2-dev libsamplerate-dev
      libspeex-dev libavcodec-dev libavformat-dev libmad0-dev
      libxv-dev python2.5-dev python-gtk2 python-gobject
      

To find some of these packages under Ubuntu, you will likely need to enable extra repositories such as universe and multiverse

Building the QStream source

Ubuntu Install

Make sure the packages referenced above have been installed using
apt-get
. QStream consists of a number of distinct subcomponents, which are build using a helper shell script called
build-all.sh
. To build the entire software, execute the following from the top-level of the qstream source distribution:
        ./build-all.sh libpcl-qstream qsf xvidcore-qstream gscope qmon qmon2 qvid
      

The script can be used to build an individual package. If an error occurs, it is most likely due to a missing package. Please do not hesitate to contact us if you have difficulty.

Building a SPEG aware mencoder/mplayer

There is a file in the QStream source called mplayer-speg.patch that makes small modifications necessary for using mencoder to generate SPEG videos. Once applied, use the --with-xvidincdir and --with-xvidlibdir options to mplayer's configure script to indicate the location of the headers and libraries of the SPEG code in QStream (derived from XViD).

If all of the above descriptions sounds too complex and gibberish, well, we have detailed instructions for you. Follow the steps mentioned below:-

Step 1: Download a fresh copy of mplayer source

Issue the following command:

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

Step 2: Patch mplayer source for SPEG support

Now we need to patch mplayer source. Issue the following command after cd'ing to the mplayer source directory.

$> patch -p0 < ~/qstream/qvid/src/xvidcore/mplayer-speg.patch

There shoud be no errors while patching the source. If you get an error, contact us.

Here we have assumed that the qstream base directory is "~/qstream". If you have downloaded qstream in some other directory, replace ~/qstream in the above with the name of that directory.

Step 3: Building mplayer and mencoder

We are almost done. We need to build our customized version of mplayer and mencoder. In order to do that, cd to the mplayer source directory and issue the following commands:-

$> ./configure --with-xvidlibdir=~/qstream/xvidlibdir --with-extraincdir=~/qstream/xvidincdir

We again assume that the qstream base directory is "~/qstream". If not, replace it with appropriate directory path in the above.

Now compile mplayer by issuing:

$> make

You now have a customized qstream aware version of mplayer/mencoder  built and ready.

In order to actually rip DVD's into qstream SPEG and .db files, we have provided some sample scripts as examples. Thse scripts can be found in

<qstream base>/qvid/scripts 

directory where <qstream base> can be something like ~/qstream.

Fedora Install

We tested  the build with Fedora Core 4 and 5, however it is our belief that building on other versions of fedora should be similar.

Before building on Fedora, you need to install samplerate, speex, libavformat and ocaml.

Step 1: Installing samplerate, libavformat, ocaml and (possibly) BerkeleyDB.

Issue the following command as root for installing samplerate, libavformat and ocaml:
yum -y install libsamplerate* ffmpeg-dev* ocaml.i386

If you are not sure whether BerkeleyDB is installed, you need to execute the following as well.


yum -y install db4-devel*

If you do not have gtk devel packages installed, you are required to install them. In order to do so, issue the following command:-

yum -y install gtk2-devel.i386

Step 2: Installing speex

Next, we need to install speex. Unfortunately, at the time of writing this document, the stable release of speex is 1.0.5. However, qstream requires version 1.1.12 and above. Thus, we are not able to use yum for installing speex.
Point your browser to www.speex.org/download.html & download the unstable source of speex version 1.1.12. Extract it to a convenient location and then cd to its directory. Issue the following commands in sequence:

$>./configure --prefix=/usr
$> make
$> sudo make install

We are now all set to build qstream.

Step 3: Building qstream

Checkout a fresh copy of qstream source from its subversion repository by issuing the following command:-

svn checkout http://svn.qstream.org/qstream/trunk qstream

Assuming that you issue the above command from your home directory, after this command succeeds, you should have a directory named "qstream" in your home directory.

The following assumes that the qstream base directory is "~/qstream".

Issue the following commands from ~/qstream directory in the sequence specified below:

$> ./build-all.sh qsf
$> ./build-all.sh gscope
$> ./build-all.sh qmon
$> ./build-all.sh qvid

Please note that the above sequence is important. You may not be able to build qstream successfully unless you follow the specific build order.
If everything goes fine, you should now have built your own copy of qstream.
For instructions on how to use qstream, check the usage page.

Windows and OSX

Windows and OSX support in QStream are temporarily broken. For the moment, Linux is the only supported platform. We expect to correct this soon.

QStream has preliminary support for building on windows platforms (tested on Windows XP Professional), using cygwin.

The port was first completed in August 2004. At that time, additional packages from the cygnome2 project, and ocaml had to be installed separately. As of October 2004, it appears that the ocaml and gtk+ packages required by QStream have been added in the official cygwin distribution.

Cygwin does not include libsamplerate, which you will need to download and install in order to build qvid.

Windows Status and Known Issues

  1. All qstream programs build
    • there is no video capture support, so the windows server can not yet do the live streaming from a webcam.
  2. Video and audio output in the player use directx (directdraw and directsound). This code has been improving slowly, but it certainly needs more cleanup and testing.

OSX

There is very basic support for building QStream in Apple OSX. We use Fink to get many of the packages required to build QStream. At this point the OSX version is still very preliminary, and needs much more testing and tuning.

Windows Install

To build QStream on windows the following steps are required before following the general steps outlined above. 

  1. Install cygwin.
    • Make sure you install basic development tools and X11.
    • Make sure you select gtk2-x11-devel and ocaml packages.
    • If you are installing cygwin from scratch for the first time, and you find the above description missed some required packages, please let me know so I can correct it. (krasic@cs.ubc.ca)
  2. Install win32-dx7headers.tgz.
    • this file should be extracted in the /usr/include directory:
                    cd /usr/include; tar xzf /win32-dx7headers.tgz
  3. Download and install libsamplerate.

Last modified: Fri Aug 18 1:20:00 PDT 2006