/webrtc

A pure Golang implementation of the WebRTC Native API

Primary LanguageGoMIT LicenseMIT

Pion WebRTC

GoDoc License: MIT

A (almost) pure Golang implementation of the WebRTC Native API.

Status

Things need to be completed before it is usable for public consumption.

  • ICE-lite (peers can communicate directly via host candidates)
  • DTLS
  • SRTP
  • API that matches WebRTC spec

Things that I plan to do, but will happen only when someone requests/I need it.

  • Native DTLS (Currently we use OpenSSL)
  • DataChannels
  • TURN/STUN/ICE
  • Sending Video

How to use

Build (or run) this project go run *.go This will print your SDP, and a base64 version of it.

Open the demo page and put the base64 from running the Go application in the text area, and press 'Start Session'

The Go application should print when it gets any packets, and the web page will print it's status as well.

Project Ideas

I am looking to support other interesting WebRTC projects, so if you have something to build please reach out! pion-WebRTC would make a great foundation for.

  • Easy language bindings (Python)
  • Golang SFU
  • Server side processing (video effects or an MCU)