xjadeo - X Jack Video Monitor


xjadeo [ OPTIONS ] [ video-file ]


xjadeo - the X Jack Video Monitor

Xjadeo is a software video player that displays a video clip synchronized to an external time source (MTC, LTC, JACK transport).

Xjadeo is intended for soundtrack composition, video monitoring and useful for any task that requires to synchronizing movie frames with audio events.


-A, --avverbose

Display verbose video decoder messages.

-a, --ontop

Keep xjadeo window on top of other applications.

-b, --no-letterbox

Scale movie to fit window. Without this option a letterbox is used to retain the aspect ratio.

-D, --debug

Print development related information.

-d <name>, --midi-driver <name>

Specify midi driver to use. Run ’xjadeo -V’ to list supported driver(s). <name> is case insensitive and can be shortened to the first unique name. eg ’-d j’ for jack, ’-d alsa-r’ for alsa-raw

-f <val>, --screen-fps <val>

Desired refresh rate of the video display in frames If this value is equal or less than zero, xjadeo will use the FPS of the video file as its update frequency (which is the default). Note: This does not affect screen/vblank sync. Synchronizing to the screen’s vertical refresh is hardware dependent (and always used if available).

-h, --help

Display this help and exit.

-I, --ignore-file-offset

This option is only useful for video files with a start offset, such as split vob files. Per default xjadeo honors offsets specified in the video file header. This option allows one to override (and subtract) this offset to align the start of the file with timecode 00:00:00:00.

-i <int>, --info <int>

Display time information using the OSD (on screen display). 0:Off, 1: Frame number, 2: Timecode, 3: both.

-J, --no-initial-sync

Do not connect to JACK, nor use any other sync source at application start.

-K <int>, --keyframe-limit <int>

Specify a maximum key-frame interval limit. With most video codecs, a video frame is the sum of a key-frame plus differences from the closest key-frame. For non continuous playback and random seeks xjadeo will have to go back to a key-frame and decode sequentially to the target frame. This can be quite CPU intense and hence the max. sequential decoding sequence is limited. By default to 100 frames For fast frame accurate seeks, it is highly recommended to transcode the video file using a codec where every frame is a key-frame (eg. mjpeg), and the video consists only of "intra" frames. (the key-frame interval is sometimes also called "group of pictures"s or GOP).

-l, --ltc

Sync to Linear Time Code (audio jack).

-M <int>, --midifps <int>

Specify MTC conversion mode:


use frame-rate from MTC clock (default)


use video file’s fps


"resample" file’s fps / MTC

-m <port>, --midi <port>

Use MTC as sync source The <port> argument is midi driver specific:


specify a midi port name to connect to,

or "" to not auto connect.

alsa-seq: specify ID to connect to (-1: none)

eg. -m ardour or -m 80

alsa-raw: specify hardware device

eg. -m hw:1,0 or -m 1

portmidi: numeric id; -1: autodetect

a value > -1 specifies the port number to use.

use ’-v -m -1’ to list midi ports.

-O <port>, --osc <port>

Listen for OSC messages on the given port. Xjadeo can be remote controlled using Open Sound Control. For a list of available commands, please see the source code or online documentation.

-o <val>, --offset <val>

Time offset video from timecode source. This allows one to offset the video playback a certain number of (video) frames relative to the time source. Positive and negative values are permitted. The offset van be specified either as integer frame number of as colon separated timecode.


Print available OSC commands and exit.

-Q, --mq

Enable POSIX realtime message queues. This sets up a communication channel for remote, intended to be used with ’xjremote’.

-q, --quiet, --silent

inhibit usual output.

-R, --remote

Enable interactive remote control mode using standard I/O. This option implies non-verbose and quiet as the terminal is used for interaction.

-r <file>, --rc <file>

Specify a custom configuration file to load.

-S, --no-splash

Skip the on screen display startup sequence.

-s, --fullscreen

Start xjadeo in full screen mode.

-T <file>, --ttf-file <file>

path to .ttf font for on screen display

-U, --uuid


-V, --version

Print version information and exit.

-W <rpc-id>, --ipc <rpc-id>

Setup IPC message queues for remote control Inter Process Communication is used by ’xjremote’ on OSX and other platforms that do not support realtime message queues

-v, --verbose

print more information

-x <int>, --vo <int>, --videomode <int>

Select a video output mode (default: 0: autodetect) A value of -1 lists the available mode and exits

Synchronization Sources:


JACK transport


Linear/Longitudinal Time Code - via JACK audio


MIDI Time Code via JACK MIDI


MIDI Time Code via ALSA sequencer (Linux only)


MIDI Time Code via ALSA raw devices (Linux only)


MIDI Time Code via portmidi (OSX, Windows)


Remote controlled manual seeks.

If neither -m nor -l options are given, xjadeo synchronizes to jack transport by default.

Video Codecs and Formats:

Xjadeo uses ffmpeg to decode video files, so a wide range of formats and codecs are supported. Note however that not all the codecs support reliable seeking. It is highly recommended to transcode the video file into a suitable format/codec. The recommend combination is avi/mjpeg. e.g. ffmpeg -i input-file.xxx -an -vcodec mjpeg output-file.avi This creates from your input-file.xxx an AVI mjpeg encoded video file without sound, and no compression between frames (motion jpeg - every frame is a key-frame). You may want also to shrink the size of the file by scaling down its geometry. This uses fewer system resources for decoding and display and leaves more space on the screen for your audio software. see ffmpeg -s <width>x<height> option and read up on the ffmpeg man page for further options. e.g. -qscale 0 to retain image quality.

Configuration Files:

At startup xjadeo reads the following resource configuration files in the following order:
system wide:

/etc/xjadeorc or /usr/local/etc/xjadeorc

old user config:


user config:

$XDM_CONFIG_HOME/xjadeo/xjadeorc (usually $HOME/.config/)

on OSX:


on Windows:


and $HOMEDRIVE$HOMEPATH\Local Settings\xjadeorc

(usually C:\Documents and Settings\<Username>\)

project specific:


Every line in the configuration file is a KEY=VALUE pair. If the first character on a line is either is a literal ’#’ or ’;’, the line is ignored. KEYS are case insensitive. Boolean values are specified as ’yes’ or ’no’. As for a list of available keys, please see the example configuration file, which is available in the documentation folder of the source code.

If xjadeo is compiled with jack session support, it will save its current state as config file and pass it as handle to the jack session manager.

User Interaction:

The xjadeo window offers a right-click context menu (except on OSX where the application has a main menu bar) which provides easy access to common functionality. On OSX and Windows this menu offers a file open dialog to change the video file that is being monitored. On Linux new files can be loaded by dragging the file onto the window itself. In addition xjadeo reacts to key presses. The following shortcuts are defined:


Close window and quit


Toggle always-on-top mode


Toggle On Screen Display black border


Clear all OSD display messages.


Toggle full screen mode


Toggle On Screen file geometry display


Toggle On Screen file time info display


Toggle letterbox scaling


Toggle mouse-cursor visibility


Cycle though offset display modes.


Swap OSD timecode/frame number position.


Toggle On Screen sync source timecode display


Cycle On Screen VTS/frame number display


Toggle seek-bar (experimental)


Reset timecode offset to zero


Increase timecode offset by one frame


Decrease timecode offset by one frame


Decrement timecode offset by one minute


Increment timecode offset by one minute


Resize window to match aspect ratio


Resize window to original video size


Decrease window size by 20%


Increase window size by 20%


Return jack transport to 00:00:00:00


Toggle jack transport play/pause


Show color equalizer (x11/imlib and XV only)


Reset color equalizer (x11/imlib and XV only)


Change color equalization (x11/imlib and XV only)


Fine tune color equalization (x11/imlib and XV only) brightness:1+2, contrast:3+4, gamma:5+6, saturation:7+8 hue:9+0. XV color balance is hardware dependent.

Note that it is possible to disable certain features using the remote control. A Host can take control of certain aspects e.g. offset or disallow closing the video monitor, except by host-provided means.


Report bugs at <https://github.com/x42/xjadeo/issues>
Website: <http://xjadeo.sf.net/>
built from:


compiled with: AVFORMAT=0x392964 AVCODEC=0x393065 AVUTIL:0x371c64 configuration: [ LTC JACK-SESSION POSIX-MQueue OSC ]
MTC/MIDI: [ jack-midi alsa-sequencer portmidi alsa-raw ]
Display(s): [ openGL Xv SDL X11/imlib2(RGBA32) ]


Copyright © GPL 2006-2015 Robin Gareus <robin@gareus.org>
Copyright © GPL 2006-2011 Luis Garrido <luisgarrido@users.sourceforge.net>
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.