web-codecs VS webrtc

Compare web-codecs vs webrtc and see what are their differences.

web-codecs

WebCodecs is a flexible web API for encoding and decoding audio and video. (by WICG)

webrtc

A pure Rust implementation of WebRTC (by webrtc-rs)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
web-codecs webrtc
14 41
904 3,792
2.8% 3.1%
8.3 8.6
9 days ago 5 days ago
HTML Rust
GNU General Public License v3.0 or later Apache License 2.0
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.

web-codecs

Posts with mentions or reviews of web-codecs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-30.
  • Replacing WebRTC: real-time latency with WebTransport and WebCodecs
    10 projects | news.ycombinator.com | 30 Oct 2023
    Encoding alpha, please! https://github.com/w3c/webcodecs/issues/672
  • Real-Time Video Processing with WebCodecs and Streams
    3 projects | news.ycombinator.com | 18 Mar 2023
    From developer.mozilla.org [0]

    > WebCodecs API

    > The WebCodecs API gives web developers low-level access to the individual frames of a video stream and chunks of audio. It is useful for web applications that require full control over the way media is processed. For example, video or audio editors, and video conferencing.

    And from w3c [1]:

    > The WebCodecs API allows web applications to encode and decode audio and video

    All this looks really promising, I wouldn't have thought that we could use browsers directly to render videos. Maybe Puppeteer could then stream the content of the page it is rendering, for example a three.js animation.

    [0] https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_A...

    [1] https://github.com/w3c/webcodecs

  • Microsoft Clipchamp
    5 projects | news.ycombinator.com | 27 Aug 2022
    As I understand it, Web Codecs is quite a ways away from being a web standard - it is currently just a draft[1] for a recommendation for a possible future standard.

    Just beware of any major API changes or any indication that it might be dropped in its entirety!

    [1]:https://w3c.github.io/webcodecs/

  • Chrome 94 Beta: WebCodecs, WebGPU, Scheduling, and More
    1 project | news.ycombinator.com | 30 Aug 2021
    WebCodecs has Mozilla and Microsoft coauthors: https://w3c.github.io/webcodecs/

    WebGPU was chartered in 2017, with more Apple people in the initial membership than Mozilla or Google people: https://gpuweb.github.io/admin/cg-charter.html

    Google specifically has approached Apple for input about scheduler.postTask(), and they say they've presented the proposal before at a working group that Apple is part of: https://lists.webkit.org/pipermail/webkit-dev/2021-June/0319...

    I won't disagree that there's a ton that can be improved about the process, but it seems pretty unsubstantiated to claim that Google is "rushing forwards as fast as possible" given that they've been spending years working on these APIs in public. You can see from the rest of the post that they're running some experiments which they're specifically choosing not to enable by default, though they could.

  • Show HN: I made a meme creator that makes around $4k a month
    2 projects | news.ycombinator.com | 27 Aug 2021
    I work for PaperlessPost.com, and for our Flyer product we export mp4s from ffmpeg compiled to WASM, which is similar to ffmpeg.js but optimized for our use case which sounds similar. We have this WebAssembly method working well but iOS 15 (and the other major browsers) now support MediaExporter which might be a better way to go if you have something else to convert these files. This becomes and issue because you can't control the format MediaRecorder is recording to but the management of memory, the image quality, the compression, the performance hit will be more ideal than these other methods. OMGgif is very slow and will produce large files or very bad looking ones. Keep in mind that GIFs limit the colors so something that looks nice on the screen might not look the same after it is saved. The other thing to look out for is the WebCodecs APIs which should be the ultimate way to handle all of this in the future but it is only working in Chrome I think https://github.com/w3c/webcodecs
  • Loading Audio in Node JS
    2 projects | dev.to | 1 Jun 2021
    While in theory it might be possible to run ffmpeg through emscripten and run it in a web worker (I certainly assume someone has done this), it's not necessarily practical to try and use the same technique from node to transcode audio on the web. The good news is that the w3c has chartered a working group to focus on web codecs. While this is at the time of writing still in early stages, the working group is powering ahead on designing and proposing an API to enable media transcoding on the web, and hopefully that will become available to us in the near future.
  • WebCodecs
    1 project | news.ycombinator.com | 28 Apr 2021
  • What's the deal with the WebCodecs and InsertableStreams APIs?
    2 projects | /r/webdev | 13 Apr 2021
  • WebCodecs is a flexible web API for encoding and decoding audio and video
    2 projects | news.ycombinator.com | 12 Mar 2021

webrtc

Posts with mentions or reviews of webrtc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • VoRS: Vo(IP) Simple Alternative to Mumble
    15 projects | news.ycombinator.com | 19 Apr 2024
  • Pure C WebRTC
    12 projects | news.ycombinator.com | 7 Jan 2024
    I am really excited about https://github.com/sepfy/libpeer. It has examples ready for ESP32 etc....

    When working on KVS I wasn't familiar with the embedded space at all. I saw 'heavyweight' embedded where you were running on Linux. Then you had RTOS/No OS at all. I wasn't prepared for these devices at all. If we can make WebRTC work in the embedded space I think it will really accelerate what developers are able to build!

    Remotely driven cars, security cameras, robots in hospitals that bring iPads to infectious patients etc... Creative people are building amazing things. The WebRTC/video space needs to work harder and support them :)

    -----

    I love how diverse the WebRTC space is now. Outside of this implementation you have plenty of other options!

    * https://github.com/shinyoshiaki/werift-webrtc (Typescript)

    * https://github.com/pion/webrtc (Golang)

    * https://github.com/webrtc-rs/webrtc (Rust)

    * https://github.com/algesten/str0m (Rust)

    * hhttps://github.com/sepfy/libpeer (C/Embedded)

    * https://webrtc.googlesource.com/src/ (C++)

    * https://github.com/sipsorcery-org/sipsorcery (C#)

    * https://github.com/paullouisageneau/libdatachannel (C++)

    * https://github.com/elixir-webrtc (Elixir)

    * https://github.com/aiortc/aiortc (Python)

    * GStreamer’s webrtcbin (C)

    See https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.

  • WebRTC for the Curious
    18 projects | news.ycombinator.com | 4 Jan 2024
  • Building WebRTC server implementation for Erlang
    6 projects | /r/WebRTC | 10 Dec 2023
    This is not true, there are actually multiple WebRTC implementations in different languages besides the reference library: aiortc (python), libdatachannel (C++), sipsorcery (C#),webrtc-rs (rust), werift (Typescript), and Amazon Kinesis (C)
  • Trying to get WebRTC ICE to work with Rust
    1 project | /r/rust | 29 Sep 2023
    I am trying to get WebRTC working using Rust https://github.com/webrtc-rs/webrtc
  • Real-Time Video Processing with WebCodecs and Streams
    3 projects | news.ycombinator.com | 18 Mar 2023
    I have opened an issue on GitHub [1], we can continue there.

    [1] https://github.com/webrtc-rs/webrtc/issues/426

  • Can you help me with Webrtc-rs and insertable streams?
    1 project | /r/rust | 7 Mar 2023
  • A Rust client library for interacting with Microsoft Airsim https://github.com/Sollimann/airsim-client
    13 projects | /r/robotics | 22 Jan 2023
    webrtc
  • A Rust library for cross-platform video apps using WebRTC and LiveKit
    3 projects | /r/rust | 11 Jan 2023
    webrtc.rs is a port of Pion (which we also use). It's a better fit for server-side use
  • WebRTC signaling server in Rust
    2 projects | /r/rust | 20 Dec 2022
    I want to use peer-to-peer communication and data transfer for my next side project (client-server web app). I've been doing some research and WebRTC seems to be the only option for this on the client. There are a ton of libraries and product offering for facilitating STUN/TURN servers as a service, but I'm quite interested in learning more about these protocols. That being said, I'm not the best rust programmer (part of the reason of using Rust as the server is so that I can learn more), and the signalling protocols seem rather complicated. I've looked at https://github.com/webrtc-rs/webrtc and it seems promising.

What are some alternatives?

When comparing web-codecs and webrtc you can also consider the following projects:

web-bugs - A place to report bugs on websites.

aiortc - WebRTC and ORTC implementation for Python using asyncio

moq-js - Typescript library for Media over QUIC

Pion WebRTC - Pure Go implementation of the WebRTC API

webrtc-rtptransport - Repository for the RTPTransport specification of the WebRTC Working Group

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

meyda - Audio feature extraction for JavaScript.

libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets

standards-positions

opencv-python - Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.

webrtc-for-the-curious - WebRTC for the Curious: Go beyond the APIs

Homer - HOMER - 100% Open-Source SIP, VoIP, RTC Packet Capture & Monitoring