Opened 5 months ago

Last modified 4 months ago

#28942 new enhancement

Evaluate pion WebRTC

Reported by: backkem Owned by:
Priority: Medium Milestone:
Component: Circumvention/Snowflake Version:
Severity: Normal Keywords:
Cc: ahf, dcf, arlolra Actual Points:
Parent ID: Points:
Reviewer: Sponsor: Sponsor19


We've made a pure Go WebRTC port over at pions/webrtc. This may provide a viable alternative to libwebrtc.


  • We've not done much work on security yet. However, we definitely intend to work on this since hardening the security will be a requirement for many other use-cases.
  • Not entirely feature complete but this seems less important for your use-case.
  • We don't support TURN yet. We currently plan to build this for our next release.


  • It is fully go-gettable, fixing the horrible built process. In addition, it should run everywhere Go runs.
  • We've tested our data channel implementation against multiple targets, including Chrome, Firefox and NodeJS and aim to automate these in the future.
  • It will give you more freedom to make changes to the WebRTC stack and even allow experimentation, E.g.: to reduce fingerprinting.
  • It may solve/invalidate some of your other problems, including #19026, #19315, #19569, #22718 and #25483.
  • We're working on exposing an idiomatic API based on the io.ReadWriteCloser.
  • We have an active community and development team. We're more than happy to fix any problems that may arise. We're also open to prioritizing any features you conciser blocking. Lastly, we have great PR response times.

I'm also interested in collaborating on NAT testing as mentioned in #25595.

Child Tickets

Change History (1)

comment:1 Changed 4 months ago by gaba

Sponsor: Sponsor19
Note: See TracTickets for help on using tickets.