Veejay is divided into multiple packages. Each must be build separately and in a specific order.
- veejay-core (required)
- veejay-server (required)
- veejay_client (optional)
- veejay-utils (optional)
- plugin-packs (optional)
Required:
- Build-essential
- FFmpeg (libavcodec, libavformat, libavutil, libswscale) please use ffmpeg instead of libav
- libjpeg
- libxml2 for saving project data
- SDL 2 for the video window
- libdv for playback of DV Video
- [http://www.gtk.org] GTK3 (3.22 recommanded)
- [http://www.gnome.org] GdkPixbuf (comes with Gnome)
- Cairo (needed for Reloaded)
- GtkCairo (needed for Reloaded)
- Libquicktime for Quicktime]
- Video4Linux II
- libpthread
- Glade (needed for Reloaded)
Optional:
- liblo
- DirectFB for secundary head (TVOut)
- Jack for audio playback
- G'MIC - GREYC's Magic for Image Computing
- libqrencode (Android VJ remote control)
First, make sure you system is up-to-date, and install (in debian like system) the required dependencies with:
sudo apt-get install build-essential git autoconf automake libtool m4 gcc libjpeg62-dev \
libswscale-dev libavutil-dev libavcodec-dev libavformat-dev libx11-dev \
gtk-3.0-dev libxml2-dev libsdl2-dev libjack0 libjack-dev jackd1
Normally, you can just run ./configure
.
If you have cloned the veejay git respository, you will need to run ./autogen.sh
first to produce the configure file.
PKG_CONFIG_PATH
is a environment variable that specifies additional paths in which pkg-config
will search for its .pc
files.
If you need additional paths, before running configure, check if the PKG_CONFIG_PATH variable is setup correctly:
$ echo $PKG_CONFIG_PATH
If echo is silent, you must set the PKG_CONFIG_PATH to point to the directory containing your additional .pc files (for homebrew library installation)
--enable-debug
Builds veejay for debugging purposes (disables optimization). See also --enable-profiling
--with-arch-target=generic
Build veejay for generic x86 cpu-type. If the default is used (auto), the resulting binary may not run on another computer.
--without-jack
Build veejay without sound suppport. Useful when you just care of visuals ouput. Veejay will have more ressources (cpu/memory) to play your videos.
You can see all the configure flags with ./configure --help
You can set -mcpu and -mtune to compile veejay with optimizations specific to your CPU
For example, on RPI4:
export CFLAGS="-mcpu=cortex-a72 -mtune=cortex-a72"
- Get the last sources from Veejay's repository:
$ git clone git://github.com/c0ntrol/veejay.git veejay
- Enter the source directory
$ cd veejay/veejay-current
- Move to current software to build and run autogen.sh
$ cd veejay-core
$ sh autogen.sh
- Run ./configure
$ ./configure
- Type 'make' to build veejay
$ make -j$(nproc)
- Installing
$ sudo make install && sudo ldconfig
-
Repeat from step 3 to 5 inside
veejay-server
directory -
optional continue with building
veejay-client
andveejay-utils
$ cd veejay-client
$ sh autogen.sh
$ ./configure
$ make && sudo make install
$ cd veejay-utils
$ sh autogen.sh
$ ./configure
$ make && sudo make install
- optional continue with building the plugin-packs (repeat for all plugins pack you want to install)
$ cd plugin-packs/lvdgmic
$ sh autogen.sh
$ ./configure
$ make && sudo make install
$ cd plugin-packs/lvdcrop
$ sh autogen.sh
$ ./configure
$ make && sudo make install
You will start veejay, connect the user interface and quit veejay.
Test if veejay works:
$ veejay -d -n
Start another terminal and type:
$ reloaded -a
Open another terminal (depends on sayVIMS, build in step 7)
$ sayVIMS -m "600:;"
(or press CTRL-C in the terminal running veejay)