Video files

A video file consists out of TWO seperate elements:

  • container
  • codec

The container holds the digitally encoded data and the codec is capable of decoding/encoding this digitally encoded data.

Veejay supports the AVI and the Quicktime container , with the following codecs:

Quicktime:

  • mpjeg,mjpa,jpeg,dmb1
  • dvsd, dv, dvcp, dvhd

AVI

  • mjpeg, mjpa,jpeg,jfif,dmb1
  • dvsd, dv, dvcp, dvhd
  • i420, i422, yv16, hfyu

Raw DV

  • PAL / NTSC dvsd

Veejay can only deal with video files that consists entirely out of whole images (only I-frames). The codecs below will only work if all frames are I-frames. Otherwise, veejay will abort with an error message.

AVI / Quicktime:

  • xvid, mp4v,divx,dxsd,mp4s,m4s2
  • div3,mp43,mp42,mpg4
  • avc1,h264,x264,davc,svq1,svq3,avc1

Wich codec to use

MotionJPEG ( mjpeg) is the veejay codec of choice for most applications, it gives you a good tradeof between compression, quality and compatibility. If you want speed, use AVI yv16 or i420 while recording to new samples.

Tools that support MJPEG:

Wich resolutions to use

Veejay can do:

  • pal: 720x576
  • ntsc: 720x480
  • 1/4 pal: 360x288
  • 1/4 ntsc: 360x240

If you load multiple video files on the commandline, make sure that all files have the same resolution and audio properties.

How to convert

Veejay can convert dv video to mjpeg for you, however, I prefer to use mplayer for this, wich has more flexibility.

From "anything" mplayer can play to mjpeg, use:

 $ mencoder -ovc lavc -oac pcm -lavcopts vcodec=mjpeg -o <outputfile> <inputfile>

To scale on the fly, use:

 $ mencoder -ovc lavc -oac pcm -lavcopts vcodec=mjpeg -vf scale=352:288 -o <outputfile> <inputfile>

consult mplayer documentation about other options, such as cropping and filtering out blocks in video.

a quick hint for bulk encoding a bunch of capture.dv files:

 $ for i in `ls *dv`;do mencoder -ovc lavc -oac pcm -lavcopts vcodec=mjpeg -o `echo $i | sed s/.dv/.avi/` $i; done;

What is this dummy mode

Dummy mode opens up a 'color stream' to start veejay without a video file.

If you use a video file, veejay will take that file's properties as default settings for the whole session.