{"id":13614160,"url":"https://github.com/livekit-examples/livestream","last_synced_at":"2025-04-13T18:32:21.969Z","repository":{"id":65928537,"uuid":"601677324","full_name":"livekit-examples/livestream","owner":"livekit-examples","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-26T07:47:23.000Z","size":429,"stargazers_count":182,"open_issues_count":2,"forks_count":60,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-26T08:33:47.098Z","etag":null,"topics":["livestreaming","nextjs","rtmp","vercel","webrtc"],"latest_commit_sha":null,"homepage":"https://livestream.livekit.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/livekit-examples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-02-14T15:27:21.000Z","updated_at":"2025-03-19T03:25:53.000Z","dependencies_parsed_at":"2023-10-28T00:26:06.567Z","dependency_job_id":"8a0eb5af-bdf6-4f20-b13d-b99000c222da","html_url":"https://github.com/livekit-examples/livestream","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livekit-examples%2Flivestream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livekit-examples%2Flivestream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livekit-examples%2Flivestream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livekit-examples%2Flivestream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/livekit-examples","download_url":"https://codeload.github.com/livekit-examples/livestream/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248760514,"owners_count":21157374,"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":["livestreaming","nextjs","rtmp","vercel","webrtc"],"created_at":"2024-08-01T20:00:57.773Z","updated_at":"2025-04-13T18:32:21.493Z","avatar_url":"https://github.com/livekit-examples.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Livestream with LiveKit\n\n\u003e [!TIP]\n\u003e Try a live demo here 👉 [livestream.livekit.io](https://livestream.livekit.io)\n\nToday most livestreams experience a 5–30 second lag, which is evident in the delay it takes for streamers to respond to chats. Those streams use HLS, which leverages existing CDNs by uploading 5–30 second video chunks, which clients download one chunk at a time. HLS is hugely scalable, but it comes with latency.\n\nLiveKit is a sort of WebRTC CDN, achieving sub-100ms latency for audiences of 1000 or 100,000 by streaming video over backbone Internet connections and only going over the public Internet for the last mile (that is, delivery to connected clients). This enables true real-time, large-scale events, where anyone and everyone can participate.\n\nBuilt with [Next.js](https://nextjs.org/), [LiveKit Cloud](https://livekit.io/cloud), and [Radix UI](https://www.radix-ui.com/), this app is a full-stack web application that serves as a browser frontend application and as the backend API server for the clients. As a streamer, you can pick from broadcasting from either the browser via camera and microphone or from [OBS Studio](https://obsproject.com/) using an [LiveKit Ingress](https://livekit.io/product/ingress) endpoint. The application also features the ability to summon viewers from the audience onto the stage similar to X Spaces and Clubhouse.\n\n## Getting Started\n\nClone the repo and install dependencies:\n\n```\ngit clone git@github.com:livekit-examples/livestream.git\ncd nextjs-livestream\nnpm install\n```\n\nCreate a new LiveKit project at [https://cloud.livekit.io](). Then create a new key in your [project settings](). With the provided credentials, create a new .env.development file and fill out the values below:\n\n```\nNEXT_PUBLIC_SITE_URL=http://localhost:3000\nLIVEKIT_WS_URL=\u003cwebsocket URL starting with wss://\u003e\nLIVEKIT_API_KEY=\u003capi key\u003e\nLIVEKIT_API_SECRET=\u003capi secret\u003e\n```\n\nThen run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nYou can test it by opening [http://localhost:3000](http://localhost:3000) in a browser.\n\n## Deploy on Vercel\n\nThis demo is a Next.js app. You can deploy to your Vercel account with one click:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flivekit-examples%2Fnextjs-livestream\u0026env=NEXT_PUBLIC_SITE_URL,LIVEKIT_WS_URL,LIVEKIT_API_KEY,LIVEKIT_API_SECRET)\n\nRefer to the [the Next.js deployment documentation](https://nextjs.org/docs/deployment) for more about deploying to a production environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivekit-examples%2Flivestream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flivekit-examples%2Flivestream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivekit-examples%2Flivestream/lists"}