293

GitHub - pions/webrtc: A pure Golang implementation of the WebRTC Native API

 5 years ago
source link: https://github.com/pions/webrtc
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Pion WebRTC

Build Status GoDoc Go Report Card Coverage Status Codacy Badge License: MIT

A Golang implementation of the WebRTC API.

See DESIGN.md for the features it offers, and future goals.

Getting Started

This project provides a Go implementation of the WebRTC API. There isn't a application that will fit all your needs, but we provide a few simple examples to show common use cases that you are free to modify and extend to your needs.

What can I build with pion-WebRTC?

pion-WebRTC is here to help you get media/text from A<->B, here are some of the cool things you could build.

  • Send a video file to multiple browser in real time, perfectly synchronized movie watching.
  • Send a webcam on a small device to your browser, with no additional server required
  • Securely send video between two servers
  • Record your webcam and do special effects server side
  • Build a conferencing application that processes audio/video and make decisions off of it

Prerequisites

We still use OpenSSL for DTLS (we are actively working on replacing it) so make sure to install the OpenSSL headers for your platform before using pion-WebRTC.

Ubuntu/Debian

sudo apt-get install libssl-dev

OSX

brew install openssl

Fedora

sudo yum install openssl-devel

Windows

  1. Install mingw-w64
  2. Install pkg-config-lite
  3. Build (or install precompiled) openssl for mingw32-w64
  4. Set PKG_CONFIG_PATH to the directory containing openssl.pc (i.e. c:\mingw64\mingw64\lib\pkgconfig)

Example Programs

Examples for common use cases, extend and modify to quickly get started.

Writing your own application

The API should match the Javascript WebRTC API, and the GoDoc is actively maintained

Roadmap

pion-WebRTC is in active development, you can find the roadmap here.

Questions/Support

Sign up for the Golang Slack and join the #pion channel for discussions and support

You can also use Pion mailing list

If you need commercial support/don't want to use public methods you can contact us at [email protected]

Contributing

See CONTRIBUTING.md

Contributors

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)

License

MIT License - see LICENSE.md for full text


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK