{"id":18035538,"url":"https://github.com/tobysolutions/stream2peer","last_synced_at":"2025-03-27T08:30:33.444Z","repository":{"id":258326374,"uuid":"867717164","full_name":"tobySolutions/stream2peer","owner":"tobySolutions","description":"This a free, decentralized video stream management service that is an open source version of StreamYard.","archived":false,"fork":false,"pushed_at":"2025-01-11T13:52:19.000Z","size":8230,"stargazers_count":30,"open_issues_count":7,"forks_count":14,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T20:13:53.093Z","etag":null,"topics":["decentralized","hacktoberfest","linkedin","livepeer","livestream","open-source","streaming","twitch","web3","youtube"],"latest_commit_sha":null,"homepage":"https://stream2peer.mov","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tobySolutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2024-10-04T15:26:24.000Z","updated_at":"2025-02-26T19:51:50.000Z","dependencies_parsed_at":"2024-10-18T13:19:06.818Z","dependency_job_id":"a9917ab6-4916-4565-ba0a-1ad564bbfc25","html_url":"https://github.com/tobySolutions/stream2peer","commit_stats":null,"previous_names":["tobysolutions/stream2peer"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobySolutions%2Fstream2peer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobySolutions%2Fstream2peer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobySolutions%2Fstream2peer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobySolutions%2Fstream2peer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobySolutions","download_url":"https://codeload.github.com/tobySolutions/stream2peer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245809548,"owners_count":20676006,"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":["decentralized","hacktoberfest","linkedin","livepeer","livestream","open-source","streaming","twitch","web3","youtube"],"created_at":"2024-10-30T12:08:35.929Z","updated_at":"2025-03-27T08:30:33.436Z","avatar_url":"https://github.com/tobySolutions.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![stream2peer banner](https://res.cloudinary.com/duarnvq7d/image/upload/v1732483044/stream2peer3_pppvnt.png)\n\n# Stream2Peer\n\nStream2Peer is a decentralized video stream management platform built on top of [Livepeer](https://livepeer.org/). Inspired by [StreamYard](https://streamyard.com/), this project replicates the core functionalities of StreamYard with added advantages of decentralization, scalability, and enhanced user control. Stream2Peer allows users to broadcast, record, and manage live streams seamlessly using the power of Web3 and Livepeer's open-source technology.\n\nYou can join our Discord [here](https://discord.gg/kqB9uqCQ).\n\n## Code of Conduct\n\nWe are committed to fostering an open and welcoming environment. Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) to understand the behavior we expect from our contributors and maintainers\n\n## Features\n\n- **Decentralized Streaming**: Stream2Peer uses the Livepeer protocol to deliver highly scalable and decentralized video streaming services.\n- **Multiple Streaming Destinations**: Broadcast to multiple platforms like YouTube, Twitch, LinkedIn, and more simultaneously.\n- **Customizable Layouts**: Flexible layout options for live streaming, allowing you to control how guests and shared media appear.\n- **Multi-Guest Support**: Invite guests easily to join your live streams with a simple URL.\n- **Recording and Playback**: Record live streams and provide playback options for your audience.\n- **Browser-Based Streaming**: No additional downloads required; Stream2Peer operates entirely from the browser.\n- **Chat and Audience Interaction**: Built-in tools for live chat and audience engagement.\n- **Monorepo Setup**: Organize both frontend and backend codebases in a single repository using `pnpm` workspaces.\n\n## Tech Stack\n\n- **Frontend**: \n  - Framework: [React](https://react.dev/) with [Vite](https://vitejs.dev/) for a fast development environment.\n  - UI: [TailwindCSS](https://tailwindcss.com/) for styling and flexibility in design.\n  \n- **Backend**:\n  - Framework: [ExpressJS](https://expressjs.com/) for a scalable and robust server.\n  - Database: [MySQL](https://www.mysql.com/) (or any SQL database you prefer).\n  \n- **Streaming \u0026 Transcoding**:\n  - [Livepeer](https://livepeer.org/): Utilized for decentralized transcoding and media handling.\n  \n- **Monorepo Management**:\n  - Managed with [pnpm](https://pnpm.io/) workspaces for streamlined dependency management and easy package sharing between the frontend and backend.\n\n## Getting Started\n\n### Prerequisites\n\nBefore you begin, ensure you have met the following requirements:\n\n- [Node.js](https://nodejs.org/) v16+ installed\n- [pnpm](https://pnpm.io/) installed globally\n- MySQL database running\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/tobySolutions/stream2peer.git\n   cd stream2peer\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   pnpm install\n   ```\n\n4. Setup environment variables: Environment variables must be set up for both the `frontend` and `backend`. The environment variables are in a `env.example`.\n\n6. Run the development server:\n\n - For backend: \n\n   ```bash\n   pnpm dev:backend\n   ```\n- For frontend:\n  ```bash\n   pnpmm dev:frontend\n  ```\n\n### Project Structure\n\n```bash\nstream2peer/\n│\n├── packages/\n│   ├── frontend/       # React with Vite (Client-side code)\n│   └── backend/        # ExpressJS (Server-side code)\n│\n├── pnpm-workspace.yaml # pnpm workspace setup for monorepo\n├── package.json        # Root package file\n└── README.md           # Project documentation\n```\n\n### Backend API\n\nThe backend is powered by ExpressJs, and it handles stream creation, user management, and more. The API endpoints are RESTful and support integration with Livepeer’s transcoding API for video handling.\n\n### Frontend\n\nThe frontend uses React and Vite, offering a fast and optimized development environment. \n\n## Contributing\n\nContributions make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. Check out the [Contributing guide](https://github.com/tobySolutions/stream2peer/blob/main/CONTRIBUTING.md) to see how to set things up on your machine.\n\n1. Fork the Project.\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`).\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`).\n4. Push to the Branch (`git push origin feature/AmazingFeature`).\n5. Open a Pull Request.\n\nIf you have any questions or need help with setup, you can join our Discord [here](https://discord.gg/kcqsbukZ).\n\n## License\n\nDistributed under the GPL 3.0 License. See [LICENSE](https://github.com/tobySolutions/stream2peer/blob/main/LICENSE) for more information.\n\n\n## Roadmap\n\n- Code refactoring for more optimizations\n- UI migration to be heavy on Shadcn\n- Single frontend deployment on Fleek\n- Husky tests and CI workflows\n- Creator program launch (Integrations with Livepeer tokens)\n\n\n## Acknowledgements\n\n- [Livepeer](https://livepeer.org/)\n- [ExpressJs](https://expressjs.com/)\n- [pnpm](https://pnpm.io/)\n- [React](https://react.dev/)\n- [Vite](https://vitejs.dev/)\n- [shadcn-landing-page](https://github.com/leoMirandaa/shadcn-landing-page)\n\n\n## Team Photo!!\n\n![Emmanuel, Jumo and Tobiloba](https://pbs.twimg.com/media/GdeAtGTXYAENKsy?format=jpg\u0026name=4096x4096)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobysolutions%2Fstream2peer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobysolutions%2Fstream2peer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobysolutions%2Fstream2peer/lists"}