{"id":13691169,"url":"https://github.com/miroslavpejic85/mirotalkbro","last_synced_at":"2025-04-05T09:07:11.471Z","repository":{"id":170389592,"uuid":"646467800","full_name":"miroslavpejic85/mirotalkbro","owner":"miroslavpejic85","description":"📡 MiroTalk WebRTC Live Broadcast allows to broadcast live video, audio and screen stream to all connected users (viewers).","archived":false,"fork":false,"pushed_at":"2024-10-08T15:45:04.000Z","size":1349,"stargazers_count":119,"open_issues_count":0,"forks_count":34,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-15T09:46:20.342Z","etag":null,"topics":["audio-streaming","broadcast","deep-video","jitsi","live-streaming","messaging","mirotalk","peer-to-peer","screen-capture","screen-sharing","self-hosted","stream-processing","video-communication","video-conferencing","video-recording","video-streaming","webapp","webrtc"],"latest_commit_sha":null,"homepage":"https://bro.mirotalk.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miroslavpejic85.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":["miroslavpejic85"]}},"created_at":"2023-05-28T13:52:35.000Z","updated_at":"2024-10-11T16:53:40.000Z","dependencies_parsed_at":"2023-12-17T20:42:44.783Z","dependency_job_id":"127b4c30-33e5-4aee-b59b-237407a48be0","html_url":"https://github.com/miroslavpejic85/mirotalkbro","commit_stats":null,"previous_names":["miroslavpejic85/mirotalkbro"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkbro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkbro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkbro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkbro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miroslavpejic85","download_url":"https://codeload.github.com/miroslavpejic85/mirotalkbro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312078,"owners_count":20918344,"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-streaming","broadcast","deep-video","jitsi","live-streaming","messaging","mirotalk","peer-to-peer","screen-capture","screen-sharing","self-hosted","stream-processing","video-communication","video-conferencing","video-recording","video-streaming","webapp","webrtc"],"created_at":"2024-08-02T17:00:41.291Z","updated_at":"2025-04-05T09:07:11.160Z","avatar_url":"https://github.com/miroslavpejic85.png","language":"JavaScript","funding_links":["https://github.com/sponsors/miroslavpejic85"],"categories":["HarmonyOS","Projects"],"sub_categories":["Windows Manager","Streaming"],"readme":"\u003ch1 align=\"center\"\u003eMiroTalk WebRTC Live Broadcast\u003c/h1\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://www.linkedin.com/in/miroslav-pejic-976a07101/\"\u003e![Author](https://img.shields.io/badge/Author-Miroslav_Pejic-brightgreen.svg)\u003c/a\u003e\n\u003ca href=\"https://choosealicense.com/licenses/agpl-3.0/\"\u003e![License: AGPLv3](https://img.shields.io/badge/License-AGPLv3_Open_Surce-blue.svg)\u003c/a\u003e\n\u003ca href=\"https://codecanyon.net/item/mirotalk-bro-webrtc-p2p-live-broadcast/45887113\"\u003e![License: Regular](https://img.shields.io/badge/License-Regular_Private_Use-lightblue.svg)\u003c/a\u003e\n\u003ca href=\"https://codecanyon.net/item/mirotalk-bro-webrtc-p2p-live-broadcast/45887113\"\u003e![License: Extended](https://img.shields.io/badge/License-Extended_Commercial_Use-darkgreen.svg)\u003c/a\u003e\n\u003ca href=\"https://discord.gg/rgGYfeYW3N\"\u003e![Community](https://img.shields.io/badge/Community-forum-pink.svg)\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003eMiroTalk BRO Live Broadcast allows to broadcast live video, audio and screen stream to all connected users (viewers) and receive messages from them. Can handle unlimited rooms, without time limitations, each having a broadcast and many viewers.\u003c/a\u003e\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://bro.mirotalk.com\"\u003eExplore MiroTalk BRO\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://bro.mirotalk.com\"\u003e\u003cimg src=\"./public/assets/images/ui.png\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cstrong\u003e\n    \u003cp align=\"center\"\u003e\n        Join our Community for questions, help, support, ideas, and discussions on \u003ca href='https://discord.gg/rgGYfeYW3N'\u003eDiscord\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/strong\u003e\n\n---\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eQuick Start\u003c/summary\u003e\n\n![nodejs](public/assets/images/nodejs.png)\n\nStart the app using [nodejs](https://nodejs.org/en/download):\n\n```bash\n# Clone the project repo\n$ git clone https://github.com/miroslavpejic85/mirotalkbro.git\n# Go to project dir\n$ cd mirotalkbro\n# Copy .env.template in .env and edit it if needed\n$ cp .env.template .env\n# Install dependencies\n$ npm install\n# Run the app\n$ npm start\n```\n\nStart the app using [docker](https://docs.docker.com/engine/install/) - [docker-compose](https://docs.docker.com/compose/) and optional [official image](https://hub.docker.com/r/mirotalk/bro):\n\n![docker](public/assets/images/docker.png)\n\n```bash\n# Clone the project repo\n$ git clone https://github.com/miroslavpejic85/mirotalkbro.git\n# Go to project dir\n$ cd mirotalkbro\n# Copy .env.template in .env and edit it if needed\n$ cp .env.template .env\n# Copy docker-compose.template.yml in docker-compose.yml and edit it if needed\n$ cp docker-compose.template.yml docker-compose.yml\n# Get official image from Docker Hub\n$ docker pull mirotalk/bro:latest\n# Run the image in a container\n$ docker-compose up #-d\n```\n\nServer up and running\n\n```js\nServer is running {\n  home: 'http://localhost:3016',\n  broadcast: 'http://localhost:3016/broadcast?id=123\u0026name=Broadcaster',\n  viewer: 'http://localhost:3016/viewer?id=123\u0026name=Viewer',\n  viewerHome: 'http://localhost:3016/home?id=123'\n}\n```\n\nThe app should now be running on your http://localhost:3016, you can choose if join room as a `Broadcaster` or `Viewer`.\n\nThe `Broadcaster` stream the audio, video or screen to all connected viewers and can receive messages from them.\n\nThe `Viewer` get the audio, video or screen that is streamed from the broadcaster and can send messages to it.\n\n\u003cdetails open\u003e\n\u003csummary\u003eHetzner \u0026 Contabo\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n[![Hetzner](public/assets/images/hetzner.png)](https://hetzner.cloud/?ref=XdRifCzCK3bn)\n\nThis application is running for `demonstration purposes` on [Hetzner](https://www.hetzner.com/), one of `the best` [cloud providers](https://www.hetzner.com/cloud) and [dedicated root servers](https://www.hetzner.com/dedicated-rootserver).\n\n---\n\nUse [my personal link](https://hetzner.cloud/?ref=XdRifCzCK3bn) to receive `€⁠20 IN CLOUD CREDITS`.\n\n---\n\n[![Contabo](public/assets/images/contabo.png)](https://www.dpbolvw.net/click-101027391-14462707)\n\nExperience also top-tier German web hosting – dedicated servers, VPS, and web hosting at `unbeatable prices`. Reliable, secure, and backed by 24/7 support. [Explore now here](https://www.dpbolvw.net/click-101027391-14462707)\n\n---\n\nTo set up your own instance of `MiroTalk BRO` on a dedicated cloud server, please refer to our comprehensive [self-hosting documentation](https://docs.mirotalk.com/mirotalk-bro/self-hosting/). This guide will walk you through the process step by step, ensuring a smooth and successful deployment.\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDirect Join\u003c/summary\u003e\n\n\u003cbr\u003e\n\nYou can direct join room as `broadcaster` or `viewer` specifying the room id and your name.\n\n| As            | URL                                                     |\n| ------------- | ------------------------------------------------------- |\n| `Broadcaster` | http://localhost:3016/broadcast?id=123\u0026name=Broadcaster |\n| `Viewer`      | http://localhost:3016/viewer?id=123\u0026name=Viewer         |\n\n| Params | Type   | Description |\n| ------ | ------ | ----------- |\n| id     | string | Room Id     |\n| name   | string | User name   |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eEmbedding\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nEmbedding MiroTalk Live Broadcast into a service or app using an iframe.\n\n```html\n\u003ciframe\n    allow=\"camera; microphone; display-capture; fullscreen; clipboard-read; clipboard-write; web-share; autoplay\"\n    src=\"https://bro.mirotalk.com\"\n    style=\"height: 100vh; width: 100vw; border: 0px;\"\n\u003e\u003c/iframe\u003e\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDocumentations\u003c/summary\u003e\n\n\u003cbr\u003e\n\n- [Install your own Stun/Turn](./docs/coturn.md)\n- [Ngrok](./docs/ngrok.md)\n- [How to Self-hosting](./docs/self-hosting.md)\n- [Rest API](./app/api/README.md)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCredits\u003c/summary\u003e\n\n\u003cbr\u003e\n\n- Gabriel Tanner [webrtc-broadcast-logic](https://gabrieltanner.org/blog/webrtc-video-broadcast/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eLicense\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n[![AGPLv3](public/assets/images/AGPLv3.png)](LICENSE)\n\nMiroTalk BRO is free and open-source under the terms of AGPLv3 (GNU Affero General Public License v3.0). Please `respect the license conditions`, In particular `modifications need to be free as well and made available to the public`. Get a quick overview of the license at [Choose an open source license](https://choosealicense.com/licenses/agpl-3.0/).\n\nTo obtain a [MiroTalk BRO license](https://docs.mirotalk.com/license/licensing-options/) with terms different from the AGPLv3, you can conveniently make your [purchase on CodeCanyon](https://codecanyon.net/item/mirotalk-bro-webrtc-p2p-live-broadcast/45887113). This allows you to tailor the licensing conditions to better suit your specific requirements.\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eSupport\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nIf MiroTalk BRO has been useful for you and want to contribute to its continued success, consider becoming a backer or sponsor by visiting [this link](https://github.com/sponsors/miroslavpejic85).\n\nYour support means the world to us, and together, we can make MiroTalk Live Broadcast even better! Thank you for being part of this amazing journey. 🌟\n\n\u003c/details\u003e\n\n---\n\n## Diving into Additional MiroTalk Projects:\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk SFU\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk SFU](https://github.com/miroslavpejic85/mirotalksfu) `selective forwarding unit` real-time video conferences, optimized for large groups. `Unlimited time, unlimited concurrent rooms` each having 8+ participants, up to ~ 100 per single CPU.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk P2P\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTry also [MiroTalk P2P](https://github.com/miroslavpejic85/mirotalk) `peer to peer` real-time video conferences, optimized for small groups. `Unlimited time, unlimited concurrent rooms` each having 5-8 participants.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk C2C\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk C2C](https://github.com/miroslavpejic85/mirotalkc2c) `peer to peer` real-time video conferences, optimized for cam 2 cam. `Unlimited time, unlimited concurrent rooms` each having 2 participants.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk WEB\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk WEB](https://github.com/miroslavpejic85/mirotalkwebrtc) a platform that allows for the management of an `unlimited number of users`. Each user must register with their email, username, and password, after which they gain access to their `personal dashboard`. Within the dashboard, users can `manage their rooms and schedule meetings` using the desired version of MiroTalk on a specified date and time. Invitations to these meetings can be sent via email, shared through the web browser, or sent via SMS.\n\n\u003c/details\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslavpejic85%2Fmirotalkbro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiroslavpejic85%2Fmirotalkbro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslavpejic85%2Fmirotalkbro/lists"}