{"id":15412924,"url":"https://github.com/ascorbic/chalkstream-template","last_synced_at":"2026-04-04T13:30:17.940Z","repository":{"id":207745974,"uuid":"719957294","full_name":"ascorbic/chalkstream-template","owner":"ascorbic","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-17T16:42:30.000Z","size":213,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T14:36:28.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Astro","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/ascorbic.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-11-17T09:11:28.000Z","updated_at":"2023-12-13T09:28:01.000Z","dependencies_parsed_at":"2024-10-19T18:30:30.625Z","dependency_job_id":"a79ba3be-06e0-49b5-93a4-af380f6ba664","html_url":"https://github.com/ascorbic/chalkstream-template","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"6eec09eb88c7385aed0867d014479e12e1bf438a"},"previous_names":["ascorbic/chalkstream-template"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascorbic%2Fchalkstream-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascorbic%2Fchalkstream-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascorbic%2Fchalkstream-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascorbic%2Fchalkstream-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ascorbic","download_url":"https://codeload.github.com/ascorbic/chalkstream-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239964549,"owners_count":19725952,"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-10-01T16:54:51.282Z","updated_at":"2025-02-21T06:11:55.068Z","avatar_url":"https://github.com/ascorbic.png","language":"Astro","readme":"\u003cdiv align=\"center\"\u003e\n  \n\u003cimg src=\"https://github.com/ascorbic/chalkstream/assets/213306/00028368-0adc-4665-93b4-f74612c4a96a\" width=\"128\" height=\"128\" alt=\"Chalkstream\" /\u003e\n\n# Chalkstream\n\n## Serverless live streaming\n\n\u003ca href=\"https://app.netlify.com/start/deploy?repository=https://github.com/ascorbic/chalkstream-template\"\u003e\u003cimg src=\"https://www.netlify.com/img/deploy/button.svg\" alt=\"Deploy to Netlify\"\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\nChalkstream is an open source, self-hosted live streaming \"server\" that runs on\nserverless edge functions. You can stream right from the browser, with a public\nlink to share with your friends. It uses Netlify Edge Functions to ingest and\nserve HLS streams, and the chunks are stored in Netlify Blobs. Control your own\ndata.\n\n## How it works\n\nHLS is a streaming protocol created by Apple that doesn't require a special\nserver to stream. It works by splitting the video into small chunks, and serving\nthem in a playlist. Chalkstream does this encoding in the browser using a\nWebAssembly build of FFmpeg. This is a lot quicker if your browser natively\nsupports H.264 (most except Firefox). Otherwise your computer needs to be quite\nfast if it is to handle real-time encoding. The chunks are then uploaded to\nNetlify Blobs. Netlify Edge Functions handle the ingest and generating the\ndynamic playlist.\n\n**[See a demo](https://chalkstream-astro.netlify.app/)**\n\nWhen you load the broadcast page it generates a random stream ID, and once you\nstart streaming you can share a page with the live stream. HLS streams can be\nplayed in any modern browser, either natively or via Media Source Extensions and\nHls.js. Players such as Video.js and react-player make this easy - see\n[the demo sites](https://github.com/ascorbic/chalkstream/tree/main/sites) for\nexamples.\n\n## Usage\n\nThis template is an Astro site, with a streaming page and a playback page. There\nis no authentication. Anyone with the link can stream to the site, and anyone\nwith the link can watch the stream. You can set up your own access control, or\nuse the Netlify Identity widget to add authentication: see\n[the Netlify docs](https://docs.netlify.com/visitor-access/identity/) for more\ninformation on enabling identity, then see\n[the Chalkstream docs](https://github.com/ascorbic/netlify) for details on\nadding auth to the streams.\n\n### Deploying\n\nThe easiest way to deploy is to click the \"Deploy to Netlify\" button above.\nOtherwise clone this repo and then locally use the Netlify CLI to deploy.\n\n### Local development\n\nTo run the site locally, you'll need to install the Netlify CLI:\n\n```bash\nnpm install -g netlify-cli\n```\n\nThen run the following commands:\n\n```bash\nnetlify dev\n```\n\nThis runs the Astro dev server, as well as the local Netlify edge functions and\nblob store server.\n\n### Copyright\n\nCopyright Matt Kane 2023. Chalkstream is released under the MIT license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fascorbic%2Fchalkstream-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fascorbic%2Fchalkstream-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fascorbic%2Fchalkstream-template/lists"}