[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Plugin Invocation

Plugins are programs. They may be run from the command line, from shell scripts, or by the JANE GUI. They can talk to each other via standard input and output, UNIX sockets, pipes, and TCP connections.

Plugin options are in the standard GNU format: "--option value" or "-o value". Every option must have a long version; there may or may not be a one-letter abbreviation.

Streams may be specified in several ways

  1. a dash ('-') representing standard input or output (as appropriate)
  2. an integer (e.g. '2') representing an already-opened file descriptor
  3. the name of a file or named pipe.
  4. a TCP socket (e.g. tcp://foobar.net:4562/)
  5. a UNIX socket (e.g. unix:/tmp/sock)

Multiple streams are specified by giving multiple input and output options. Plugins are not required to accept any particular number of inputs or provide any particular numbe of outputs, and may, at their discretion, barf.

2.1 capture  Grab data from external sources
2.2 generators  Create new data
2.3 decoders  Decode to JANE format
2.4 filters  Modify data on the fly
2.5 encoders  Encode from JANE to various formats


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 capture

TODO: video4linux2 TODO: firewire


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 generators

TODO: black TODO: freetype TODO: colorbars TODO: solid color TODO: test tone


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 decoders

2.3.1 dv2jane  Decode DV (Digital Video)
2.3.2 mpeg2jane  Decode MPEG-1/2
2.3.3 mpeg2jane  Decode AVI files


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.1 dv2jane

dv2jane decodes a raw DV stream. It cannot decode DV wrapeprd in an AVI file. It also cannot decode all varieties of the DV format. Sorry.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.2 mpeg2jane

mpeg2jane decodes MPEG files (vresion 1 or 2) using libmpeg3. It can't decode DVD MPEG files unless they have correct VOBU (Video OBject Unit) records; ifogen can do this for you.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.3 mpeg2jane

avi2jane decodes AVI using libavifile


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 filters

Filters process data as it passes through, operating on each frame separately, and having an output that corresponds to each input.

2.4.1 greyscale  

TODO: color_invert TODO: anti-jitter TODO: denoise TODO: emboss TODO: browse GIMP filters


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4.1 greyscale

greyscale simply converts a video frame to greyscale. It works natively on either YUV or RGB data.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 encoders

2.5.1 jane2dv  Encode to DV
2.5.2 jane2dvd  Encode to DVD-compatible MPEG2


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5.1 jane2dv

jane2dv encodes audio and video to raw DV (Digital Video) format. DV is used in many digital camcorders. It does not currently support writing AVI DV files.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5.2 jane2dvd

jane2dvd encodes audio and video to a DVD-compatible MPEG2 format. MPEG2 is a fairly efficient format, since it takes advantage of the similarities between consecutive frames.

This plugin does not burn a DVD; do do that, you need to run ifogen to update the time markers in the file, then cdrecord to burn the DVD.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Eric Buddington on February, 24 2004 using texi2html