Future plans - brunoherbelin/vimix GitHub Wiki

Versions history

version 0.3 - Core principles

Real-time graphical mixing and blending of several medias (movies and images), with smooth transitions and recording of the output. Features are organized in 3 views, for Mixing opacity, adjusting Geometry and organizing in Layers.

version 0.4 - Collaborative mix

Video stream between computers in a local network (vimix-to-vimix) Expected user features such as copy & paste, undo & redo, and for manipulating geometry (resizing, rotation, etc.) Fine control of video timeline (segments), and input of live graphics (webcam, test patterns).

version 0.5 - Texture freedom

Features for changing the texture mapping (repeat or crop) and applying masks are available in the Texturing view. Masks can be geometric shapes, images or hand drawn (painter & eraser). Support for hardware accelerated video decoding and recording.

version 0.6 - Grouped actions

Control and manipulate several sources grouped together. Operations on a multiple selection has specific purposes depending on the view (e.g., change opacity of several sources in one action). Media player controls many sources, and can synchronize videos. Sources can be locked and reordered freely in the panel.

version 0.7 - Graphical instrument

Play vimix like an instrument, either using input mapping (e.g., keyboard) or with Open Sound Control. The vimix API is available for network OSC commands, and a TouchOSC layout allows remote control from a tablet. Ready for stage with general suspend of the output and video broadcast in SRT. Iterative creation process with versioning of the session, and re-injecting the output after a 'save & continue' of the recording. User interface improvements for fast access to workspace (clear view with ESC, identify sources with their initials, etc.) Real-time generation of graphics with GLSL ShaderToy code (with code editor) and a set of common GPU filters (gaussian blur, etc.)

version 0.8 - Precision mixing

Dedicated view to control multiple output windows in the projections screens, with white balance, color correction and precise placement. Dynamic mouse pointers give more control to the user on the actions performed on a source, either by snapping to a grid for precise placement or using a spring-mass simulation for a smoother dynamic. For very precise placement of sources, a dedicated toolbox allows entering values with pixel precision. Adding timelines on static images allows a precise timing of their opacity, e.g. complementary with a video clip. A general output preview (F6) quickly gives the overview in full screen, and a magnifying glass then allows exploring details of the output rendering. Play speed precise and smoothed control.

version 0.9 - Open stage

Let me know how you imagine vimix !.

Future plans

Here are some features planned for vimix, in random order (not in order of priority, nor in order of complexity)

I/O of image streams

  • Input from a webpage ?
  • Text source : Done in 0.8.2
  • Input from phone as webcam (like droidcam) : replaced by SRT
  • Input and Output over network with NDI : replaced by SRT
  • Output as shared memory / Syphon : support with gstreamer shm default and shmdata
  • Export session with relocated videos (zip?)

User interface

  • Side-by-side views (allow two views simultaneously)
  • 'Draft' Mode : actions are not applied live, pending the release (smooth or abrupt)
  • 'Chrono' View to synchronize sources and events
  • 'Time machine' View to navigate in history of events
  • Library: better UI to browse images and videos (with preview)
  • Repair broken session / offer actions to repair broken source (e.g. missing file) done
  • Recording and recall of user action 'snippets'
  • Recording and replay of user input: record a (potentially long, 1h or more) live session and replay it (slow or on another computer), e.g. for video encoding afterwards

Interconnections

  • Interfacing with Chataigne, a software to synchronize events for shows and interactive installations.
  • MIDI protocol to sync with other apps (a bridge though OSC is currently possible)
  • Video-mapping: the connection with splash video-mapping software is currently possible with shmdata.

User support

  • Microsoft Windows compilation and packaging
  • More Documentation
  • More Video tutorials on https://vimeo.com/vimix
  • Multiple language support