obsolete.computer

multistream/.

A Django Project that powers Multistre.am, the mutltiple-simultaneous-Twitch-channel viewer.

Directory Listing

total 100K
drwxr-xr-x 6 4.0K Oct 12 18:57 ./
drwxr-xr-x 3 4.0K Jan 18 12:39 ../
drwxr-xr-x 2 4.0K Oct 4 11:46 bin/
drwxr-xr-x 5 4.0K Oct 4 14:32 frontend/
drwxr-xr-x 2 4.0K Oct 4 10:54 scripts/
-rw-r--r-- 1 359 Oct 1 17:49 env.sample
-rw-r--r-- 1 84 Oct 4 09:55 .gitignore
-rw-r--r-- 1 248 Oct 1 22:31 LICENSE
-rwxr-xr-x 1 540 Nov 3 2018 manage.py
-rw-r--r-- 1 253 Oct 2 13:01 Pipfile
-rw-r--r-- 1 41K Oct 2 13:02 Pipfile.lock
-rw-r--r-- 1 2.0K Oct 4 14:44 README.md
-rw-r--r-- 1 117 Sep 29 08:28 summary.md
-rw-r--r-- 1 2.5K Oct 12 18:57 TODO

Download

  • Git clone URL: https://obsolete.computer/static/code/multistream/.git
  • Download Tarball: multistream.tar.bz2

Readme

Multistream

The best way to watch multiple Twitch streams at one time.

Well, maybe not any more, but I still like it. Simplicity is sometimes the greatest asset a project can have.

This is the code (a Django project) that powers Multistre.am. Please if you find any bugs, contact me before you hack into the site.

Setting up your own instance

As of right now Multistream runs on Linux.

Dependencies

You'll need pipenv and nodejs-less along with nodejs-less-plugin-clean-css (annoyingly, hoping to change this soon)... and I think that's it, since Pipenv will handle the installation of Django & some other Python dependencies.

Install Pipenv

(via pip, pacman, apt, etc)
pip install pipenv

Pull down the code

git clone https://obsolete.computer/static/code/multistream/.git
cd multistream

Build the Pipenv environment and grab dependencies

pipenv install

Edit the .env file with info for your environment

The Twitch API client ID and client secret can be obtained through their dev console.
cp env.sample .env && nano .env

Create a Sqlite database

pipenv run ./manage.py migrate

Build the frontend CSS

Right now this is the step that requires nodejs-less and nodejs-less-plugin-clean-css (both in the AUR).
cd frontend/static
lessc --math=strict --clean-css="advanced" multistream.less > multistream.css
cd ../..

Fire up the dev server

pipenv run ./manage.py runserver

Test/Use/Build!

Point your browser to http://localhost:8000. You should be greeted by the familiar stream-picker form. If you try to build a multistream layout, you won't initially see the players & chats load... this is for development. To test out the real thing, set USE_LIVE_EMBEDS to True in your .env file.

The admin url by default is http://localhost:8000/ms-admin/. You can create an admin account for your instance with the command pipenv run ./manage.py createsuperuser.

Recent Changes

  • [4386052] 2022-10-12: updated TODO again
  • [0c22816] 2022-10-12: updated TODO
  • [aec52c8] 2022-10-12: remove dependency on CDNs, move to in-browser LESS compilation
  • [113891c] 2022-10-04: note to self, reread the whole paragraph before committing.
  • [3e2bf13] 2022-10-04: new TODO.

License

This project is in the public domain.

Contributing changes back to this codebase and giving attribution when reusing this code are both wonderful things, but neither are necessary.

Meta