Show HN: Pion/handoff – Move WebRTC out of browser and into Go

Move video calls out of the browser—hackers cheer, skeptics ask “faster?”

TLDR: Pion’s Handoff lets you start a video call in your browser and move it to a Go program for more control—recording, swapping video, and poking under the hood. Developers are thrilled about power and flexibility, while others ask if it actually makes calls faster or easier on your computer.

WebRTC—the tech behind Zoom, Discord, and Google Meet—just got a curveball. Pion’s new toy, Handoff, lets you start a video call in your browser and then shift the call itself to a Go app you control. The dev behind it says the goal is to “peek under the hood,” record calls, swap in custom video (hello, test pattern), and even reverse engineer how services talk to each other.

The crowd? Loud. The author’s pitch—more control, fewer limits—had tinkerers buzzing. One developer, tired of browser hacks that “either break the site or can’t grab the media,” practically high-fived the idea of moving the heavy lifting out of the browser. Another daydreamed about a Linux-style picture-in-picture overlay catching any call like magic TV. Meanwhile, the practical folks chimed in with a cold splash: does this make calls smoother or lighter on your CPU, or is it just more power for power users?

Drama level: medium-spicy. Fans of reverse engineering and automation are hyped; performance hawks are unconvinced; and jokesters are already imagining swapping their faces for color bars. If Handoff delivers, it could turn the browser from “the place where calls live” into “the place where calls begin,” and that shift has devs very, very chatty.

Key Points

  • Pion Handoff enables creating a WebRTC session in the browser and moving it to a Go-controlled process.
  • Primary use cases include recording sessions, sending external media (e.g., via FFmpeg), and reverse engineering by capturing ICE/DTLS and decrypted RTP/RTCP/SCTP.
  • Operation involves mocking the WebRTC API in the browser, forwarding signaling to Handoff, and having Handoff establish the session with the website.
  • Examples include saving VP8 video on the backend, forwarding VP8 RTP into the browser, and a userscript to override RTCPeerConnection via Greasemonkey.
  • The project is open-source under the MIT License, offers community support on Discord, and provides updates via Bluesky and Twitter.

Hottest takes

"make Reverse Engineering WebRTC services easier" — Sean-Der
"it either breaks the site or it's impossible to intercept the media" — Hakkin
"Is this a good way to improve performance (frame rate, latency, CPU load) ?" — esafak
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.