media-server icon indicating copy to clipboard operation
media-server copied to clipboard

WebRTC Media Server

media-server

Codacy Badge

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:

Functionality

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)

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: