https://github.com/coderefinery/obs-cr

https://github.com/coderefinery/obs-cr

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: coderefinery
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 336 KB
Statistics
  • Stars: 1
  • Watchers: 5
  • Forks: 0
  • Open Issues: 7
  • Releases: 0
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Control panel for CodeRefinery livestream teaching

This provides control panels for OBS, optimized for automation useful for the CodeRefinery teaching style. Since 2025, this is all done by the web and there is no local installation. The main entry point is web/index.html.

The usage of these is taught as part of CodeRefinery instructor training, unfortunately there aren't good examples here.

The general architecture is that it uses OBS as the main synchorization server. There are three main operations: get persistent value, set persistent value, and watch for changes of persistent value (with a callback). Together, this allows us to build almost anything. (Some values are managed the same way but the backend but control other controls, such as scene selection or volume).

OLD - Local app installation

Local install

Create a virtual environment. Note that obsws-python unfortunately requires Python 3.9+. On Linux with pip, sound output requires a compiler, libasound2-dev, and python3-dev (on other platforms, a pre-built package has what you need).

$ pip install https://github.com/coderefinery/obs-cr/archive/master.zip

Cheatsheet

Commands for copying and pasting

  • python obs_cr/headless.py localhost:4445 PASSWORD --no-sound --resolution-command=zoomw -v --broadcaster --notes-window='Notes - CodeRefinery.*March 2025.*Privat()e'

  • python3 obs_cr/websocket_proxy.py --ssl-domain=DOMAIN - finds certs made by acme.sh in ~/.acme.sh/.

  • Linux, Firefox: obs-cr-control localhost:4445 TOKEN --notes-window='^TTT4HPC 07/05/2024.*Privat()e' --resolution-command="xdotool search --onlyvisible --name '^Zoom$' windowsize WIDTH HEIGHT;" --broadcaster

Status

In development, not recommended for general use unless you want to go into the code.

Owner

  • Name: coderefinery
  • Login: coderefinery
  • Kind: organization
  • Email: support@coderefinery.com

GitHub Events

Total
  • Issues event: 14
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 54
Last Year
  • Issues event: 14
  • Watch event: 1
  • Issue comment event: 6
  • Push event: 54

Dependencies

requirements.txt pypi
  • obsws-python *
  • pillow *