{"id":14457580,"url":"https://github.com/elixir-webrtc/ex_webrtc","last_synced_at":"2025-04-04T10:03:19.036Z","repository":{"id":194333234,"uuid":"690601070","full_name":"elixir-webrtc/ex_webrtc","owner":"elixir-webrtc","description":"An Elixir implementation of the W3C WebRTC API","archived":false,"fork":false,"pushed_at":"2024-05-28T16:48:09.000Z","size":432,"stargazers_count":237,"open_issues_count":2,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-05-29T07:53:57.404Z","etag":null,"topics":["audio","elixir","networking","rtp","streaming","video","webrtc"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elixir-webrtc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-12T14:01:55.000Z","updated_at":"2024-06-28T08:20:08.638Z","dependencies_parsed_at":"2023-09-27T12:03:22.840Z","dependency_job_id":"faa26807-103f-4165-a247-fdfbd8b814ef","html_url":"https://github.com/elixir-webrtc/ex_webrtc","commit_stats":null,"previous_names":["elixir-webrtc/ex_webrtc"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-webrtc%2Fex_webrtc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-webrtc%2Fex_webrtc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-webrtc%2Fex_webrtc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elixir-webrtc%2Fex_webrtc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elixir-webrtc","download_url":"https://codeload.github.com/elixir-webrtc/ex_webrtc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149981,"owners_count":20892052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","elixir","networking","rtp","streaming","video","webrtc"],"created_at":"2024-09-01T17:01:27.000Z","updated_at":"2025-04-04T10:03:19.017Z","avatar_url":"https://github.com/elixir-webrtc.png","language":"Elixir","funding_links":[],"categories":["Elixir"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/elixir-webrtc/ex_webrtc/8404c58384a42f1173ac391e0ad9f69be47881d0/logo_text.svg\"\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://hex.pm/packages/ex_webrtc\"\u003e\u003cimg src=\"https://img.shields.io/hexpm/v/ex_webrtc.svg\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://hexdocs.pm/ex_webrtc\"\u003e\u003cimg src=\"https://img.shields.io/badge/api-docs-yellow.svg?style=flat\"  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/elixir-webrtc/ex_webrtc/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/elixir-webrtc/ex_webrtc/ci.yml?logo=github\u0026label=CI\"  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/elixir-webrtc/ex_webrtc\"\u003e\u003cimg src=\"https://codecov.io/gh/elixir-webrtc/ex_webrtc/graph/badge.svg?token=PdnXfnnmNw\"  /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n**Elixir WebRTC** is an implementation of the [W3C WebRTC API](https://www.w3.org/TR/webrtc/) in the Elixir programming language.\n\n## Installation\n\nAdd `ex_webrtc` to the list of dependencies in `mix.exs`\n\n```elixir\ndef deps do\n  [\n    {:ex_webrtc, \"~\u003e 0.12.0\"}\n  ]\nend\n```\n\nElixir WebRTC comes with optional support for DataChannels, but it must be explicitely turned on by\nadding optional `ex_sctp` dependency\n\n```elixir\ndef deps do\n  [\n    {:ex_webrtc, \"~\u003e 0.12.0\"},\n    {:ex_sctp, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\nPlease note that `ex_sctp` requires you to have Rust installed in order to compile.\n\n## Getting started\n\nTo get started with Elixir WebRTC, check out:\n* the [Introduction to Elixir Webrtc](https://hexdocs.pm/ex_webrtc/intro.html) tutorial\n* the [examples directory](https://github.com/elixir-webrtc/ex_webrtc/tree/master/examples) that contains a bunch of very simple usage examples of the library\n* the [`apps` repo](https://github.com/elixir-webrtc/apps) with example applications built on top of `ex_webrtc`\n* the [documentation](https://hexdocs.pm/ex_webrtc/readme.html), especially the [`PeerConnection` module page](https://hexdocs.pm/ex_webrtc/ExWebRTC.PeerConnection.html)\n* the [roadmap](https://github.com/elixir-webrtc/ex_webrtc/issues/28) to see what we are working on and how you can contribute\n\nIf you have any questions, ideas or topics to discuss about Elixir WebRTC, head to the [discussions page](https://github.com/orgs/elixir-webrtc/discussions).\n\n## Elixir WebRTC vs Membrane\n\nElixir WebRTC is the W3C WebRTC standard implementation written in almost pure Elixir.\nIt does not use Membrane under the hood, and it aims to be as close to the W3C (and hence JavaScript) API as possible.\n\nMembrane, on the other hand, is a multimedia framework. It supports a lot of different protocols, codecs and containers.\nMembrane uses Elixir WebRTC in its [membrane_webrtc_plugin](https://github.com/membraneframework/membrane_webrtc_plugin) making it possible to use WebRTC with other Membrane elements.\n\n## Credits\n\nElixir WebRTC is created by [Software Mansion](https://swmansion.com/).\n\nSince 2012 Software Mansion is a software agency with experience in building web and mobile apps as well as complex multimedia solutions. We are Core React Native Contributors and experts in live streaming and broadcasting technologies. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects).\n\n[![swm](https://logo.swmansion.com/logo?color=white\u0026variant=desktop\u0026width=150 'Software Mansion')](https://swmansion.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixir-webrtc%2Fex_webrtc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felixir-webrtc%2Fex_webrtc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felixir-webrtc%2Fex_webrtc/lists"}