Free and open source streaming software built on OBS and Electron.
Branch: staging
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Slobs Chatbot V1.0 (#737) Aug 16, 2018
app fix resizing (#1411) Feb 21, 2019
bin fix rollout script (#1344) Feb 4, 2019
build-utils refactor: unterminated statements, condition assignments (#1182) Jan 2, 2019
docs Refactor app platform to use BrowserView instead of webview tags (#1353) Feb 12, 2019
guest-api Replay buffer (#1201) Jan 15, 2019
media Video and Image File Compression - attempt #2 (#1094) Dec 5, 2018
obs-api chore: add some TODO comments (#1191) Jan 2, 2019
scripts Revert "Merge pull request #1303 from stream-labs/add-facemask-plugin… Feb 15, 2019
test test: twitch tags (#1327) Feb 21, 2019
updater feat: use preview updater for slobs preview (#1356) Feb 13, 2019
vendor Selection resizing (#1147) Feb 5, 2019
.babelrc Implement TSX support and migrate NewsBanner to TSX (#1340) Feb 4, 2019
.codeclimate.json code duplication thesholds (#1373) Feb 12, 2019
.commitlint-patterns.json chore: add opt-in quality of life improvements and general fixes Dec 12, 2018
.commitlintrc.js chore: add opt-in quality of life improvements and general fixes Dec 12, 2018
.editorconfig chore: add opt-in quality of life improvements and general fixes Dec 12, 2018
.env Beginning of public git history Oct 26, 2017
.gitattributes Beginning of public git history Oct 26, 2017
.gitignore Gitignore .idea folder (#1395) Feb 21, 2019
.gitmodules pulled staging Jul 20, 2018
.huskyrc.js chore: move husky opt-in to config (#1204) Jan 3, 2019
.npmrc Widget Bugfixes (#1064) Nov 29, 2018
AGREEMENT update license and terms agreement (#1062) Nov 29, 2018
LICENSE add GPLv3 license file Oct 26, 2017
README.md Update README.md to reflect current requirements (#1027) Jan 2, 2019
appveyor.yml ci: use node 10 LTS (#1382) Feb 14, 2019
crowdin.yml Translations (#443) May 21, 2018
dev-app-update.yml distribute updates via AWS Cloudfront (#21) Nov 2, 2017
index.html Various fixes for the design system CSS refactor (#698) Aug 7, 2018
installer.nsh NSIS installer id for analytics (#310) Mar 2, 2018
main.js Setup Sentry as the target for crashes (#1255) Jan 22, 2019
package.json Release version 0.11.15 Feb 22, 2019
renovate.json pulled staging Jul 20, 2018
tsconfig.json Implement TSX support and migrate NewsBanner to TSX (#1340) Feb 4, 2019
tslint.json style: disable no-boolean-literal-compare (#1227) Jan 8, 2019
webpack.config.js Implement TSX support and migrate NewsBanner to TSX (#1340) Feb 4, 2019
yarn.lock Revert "Merge pull request #1303 from stream-labs/add-facemask-plugin… Feb 15, 2019

README.md

Streamlabs OBS

Build status

Simple, powerful, and efficient live streaming software built on Electron and OBS.

Streamlabs OBS

This application currently only supports 64-bit Windows.

Dependencies

Node.js

Node is required for installing npm packages and for running various scripts. We recommend the current LTS release, 8.x.x:

https://nodejs.org

Yarn

In order to ensure you are using the correct version of each node module, you should use the yarn package manager. Installation instructions can be found here:

https://yarnpkg.com/en/docs/install

Installation

Install all node modules via yarn:

yarn install

Then, compile assets with webpack:

yarn compile

Starting

If you are using Visual Studio Code, you can start the app using the built in debugger (default F5).

Otherwise, you can run the app with:

yarn start

Environment Variables

These variables can be used in development to force certain behavior.

SLOBS_FORCE_AUTO_UPDATE: Force the auto-updater to run in development. Normally this would only run in production.

SLOBS_CACHE_DIR: Force a different location for the user data cache directory.

SLOBS_DISABLE_MAIN_LOGGING: Disable javascript logging in the main process.

SLOBS_REPORT_TO_SENTRY: Report errors to sentry in the dev environment

Packaging / Distributing

Currently only Windows x64 packaging is supported.

Packaging

Make sure the app is not running in your dev environment before you start the packaging process.

You can package the app by running:

yarn package

This will package a distributable installer .exe to the dist/ directory. There is also an unpacked version in dist/win-unpacked.

Releasing

If you want to release a new version to the update server, you will need the following variables in your environment:

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
CSC_LINK
CSC_KEY_PASSWORD
SENTRY_AUTH_TOKEN

Only authorized team members have permission to release new versions. If you need help setting up your environment for release, you can ask someone on the team for help.

If your environment is properly set up, you can use the automated release script to push out a new release.

Simply run:

yarn release

and follow the instructions.

Legacy Release Checklist

NOTE: This checklist is deprecated, and is only kept here in case the automated deploy script isn't working and we need to do a manual deploy.

  • Merge staging into master - DO NOT "Squash & Merge", just do a regular merge
  • Check out master
  • If submodules are out of date git submodule update --init --recursive
  • Remove node modules rm -rf node_modules
  • Install fresh packages yarn install
  • Install node-obs with latest plugins yarn install-node-obs
  • Compile assets yarn compile
  • Run the test suite yarn test
  • Change the version in package.json
  • Commit and push
  • Tag the repo git tag 'v0.0.11' and git push --tags
  • Package the app yarn package
  • Run the packaged version in dist/win-unpacked and make sure it runs
  • Deploy the new version yarn deploy
  • Merge master back into staging

❤ OBS Developers

At its core, Streamlabs OBS is powered by the OBS engine. We want to thank all of the developers over at the OBS project for their years of tireless hard work, without which Streamlabs OBS wouldn't exist today.