{"id":18369899,"url":"https://github.com/cawfree/twitch-go","last_synced_at":"2025-04-06T18:32:39.039Z","repository":{"id":42892840,"uuid":"250825243","full_name":"cawfree/twitch-go","owner":"cawfree","description":"🎮 A Chromebook desktop streaming utility for Twitch.","archived":false,"fork":false,"pushed_at":"2023-01-05T18:47:02.000Z","size":549,"stargazers_count":6,"open_issues_count":14,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T04:31:54.410Z","etag":null,"topics":["chrome","chromebook","express","extension","ffmpeg","livestream","pixelbook","twitch"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/cawfree.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}},"created_at":"2020-03-28T15:10:41.000Z","updated_at":"2023-12-03T19:49:10.000Z","dependencies_parsed_at":"2023-02-04T11:00:39.468Z","dependency_job_id":null,"html_url":"https://github.com/cawfree/twitch-go","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/cawfree%2Ftwitch-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cawfree%2Ftwitch-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cawfree%2Ftwitch-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cawfree%2Ftwitch-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cawfree","download_url":"https://codeload.github.com/cawfree/twitch-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247531363,"owners_count":20953939,"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":["chrome","chromebook","express","extension","ffmpeg","livestream","pixelbook","twitch"],"created_at":"2024-11-05T23:33:19.100Z","updated_at":"2025-04-06T18:32:37.041Z","avatar_url":"https://github.com/cawfree.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitch a Goooooooooooo!*\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.twitch.tv\"\u003e\n    \u003cimg height=\"350\" src=\"assets/demo.jpg\" alt=\"twitch\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n🎮 A Twitch streaming extension for [chromebooks](https://www.google.com/intl/en_uk/chromebook/shop/?gclid=Cj0KCQjwybD0BRDyARIsACyS8muo3qfeKIJWHwOoFbmLGwCfeMXNERYLXMupIJj7iA9Y2lbPjjP-ndUaAsDjEALw_wcB\u0026gclsrc=aw.ds). Now you can share your online adventures (or lonely isolation) with the rest of the gaming world.\n\n## 1. about\n\nTwitch is a video streaming service where both competitive gamers and filthy causals come together as one to share high-quality gaming footage, fight for speed running world records and compete with one-another for _epic loot_.\n\nThis repository aims to help Chromebook users to get involved, by enabling their Chrome desktop to be streamed directly to [Twitch](https://www.twitch.tv/) with low latency, with the help of a little extension.\n\n## 2. installing\n\nInstallation is split into two main pieces. The first is configuring the media transcoding server (it just _sounds_ difficult) and the second is compiling the extension to install to your Chrome browser.\n\n### 2.1 preparing your environment\n\nYour development environment will be used to host the barebones media server, written using [express](https://github.com/expressjs/express) and powered by [ffmpeg](https://github.com/FFmpeg/FFmpeg). This doesn't have to be on your Chromebook; it can be any accessible IP on your network. However, this works just as fine directly on the same Chromebook from within the [crouton](https://ubuntu.com/tutorials/install-ubuntu-on-chromebook) shell.\n\nThe extension will be compiled from this project and then installed to [Chrome](https://www.google.com/chrome/).\n\n**Note:**\n\n\u003e Originally, this repository was aiming at accomplishing everything using just a single extension. There have been some [truly great strides](https://github.com/ffmpegjs/ffmpeg.js/) towards embedding [ffpmeg in JavaScript](https://itnext.io/build-ffmpeg-webassembly-version-ffmpeg-js-part-5-ffmpeg-js-v0-3-pre-js-and-live-streaming-c1498939a74c) and [WebAssembly](https://webassembly.org/), however it does not at this time seem possible to hit the [TCP/IP-based](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol) `rtmp://` protocol directly from [emscripten](https://emscripten.org/).\n\n  1. First, ensure you have the latest version of [ffmpeg](http://ffmpeg.org/download.html) installed.\n     ([apt-get](https://tecadmin.net/install-ffmpeg-on-linux/)) ([brew](https://formulae.brew.sh/formula/ffmpeg))\n  2. Next, you need to have [the Node.js runtime installed](https://nodejs.org/en/download/).\n  3. Then, you need to clone this repo.\n     `git clone https://github.com/cawfree/twitch-go`\n  4. `cd` into the downloaded repo and hit `npm install`. This will download all of the required dependencies.\n  5. Finally, inside the project directory you will need to create a [`.env`](https://www.npmjs.com/package/dotenv) file to store your Twitch access credentials. These will look like the following:\n\n```env\nPORT=5000\nINGEST=rtmp://live-lhr03.twitch.tv/app\nTWITCH_SECRET=live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\nFRAME_RATE=20\nBUFFER_LENGTH=10\nDURATION=3000\n```\n\nYou can then run your server with a call to `npm run-script serve`. \n\n### 2.2 building  your extension\n\n  1. Once your server is configured, you can build your shiny new Chrome extension by running `npm run-script build`. This will create your extension in a new `dist/` directory inside the project folder.\n  2. In the Chrome browser, head to [chrome://extensions](chrome://extensions).\n  3. Click on **Load Unpacked**.\n  4. Navigate to the `dist/` folder and select to install.\n\n## 3. license\n[MIT](https://opensource.org/licenses/MIT)\n\n\u003csub\u003e\n* if you read in a mario voice then you win\n\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcawfree%2Ftwitch-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcawfree%2Ftwitch-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcawfree%2Ftwitch-go/lists"}