Giter VIP home page Giter VIP logo

oscar-davids / adventure-stream Goto Github PK

View Code? Open in Web Editor NEW

This project forked from liveinteract/adventure-stream

0.0 0.0 0.0 118.98 MB

We are enabling viewers of a livestream to become part of the content creation. a video pipeline that allows user to interact with content from real world live streams through AI

Shell 0.20% JavaScript 63.91% C++ 0.09% Python 28.78% C 0.17% Go 0.18% CSS 4.00% Hack 0.04% HTML 2.32% Jupyter Notebook 0.10% Cython 0.03% Dockerfile 0.04% Less 0.14%

adventure-stream's Introduction

Interactive-video

Interactive video provides interactive video experience both to stream viewers and broadcasters by leveraging AI in video/audio understanding. By leveraging the power of community of GPU nodes, it aims to provide configurable, selectable AI features.

System architecture

The system consists of 4 parts at large:

  • API Server
  • AI nodes
  • Media Server (MistServer + Interactive Video UI)
  • Feedback Server (for broadcasters to monitor user interactions/statistics)

Workflow

  1. Mistserver sends source video + SmartVideo requests to Orchestrator over websocket. The smart video request parameters (object detection, face recognition) are set at websocket connection initialization.
  2. Orchestrator decodes timestamped video packets and outsource jobs to AI nodes. Job distribution is by job type and also in time, meaning same different jobs are distributed to multiple nodes in time domain. For example, frame1 is processed by facerecognition_node1, frame2 is by facerecognition_node2, etc etc. The reason for doing this is to make sure that real time factor > 1 so that meta stream does not fall behind the video stream.
  3. AI nodes process decoded frames(images) and return results to Orchestrator. The metadata returned by AI nodes are aggregated at Orchestrator.
  4. Orchestrator sends metadata (aggregated AI results) to MistServer + Web UI over websocket.
  5. The Web UI receives the metadata stream from MistServer and displays the metadata and hardcoded action set on the right sidebar of the Web UI. Users are allowed to click on metadata and hardcoded action set on the Web UI within limited timewindow.
  6. The interaction results are sent to the feedback server over http. They are sent at either user click send button or at timewindow timeout.

Installation

Installation guide can be found at Readme files of each sub project.

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.