Project    : mediastreamer2 - a modular sound and video processing and streaming
Email      : simon.morlat_at_linphone.org
License    : GPL
Home Page  : http://savannah.gnu.org/projects/linphone

Mediastreamer2 is a GPL licensed library to make audio and
video real-time streaming and processing. Written in pure C,
it is based upon the ortp library.

Design:
------

Using mediastreamer2 will allow you to chain filters in a graph. Each
filter will be responsible for doing some kind of processing and will
deliver data to the next filter. As an example, you could get some
data from network and unpack it in an RTP filter. This RTP filter will
deliver the data to a decoder (speex, G711...) which will deliver it
to a filter that is able to play the PCM data or record it into a .wav
file.

There is a doxygen documentation for more information.

Features:
--------

mediastreamer2 already provides a large set of filters.
Here is a complete list of built-in filters.

 All supported platforms:
 *  RTP receiver
 *  RTP sender
 *  tee (duplicate data)

 Audio Filters:
 *  audio capture
 *  audio playback
 *    mme API (windows)
 *    alsa API (linux)
 *    oss API (linux)
 *    arts API (linux)
 *    portaudio API (macosx and other)
 *  macsnd API (native macosx API -please do more testing...-)
 *  aq (audio queue, macos API too)
 *  several audio encoder/decoder: PCMU, PCMA, speex, gsm
 *  wav file reader.
 *  wav file recorder.
 *  resampler.
 *  conference bridge.
 *  volume analyser, gain control, and automatic gain control.
 *  acoustic echo canceller.
 *  dtmf generation filter.
 *  parametric equalizer, can be used to compensate the spectral response of a bad quality speaker or microphone

 Video Filters:
 *  video capture
 *    v4w API (windows, deprecated)
 *    directshow API (windows)
 *    video4linux and video4linux2 APIs (linux)
 *  video display
 *    v4w API (windows)
 *    SDL API (linux, macosx...)
 *  several audio encoder/decoder: H263-1998, MP4V-ES, theora
 *  image resizer.
 *  format converter. (RBG24, I420...)

 Plugin Filters:
 * iLBC decoder/encoder.
 * H264 codec, based on x264


Note that, you can build your own components/filters to do your
own processing or support other codecs.

Installation procedure:
-----------------------

The program is known to run on linux, but might work
on any unix and windows systems.

   $> ./configure
   $> make
   $> su -c 'make install'

Contact information:
--------------------

For more information on mediastreamer2, any contributions, or any remarks,
you can contact me at <simon.morlat_at_linphone.org>.

Use the *linphone* mailing list for question about mediastreamer2.
  <linphone-developers@nongnu.org>.

Subscribe by writing to:
  <linphone-developers-request@nongnu.org> with a subject set to "subscribe".

Commercial support and licensing is provided by Belledonne Communications
http://www.belledonne-communications.com


