game-stop / veejay

Veejay is a visual instrument and realtime video sampler (for live video improvisation)
http://veejayhq.net
81 stars 11 forks source link
live-video veejay video video-art video-effects video-installation video-mixer visual-art visuals vj vjing

Veejay banner

Veejay is a Visual Instrument

a 'visual' instrument and realtime video sampler (for live video improvisation)

It allows you to "play" the video like you would play a piano.

While playing, you can record the resulting video directly to disk (video sampling), all effects are realtime and optimized for use on modern processors.

Veejay likes the sound of your video's as much as their images: sound is kept in sync ( pitched when needed - trickplay) and delivered to JACK for possible further processing.

You can cluster to allow a number of machines to work together over the network (uncompressed streaming, veejay chaining) And much more...

The engine is historically based upon mjpegtools's lavplay and processes all video in YUV planar It performs at its best, currently with MJPEG AVI (through ffmpeg/libav) or one of veejay's internal formats. Veejay is built upon a servent architecture.

see also : README whatis

Veejay Applications:

And of course Veejay himself !
The video output server (Ffmpeg/libSDL), a 'visual' instrument and realtime video sampler for live video improvisation such as live cinema, vjing, art installation ...

Installation

Get all the dependencies

First, make sure you system is up-to-date, and install the dependencies with:

sudo apt-get install build-essential autoconf automake libtool m4 gcc libjpeg62-dev \
libswscale-dev libavutil-dev libavcodec-dev libavformat-dev libx11-dev \
libxml2-dev libsdl2-dev libjack0 libjack-dev jackd1 libgtk3-dev libgdk-pixbuf-2.0-dev

Build the veejay's applications

Veejay is divided into multiple packages. Each must be build separately and in a specific order.

  1. veejay-core (required)
  2. veejay-server (required)
  3. veejay_client (optional)
  4. veejay-utils (optional)
  5. plugin-packs (optional)

For each package, run the triptich commands of the GNU build system (for a quick start you can build the first two):

 ./autogen.sh
 ./configure
 make -j$(nproc) && sudo make install

IMPORTANT : in some configuration you should have to manually build the shared libraries cache just after the first veejay-core installation (ex sudo ldconfig or similar)

Configure : You do not need to pass any parameters to ./configure for veejay to be optimized with the current cpu-type. If you want help to build for a specific architecture or with or without particular options (ex jack sound support) ... take a look to the ./configure --help to adapt to many kinds of systems.

Before running veejay, be sure to add or link some TrueType fonts in $HOME/.veejay/fonts

Additional information about building veejay packages can be found in HOWTO.compile.md

Usage

Running veejay is a much too large topic to cover in this readme. Various pointers have been bundled with the sources in veejay/veejay-current/veejay-server/doc

Articles covering various aspects of "how to veejay" can be found on veejayhq.net

But the quick answer would be:

1. Start one or more Veejay servers:

veejay --clip-as-sample my-movie-A.avi
veejay -p 4490 -g my-movie-B.avi

2. Start and autoconnect the veejay graphical interface:

reloaded -a

Building and Configuring plugins

Veejay contain more than 160 built-in FX, many unique and original FX filters.
But you can have more !

frei0r

Veejay looks in a few common locations to find the frei0r plugins pack:

You can list more location in the file $HOME/.veejay/plugins.cfg

plugin-packs

There are several plugin-packs available for veejay: plugin-packs

To compile and install a plugin-pack:

cd plugin-packs/lvdgmic
./autogen.sh
./configure
make && sudo make install

Default parameter values

You can change the default FX parameter values by editing the files in $HOME/.veejay/frei0r/ and $HOME/.veejay/livido/

See Also : For more verbose information about plugins and FX check How to Plugins

Debugging

If you want to debug veejay-server (or if you want to submit a meaningful backtrace), build with:

 ./configure --enable-debug

see also : How to debug

Quick Start & Play!

Let's VJing Now...

Veejay Quick start and play! : start veejay, manually send VIMS messages, tricks to video fifo or some essentials of keyboards user interaction...

FEATURE OVERVIEW

General

see also : YUV processing, README Memory, README Performance

Media

see also : README Video & Codecs, README audio

FX processing

see also : HOWTO plugins, README alpha

Editing

Trickplay

Output

see also : README Network

Interaction

see also : How to PureData

Viewing

see also : How to video wall

Plugins and more...

see also : How to Plugins, README odroid-xu3

Contact / Feedback & HELP

Please join our mailing list on http://groups.google.com/group/veejay-discussion

Bug Reporting

Please use the ticket system on https://github.com/c0ntrol/veejay/issues or simply write a mail to the veejay-discussion group!

ENJOY! And let us know about your performances/installations with veejay!


                 _             _                            _   
                (_)           | |                          | |  
 __   _____  ___ _  __ _ _   _| |__   __ _       _ __   ___| |_ 
 \ \ / / _ \/ _ | |/ _` | | | | '_ \ / _` |     | '_ \ / _ | __|
  \ V |  __|  __| | (_| | |_| | | | | (_| |  _  | | | |  __| |_ 
   \_/ \___|\___| |\__,_|\__, |_| |_|\__, | (_) |_| |_|\___|\__|
               _/ |       __/ |         | |                     
              |__/       |___/          |_|                                      http://veejayhq.net