Git Product home page Git Product logo

webrtc's Introduction

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 data between two servers, without using pub/sub
  • 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
export CPATH=`brew --prefix`/opt/openssl/include
export LIBRARY_PATH=`brew --prefix`/opt/openssl/lib
go get -u github.com/pions/webrtc

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

We are 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

webrtc's People

Contributors

sean-der avatar kc5nra avatar nicolai86 avatar backkem avatar brendan-rius avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.