Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/pion/webrtc-v3-design/examples

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/pion/webrtc-v3-design/examples

  • v0.0.0-20201018190645-01b2dee52ae4
  • Source
  • Go
  • Socket score

Version published
Created
Source
Play Files from Disk

Example of playing file from disk.

  • User declares codec they are reading from disk
  • On each negotiated PeerConnection they are notified if the receiver can accept what they are offering
  • Read packets from disk and send until completed
Play Files from Disk Dynamic

Example of playing a file from a disk and condtionally selecting codec.

  • User declares codecs that are available
  • On each negotiated PeerConnection a callback is fired with the codecs that are supported
  • Read packets from disk and send until completed
Save files to Disk

Example of saving user input to disk,

  • User declares codecs they are saving to disk
  • On each negotiated PeerConnection they are notified if the receiver can send what they are offering
  • In OnTrack user Read packets from webrtc.RTPReceiver and save to disk
Fan out WebRTC Input

Example of simple SFU

  • User declares codec they wish to fan out
  • Uploader connects and we assert that our chosen codec is supported, if so we start reading
  • Downloader connects and we assert our chosen codec is supported
  • We send our video packets and the developer doesn't have to worry about managing PayloadTypes/SSRCes etc..

We can also implement some basic receiver feedback. These need to be supported, but are not mandatory

  • Determine the lowest support bitrate across all receivers, and forward it back to the sender
  • Forward NACK/PLI messages from each receiver back to the sender
  • Simulcast (see below)
Simulcast Receive

A user should be able to receive multiple feeds for a single Track

TODO (Works in master)

Error Resilience Send

A user sending video should be able to receive NACKs and respond to them

TODO

Error Resilience Receive

A user receiving video should be able to send NACKs and receive retransmissions

TODO

Congestion Control Send

A user sending video should be able to receive REMB/Receiver Reports/TWCC and adjust bitrate

TODO

Congestion Control Receive

A user receiving video should be able to send REMB/Receiver Reports/TWCC

TODO

Simulcast Send

A user should be able to send simulcast to another Pion instance. This isn't supported to the browser.

TODO

Portable getUserMedia

Users should be able to call getUserMedia and have it work in both their Go and WASM code.

Everything should be behind platform flags in the mediadevices repo so user doesn't need to write platform specific code.

FAQs

Package last updated on 18 Oct 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc