WebRTC Media Server
Documentation coming soon, major refactoring ongoing. Stay tuned!
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)
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)
To discuss issues related to this project or ask for help please join the google comunity group.
To get started, sign the Contributor License Agreement.
Dual:
- GNU General Public License v2.0 for general use.
- MIT for using under the Medooze Media Server Node.