media-server
WebRTC Media Server
Documentation coming soon, major refactoring ongoing. Stay tuned!
Usage
This repository is currently a host for the base media code used in different projects. While it may take a while to propertly encapsulate it and define reusable components to create a proper SDK, you can use the following native wrappers:
- MCU.
- Media Server for Node.js
- Media Server for Golang
- Media Server for Java (Coming soon)
Functionality
We intend to implement support the following features:
- Video encoders/decoders: VP8 (VP6 on decoding), H264, MP4V-ES H263P, Sorenson H263 and H263 support
- Audio enoders/decoders: PCMU, PCMA, G722, GSM, SPEEX, NellyMoser, AAC (only encoding) and Opus support
- Video mixing with continuous presence
- Audio mixing in 8khz,16Khz,32khz and 48Khz
- Flash broadcasting
- MP4 multitrack recording for H264, VP8, Opus, G711 and VP9 (WIP)
- MP4 playback
- VAD support
- VP9 SVC layer selection
- VP8 Simulcast
- RTP transport wide congestion control
- Remote Bitrate Estimation and Adaptation Algorithm
- Sender side BitRate estimation
- Flex FEC draft 3
- NACK and RTX support
- RTCP reduced size
- Bundle
- ICE lite
- Frame Marking
- PERC double encryption
- Plain RTP broadcasting/streaming
- Layer Refresh Request (LRR) RTCP Feedback Message
- MPEG DASH
- Datachannels (WIP via libdatachannels)
Support
To discuss issues related to this project or ask for help please join the google comunity group.
Contributing
To get started, sign the Contributor License Agreement.
License
Dual:
- GNU General Public License v2.0 for general use.
- MIT for using under the Medooze Media Server Node.