I discovered nodecg (repo) today and want to try it out.

  • Can use OBS Studio browser source to stream/record it
  • Comment and reply by author on YouTube video about a complex nodecg system. Takeaways:
    • OBS Studio doesn’t need Electron as in the video
    • OBS browser source plugin has JavaScript events that can have the client DOM act on the events (e.g. new layout on scene change)
    • Can have web-based control panel
  • I later wondered if Node has to be installed on target machine
    • This comment suggests installing all dependencies locally via packages.json and using the native node.exe will be portable
    • Other code-to-binary tools exist but appear to have various issues like lack of optimization or lack of recency Unnecessary

After-install notes

  • I knew this would require a learning curve, but it seems steeper than I originally imagined
  • The working bundles are quite complex and specific; I was hoping for a “Hello, World!”-style bundle
  • It’s important not to forget bower install ! Works much better after that and dependencies as specified in a bundle.
  • This forum post on OBS scene transitions is worth reviewing. It was written for OBS classic but should work on the newer version

Use case ideas

  • Twitter feed
  • Chat feed
  • Title card
  • Foreground
  • Background
  • Credits
  • Segment bumpers
  • Why not use nodecg as slide show / animation for when video isn’t showing?
  • Can use nodecg/Electron window with Wirecast if I’m not ready to switch webshow to OBS
  • Countdown to preshow animation

More notes 2016-12-28

  • The main bundle index.html file seems to be under graphics. At first this seemed counterintuitive, but the ultimate goal is to feed HTML-based graphics to OBS, so I suppose it’s aptly named.
  • The client url seems to be /graphics//index.html.
  • lfg-nucleus and lfg-filter have no output and (therefore?) no graphics/ folder. They have dashboard/panel.html and dashboard/dialogs/*.html files.
    • extention/*.js appears pertinent
  • lfg-sublistener has extention/*.js but no dashboard/ .
  • I’m not yet understanding where the bundle entry points are (what is minimimum viable bundle). Guesses:
    • graphics/index.html for any http client targets
    • extension/index.js for modules adding function calls
    • dashboard/panel.html for dashboard interfaces
    • a given bundle may have one or more of these?
    • I’m not seeing a bundle config file aside from the above presumed entry points
    • Update: package.json is the bundle config, described in the manifest tutorial. It seems to define the needed files / entry points.