Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cawfree/twitch-go
🎮 A Chromebook desktop streaming utility for Twitch.
https://github.com/cawfree/twitch-go
chrome chromebook express extension ffmpeg livestream pixelbook twitch
Last synced: 12 days ago
JSON representation
🎮 A Chromebook desktop streaming utility for Twitch.
- Host: GitHub
- URL: https://github.com/cawfree/twitch-go
- Owner: cawfree
- Created: 2020-03-28T15:10:41.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T18:47:02.000Z (almost 2 years ago)
- Last Synced: 2024-05-01T14:49:34.141Z (7 months ago)
- Topics: chrome, chromebook, express, extension, ffmpeg, livestream, pixelbook, twitch
- Language: JavaScript
- Homepage:
- Size: 536 KB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Twitch a Goooooooooooo!*
🎮 A Twitch streaming extension for [chromebooks](https://www.google.com/intl/en_uk/chromebook/shop/?gclid=Cj0KCQjwybD0BRDyARIsACyS8muo3qfeKIJWHwOoFbmLGwCfeMXNERYLXMupIJj7iA9Y2lbPjjP-ndUaAsDjEALw_wcB&gclsrc=aw.ds). Now you can share your online adventures (or lonely isolation) with the rest of the gaming world.
## 1. about
Twitch 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_.
This 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.
## 2. installing
Installation 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.
### 2.1 preparing your environment
Your 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.
The extension will be compiled from this project and then installed to [Chrome](https://www.google.com/chrome/).
**Note:**
> 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/).
1. First, ensure you have the latest version of [ffmpeg](http://ffmpeg.org/download.html) installed.
([apt-get](https://tecadmin.net/install-ffmpeg-on-linux/)) ([brew](https://formulae.brew.sh/formula/ffmpeg))
2. Next, you need to have [the Node.js runtime installed](https://nodejs.org/en/download/).
3. Then, you need to clone this repo.
`git clone https://github.com/cawfree/twitch-go`
4. `cd` into the downloaded repo and hit `npm install`. This will download all of the required dependencies.
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:```env
PORT=5000
INGEST=rtmp://live-lhr03.twitch.tv/app
TWITCH_SECRET=live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
FRAME_RATE=20
BUFFER_LENGTH=10
DURATION=3000
```You can then run your server with a call to `npm run-script serve`.
### 2.2 building your extension
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.
2. In the Chrome browser, head to [chrome://extensions](chrome://extensions).
3. Click on **Load Unpacked**.
4. Navigate to the `dist/` folder and select to install.## 3. license
[MIT](https://opensource.org/licenses/MIT)
* if you read in a mario voice then you win