peat-psuwit / node-gst-webrtc

Implement WebRTC Javascript API using Gstreamer's webrtcbin and friends.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node-gst-webrtc

Implement WebRTC Javascript API using Gstreamer's webrtcbin and friends. Uses node-gtk.

Why?

I was inspired by how many of major browsers uses libwebrtc as the basis of their WebRTC implementations, and (allegedly) how hard it is to add a new HW acceleration to it. Implementing this wrapper opens WebRTC to the world of Gstreamer's flexibility and support for multiple HW-accelerated plugins.

...That is, until I realized that WebKitGTK already incoperated Gstreamer into their WebRTC implementation (on top of libwebrtc). Still, this project is fun regardless. Let's see how far I can push this wrapper.

Current state

  • Can send, receive data using data channel.
  • Can receive media.
  • Cannot send media yet.

Rolling TODO

  • Implement MediaStream media closure for RTPReceiver
    • Remote side (listen for EOS)
    • Local side (.stop() for MediaStreamTrack, stop() for source?)
  • Deals with memory leak in node-gtk (romgrk/node-gtk#302)

About

Implement WebRTC Javascript API using Gstreamer's webrtcbin and friends.


Languages

Language:TypeScript 78.1%Language:C 15.0%Language:JavaScript 5.8%Language:Meson 1.2%