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:
- [x] Video encoders/decoders: VP8 (VP6 on decoding), H264, MP4V-ES H263P, Sorenson H263 and H263 support
- [x] Audio enoders/decoders: PCMU, PCMA, G722, GSM, SPEEX, NellyMoser, AAC (only encoding) and Opus support
- [x] Video mixing with continuous presence
- [x] Audio mixing in 8khz,16Khz,32khz and 48Khz
- [x] Flash broadcasting
- [x] MP4 multitrack recording for H264, VP8, Opus, G711 and VP9 (WIP)
- [x] MP4 playback
- [x] VAD support
- [x] VP9 SVC layer selection
- [x] VP8 Simulcast
- [x] RTP transport wide congestion control
- [x] Remote Bitrate Estimation and Adaptation Algorithm
- [x] Sender side BitRate estimation
- [ ] Flex FEC draft 3
- [x] NACK and RTX support
- [x] RTCP reduced size
- [x] Bundle
- [x] ICE lite
- [x] Frame Marking
- [x] PERC double encryption
- [x] 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.