Free and open source streaming software built on OBS and Electron.
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea add dataSources.xml to .gitignore (#1230) Jan 10, 2019
.vscode Slobs Chatbot V1.0 (#737) Aug 16, 2018
app fixed ui for installed apps tab in settings (#1119) Jan 19, 2019
bin ez rollout script (#1235) Jan 9, 2019
build-utils refactor: unterminated statements, condition assignments (#1182) Jan 2, 2019
docs Video and Image File Compression - attempt #2 (#1094) Dec 5, 2018
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 Big refactor: clean TSLint + AirBnB config (#1129) Dec 20, 2018
test Fix ObsTextInput styling (#1268) Jan 19, 2019
updater refactor: simplify conditionals (#1180) Jan 10, 2019
vendor Big refactor: clean TSLint + AirBnB config (#1129) Dec 20, 2018
.babelrc Update Typescript, Spectron, Ava, Webdriver, Babel, RxJS, Webpack (#1080 Dec 4, 2018
.codeclimate.json codeclimate config (#1262) Jan 17, 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 chore: add IntelliJ settings Dec 12, 2018
.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: push build status to upsource (#1236) Jan 10, 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 Fail test if it writes errors to the log file (#1222) Jan 14, 2019
package.json Encoder optimized settings (#972) Jan 19, 2019
renovate.json pulled staging Jul 20, 2018
tsconfig.json use app urls for module resolution, move sources into directory (#13) Oct 30, 2017
tslint.json style: disable no-boolean-literal-compare (#1227) Jan 8, 2019
webpack.config.js Scene Transitions API (#1120) Dec 18, 2018
yarn.lock Encoder optimized settings (#972) Jan 19, 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.