FeD:Projekte/Chaoss/en/Dream

Aus Förderverein euregionale Digitalkultur e.V.

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Name

This part of the Chaoss suite shall go by the name of "Dream". I know there are various other projects with that name, but there should be little to no ambiguities as they cover quite different areas. I suppose D.R.E.A.M. could pass as an amiable acronym, if anyone cares to expand it in a senseful way.

"Digital Reality Enabled Animation Module" :)

Development

Started on 2009-11-22 by building some prototypes to see what works and what not.

First tests

Okay.. after building the arguably darn slowest videoplayer in history, some discussion in #python and testing with pygame && pyffmpeg it boils down to this solution, which i'll try now:

  • Using pyffmpeg, extract all single frames of any videostream
  • convert this to RGBA using numpy arrays
  • at least for small clips: add them alltogether into one texture in the GPU using pyopengl
  • render single frames by telling the GPU some offset

Current approach

This should be the best performing solution and has some (dis)advantages:

Pros

  • Hardware does most of the performance critical stuff
  • 3D is IN! See your clips being played on arbitrary 3D-Objects
  • This offers beamer-aspect/trapezoid etc. correction
  • Alpha and color-filters are cheap to do in opengl, too

Cons

  • Larger movies (i suspect everything > 2 mins or too high resolution) might yield problems
  • Quite a lot of software dependencies rack up already
  • Same for hardware. No 3D acceleration? No fun!

Roadmap

RC

A first release candidate should be able to do the following:

  • Import videos in a memory conserving way
  • Playback and alphamix at least two simultaneous streams near or at realtime using single frames
  • Scale and output the result to a different window / X.org display

Future

I want

  • Heavy MIDI integration (to filters, timelines, controls...)
  • Filters and plugins to modify timescales, frames, 3D surfaces and palettes
  • Recording to a video
  • Gallery views to import files
  • Videostreaming via network
  • Post processing
  • Live imported Video
  • .....
  • Add something!