LMS framework is an open source multimedia framework that allows the manipulation of multiple audio and video streams in real-time in many possible data flow configurations (called scenarios) through a JSON formatted TCP socket API or by using the middlware RESTfull API. It is designed following a pipeline pattern. It consists in a number of filters that can be concatenated or connected with each other in order to process a desired data flow. Current filters are:
- Receivers: RTSP, RTP and MPEG-TS input protocols.
- Transmitters: RTSP, RTP and MPEG-TS output protocols.
- Encoders: H.264, H.265 and VP9 video codecs and AAC, OPUS and G711 audio codecs support.
- Decoders: Same as encoders.
- Resamplers: Video resizer or audio resampler.
- Mixers: Audio or video mixing filters with configurable layouts (PiP, NxM, …) and effects (fade, blend, crop, …).
- Demuxer: an ffmpeg wrapper to receive from RTMP sources.
- Dasher: a filter which implements MPEG-DASH encapsulation.