{"id":19912776,"url":"https://github.com/grvydev/lightspeed-webrtc","last_synced_at":"2025-05-03T04:31:49.445Z","repository":{"id":42031496,"uuid":"323683587","full_name":"GRVYDEV/Lightspeed-webrtc","owner":"GRVYDEV","description":"A RTP -\u003e WebRTC broadcast server for Project Lightspeed.","archived":false,"fork":false,"pushed_at":"2022-04-17T02:05:02.000Z","size":96,"stargazers_count":75,"open_issues_count":3,"forks_count":29,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-03T21:35:16.991Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GRVYDEV.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}},"created_at":"2020-12-22T16:53:11.000Z","updated_at":"2024-07-09T09:47:59.000Z","dependencies_parsed_at":"2022-08-12T02:51:00.246Z","dependency_job_id":null,"html_url":"https://github.com/GRVYDEV/Lightspeed-webrtc","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GRVYDEV%2FLightspeed-webrtc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GRVYDEV%2FLightspeed-webrtc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GRVYDEV%2FLightspeed-webrtc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GRVYDEV%2FLightspeed-webrtc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GRVYDEV","download_url":"https://codeload.github.com/GRVYDEV/Lightspeed-webrtc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252144565,"owners_count":21701434,"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":[],"created_at":"2024-11-12T21:30:31.029Z","updated_at":"2025-05-03T04:31:49.095Z","avatar_url":"https://github.com/GRVYDEV.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ca  href=\"https://github.com/GRVYDEV/Lightspeed-webrtc\"\u003e\n    \u003cimg src=\"images/lightspeedlogo.svg\" alt=\"Logo\" width=\"150\" height=\"150\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n  \u003ch1 align=\"center\"\u003eProject Lightspeed WebRTC [Deprecated]\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/GRVYDEV/Lightspeed-webrtc\" alt=\"Stars Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/GRVYDEV/Lightspeed-webrtc\" alt=\"Forks Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/GRVYDEV/Lightspeed-webrtc\" alt=\"Pull Requests Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/GRVYDEV/Lightspeed-webrtc\" alt=\"Issues Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/graphs/contributors\"\u003e\u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/GRVYDEV/Lightspeed-webrtc?color=2b9348\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/GRVYDEV/Lightspeed-webrtc?color=2b9348\" alt=\"License Badge\"/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003cp align=\"center\"\u003e\n\tNOTE: This repo has been deprecated in favor of a monorepo configuration. Please \u003ca href=\"https://github.com/GRVYDEV/Project-Lightspeed\"\u003esee\u003c/a\u003e\u003cbr\u003e\n    A RTP -\u003e WebRTC server based on Pion written in Go. This server accepts RTP packets on port 65535 and broadcasts them via WebRTC\n    \u003c!-- \u003cbr /\u003e --\u003e\n    \u003c!-- \u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e --\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://youtu.be/Dzin4_A8RDs\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GRVYDEV/Lightspeed-webrtc/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eTable of Contents\u003c/h2\u003e\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgements\"\u003eAcknowledgements\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\n\u003c!-- [![Product Name Screen Shot][product-screenshot]](https://example.com) --\u003e\n\nThis is one of three components required for Project Lightspeed. Project Lightspeed is a fully self contained live streaming server. With this you will be able to deploy your own sub-second latency live streaming platform. This particular repository takes RTP packets sent to the server and broadcasts them over WebRTC. In order for this to work the Project Lightspeed Ingest server is required to perfrom the FTL handshake with OBS. In order to view the live stream the Project Lightspeed viewer is required.\n\n### Built With\n\n- Pion\n- Golang\n\n### Dependencies\n\n- [Lightspeed Ingest](https://github.com/GRVYDEV/Lightspeed-ingest)\n- [Lightspeed React](https://github.com/GRVYDEV/Lightspeed-react)\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nTo get a local copy up and running follow these simple steps.\n\n### Prerequisites\n\nIn order to run this Golang is required. Installation instructions can be found \u003ca href=\"https://golang.org/doc/install#download\"\u003ehere\u003c/a\u003e\n\n### Installation\n\nUsing go get\n\n```sh\nexport GO111MODULE=on\ngo get github.com/GRVYDEV/lightspeed-webrtc\n```\n\nUsing git\n\n```sh\ngit clone https://github.com/GRVYDEV/Lightspeed-webrtc.git\ncd Lightspeed-webrtc\ngo build\n```\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\nTo run type the following command. \n\nUsing go get\n```sh\nlightspeed-webrtc --addr=XXX.XXX.XXX.XXX\n```\n\nUsing git\n```sh\ncd Lightspeed-webrtc\ngo build\n./lightspeed-webrtc --addr=XXX.XXX.XXX.XXX\n```\n\n#### Arguments\n|  Argument | Supported Values | Defaults | Notes             |\n| :-------- | :--------------- | :------- | :---------------- |\n| `--addr`   | A valid IP address | `localhost` | This is the local Ip address of your machine. It defaults to localhost but should be set to your local IP. For example 10.17.0.5 This is where the server will listen for UDP packets and where it will host the websocket endpoint for SDP negotiation|\n|  `--ip`    | A valid IP address | `none` | Sets the public IP address for WebRTC to use. This is especially useful in the context of Docker|\n| `--ports`  | A valid UDP port range | `20000-20500` | This sets the UDP ports that WebRTC will use to connect with the client |\n| `--ws-port` | A valid port number | `8080` | This is the port on which the websocket will be hosted. If you change this value make sure that is reflected in the URL used by the react client |\n| `--rtp-port` | A valid port number | `65535` | This is the port on which the WebRTC service will listen for RTP packets. Ensure this is the same port that Lightspeed Ingest is negotiating with the client |\n| `--ssl-cert` | A valid ssl cert path | | This is the ssl cert that the websocket server will use. If omitted, the websocket will not be served over ssl. |\n| `--ssl-key` | A valid port number | | This is the ssl private key that the websocket server will use. If omitted, the websocket will not be served over ssl. |\n\n\n\n\n\u003c!-- _For more examples, please refer to the [Documentation](https://example.com)_ --\u003e\n\n\u003c!-- ROADMAP --\u003e\n\n## Roadmap\n\nSee the [open issues](https://github.com/GRVYDEV/Lightspeed-webrtc/issues) for a list of proposed features (and known issues).\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\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\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\nGarrett Graves - [@grvydev](https://twitter.com/grvydev)\n\nProject Link: [https://github.com/GRVYDEV/Lightspeed-webrtc](https://github.com/GRVYDEV/Lightspeed-webrtc)\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n\n## Acknowledgements\n\n- [Sean Dubois](https://github.com/Sean-Der)\n- [Hayden McAfee](https://github.com/haydenmc)\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/GRVYDEV/repo.svg?style=for-the-badge\n[contributors-url]: https://github.com/GRVYDEV/repo/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/GRVYDEV/repo.svg?style=for-the-badge\n[forks-url]: https://github.com/GRVYDEV/repo/network/members\n[stars-shield]: https://img.shields.io/github/stars/GRVYDEV/repo.svg?style=for-the-badge\n[stars-url]: https://github.com/GRVYDEV/repo/stargazers\n[issues-shield]: https://img.shields.io/github/issues/GRVYDEV/repo.svg?style=for-the-badge\n[issues-url]: https://github.com/GRVYDEV/repo/issues\n[license-shield]: https://img.shields.io/github/license/GRVYDEV/repo.svg?style=for-the-badge\n[license-url]: https://github.com/GRVYDEV/repo/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/GRVYDEV\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrvydev%2Flightspeed-webrtc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrvydev%2Flightspeed-webrtc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrvydev%2Flightspeed-webrtc/lists"}