Code Monkey home page Code Monkey logo

nodeo's Introduction

Nodeo Logo

๐Ÿ–ผ๏ธ + ๐Ÿ’ก = nodeo

A media server for TouchDesigner developers and enthusiasts

โœ๏ธ This is a Public Alpha under somewhat active development

๐Ÿ’พ TouchDesigner 2022.25370
๐Ÿ–ฅ๏ธ Windows


Nodeo Screenshot


๐Ÿ“ฝ๏ธ Why we are building this

We designed nodeo to be a simple interactive playback solution for livestreams, permanent installations and events. The aim is stable, aesthetic and customizable 24/7 delivery of TouchDesigner components, movies and Notch blocks to external displays and/or apps/platforms (such as OBS/Twitch) via NDI.

The name is a combination of node and video, as a good share of generative artwork is created in node-based environments.

๐Ÿ“– How to use

Download or clone the entire repo. Inside of the server folder is the nodeo main toe file. Open it on a reasonably powerful computer. (Windows i7 / GTX 1080 eq. or better Desktop is recommended)


๐Ÿ“ฌ Releases

2021.0.8

  • Updated Engine COMP Implementation to better support the new 2021 TD release.

2020.5.246

  • Duration handling improvements
  • Minor bug fixes

2020.5.227

  • Overhauled Engine + composite system so it is separately threaded from the UI. This greatly improves performance and enables UI interactions without impacting NDI output frame rates.
  • Many minor bug fixes
  • Various minor improvements
  • Blackout button improved (thanks @drmbt)
  • Audio options expanded (thanks @drmbt)

2020.2.2180

  • Initial public release

โ‡๏ธ System Outline

(*) = on the roadmap but not implemented yet
(**) = in progress

I. Nodeo acts as a train.

It has four engine (COMP) cars.

Each Engine is composed of a rotor (Base COMP) that processes video, and a separate Snd Base COMP that processes audio.

An Engineer (Base COMP) drives the train.

II. Segments act as train cars.

Each carries a temporal fragments of a type of media.

Segment Types/Sub-types:

  1. Video (Scene) a. Generative (tox and dfx*) b. Movie (mov**) c. Stream** (NDI)
  2. Transition a. Generative (tox and dfx*) b. Movie (mov**)
  3. Audio (wav, aiff and stream)
  4. Text*

III. A Segment Cycle acts as triad of connected train cars.

Three segments make up a Segment Cycle: Video (Gen/Mov/Stream), Transition (Gen/Mov), and Audio.

Each row in a Playlist is considered a Segment Cycle.

IV. An Active Playlist acts as Conductor of the train.

You may switch the Active Playlist by pulsing the Activate button (a small white play button directly to the right of the playlist tabs).

Segments may also be made Active to an Engine by dragging and dropping them onto an Engine Preview, from either a Playlist source or Media source.

๐ŸŽฆ Structural Overview

  • Nodeo
    1. SRC (Segments/Segment Cycles)
      • Media *Segment Type [Gen, Mov, Trans, etc.] *Segment *Segment
      • Playlist 1, 2, 3...
        • Segment Cycle [Vid, Trans, Snd]
        • Segment Cycle
        • Segment Cycle
    2. IN (Engine Previews)
      • A, B
        • Playlist ABBA Channels
      • C
        • Stream (aux) Channel
      • D
        • Trans Channel
    3. OUT (Engine Composite)
      • NDI Out
    4. PAR
      • VideoBar
        • Basic video playback controls/monitoring
      • MstrFX
        • Basic color controls
      • Modules
        • Settings (Init)
          • Folder location preferences
        • Curves Advanced real-time color grading
        • Encoder (Out) Basic output video recording
      • AudioBar Basic audio playback controls
      • AudioLevels Basic audio monitoring

Credits

Many thanks to the following devs and artists for their contributions, which made nodeo possible:

โ˜ข๏ธ Full documentation is in progress.

nodeo's People

Contributors

dylanroscover avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nodeo's Issues

Possible to support tox with parameters?

Hey there, first of all thank you for releasing this. It is such a good inspiration!

I am curious if it's possible for this system to support Gen toxes that have parameters and exposing them in the UI. With my current understanding I don't think there would be a straight forward way because of the Engine comp, but maybe there is?

Thanks!

Audio expanded options

Working with external audio cards requires diving into the engineer to access ASIO drivers, publishing that option to sound settings seems like a worthwhile feature

mixed resolution multiple displays

This may not be an issue if the intention is to stream on a single moniter rig, or if they are both the same resolution, but I found the UI to freak out a bit in perform mode with a 1080 and 4k display as my outputs, drawing parts of the interface on each screen, but not the whole thing, with no way to fix directly. Setting all of my displays to 1080 fixed it, but there are obvious setups where that won't be a tenable soluition

Media files won't load

Hello,

First of all thanks for the great job you do. This project looks godsend.
I have troubles running it though. It loads just fine, I can see the UI, but when I drag and drop media files into a channel it gets stuck in a loading state.

Do I have to do something specific to make it work?

image

Blackout button interpolation rfe

Retriggering the Off/On blackout button before the fades interpolation has completed results in a value stuck somewhere in between, which is a dangerous behavior for a blackout button, especially in a live event or stream setting. Perhaps a more desirable behavior would be that a click before the interpolation has completed cuts to the value instead of retriggering in the opposite direction? single click to fade, double to cut, with some sort of indicator alarm to draw attention to a blackout would be a solid addition

Exploring Nodeo

hey man, really enjoyed the stream yesterday, and the subsequent exploration of your project. Lots to wrap my head around, and a lot of great examples of the Engine Comp working, which are few and far between. This is a timely release, as I've been diving into the Lister with intentions of figuring out a thumbnail system, and this will certainly provide a solid roadmap for doing so. Thoroughly impressive work, excited to see where this ends up.

If you're open to some RFEs and usability observations, I'll drop them as issue reports here. ran into a few things during my exploration that seemed like they might be helpful to note. issues to follow

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.