Pion WebRTC VS libdatachannel

Compare Pion WebRTC vs libdatachannel and see what are their differences.

Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
Pion WebRTC libdatachannel
33 5
8,295 570
4.0% -
9.1 9.6
6 days ago 4 days ago
Go C++
MIT License GNU Lesser General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Pion WebRTC

Posts with mentions or reviews of Pion WebRTC. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-22.
  • Scout. The WebRTC controlled robot.
    3 projects | reddit.com/r/robotics | 22 Nov 2021
    I'm building a free platform to build such projects. It consists of a web app: roboportal.io and Golang based software which should operate on the robot's side: https://github.com/roboportal/bot_box. WebRTC part is Pion (https://github.com/pion/webrtc). Also, there are a few more bots examples created with this tool: https://github.com/roboportal/bot\_design\_examples
  • Live video calling - the Dyte way
    4 projects | dev.to | 3 Nov 2021
    A number of open-source projects also exist, which give developers a great head start if they're looking to build their own infrastructure - the most popular of these include Jitsi, Mediasoup, Janus, and Pion. These projects provide a layer of abstraction and expose a number of helper functions to perform various tasks, such as creating transports, etc. They have helpful guides on how to get started, but you would still face the aforementioned issues regarding scaling, resources, etc.
  • How we make WebRTC be easier?
    2 projects | news.ycombinator.com | 11 Oct 2021
    Hey HN,

    For the past couple of years I have been working on open source software[0] + a free book[1] to make WebRTC easier. I am trying to find the other gaps in the space. Would love to hear what people find difficult about it still!

    Even if you don't have a solution would be great just to get a feel for where people are at in the space.

    [0] https://github.com/pion/webrtc

    [1] https://webrtcforthecurious.com

    2 projects | news.ycombinator.com | 11 Oct 2021
  • Pion WebRTC v3.1.0 Released
    1 project | reddit.com/r/WebRTC | 23 Sep 2021
    3 projects | reddit.com/r/golang | 23 Sep 2021
  • Share video feed (camera, screen, file, etc.) from ffmpeg to web(rtc)
    9 projects | news.ycombinator.com | 22 Sep 2021
  • Ask HN: What are some tools / libraries you built yourself?
    264 projects | news.ycombinator.com | 16 May 2021
    I started (but many many others contributed) to the Go implementation of WebRTC Pion WebRTC https://github.com/pion/webrtc

    Along the way I worked on a Go implemenation of DTLS that gets used on its own a bit https://github.com/pion/dtls

    In another life I wrote Therac https://github.com/sean-der/therac. A PHP debugger that was viewable from a browser. I was a remote at the time (2015) and it was a great tool to use with others.

    I also wrote fail2web https://github.com/sean-der/fail2web a web frontend to fail2ban

  • WebRTC over Asp.Net Core - Any examples?
    7 projects | reddit.com/r/csharp | 7 May 2021
    I'm currently building a new product with .NET 5 that creates a WebRTC data channel with clients and also sends them video over WebRTC. In preparation, I evaluated the current WebRTC landscape. The gist is that almost all WebRTC implementations are in other languages (usually C++), so native interop is nearly unavoidable if you want to use C#. I ultimately decided to create a small native library (.so file) using the excellent Pion WebRTC library for Go and then created a C# wrapper for it using C#'s native interop APIs (e.g. DllImport, Marshal.GetFunctionPointerForDelegate()). So far this has been working well and I have both data communication and video streams working, but I should add the caveat that I haven't shipped the service to production yet (I'm still a couple months of development away from that).
    7 projects | reddit.com/r/csharp | 7 May 2021
    I meant to mention: I thought about creating an open-source library for the Pion wrapper, but it's currently quite specific to my application in order to reduce the number of calls needed from C# to Go and vice versa. Perhaps I'll write a blog post in the future, though. In the meantime, the approach I took was to start with one of Pion's examples and then turn it into a static library by using cgo to export functions with C linkage and building it as a shared library like this:

libdatachannel

Posts with mentions or reviews of libdatachannel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-06.

What are some alternatives?

When comparing Pion WebRTC and libdatachannel you can also consider the following projects:

mediasoup - Cutting Edge WebRTC Video Conferencing

janus-gateway - Janus WebRTC Server

livekit-server - Scalable, production-grade WebRTC video conferencing. SDKs for web & mobile.

ion - Real-Distributed RTC System by pure Go and Flutter

peerjs - Simple peer-to-peer with WebRTC

awesome-pion - A curated list of awesome things related to Pion

M3U8 - Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema:

go-m3u8 - Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8)

media-server-node - WebRTC Media Server for Node.js

goav - Golang bindings for FFmpeg

gst - Go bindings for GStreamer (retired: currently I don't use/develop this package)