Man Linux: Main Page and Category List


       lavrec - Record MJPEG-video from a zoran/video4linux-device


       lavrec [options] filename(s)


       lavrec can be used to record video in MJPEG format (either quicktime or
       AVI) from a zoran  video-capture  device,  such  as  the  Miro/Pinnacle
       DC10(+),  the  Iomega Buz or Linux Media Labs’ LML33, or from a generic
       video4linux device, such as the cheap Bt848  or  Bt878  based  TV-cards
       that are being sold in every computer shop around the corner.


       lavrec accepts the following options:

               The  file  to  record  to  (*.avi,  *.qt). Use a % to record to
               multiple files (using file%02d.avi will record  to  file00.avi,
               file01.avi,  etc).  You  can  also give more than one filename,
               which will have the  same  effect.  This  will  avoid  problems
               resulting  from  filetype  or  filesystem size limits. AVI, for
               example, has a 2 GB limit, as does ext2fs in 2.2.x kernels.

               By default, lavrec will capture in a mode that is only suitable
               for  recording  from  hardware MJPEG devices. Using this option
               will make lavrec  use  software-JPEG-encoding  (using  libjpeg)
               which enables MJPEG-video-capture from many generic video4linux
               devices (such as Bt848/Bt878-based ones).

       -f/--format [a|A|q|m]
               The format in which the video should be saved to the  harddisk.
                 a - MJPEG AVI
                 A - MJPEG AVI with fields exchanged
                 q - Quicktime
               By default, lavrec will look at the extension of the first file
               (*.avi, *.qt) and choose a format based on that.

       -i/--input [p|P|n|N|s|S|t|T|f|a]

       -i/--input input[:norm]
               The recording source and the video source standard format.
                p - PAL through Composite or 1st Bt8x8 input
                P - PAL through SVHS- or 2nd Bt8x8 input
                t - PAL through TV-tuner- or 3rd Bt8x8 input
                n - NTSC through Composite or 1st Bt8x8 input
                N - NTSC through SVHS- or 2nd Bt8x8 input
                T - NTSC through TV-tuner- or 3rd Bt8x8 input
                s - SECAM through Composite or 1st Bt8x8 input
                S - SECAM through SVHS- or 2nd Bt8x8 input
                f - SECAM through TV-tuner- or 3rd Bt8x8 input
                a - (or every other letter) Autosense (default)
               The input can be specified using either single  letters  or  an
               input  number with an optional norm, where the number specifies
               the n’th input of the card, ranging  from  1  to  10.  Using  a
               numerical  input  is  necessary when using input four or higher
               with a card that has more than three inputs, for  instance  the
               AverMedia  6  Eyes.   When using numeric input with the norm it
               must contain the whole norm name; valid names are pal, ntsc and
               secam.  You can use numeric input selection for cards with only
               three  inputs,  too,  which  most  Zoran   based   cards   has.
               "-i 2:pal"  used  with  a  Buz  would  be equivalent to "-i P",
               recording from the S-Video input in PAL format.

       -d/--decimation num
               Recording decimation, either 1, 2 or 4. This will decimate  the
               size  of the recorded video horizontally and vertically. To use
               different horizontal and vertical decimations, use two numbers,
               the first one being the horizontal and the second one being the
               vertical (-d 12).  Note: this option can only  be  used  during
               hardware recording.

       -g/--geometry WxH(+X+Y)
               For  hardware recording: An X-style geometry string, giving the
               geometry of the undecimated subframe to record. The default  is
               the  full  frame,  so  720x576/480+0+0  for Buz/LML33-users and
               640x480+0+0 or 768x576+0+0  for  DC10(+)-users.   For  software
               recording:  The  size  of the video to be captured.  Currently,
               width and height need to  be  a  multiple  of  16.  You  always
               capture  the  full  frame  since most video4linux devices don´t
               support subframe capture.

       -q/--quality num
               Quality of the JPEG-video to be  recorded  (in  percent).  This
               must  be  a  number  between  0  and  100. Lower quality should
               generally mean lower filesize, higher quality  will  take  more
               diskspace  but  will  give  more  detailed  perfectness  in the
               resulting recorded video. Default is 50%.

       -C/--channel LIST:CHAN
               Choose the channel to record from  (xawtv-style).  By  default,
               lavrec will just use the current TV channel.

       -t/--time num
               Recording  time  in  seconds. The default is unlimited. To stop
               capturing video while recording, use Ctrl-C.

               Single-frame capture mode. This  means  that  one  can  capture
               individual frames from the capture device.

       -T/--time-lapse num
               time-lapse factor, which means that only every <num>th frame is
               saved to the recording file.

               If this option is given, lavrec will wait for the user to press
               enter before starting to record.

               This  option  turns  off all possible interactivity options and
               limits  console  output  as  much  as  possible.   Useful   for
               cron/scheduled recordings.

       -a/--audio-bitsize num
               Audio  size  in  bits,  either 0, 8 or 16 (default). 0 means no

       -r/--audio-bitrate num
               Audio sampling rate in Hz. This must be a sampling  rate  which
               is  supported  by the soundcard. Often-supported audio sampling
               rate values are 11025, 22050 or 44100 (default).

               Capture in stereo. By default, lavrec captures in mono.

       -l/--audio-volume num
               Recording level. This must be a value between 0 (no sound)  and
               100 (loud recording). -1 (default) means to not touch the mixer
               settings at all.

               Mute sound output while recording.  This  can  be  useful  when
               recording  sound  from  the  microphone  to disable echos. This
               option is disabled by default.

       -R/--audio-source [l|m|c]
               Recording source, either (l)ine-in, (m)icrophone  or  (c)d-rom.
               The default is to record from line-in (l).

               Use  the  read() system call rather than the mmap() system call
               for  audio  recording.  This  may  fix  many  audio   recording

       -c/--synchronization [0|1|2]
               Audio/video   synchronization   level  efforts.  (0)  means  no
               synchronization, (1) means that lavrec  will  replicate  frames
               for  lost  frames.  (2) means that lavrec will replicate frames
               for lost frames and do sync correction.  Default is 2.

       -n/--mjpeg-buffers num
               Number of MJPEG-buffers.  Default  is  32.  Try  changing  this
               number if you have many lost frames.

       -b/--mjpeg-buffer-size num
               MJPEG buffersize in kilobytes. The default is 256 kB.

       --max-file-size num
               The  maximum  file  size per JPEG file. By default, lavrec uses
               the maximum possible size for that specific recording format.

       --max-file-frames num
               The maximum number of frames per per JPEG file. By default, the
               number  of  frames  is  only  limited by other factors, such as
               maximum file size.

       --file-flush num
               Flush the file to disk after every num frames captured.

       -v/--verbose num
               Verbosity level (0, 1 or 2). Default is 0.


       The following environment variables can be recognized by lavrec:

               The video device. Default is /dev/video

               The audio device. Default is /dev/dsp

               The mixer device. Default is /dev/mixer


       Lavrec will output the current recording state. Typically,  this  looks
       0.06.14:22 int: 00040 lst:0 ins:0 del:0 ae:0 td1=0.014 td2=0.029
       The  first  part  is  the  time  that has been spent recording (hours -
       minutes - seconds - frames).  int is  the  interval  (in  milliseconds)
       between two captured frames (this should be around 40 for PAL/SECAM and
       33 for NTSC).  lst is the number of lost frames.  ins and del  are  the
       number  of  frames inserted and deleted for sync correction.  ae is the
       number of  audio  errors.   td1  and  td2  are  the  audio/video  time-
       difference (out-of-sync’ness).


       Okay,  that’s  a lot of options. Now how would I normally record video?
       Let’s assume you want to record at VCD resolution  (352x288)  from  PAL
       source.  You might want some higher quality than default (80%). You use
       default audio options and record to an AVI file. That having said, your
       recording command line would look like:

       From hardware MJPEG devices (S-video input)
               lavrec   --format=a   --input=P   --quality=80   --decimation=2

       From normal video4linux devices
               lavrec --software-encoding  --format=a  --input=p  --quality=80
               --geometry=352x288 /path/to/file.avi


       lavrec  should  be able to detect automatically whether to use software
       JPEG encoding or whether to  use  the  card’s  hardware  JPEG  encoding
       features (if available).

       Besides  that,  software JPEG encoding seems, for some people, to cause
       small out-of-sync’ness. SMP support  for  JPEG  encoding  is  currently


       This man page was written by Ronald Bultje.
       If  you  have  questions, remarks, problems or you just want to contact
       the developers, the main mailing list for the MJPEG-tools is:
       For more info, see our website at


       mjpegtools(1), lavplay(1)