Giter Club home page Giter Club logo

studio-canvas's Introduction

Studio-Canvas

Real-Time Virtual Studio Canvas Rendering

About

Studio-Canvas is a client/server applications for dynamically rendering the virtual canvas of a filmstudio through the help of a game engine. The canvas optionally is overlayed with a standalone monitor and/or an embedded decal, both showing an own video stream. The virtual cameras optionally can follow the physical PTZ cameras throught their emitted FreeD information.

The application, written in TypeScript, consists of a central Node.js-based server component and a HTML5 Single-Page Application (SPA) as the client component. The client component it turn runs in two distinct modes: a Vue.js based control mode for real-time adjusting the scene parameters and a rendering mode for real-time rendering the scene with the help of the Babylon.js game engine.

screenshot-11

Control User Interface

Studio-Canvas is based on a client/server architecture. The client runs in either control mode or render mode. The render client(s) are remote controlled from control client(s). Here are screenshots of the user interface of the control client.

screenshot-01 screenshot-02 screenshot-03 screenshot-04 screenshot-05 screenshot-06 screenshot-07 screenshot-08 screenshot-09 screenshot-10

Usage (Production)

  • Under Windows/macOS/Linux install Node.js for the server run-time, Google Chrome for the client run-time (control mode and either OBS Studio or vMix for the client run-time (renderer mode).

  • Install all dependencies:
    npm install --production

  • Run the production build-process once:
    npm start build

  • Run the bare server component:
    npm start server

  • Open the client component (control mode) in Google Chrome:
    https://127.0.0.1:12345/

  • Use the client component (renderer mode) in OBS Studio or vMix browser sources:
    https://127.0.0.1:12345/#/render/CAM2?ptzFreeD=true

Usage (Development)

  • Under Windows/macOS/Linux install Node.js for the server run-time and Google Chrome for the client run-time (both control mode and renderer mode), plus Visual Studio Code with its TypeScript, ESLint and VueJS extensions.

  • Install all dependencies:
    npm install

  • Run the development build-process once:
    npm start build-dev

  • Run the development build-process and server component continuously:
    npm start dev

  • Open the client component (control mode) in Google Chrome:
    https://127.0.0.1:12345/

  • Open the client component (renderer mode) in Google Chrome:
    https://127.0.0.1:12345/#/render/CAM2?ptzFreeD=true

Architecture

Studio-Canvas is based on a Client/Server architecture, as illustrated in the following diagram:

architecture

See Also

Copyright & License

Copyright © 2023-2024 Dr. Ralf S. Engelschall
Licensed under GPL 3.0

studio-canvas's People

Contributors

rse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wildgenie

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.