{"id":13392941,"url":"https://github.com/versatica/mediasoup","last_synced_at":"2026-02-05T13:06:20.303Z","repository":{"id":37336517,"uuid":"27918697","full_name":"versatica/mediasoup","owner":"versatica","description":"Cutting Edge WebRTC Video Conferencing","archived":false,"fork":false,"pushed_at":"2025-05-11T18:48:24.000Z","size":171175,"stargazers_count":6627,"open_issues_count":42,"forks_count":1161,"subscribers_count":223,"default_branch":"v3","last_synced_at":"2025-05-12T02:45:52.318Z","etag":null,"topics":["c-plus-plus","nodejs","rust","server-side","sfu","webrtc"],"latest_commit_sha":null,"homepage":"https://mediasoup.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/versatica.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"mediasoup","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2014-12-12T12:00:36.000Z","updated_at":"2025-05-11T18:12:38.000Z","dependencies_parsed_at":"2023-12-18T21:35:36.370Z","dependency_job_id":"a1535691-d42f-4382-ae00-e54661f13ca8","html_url":"https://github.com/versatica/mediasoup","commit_stats":{"total_commits":3408,"total_committers":57,"mean_commits":59.78947368421053,"dds":"0.25704225352112675","last_synced_commit":"61bee414f8eb2b0222138b90e63bdd342e9feeee"},"previous_names":[],"tags_count":361,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/versatica%2Fmediasoup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/versatica%2Fmediasoup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/versatica%2Fmediasoup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/versatica%2Fmediasoup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/versatica","download_url":"https://codeload.github.com/versatica/mediasoup/tar.gz/refs/heads/v3","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253672734,"owners_count":21945482,"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":["c-plus-plus","nodejs","rust","server-side","sfu","webrtc"],"created_at":"2024-07-30T17:00:39.761Z","updated_at":"2026-02-05T13:06:20.297Z","avatar_url":"https://github.com/versatica.png","language":"C++","funding_links":["https://opencollective.com/mediasoup"],"categories":["C++","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++","网络服务","nodejs","c-plus-plus","Assembly","Streaming Protocols"],"sub_categories":["网络服务_其他","Rust"],"readme":"# mediasoup v3\n\n[![][mediasoup-banner]][mediasoup-website]\n\n[![][npm-shield-mediasoup]][npm-mediasoup]\n[![][crates-shield-mediasoup]][crates-mediasoup]\n[![][opencollective-shield-mediasoup]][opencollective-mediasoup]\n\n---\n\n[![][github-actions-shield-mediasoup-node]][github-actions-mediasoup-node]\n[![][github-actions-shield-mediasoup-worker]][github-actions-mediasoup-worker]\n[![][github-actions-shield-mediasoup-rust]][github-actions-mediasoup-rust]\n[![][github-actions-shield-mediasoup-worker-fuzzer]][github-actions-mediasoup-worker-fuzzer]\n[![][github-actions-shield-mediasoup-worker-prebuild]][github-actions-mediasoup-worker-prebuild]\n[![][github-actions-shield-mediasoup-worker-clang-tidy]][github-actions-mediasoup-worker-clang-tidy]\n[![][codeql-shield-mediasoup]][codeql-mediasoup]\n\n## Website and Documentation\n\n- [mediasoup.org][mediasoup-website]\n\n## Support Forum\n\n- [mediasoup.discourse.group][mediasoup-discourse]\n\n## Design Goals\n\nmediasoup and its client side libraries are designed to accomplish with the following goals:\n\n- Be a SFU (Selective Forwarding Unit).\n- Support both WebRTC and plain RTP input and output.\n- Be a Node.js module or Rust crate in server side.\n- Be a tiny TypeScript and C++ libraries in client side.\n- Be minimalist: just handle the media layer.\n- Be signaling agnostic: do not mandate any signaling protocol.\n- Be super low level API.\n- Support all existing WebRTC endpoints.\n- Enable integration with well known multimedia libraries/tools.\n\n## Architecture\n\n![][mediasoup-architecture]\n\n## Use Cases\n\nmediasoup and its client side libraries provide a super low level API. They are intended to enable different use cases and scenarios, without any constraint or assumption. Some of these use cases are:\n\n- Group video chat applications.\n- One-to-many (or few-to-many) broadcasting applications in real-time.\n- RTP streaming.\n\n## Features\n\n- ECMAScript 6/Idiomatic Rust low level API.\n- Multi-stream: multiple audio/video streams over a single ICE + DTLS transport.\n- IPv6 ready.\n- ICE / DTLS / RTP / RTCP over UDP and TCP.\n- Simulcast and SVC support.\n- Congestion control.\n- Sender and receiver bandwidth estimation with spatial/temporal layers distribution algorithm.\n- Data message exchange (via WebRTC DataChannels, SCTP over plain UDP, and direct termination in Node.js/Rust).\n- Extremely powerful (media worker thread/subprocess coded in C++ on top of [libuv](https://libuv.org)).\n\n## Demo Online\n\n[![][mediasoup-demo-screenshot]][mediasoup-demo]\n\nTry it at [v3demo.mediasoup.org](https://v3demo.mediasoup.org) ([source code](https://github.com/versatica/mediasoup-demo)).\n\n## Authors\n\n- Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)]\n- José Luis Millán [[github](https://github.com/jmillan/)]\n- Nazar Mokynskyi [[github](https://github.com/nazar-pc/)]\n\n## Social\n\n- Bluesky: [@mediasoup-sfu.bsky.social](https://bsky.app/profile/mediasoup-sfu.bsky.social)\n\n## Sponsor\n\nYou can support mediasoup by [sponsoring][sponsor] it. Thanks!\n\n## License\n\n[ISC](./LICENSE)\n\n[mediasoup-banner]: /art/mediasoup-banner.png\n[mediasoup-website]: https://mediasoup.org\n[mediasoup-discourse]: https://mediasoup.discourse.group\n[npm-shield-mediasoup]: https://img.shields.io/npm/v/mediasoup.svg\n[npm-mediasoup]: https://npmjs.org/package/mediasoup\n[crates-shield-mediasoup]: https://img.shields.io/crates/v/mediasoup.svg\n[crates-mediasoup]: https://crates.io/crates/mediasoup\n[opencollective-shield-mediasoup]: https://img.shields.io/opencollective/all/mediasoup.svg\n[opencollective-mediasoup]: https://opencollective.com/mediasoup\n[github-actions-shield-mediasoup-node]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-node.yaml/badge.svg\n[github-actions-mediasoup-node]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-node.yaml\n[github-actions-shield-mediasoup-worker]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker.yaml/badge.svg\n[github-actions-mediasoup-worker]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker.yaml\n[github-actions-shield-mediasoup-rust]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-rust.yaml/badge.svg\n[github-actions-mediasoup-rust]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-rust.yaml\n[github-actions-shield-mediasoup-worker-fuzzer]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-fuzzer.yaml/badge.svg\n[github-actions-mediasoup-worker-fuzzer]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-fuzzer.yaml\n[github-actions-shield-mediasoup-worker-prebuild]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-prebuild.yaml/badge.svg\n[github-actions-mediasoup-worker-prebuild]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-prebuild.yaml\n[github-actions-shield-mediasoup-worker-clang-tidy]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-clang-tidy.yaml/badge.svg\n[github-actions-mediasoup-worker-clang-tidy]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-clang-tidy.yaml\n[codeql-shield-mediasoup]: https://github.com/versatica/mediasoup/actions/workflows/codeql.yaml/badge.svg\n[codeql-mediasoup]: https://github.com/versatica/mediasoup/actions/workflows/codeql.yaml\n[sponsor]: https://mediasoup.org/sponsor\n[mediasoup-architecture]: /art/mediasoup-v3-architecture-01.svg\n[mediasoup-demo-screenshot]: /art/mediasoup-v3.png\n[mediasoup-demo]: https://v3demo.mediasoup.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversatica%2Fmediasoup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fversatica%2Fmediasoup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fversatica%2Fmediasoup/lists"}