Code Monkey home page Code Monkey logo

artico's Introduction

Logo for Artico

Artico

Artico is a flexible set of libraries that help you create your own WebRTC-based solutions. It uses a RTCPeerConnection abstraction similar to simple-peer, in order to maintain each individual peer-to-peer connection, while providing integrated signaling (via Socket.io), all via simple APIs.

Motivation

WebRTC as a technology has grown significantly in the past few years, making it more and more appealing. However, WebRTC APIs are not always straightforward and easy to use. In addition, WebRTC specifications don't define a signaling protocol or a discovery mechanism.

Multiple projects, like PeerJS and simple-peer, attempt to abstract some of the WebRTC complexities away from the user, facilitating the use of the technology. Even though these are all great projects, they usually fall short on some needed features (i.e., simple-peer doesn't provide signaling, PeerJS provides signaling but misses renegotiation capabilities) or are no longer actively maintained.

Artico aims at being a flexible, yet powerful, set of abstraction tools that should accommodate most WebRTC project needs.

About

Artico provides three core packages:

You can also find the implementation of three of our apps:

The demo apps are used to support the development of the Artico ecosystem, whilst demonstrating how to use the library packages.

  • provide WebRTC API abstraction
  • facilitate individual peer to peer connections
  • heavily inspired by simple-peer
  • integrated signaling out of the box
  • dynamic number of streams in single connection (via @rtco/peer)
  • facilitate different peer network topologies (e.g., 1-1 Calls or many-many Rooms)
  • multi-platform support (i.e., browser, React Native, Node.js)
  • easy to use signaling server
  • integration with existing Node.js servers
  • provide all the needed support for @rtco/client

Usage

Please refer to Artico's documentation for more information.

References

  • PeerJS - This project was inspired by PeerJS and aims at being as simple as PeerJS, while covering more complex scenarios.
  • simple-peer - @rtco/peer is heavily inspired by simple-peer and maintains similar goals.
  • Socket.io - Used as the connection protocol between peers and the signaling server.
  • RTCMultiConnection - Artico aims at providing advanced features found in this great project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.