🎮 A Twitch streaming extension for chromebooks. Now you can share your online adventures (or lonely isolation) with the rest of the gaming world.
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 with low latency, with the help of a little extension.
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.
Your development environment will be used to host the barebones media server, written using express and powered by 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 shell.
The extension will be compiled from this project and then installed to Chrome.
Note:
Originally, this repository was aiming at accomplishing everything using just a single extension. There have been some truly great strides towards embedding ffpmeg in JavaScript and WebAssembly, however it does not at this time seem possible to hit the TCP/IP-based
rtmp:https://
protocol directly from emscripten.
- First, ensure you have the latest version of ffmpeg installed. (apt-get) (brew)
- Next, you need to have the Node.js runtime installed.
- Then, you need to clone this repo.
git clone https://github.com/cawfree/twitch-go
cd
into the downloaded repo and hitnpm install
. This will download all of the required dependencies.- Finally, inside the project directory you will need to create a
.env
file to store your Twitch access credentials. These will look like the following:
PORT=5000
INGEST=rtmp:https://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
.
- 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 newdist/
directory inside the project folder. - In the Chrome browser, head to chrome:https://extensions.
- Click on Load Unpacked.
- Navigate to the
dist/
folder and select to install.