nodecg thoughts
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
- This is confirmed in the NodeCG tutorial
Other code-to-binary tools exist but appear to have various issues like lack of optimization or lack of recencyUnnecessary
- This comment suggests installing all dependencies locally via packages.json and using the native node.exe will be portable
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
- Update: I am making one myself
- 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.