Best of WebRTC2024

  1. 1
    Article
    Avatar of canvaCanva Engineering·2y

    Real-time mouse pointers

    Anton from Canva's Collaboration team discusses the implementation of real-time mouse pointers for the company's whiteboard product. Initially developed using WebSockets and Redis for backend-centric architecture, the system supported millions of users. To further reduce latency and backend load, the final architecture transitioned to WebRTC, leveraging peer-to-peer connections for better scalability and responsiveness. WebRTC offers lower latency and higher throughput, ideal for real-time applications, though it introduces additional complexity on the frontend.

  2. 2
    Article
    Avatar of hnHacker News·2y

    peer-calls/peer-calls: Group peer to peer video calls for everyone written in Go and TypeScript

    Peer Calls is a group peer-to-peer video calling application written in Go and TypeScript. The new version includes a rewritten server in Golang, an optional Selective Forwarding Unit (SFU) for reduced bandwidth usage, and numerous features and fixes like improved file sending, device management, and toolbar layout. It supports dynamic stream handling, multiple nodes, and end-to-end encryption. Deployment can be done via Docker or using kubectl with a YAML config file. Redis can be utilized for load balancing, and a TURN server can be configured for better connectivity behind firewalls.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    Introduction to WebRTC

    WebRTC (Web Real-Time Communication) is an open-source technology that allows real-time communication via simple APIs in web browsers and mobile apps. This post covers the installation process, building a basic WebRTC application, and understanding the code essentials such as capturing local video, peer connection setup, offer and answer exchange, and handling ICE candidates.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport

    Comparison of WebSockets, Server-Sent-Events, Long-Polling, WebRTC, and WebTransport for real-time web applications. Discusses their advantages, limitations, and use case suitability.

  5. 5
    Article
    Avatar of hnHacker News·2y

    szimek/sharedrop: Easy P2P file transfer powered by WebRTC

    ShareDrop is a web application inspired by Apple AirDrop, enabling peer-to-peer file transfers without utilizing servers, leveraging WebRTC for security and Firebase for presence management. It facilitates file sharing within the same network and across networks via unique URLs. It works on various browsers and can be deployed using Ember CLI and Heroku.

  6. 6
    Article
    Avatar of hnHacker News·2y

    ambianic/peerfetch: Peer-to-peer HTTP over WebRTC.

    Peer-to-peer HTTP over WebRTC allows secure, direct access from web browsers to edge devices behind firewalls without needing custom VPN setups, cloud intermediaries, dynamic DNS, or custom firewall rules. It's safe to run in application space and supports end-to-end encryption. Currently available in JavaScript and Python, this approach supports various applications like private home security cameras, IoT device communication, personal web apps, and federated learning.

  7. 7
    Article
    Avatar of hnHacker News·1y

    tonghohin/screen-sharing: Share your screen with one simple room code. No downloads or sign-ups required.

    A real-time screen sharing application built with Next.js, WebRTC, and PeerJS that allows users to create or join rooms for instant screen sharing without the need for downloads or sign-ups. It features cross-browser support, a fullscreen mode, and a simple, intuitive interface.

  8. 8
    Article
    Avatar of hnHacker News·2y

    Glimesh/broadcast-box: A broadcast, in a box.

    Broadcast Box enables sub-second broadcasting using WebRTC, offering fast setup, multiple video stream support, and bandwidth efficiency with AV1 codec. It operates peer-to-peer, eliminating the need for dedicated servers, and can be easily configured with OBS for low-latency streaming. The backend, built in Go, and frontend, in React, can be deployed locally or on cloud platforms using Docker. Environment variables offer extensive customization and automated updates through Docker Compose.

  9. 9
    Article
    Avatar of hnHacker News·2y

    livekit/agents: Build real-time multimodal AI applications 🤖🎙️📹

    LiveKit is collaborating with OpenAI to introduce the MultimodalAgent API, enabling ultra-low latency WebRTC transport between GPT-4o and user devices. This Agents framework supports real-time AI-driven server programs that can handle text, audio, images, and video. Plugins are available for popular LLMs and services, and the framework provides features like voice agent auto-detection and telephony stack integration. The system can be run across various environments, and the core library and plugins can be easily installed via pip.

  10. 10
    Article
    Avatar of medium_jsMedium·2y

    Introducing Elixir WebRTC

    Introducing Elixir WebRTC, an Elixir implementation of the W3C WebRTC specification. Version 0.1 brings a compliant API, easy integration with the Elixir ecosystem, and learning resources. The next version will add support for Quality of Service features and ICE features.