logoalt Hacker News

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

86 pointsby Sean-Dertoday at 12:01 PM13 commentsview on HN

Comments

Sean-Dertoday at 12:03 PM

I wrote this to make Reverse Engineering WebRTC services easier. Will also let you save/send arbitrary media from WebRTC sessions. The idea is you do all your auth/interaction in the browser, but then do all WebRTC in Go. So you have lots more control. More to do with it, but it is far enough along to share at least.

In the README is an screenshot of sending my webcam, but replacing outgoing video with a ffmpeg testsrc. Handoff sits between so it can replace with any arbitrary video.

show 1 reply
Hakkintoday at 1:22 PM

Oh, this is interesting. I have been messing around with a WebExtension for dumping encoded WebRTC media streams by intercepting streams on RTCPeerConnection.addTrack, but it doesn't work reliably since the current WebRTC encoded stream API(s) only supports a single reader, so if the actual website is also using the API, it either breaks the site or it's impossible to intercept the media. This seems like a nice workaround, I had briefly considered some kind of proxy but I wrote it off since WebRTC traffic is encrypted, I never considered proxying the peer connection API calls themselves. Pretty clever.

show 1 reply
hparadiztoday at 1:30 PM

Would be interesting for a Wayland DM to catch this and draw to a picture in picture overlay

show 1 reply
esafaktoday at 2:18 PM

Is this a good way to improve performance (frame rate, latency, CPU load) ?

show 1 reply