MxPEG Player | MxPEG Stream Converter | mxcpc Sources | Documentation | SDK Home

As part of the MxPEG SDK, MOBOTIX strives to provide a carefully designed and consistently documented C++ library implementing key MOBOTIX functionality and associated GUI elements for building customized client applications deployable on the three major target platforms LINUX, Mac OS X and Microsoft WINDOWS. This library is called MOBOTIX Cross-Platform Client library (mxcpc).

The library interfaces to OpenGL for efficiently accessing video hardware, and to Trolltech Qt 4.x for providing reusable GUI elements and to benefit from the component-based programming model coming with it. If you only wish to use the mxcpc library's core layer, you don't need either. Optionally, for some platforms, support for Intel Performance Primitives 5.0 (IPP) is available to accelerate MxPEG decoding.


MxPEG Player

Shipping with the SDK, the new camera live stream viewer MxPEG Player demonstrates the currently available features of the mxcpc library. Since the player constitutes the first and sortof longingly anticipated means of decently watching camera live feeds on the LINUX and Mac OS X platforms, run-out-of-the-box binary packages are made available for download below.


LINUX gcc 4.x gcc 3.x
Expand the tarball to a place of your liking (as for example $HOME/opt) and create on your desktop (or in your "K-Menu", or wherever...) a link to the included MxPEG_Player.sh script. To visually enhance this link, feel free to use the PNG-icon also included in the package.

Note: To ensure stability, choose the bundle matching the gcc compiler version used on your LINUX system. SuSE Linux 10.0 and other recent distributions use gcc 4.x.

Mac OS X
Attach and open the compressed disk image (*.dmg file) and drag the MxPEG Player application contained therein to your Applications folder. Additionally, feel free to also drag the player's icon onto the dock.

Windows
Expand the zipped file to a place of your liking (as for example C:\Program Files). Run the player by starting the included mxplayer.exe executable. To visually enhance potentially created desktop or start menu shortcuts, an appropriate icon is also included in the package.

This distribution was compiled using the GNU g++ compiler shipping with MinGW.

Note: Right-clicking into the blue viewer window raises the player's popup menu.

Note: In constrast to MxViewer, these player binaries do currently not use accelerated JPEG decoding as provided by Intel's Performance Primitives library (IPP). However, IPP support is also available and can be compiled into the SDK library to minimize latency.

Note: Live stream playback is currently not synchronized to the timestamp information included in MxPEG streams.

Top | SDK Home

mxg2mjpg - MxPEG Stream Converter

Shipping with the SDK, the UNIX-style MxPEG stream converter tool mxg2mjpg is capable of converting MxPEG streams not just to MJPEG, but also to raw RGB and yv12 YUV formats that can directly be fed into the common video transcoding tools transcode and MPlayer/mencoder for further processing. Since the framerate delivered by a MOBOTIX camera's live feed can not be guaranteed to actually be as requested, mxg2mjpg can also stabilize the output framerate at a specified value - this is especially useful for WWW-based streaming applications.


LINUX gcc 4.x gcc 3.x
Expand the tarball to a place of your liking (as for example $HOME/opt) and add the generated directory to your PATH and LD_LIBRARY_PATH environment variables.

Note: To ensure stability, choose the bundle matching the gcc compiler version used on your LINUX system. SuSE Linux 10.0 and other recent distributions use gcc 4.x.

Mac OS X
Expand the tarball to a place of your liking (as for example $HOME/opt) and add the generated directory to your PATH and DYLD_LIBRARY_PATH environment variables.


Windows
Expand the zipped file to a place of your liking (as for example C:\Program Files) and add the generated directory to your PATH environment variable.

This distribution was compiled using the GNU g++ compiler shipping with MinGW.

The current usage of mxg2mjpg is as follows:

   mxg2mjpg : convert an MxPEG stream to MJPEG
   MxPEG-SDK/mxcpc v0.9.1   (c) 2005-2006 MOBOTIX AG

   Usage: mxg2mjpg [options]

   Options:
   -h, --help           : this message
   -f mxpeg_stream_file : reads input from mxpeg_stream_file rather than from stdin
   -o output_file       : writes the generated MJPEG stream to output_file rather 
                          than to stdout
   -s separator_string  : HTTP mode, inserts a MIME separator between JPEG frames
                          (useful in CGI scripts)
   -raw                 : raw mode, does not output MJPEG stream, but raw RGB data
                          instead (3 bytes per pixel)
   -yuv                 : to be used with above raw mode, outputs frames in yv12
                          YUV format instead of RGB
   -sofps framerate     : to be used with above raw mode, stabilizes output 
                          framerate at the specified value

   Examples:
   cat file1.mxg file2.mxg | mxg2mjpg > file.mjpg
   curl 'http:///control/faststream.jpg?stream=MxPEG' \
     | mxg2mjpg -s MOBOTIX_Fast_Serverpush -o file.mjpg
   C:\> type file1.mxg | mxg2mjpg > file.mjpg

Top | SDK Home

SDK/mxcpc Sources

MOBOTIX releases the SDK's mxcpc library as open source package under terms of the BSD license. The distribution includes the following:



SDK Sources Tarball

Expand the tarball to a place of your liking (as for example $HOME/dvl)
and consult the included README.TXT file for compilation instructions.

Top | SDK Home

Documentation

Top | SDK Home

mxcpc page last updated January 30, 2006 by kai.hergenroether@mobotix.com