{"id":21961744,"url":"https://github.com/longern/browser-broadcast-box","last_synced_at":"2025-10-10T09:32:33.960Z","repository":{"id":73042568,"uuid":"597901085","full_name":"longern/browser-broadcast-box","owner":"longern","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-24T23:52:04.000Z","size":331,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T19:51:09.257Z","etag":null,"topics":["deno","livestream","material-ui","react","streaming","webrtc","whep","whip"],"latest_commit_sha":null,"homepage":"https://live.longern.com","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/longern.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-06T00:17:06.000Z","updated_at":"2024-04-06T17:55:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"2bd022f9-7d72-4c58-aa92-cbf0ffa2015b","html_url":"https://github.com/longern/browser-broadcast-box","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/longern/browser-broadcast-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longern%2Fbrowser-broadcast-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longern%2Fbrowser-broadcast-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longern%2Fbrowser-broadcast-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longern%2Fbrowser-broadcast-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/longern","download_url":"https://codeload.github.com/longern/browser-broadcast-box/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longern%2Fbrowser-broadcast-box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003404,"owners_count":26083581,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["deno","livestream","material-ui","react","streaming","webrtc","whep","whip"],"created_at":"2024-11-29T10:17:47.083Z","updated_at":"2025-10-10T09:32:33.955Z","avatar_url":"https://github.com/longern.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Browser Broadcast Box\n\nA low latency video streaming server and client using WebRTC. It can be\ndeployed on serverless container service like AWS Fargate or Alibaba Cloud\nElastic Container Instance. Just pay for the machine time and traffic you use.\n\nThe link in the description does not contain any backend. However, you can\ndeploy the backend yourself and use the link to connect to it.\n\n## Features\n\n- WHIP/WHEP protocol (compatible with [OBS WHIP output](https://github.com/obsproject/obs-studio/pull/7926))\n- Using public IP without STUN server\n- Chat using WebRTC DataChannel\n- Count of live viewers\n- Access HTTP endpoint from HTTPS page\n\n## Usage\n\n### Local development\n\nBuild static files:\n\n```bash\nnpm install\nnpm run build\n```\n\nInstall deno: https://deno.land/manual/getting_started/installation\n\nRun server:\n\n```bash\ndeno task dev\n```\n\nOpen http://localhost:11733/backend/ in browser. This page will\nconnect to deno process and handle stream forwarding.\nDuring deployment, this page will be opened with headless chromium on the server.\n\nOpen http://localhost:11733/ to browse the client.\n\n### Environment variables\n\nYou can set environment variables in `.env` or `.env.local` file.\n\n- `BEARER_TOKEN`: Required. Secret token.\n- `PUBLIC_IP`: Public IP of the server. If not set, it will be detected\n  automatically on AWS Fargate and Alibaba Cloud ECI.\n\n### Stream with OBS\n\nMake sure `BEARER_TOKEN` is set.\nOn the client page, click the LIVE button, select the service as My Channel,\nfill in the BEARER_TOKEN, and click the CREATE button.\nThen you will get a link. Copy the link and paste it to OBS.\n\n### Deployments\n\n#### Server\n\nBuild server docker image:\n\n```bash\ndocker compose build\n```\n\nDeploy the image to any serverless container service. Expose port 11733 and\nall UDP ports.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongern%2Fbrowser-broadcast-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flongern%2Fbrowser-broadcast-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongern%2Fbrowser-broadcast-box/lists"}