Code Monkey home page Code Monkey logo

alterworld's Introduction

AlterWorld: Video Processing with VR/AR in the browser

AlterWorld is an open source real-time video processing project based on OpenCV for JavaScript (front-end). It has several interesting features such as different image filters and effects, VR/AR capabilities and audio/music generation.

Usage

Live demo: https://nevolin.be/alterworld/

Filters and effects

There are a ton of built-in filters and effects available. Use the dropdown box to select a desired filter. If you get a lot of lag/glitches and performance issues you should lower the quality using the dropdown button (to low or medium q). The Time Delay and Glitch effects can be used to create dizzy, funny or scary effects, these are messing around with the frames.

YouTube video:

https://www.youtube.com/watch?v=1868xd5DWUg

Augmented Reality (AR) / Virtual Reality (VR)

You can use a budget VR headset (such as Google Cardboard VR) with your smartphone. Navigate to AlterWorld, select the desired filters and effects, rotate your phone horizontally. Finally to enter VR mode click the "VR mode" checkbox. It's also recommended to go into full-screen mode by double tap/click the output image.

YouTube video:

https://www.youtube.com/watch?v=dB4ssSH6_2s

GIF recording

Use the "screenshot" button to make a screenshot of the current output frame. You can use the "start recording" button to record a gif of the output frames (default max duration: 15 seconds). Note that the gif needs to be rendered which may take several seconds up to several minutes (depending on quality and duration). The output screenshot(s) and gif(s) will be shown at the bottom of the page, you can save them from there (they are only visually scaled).

YouTube video:

https://www.youtube.com/watch?v=Rkg-XiY3o38

music generation

There is a special feature "maestro" which is the button at the very bottom. The basic idea is to brainstorm musical beats from images, which conceptually could be useful to musicians. This uses a certain algorithm to generate basic electronic beats based on the pixel values on the image. You can tweak the algorithm or implement your own.

YouTube video:

https://www.youtube.com/watch?v=ojsyrKspkIc

Video production

The capabilities provided by OpenCV can be used for creating custom and unique scenes for films, music videos and art:

YouTube video:

https://www.youtube.com/watch?v=pEJJ3V9Xj20

YouTube video:

https://www.youtube.com/watch?v=_tJR69mexgc

YouTube video:

https://www.youtube.com/watch?v=nTPr-cHSumU

YouTube video:

https://www.youtube.com/watch?v=T5qy3fP7LZk

YouTube video:

https://www.youtube.com/watch?v=9hYuiqnYNEQ

YouTube video:

https://www.youtube.com/watch?v=PwOEMtuf5Q8

YouTube video:

https://www.youtube.com/watch?v=3pNXoRaPlPg

The shots from these videos have been rendered using OpenCV in Python and then edited in Adobe Premiere Pro.

Installation

  1. Download or Clone this repository.
  2. Open index.html in your web browser or upload the project to your web server (https/ssl is required to enable webcam access).

Developers

The main files you need to worry about are index.html and main.js. Everything else are libraries and assets.

Contact

For enquiries or issues get in touch with me:

Name: Ilya Nevolin

Email: [email protected]

alterworld's People

Watchers

 avatar

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.