2022-12-11 15:19:10 +01:00
2022-11-19 20:20:12 +01:00
2022-12-03 17:45:07 +01:00
2022-10-26 10:01:28 +02:00
2022-11-19 20:20:12 +01:00
2022-12-10 14:38:30 +01:00
2022-12-10 11:18:15 +01:00
2022-12-11 14:10:19 +01:00
2020-08-01 20:43:26 +02:00
2022-11-19 22:22:37 +01:00
2022-12-03 17:45:07 +01:00
2020-06-15 22:00:05 +01:00
2021-11-22 00:22:18 +01:00
2020-01-28 14:57:55 +01:00

vimix

Live Video Mixing

vimix performs graphical mixing and blending of several movie clips and computer generated graphics, with image processing effects in real-time.

Its intuitive and hands-on user interface gives direct control on image opacity and shape for producing live graphics during concerts and VJ-ing sessions.

The output image is typically projected full-screen on an external monitor or a projector, but can be streamed live (SRT) or recorded (no audio).

vimix is the successor for GLMixer - https://sourceforge.net/projects/glmixer/

License

GPL-3.0-or-later See LICENSE

Install

Check the Quick Installation Guide

Linux

Download and install a release package from https://snapcraft.io/vimix

$ snap install vimix

NB: You might need to setup the snap permissions.

Mac OSX

Download and open a release package from https://github.com/brunoherbelin/vimix/releases NB: You'll need to accept the exception in OSX security preference.

Clone

$ git clone --recursive https://github.com/brunoherbelin/vimix.git

This will create the directory 'vimix', download the latest version of vimix code, and (recursively) clone all the internal git dependencies.

To only update a cloned git copy:

$ git pull

Compile

First time after git clone:

$ mkdir vimix-build
$ cd vimix-build
$ cmake -DCMAKE_BUILD_TYPE=Release ../vimix

Compile (or re-compile after pull):

$ cmake --build .

Dependencies

Compiling tools:

  • gcc
  • make
  • cmake
  • git

Libraries:

  • gstreamer
  • gst-plugins (libav, base, good, bad & ugly)
  • libglfw3
  • libicu (icu-i18n icu-uc icu-io)

Optionnal:

  • glm
  • stb
  • TinyXML2
  • AbletonLink
  • Shmdata

Install Dependencies

Ubuntu

$ apt-get install build-essential cmake libpng-dev libglfw3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav libicu-dev libgtk-3-dev 

Optionnal:

$ apt-get install libglm-dev libstb-dev libtinyxml2-dev ableton-link-dev 

Follow the instructions to install Shmdata.

OSX with Brew

$ brew install cmake libpng glfw gstreamer gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly icu4c

Generate snap

To generate the snap (from vimix directory):

$ snapcraft

To install and test the locally created snap:

$ snap install --dangerous vimix_0.5_amd64.snap

Generate flatpak

To generate and install the flatpack:

    $ flatpak-builder --user --install --force-clean build ##PATH_TO_VIMIX##/flatpak/io.github.brunoherbelin.Vimix.json
    
To run the installed flatpak:
    
    $ flatpak run io.github.brunoherbelin.Vimix

Memcheck

To generate memory usage plots in massif format:

$ G_SLICE=always-malloc valgrind --tool=massif ./vimix

To check for memory leaks:

$ G_SLICE=always-malloc valgrind --leak-check=full --log-file=vimix_mem.txt ./vimix
Languages
C++ 58.7%
C 36.3%
GLSL 2.9%
CMake 1.9%
Objective-C 0.1%
Other 0.1%