2022-12-13 23:38:05 +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, and can be streamed live (SRT, Shmdata) or recorded (without audio).

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

License

GPL-3.0-or-later See LICENSE

Install vimix

Check the Quick Installation Guide

Linux

Download and install a released flatpak package

~$ flatpak install --user vimix

Download and install a released snap package (slower release frequency)

~$ snap install vimix

Install the stable debian package (slower release frequency)

~$ sudo apt install vimix

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.

Build vimix

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 flatpak

Building a flatpak package is a good option for having the latest version from git while avoiding to install all dependencies in your machine. Instructions are found here.

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%