example-webrtc-applications

command module
v3.0.0-...-16ff39d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2024 License: MIT Imports: 9 Imported by: 0

README

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.

Have any questions? Join the Slack channel to follow development and speak with the maintainers.

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.

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

Documentation

Overview

examples hosts the HTML/JS for different examples

Directories

Path Synopsis
c-data-channels shows how to mix C and Go code
c-data-channels shows how to mix C and Go code
ffmpeg-send is a simple application that shows how to send video to your browser using Pion WebRTC and FFmpeg.
ffmpeg-send is a simple application that shows how to send video to your browser using Pion WebRTC and FFmpeg.
gstreamer-receive is a simple application that shows how to receive media using Pion WebRTC and play live using GStreamer.
gstreamer-receive is a simple application that shows how to receive media using Pion WebRTC and play live using GStreamer.
gstreamer-send is a simple application that shows how to send video to your browser using Pion WebRTC and GStreamer.
gstreamer-send is a simple application that shows how to send video to your browser using Pion WebRTC and GStreamer.
gstreamer-send-offer is a simple application that shows how to send video using Pion WebRTC and GStreamer
gstreamer-send-offer is a simple application that shows how to send video using Pion WebRTC and GStreamer
janus-gateway
streaming
example of how to connect Pion and Janus
example of how to connect Pion and Janus
video-room
example of how to connect Pion and Janus
example of how to connect Pion and Janus
play-from-disk demonstrates how to send video and/or audio to your browser from files saved to disk.
play-from-disk demonstrates how to send video and/or audio to your browser from files saved to disk.
play-from-disk-mkv demonstrates how to send video and/or audio to your browser from a MKV file saved to disk
play-from-disk-mkv demonstrates how to send video and/or audio to your browser from a MKV file saved to disk
rtmp-to-webrtc demonstrates how you could re-stream media from a RTMP server to WebRTC.
rtmp-to-webrtc demonstrates how you could re-stream media from a RTMP server to WebRTC.
save-to-webm is a simple application that shows how to receive audio and video using Pion and then save to WebM container.
save-to-webm is a simple application that shows how to receive audio and video using Pion and then save to WebM container.
sfu-ws is a many-to-many websocket based SFU
sfu-ws is a many-to-many websocket based SFU
sip-over-websocket-to-webrtc demonstrates how to connect to a SIP Server via Websocket
sip-over-websocket-to-webrtc demonstrates how to connect to a SIP Server via Websocket
softphone
Package softphone provides abstractions for SIP over Websocket
Package softphone provides abstractions for SIP over Websocket
sip demonstrates how to bridge SIP traffic and WebRTC
sip demonstrates how to bridge SIP traffic and WebRTC
snapshot shows how you can convert incoming video frames to jpeg and serve them via HTTP.
snapshot shows how you can convert incoming video frames to jpeg and serve them via HTTP.
Twitch is an example of ingesting WebRTC and streaming to Twitch
Twitch is an example of ingesting WebRTC and streaming to Twitch
unreal-pixel-streaming demonstrates how to connect to a Unreal Pixel Streaming instance and accept the inbound audio/video
unreal-pixel-streaming demonstrates how to connect to a Unreal Pixel Streaming instance and accept the inbound audio/video

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL