README 2.91 KB
Newer Older
aymeric's avatar
aymeric committed
1 2
Project    : mediastreamer2 - a modular sound and video processing and streaming
Email      : simon.morlat_at_linphone.org
3 4
License    : GPLv2 or Commercial licensing
Home Page  : http://www.mediastreamer2.com
aymeric's avatar
aymeric committed
5

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

Mediastreamer2 is a library to make audio and
aymeric's avatar
aymeric committed
10 11 12 13
video real-time streaming and processing. Written in pure C,
it is based upon the ortp library.

Design:
14
-------------------------------------
aymeric's avatar
aymeric committed
15 16 17 18 19 20 21 22 23 24 25

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.

Simon Morlat's avatar
Simon Morlat committed
26
Compilation and installation
27
-------------------------------------
Simon Morlat's avatar
Simon Morlat committed
28 29 30 31 32 33 34

* Required dependencies:
	- oRTP
	- libspeex and libspeexdsp
* Optional dependencies (for video to be enabled, see --enable-video):
	- libavcodec
	- libswscale
35 36
	- libvpx
	- libopus
Simon Morlat's avatar
Simon Morlat committed
37
	- x11 with libxv-dev on linux
Simon Morlat's avatar
Simon Morlat committed
38
	- libmastroska2 from https://github.com/Matroska-Org/foundation-source
Simon Morlat's avatar
Simon Morlat committed
39
	- theora
aymeric's avatar
aymeric committed
40

41
  * For Linux, MacOS or mingw
aymeric's avatar
aymeric committed
42 43 44 45 46

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

47
   More instructions and advices can be found for the mingw compilation procedure in Linphone's README.mingw.
Simon Morlat's avatar
Simon Morlat committed
48

49 50 51 52 53 54 55
  * Windows XP and later with Visual Studio 2010
	1) Make a directory where you have together:
		oRTP (clone from git://git.linphone.org/ortp.git )
		mediastreamer2 (clone from git://git.linphone.org/mediastreamer2.git)
		linphone-deps (directory to be created).
	2) Download latest linphone-deps-win32 zip from http://download-mirror.savannah.gnu.org/releases/linphone/misc/ and unpack it in the linphone-deps directory.
	3) open build/win32native/mediastreamer2.sln
Simon Morlat's avatar
Simon Morlat committed
56

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
	* Known issues on MacOSX
		If you get the following error during 'make' command:

			libtool: compile: unable to infer tagged configuration
			libtool: compile: specify a tag with `--tag'

		This is probably because you set CC to something else than 'xcrun clang'.
		However this is the only compiler supported to link correctly objective C
		files (.m) and c in .la library file. Try unsetting your custom CC compiler
		and reconfigure:
			$> unset CC
			$> ./configure && make



aymeric's avatar
aymeric committed
72
Contact information:
73
-------------------------------------
aymeric's avatar
aymeric committed
74 75 76

Use the *linphone* mailing list for question about mediastreamer2.
  <linphone-developers@nongnu.org>.
77 78
Subscribe here:
  https://savannah.nongnu.org/mail/?group=linphone
aymeric's avatar
aymeric committed
79

Simon Morlat's avatar
Simon Morlat committed
80 81 82 83
Notes about third parties compilation
-------------------------------------

* libmatroska2:
84
 - get the source with
Simon Morlat's avatar
Simon Morlat committed
85 86 87 88
	$ git clone git://git.linphone.org/libmatroska-c.git
 - compilation:
	$ make -f Makefile
	$ make -f Makefile install
aymeric's avatar
aymeric committed
89 90 91



92 93