FeD:Projekte/Chaoss/en/Dream
Aus Förderverein euregionale Digitalkultur e.V.
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!