Commit 85094197 authored by Simon Morlat's avatar Simon Morlat

Improve informative files, change license to GPLv3.

parent bef361ab
Simon MORLAT <simon dot morlat at linphone dot org>
\ No newline at end of file
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- H265 codec based on MediaCodec API (Android only)
- H265 codec based on VideoToolbox API (iOS only)
### Changed
- License is now GNU GPLv3.
## [2.16.1] - 2017-07-21
### Fixed
- build on windows
## [2.16.0] - 2017-07-20
### Changed
- Ticker is driven by soundcards.
- Soundcard flow control improvements.
## [2.15.1] - 2017-03-02
## Fixed
- issue in CMake scripts.
## [2.15.0] - 2017-02-23
### Added
- support for TURN (RFC5766).
- IPv6 support for ICE
### Removed
- Deprecation of QTKit for video capture management on Apple platforms.
### Fixed
- Multiple issues around H264 hardware encoder/decoder on iOS/MacOSX/Android.
## [2.13.0] - 2016-06-02
### Added
- H264 hardware codec on Apple's platforms
- BroadVoice16 audio codec support.
### Changed
- MSFactory usage : using one MSfactory per LinphoneCore instance, deprecate all "static" methods, now grouped around the MSFactory object.
### Fixed
- Fix option to really disable libv4l2 when asked.
## [2.12.0] - 2015-11-02
### Added
- Basic AVPF handling for H.264 codec.
- Support of video presets (include a high-fps preset).
- Support of RTP session as input/output of a audio/video stream (instead of a sound card or camera/display).
- Video presets (include a high-fps preset)
- Ability to use an RTP session as input/output of a audio/video stream (instead of a sound card or camera/display)
- Handling of jpeg image on Windows 10
- Video capture and display filter for BlackBerry 10
- Add text stream for RTT (Real-Time Text)
- VP8 recording/playing in mkv files
### Changed
- Allow video stream to keep its source (camera).
## [2.11.0] - 2015-03-11
### Added
- AVPF with VP8 codec only.
- Matroska file format (needs libmatroska2).
- Audio/video stream recorder. Only H264 is supported for video stream.
- New API methods to send audio/video streams read from a file (only WAV and MKV file formats are supported).
- New API methods to play multimedia files and display to a specified drawing surface.
- Support of multicast IP addresses.
- Support of SBR for AAC codec (iOS only).
## [2.10.0] - 2014-02-20
### Added
- HD video support.
- new OpenSLES android sound module.
- Opus codec.
### Changed
- update android AEC settings table.
## [2.9.0] - 2013-05-27
### Added
- ICE support (RFC5245).
- Accessors to set DSCP parameters for media streams.
- AudioStream recording feature.
- OpenGL video output for Linux.
- Stereo support for L16 codec.
- AAC-ELD codec integration for iOS
- integration with acoustic echo canceller from WebRTC
- pre-calibrated device latency table to configure echo canceller
### Changed
- Split the libmediastreamer library in two libraries: libmediastreamer_base and
libmediastreamer_voip. For VoIP support, both libraries must be linked to the executable.
- API change to the audio_stream_new, video_stream_new, audio_stream_start_full,
video_stream_start functions to use different addresses for RTP and RTCP.
- Adaptive bitrate control improvements
- Faster call quality indicator feedback
## [2.8.0] - 2011-12-22
### Added
- Audio conferencing.
- Mac OS X video support.
- New adaptive audio & video bitrate control api.
- New call quality indicator api.
## [2.7.0] - 2011-02-07
### Added
- Android video capture filter.
- Android video display filters: one for 2.1 and one for 2.2+.
- Scaler/colorspace conversion abstraction, with native ARM-optimized implementation.
- X11+XvXshm display filter, deprecating SDL display filter.
- Custom tone generation (in MSDtmfGen filter).
- Custom tone detection in new filter MSToneDetector
### Changed
- Enhance build for visual studio.
- Rework the echo canceller to work with much less latency.
- adapt the OSS filter to OSS4 standard.
## [2.6.0] - 2010-07-01
### Added
- Optional "threaded" v4l2 capture.
### Changed
- Android sound capture optimisations.
- Move H264 decoder from msx264 to mediastreamer2.
- Echo canceller reworked: use soundcard stream to synchronise far-end stream.
- H263 RFC2190 support improvements.
- MSVolume improvements and cleanup, with native AGC support.
### Fixed
- Crash when video window is closed on windows.
- Segfault in ALSA support when capturing a stereo stream.
## [2.5.0] - 2010-06-03
### Added
- Event queue for notifications of MSFilters.
- Stereo support to resampler.
- New MSFilter to convert from mono to stereo and vice versa.
- Inter Ticker Communication filter (ITC) so that graphs running on different MSTicker can exchange data.
- Audio mixer filter to mix down audio streams. This is not suitable for conferencing, use MSConf instead.
### Changed
- Uses less memory for speex decoding.
### Fixed
- Regression with speex decoder at 16 and 32khz.
## [2.4.0] - 2010-05-19
### Added
- jpeg over RTP support.
- PulseAudio support.
- New MSDrawDibDisplay video output filter with new layout features.
### Changed
- Use libv4l2 when possible to benefit from hardware pixel conversion.
- Enhance performance of SDL video output
- Improve MacOS sound support
## [2.3.0] - 2009-09-17
### Added
- Parametric equalizer filter (to modify gains per frequency bands), working with natural curves.
- Noise-gate feature added to MSVolume.
- Builds on windows with mingw/msys using ./configure && make (see linphone's README.mingw).
### Changed
- Integrate directshow capture filter for mingw (was a plugin before).
- List of soundcard dynamically updates on windows upon device plugs/unplugs.
- MSVolume echo limiter feature improved.
## [2.2.3] - 2009-01-21
### Added
- New MSWebcam object to provide Webcam management and MSFilter instantiation.
### Changed
- Rfc3984 support improved .
- Webcam support on windows largely improved (vfw mode).
- Support for configuring video size up to svga.
- Video output can automatically resize to the size of received video stream.
### Fixed
- Fix crash when resizing video window.
- Alsa issues.
## [2.2.2] - 2008-10-06
### Added
- winsnd3.c file for support of soundcard under windows (seems to work a bit better).
## [2.2.1] - 2008-01-25
## Added
- Snow codec.
- Enable setting of max rtp payload size for all encoders.
- Video output resizing.
- 4CIF and VGA support.
## [2.2.0] - 2007-11-19
### Added
- "No webcam" screen.
- REQ_VFU command to request a video encoder to send an I-frame (implemented for ffmpeg based encoders).
- Contributed macosx sound support.
- New MSVolume filter to make sound power measurements.
- rate control of ffmpeg video codecs.
### Changed
- Bandwidth settings improvements.
## [2.1.0] - 2007-01-23
### Added
- Support for Video4Linux V2 cameras.
- Support for mpjeg cameras.
- Webcam support on windows operational.
- Video window display ok on windows.
### Changed
- Bandwidth setting improvements.
### Fixed
- Fix bug with quickcam driver on linux.
This diff is collapsed.
2011-02-14 gettextize <bug-gnu-gettext@gnu.org>
* Makefile.am (SUBDIRS): Add po.
(ACLOCAL_AMFLAGS): New variable.
(EXTRA_DIST): Add config.rpath, m4/ChangeLog.
* configure.ac (AC_OUTPUT): Add po/Makefile.in.
This diff is collapsed.
mediastreamer2 (Unreleased):
* H265 codec based on MediaCodec API (Android only)
* H265 codec based on VideoToolbox API (iOS only)
mediastreamer2-2.16.1: July 21th, 2017
* Build fix for Windows
mediastreamer2-2.16.0: July 20th, 2017
* Add sound card driven ticker
* Sound card flow control improvements
mediastreamer2-2.15.1: March 2nd, 2017
* Bugfix in CMake scripts
mediastreamer2-2.15.0: February 23rd, 2017
* Support for TURN (RFC5766).
* support of ICE with IPv6.
* Many bugfixes around H264 hardware encoder/decoder on iOS/MacOSX/Android.
* Deprecation of QTKit for video capture management on Apple platforms.
mediastreamer2-2.14.0: July 8th, 2016
* bug fixes
mediastreamer2-2.13.0: June 2nd, 2016
* Add support of H264 hardware codec on Apple's platforms
* MSFactory usage : using one MSfactory per LinphoneCore instance,
deprecate all "static" methods, now grouped around the MSFactory object.
* Adding BroadVoice16 audio codec support.
* Fix option to really disable libv4l2 when asked
mediastreamer2-2.12.1: November 16, 2015
* Fix crash in MKV recorder
* Fix I-frame request when starting MKV recording
mediastreamer2-2.12.0: November 2, 2015
* Allow video stream to keep its source (camera)
* Basic AVPF handling for H.264 codec
* Support of video presets (include a high-fps preset)
* Support of RTP session as input/output of a audio/video stream (instead of a sound card or camera/display)
* Handle jpeg image loading on Windows 10
* Video capture and display filter for BlackBerry 10
* Add text stream for RTT (Real-Time Text)
* Support of VP8 recording/playing in mkv files
* Bug fixes
mediastreamer2-2.11.2: May 6, 2015
* Bug fixes
mediastreamer2-2.11.1: March 31, 2015
* Bug fixes
* Minor improvments
mediastreamer2-2.11.0: March 11, 2015
* support of AVPF with VP8 codec only
* support of Matroska file format (needs libmatroska2)
* audio/video stream recorder. Only H264 is supported for video stream
* add functions to the API to send audio/video streams read from a file
(only WAV and MKV file formats are supported)
* add functions to the API to play multimedia files and display to a
specified drawing surface
* support of multicast IP addresses
* support of SBR for AAC codec (iOS only)
mediastreamer2-2.10.0: February 20, 2014
* add HD video support
* new OpenSLES android sound module
* update android AEC settings table
* add opus codec
* bugfixes
mediastreamer2-2.9.1: June 17, 2013
* Fix memory leak with some video cameras on windows.
mediastreamer2-2.9.0: May 27, 2013
* Add support of ICE (RFC 5245).
* Split the libmediastreamer library in two libraries: libmediastreamer_base and
libmediastreamer_voip. For VoIP support, both libraries must be linked to
the executable.
* API change to the audio_stream_new, video_stream_new, audio_stream_start_full,
video_stream_start functions to use different addresses for RTP and RTCP.
* Add accessors to set DSCP parameters for media streams.
* AudioStream recording feature added
* OpenGL video output for Linux
* Adaptive bitrate control improvements
* faster call quality indicator feedback
* stereo support for L16 codec
* iOS
-audio bugfixes
- AAC-ELD codec integration
* Android
- integration with acoustic echo canceller from WebRTC
- add pre-calibrated device latency table to configure echo canceller
mediastreamer2-2.8.2: February 22, 2012
* Enable relative prefix for plugin loading
mediastreamer2-2.8.1: February 17, 2012
* OpenGL fixes for mac OS X
mediastreamer2-2.8.0: December 22, 2011
* audio conferencing
* mac os X video support
* new adaptive audio & video bitrate control api
* new call quality indicator api
mediastreamer-2.7.3: March 28, 2011
* major rework of the Mac OS X Audio Unit sound filter (macsnd.c)
* compilation fix for FreeBSD
mediastreamer-2.7.2: March 3rd, 2011
* fix windows crashes with some webcam outputing rgb
mediastreamer-2.7.1: February 17th, 2011
* enhance build for visual studio
* fix configure bugs
mediastreamer-2.7.0: February 7th, 2011
* add android video capture filter
* add android video display filters: one for 2.1 and one for 2.2+
* tune video encoder parameters for android
* new scaler/colorspace conversion abstraction, with native ARM-optimized implementation
* new X11+XvXshm display filter, deprecating SDL display filter.
* add custom tone generation (in MSDtmfGen filter)
* add custom tone detection in new filter MSToneDetector
* rework the echo canceller to work with much less latency
* adapt the OSS filter to OSS4 standard.
mediastreamer-2.6.0: July 1st, 2010
* android sound capture optimisations
* optional "threaded" v4l2 capture
* fix crash when video window is closed on windows
* move H264 decoder from msx264 to mediastreamer2
* MSVolume improvements and cleanup, with native AGC support.
* Echo canceller reworked: use soundcard stream to synchronise far-end stream.
* fix segfault in ALSA support when capturing a stereo stream.
* H263 RFC2190 support improvements
mediastreamer-2.5.0: June 3, 2010
* fix regression with speex decoder at 16 and 32khz.
* uses less memory for speex decoding.
* added an event queue for notifications of MSFilters
* add stereo support to resampler
* add new MSFilter to convert from mono to stereo and vice versa
* add Inter Ticker Communication filter (ITC) so that graphs running
on different MSTicker can exchange data.
* add an audio mixer to mix down audio streams. This is not suitable
for conferencing, use MSConf instead.
mediastreamer-2.4.0: May 19, 2010
* use libv4l2 when possible to benefit from hardware pixel conversion
* added jpeg over RTP support
* added PulseAudio support
* add a new MSDrawDibDisplay video output filter with new layout features.
* enhance performance of SDL video output
* improve MacOS sound support
mediastreamer-2.3.1: October 5, 2009
* preserve ratio in windows video display (not yet implemented for linux/SDL)
mediastreamer-2.3.0: September 17, 2009
* integrate directshow capture filter for mingw (was a plugin before)
* builds on windows with mingw/msys using ./configure && make (see linphone's README.mingw)
* new parametric equalizer filter (to modify gains per frequency bands), working with natural curves
* new noise-gate feature added to MSVolume
* list of soundcard dynamically updates on windows upon device plugs/unplugs
* MSVolume echo limiter feature improved
mediastreamer-2.2.4: May 4, 2009
* fix crash during video window resizing on windows
* improve documentation
* various little improvements
mediastreamer-2.2.3: 21, January 2009
* rfc3984 support improved
* webcam support on windows largely improved (vfw mode)
* support for configuring video size up to svga
* video output can automatically resize to the size of received video stream
* fix crash when resizing video window
* new MSWebcam object to provide Webcam management and MSFilter instantiation
* alsa bugfixes
mediastreamer-2.2.2: 6, october 2008
* new winsnd3.c file for support of soundcard under windows (seems to work a bit better)
* bugfixes
mediastreamer-2.2.1: 25, january 2008
* video output resizing
* 4CIF and VGA support
* bugfixes
* added snow codec (experimental)
* enable setting of max rtp payload size for all encoders
mediastreamer-2.2.0: 19, November 2007
* new "no webcam" screen
* bandwidth settings improvements
* new REQ_VFU command to request a video encoder to send an I-frame
(implemented for ffmpeg based encoders)
* contributed macosx sound support
* new MSVolume filter to make sound power measurements
* rate control of ffmpeg video codecs
mediastreamer-2.1.0: 23, January 2007
* add support for Video4Linux V2 cameras
* support for mpjeg cameras
* webcam support on windows operational
* video window display ok on windows
* fix bug with quickcam driver on linux
* bandwidth setting improvements.
MEDIASTREAMER for ANDROID
****************************
To build libmediastreamer for Android, you must:
1) clone the linphone-android repository:
git clone git://git.linphone.org/linphone-android.git
2) follow the README file of linphone-android and build using:
$ make mediastreamer2-sdk
instead of:
$ make
[![pipeline status](https://gitlab.linphone.org/BC/public/mediastreamer2/badges/master/pipeline.svg)](https://gitlab.linphone.org/BC/public/mediastreamer2/commits/master)
Mediastreamer
=============
Mediastreamer2
==============
* Project : mediastreamer2 - a modular sound and video processing and streaming
* Email : <simon.morlat@linphone.org>
* License : GPLv2(or later) or Commercial licensing
* Home Page : <http://www.mediastreamer2.com>
Mediastreamer2 is a powerful and lightweight streaming engine for voice/video telephony applications.
This media processing and streaming toolkit is responsible for receiving and sending all multimedia streams in Linphone, including voice/video capture, encoding and decoding, and rendering.
Commercial support and licensing is provided by Belledonne Communications
<http://www.belledonne-communications.com>
For additional information, please [visit mediastreamer2's homepage on **linphone.org**](http://www.linphone.org/technical-corner/mediastreamer2)
Mediastreamer2 is a library to make audio and
video real-time streaming and processing. Written in pure C,
it is based upon the ortp library.
License
-------
Design
------
<Copyright © Belledonne Communications SARL>
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
Mediastreamer2 is dual licensed, available either either:
- under the GNU GPLv3 license for free (see LICENSE.txt file for details)
- under a proprietary license, for closed source projects. Contact sales@belledonne-communications.com for costs and other service information.
Documentation
-------------
Please browse supported features and RFCs from [<https://www.linphone.org/technical-corner/mediastreamer2/features>].
Mediastreamer2 has a concept of filters, that can be connected to form a graph. Each
filter is responsible for doing some kind of processing and
delivers 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
to a filter that is able to play the PCM data or another to record it into a .wav
file.
A more high level API is available in mediastreamer2/mediastream.h header file, exposing
primitives to create audio and video streams suitable for a VoIP application.
There is a doxygen documentation for more information.
Compilation and installation
----------------------------
......@@ -35,8 +42,6 @@ Compilation and installation
- **bctoolbox[1]**: portability layer
- **oRTP[2]**: RTP stack
- **libspeexdsp**: echo cancelation feature (disablable)
- **ffmpeg** or libav: H263 codec, MPEG4 decodec and RAW picture rescaling (disablable)
### Optional dependencies
......@@ -46,6 +51,7 @@ Compilation and installation
- **libbv16**: BV16 codec support
- **libopus** for Opus encoding and decoding
- **libspeex**: SPEEX codec support
- **libspeex-dsp: resampler and AEC
- **libalsa**: ALSA support (GNU/Linux only)
- **libpulse**: PulseAudio support (GNU/Linux only)
- **libv4l2**: video capture (GNU/Linux only;disablable)
......@@ -54,6 +60,7 @@ Compilation and installation
- **libvpx** for VP8 encoding and decoding
- **libmastroska-c** for recording/playing of audio/video streams
- **libturbojpeg**: video screenshot feature
- **ffmpeg**, h264 decoder, mpeg4 and mjpeg encoder/decoders, rescaling and pixel conversion.
### Build instructions:
......@@ -63,8 +70,11 @@ The Autotools way is deprecated. Use [CMake](https://cmake.org) to configure the
make
make install
Alternatively, mediastreamer2 library is integrated in *linphone-sdk[4]* meta project, which provides a convenient way
to build it for various targets.
#### Supported opitions:
#### Supported options:
- `CMAKE_INSTALL_PREFIX=<string>` : install prefix
- `CMAKE_PREFIX_PATH=<string>` : column-separated list of prefixes where to search for dependencies
......@@ -137,3 +147,4 @@ Subscribe here:
- [1] git://git.linphone.org/bctoolbox.git *or* <http://www.linphone.org/releases/sources/bctoolbox>
- [2] git://git.linphone.org/ortp.git *or* <http://www.linphone.org/releases/sources/ortp>
- [3] git://git.linphone.org/bzrtp.git *or* <http://www.linphone.org/releases/sources/bzrtp>
- [4] linphone-sdk: https://gitlab.linphone.org/BC/public/linphone-sdk.git
......@@ -24,7 +24,7 @@ if(NOT CPACK_PACKAGE_NAME)
set(CPACK_PACKAGE_NAME "mediastreamer")
ENDIF()
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../COPYING")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment