README 3.01 KB
Newer Older
aymeric's avatar
aymeric committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
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:
Simon Morlat's avatar
Simon Morlat committed
35
 *  audio capture & playback
aymeric's avatar
aymeric committed
36 37 38 39 40
 *    mme API (windows)
 *    alsa API (linux)
 *    oss API (linux)
 *    arts API (linux)
 *    portaudio API (macosx and other)
Simon Morlat's avatar
Simon Morlat committed
41 42 43
 *    audio queues (audio queue, mac os API )
 *	   audio unit (iOS)
 *    Android sound system
aymeric's avatar
aymeric committed
44 45 46 47 48
 *  several audio encoder/decoder: PCMU, PCMA, speex, gsm
 *  wav file reader.
 *  wav file recorder.
 *  resampler.
 *  conference bridge.
smorlat's avatar
smorlat committed
49
 *  volume analyser, gain control, and automatic gain control.
aymeric's avatar
aymeric committed
50
 *  acoustic echo canceller.
Simon Morlat's avatar
Simon Morlat committed
51 52
 *  dtmf and custom tone generation filter.
 *  custom tone detection
smorlat's avatar
smorlat committed
53
 *  parametric equalizer, can be used to compensate the spectral response of a bad quality speaker or microphone
Simon Morlat's avatar
Simon Morlat committed
54
 *  echo limiter for cases where echo cancellation cannot work because of heavy distorsion.
aymeric's avatar
aymeric committed
55 56 57

 Video Filters:
 *  video capture
smorlat's avatar
smorlat committed
58
 *    v4w API (windows, deprecated)
aymeric's avatar
aymeric committed
59
 *    directshow API (windows)
smorlat's avatar
smorlat committed
60
 *    video4linux and video4linux2 APIs (linux)
aymeric's avatar
aymeric committed
61
 *  video display
Simon Morlat's avatar
Simon Morlat committed
62
 *    vfw API (windows)
aymeric's avatar
aymeric committed
63
 *    SDL API (linux, macosx...)
Simon Morlat's avatar
Simon Morlat committed
64 65
 *    Android native display
 *  several audio encoder/decoder: H263-1998, MP4V-ES, H264, theora
aymeric's avatar
aymeric committed
66 67 68 69 70
 *  image resizer.
 *  format converter. (RBG24, I420...)

 Plugin Filters:
 * iLBC decoder/encoder.
smorlat's avatar
smorlat committed
71 72
 * H264 codec, based on x264

aymeric's avatar
aymeric committed
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

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,
91
you can contact me at <simon.morlat_at_linphone.org>.
aymeric's avatar
aymeric committed
92 93 94 95 96 97 98

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".

99 100
Commercial support and licensing is provided by Belledonne Communications
http://www.belledonne-communications.com
aymeric's avatar
aymeric committed
101 102