Skip to content

pion/example-webrtc-applications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Examples WebRTC Applications

The following are a collection of example applications built by Pion users. These applications show real world usage of Pion, and should serve as a good starting point for your next project. For more minimal examples check out examples in the Pion WebRTC repository

If you have a request please make an issue, we also love contributions more examples, are always welcome.

FAQ has answers to common questions. If you have a question not covered please ask in Discord we are always looking to expand it.

Examples

  • GoCV Receive: Example gocv-receive shows how to receive media using Pion and then do motion detection with GoCV.
  • Gstreamer Receive: Example gstreamer-receive shows how to receive media from the browser and play it live. This example uses GStreamer for rendering.
  • Gstreamer Send: Example gstreamer-send shows how to send video to your browser. This example uses GStreamer to process the video.
  • Gstreamer Send Offer: Example gstreamer-send-offer is a variant of gstreamer-send that initiates the WebRTC connection by sending an offer.
  • Janus Gateway: Example janus-gateway is a collection of examples showing how to use Pion WebRTC with janus-gateway.
  • SFU Websocket: The SFU example demonstrates a conference system that uses WebSocket for signaling. It also includes a flutter client for Android, iOS and Native.
  • Save to WebM: Example save-to-webm shows how to receive audio and video using Pion and then save to WebM container.
  • Twitch: Example twitch shows how to send audio/video from WebRTC to https://www.twitch.tv/ via RTMP.
  • C DataChannels Example c-data-channels shows how you can use Pion WebRTC from a C program
  • Snapshot Example snapshot shows how you can convert incoming video frames to jpeg and serve them via HTTP.
  • SIP to WebRTC Example sip-to-webrtc shows how to bridge WebRTC and SIP traffic.
  • GoCV to WebRTC: Example gocv-to-webrtc captures webcam and performs motion detection in Go, it then sends results to view in the browser.
  • Ebiten Game: Example ebiten-game a cross-platform WebRTC game demo using Ebitengine.

Usage

We've made it easy to run the browser based examples on your local machine.

  1. Build and run the example server:

    go get github.com/pion/example-webrtc-applications
    cd $GOPATH/src/github.com/pion/example-webrtc-applications
    go run examples.go
  2. Browse to localhost to browse through the examples.

Note that you can change the port of the server using the --address flag.

Contributing

Check out the contributing wiki to join the group of amazing people making this project possible

License

MIT License - see LICENSE for full text

About

Examples of WebRTC applications that are large, or use 3rd party libraries

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks