XJADEO(1)

NAME
xjadeo - X Jack Video Monitor

SYNOPSIS
xjadeo [ OPTIONS ] [ video-file ]

DESCRIPTION
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.

OPTIONS

-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:

0:  use frame-rate from MTC clock (default)

1:  use video file's fps

2:  "resample" file's fps / MTC

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

jack-midi:
    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.

--osc-doc
    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
    specify JACK SESSION 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:
    JACK transport

LTC:
    Linear/Longitudinal Time Code - via JACK audio

MTC:
    MIDI Time Code via JACK MIDI

MTC:
    MIDI Time Code via ALSA sequencer (Linux only)

MTC:
    MIDI Time Code via ALSA raw devices (Linux only)

MTC:
    MIDI Time Code via portmidi (OSX, Windows)

Manual:
    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:
    $HOME/.xjadeorc

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

on OSX:
    $HOME/Library/Preferences/xjadeorc

on Windows:
    $HOMEDRIVE$HOMEPATH\xjadeorc

and $HOMEDRIVE$HOMEPATH\Local Settings\xjadeorc
    (usually C:\Documents and Settings\<Username>\)

project specific:
    $PWD/xjadeorc

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:

'Esc'
    Close window and quit

'a' Toggle always-on-top mode

'b' Toggle On Screen Display black border

'Shift+C'
    Clear all OSD display messages.

'f' Toggle full screen mode

'g' Toggle On Screen file geometry display

'i' Toggle On Screen file time info display

'l' Toggle letterbox scaling

'm' Toggle mouse-cursor visibility

'o' Cycle though offset display modes.

'p' Swap OSD timecode/frame number position.

's' Toggle On Screen sync source timecode display

'v' Cycle On Screen VTS/frame number display

'x' Toggle seek-bar (experimental)

'\' Reset timecode offset to zero

'=' Increase timecode offset by one frame

'-' Decrease timecode offset by one frame

'+' Increase timecode offset by one second

'_' Decrease timecode offset by one second

'{' 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%

'backspace'
    Return jack transport to 00:00:00:00

'space'
    Toggle jack transport play/pause

'e' Show color equalizer (x11/imlib and XV only)

'Shift+E'
    Reset color equalizer (x11/imlib and XV only)

'0-9'
    Change color equalization (x11/imlib and XV only)

'Shift+1-4'
    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.

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

built from:
    scm-v0.8.10

    compiled with: AVFORMAT=0x3a1464 AVCODEC=0x3a2364 AVUTIL:0x381664 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
Copyright © GPL 2006-2021 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.