Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
lavrec(1)		      MJPEG tools manual		     lavrec(1)

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

SYNOPSIS
       lavrec [options]	filename(s)

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

OPTIONS
       lavrec accepts the following options:

       filename
	       The file	to record to (*.avi, *.qt). Use	a % to record to  mul-
	       tiple  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 re-
	       sulting from filetype or	filesystem size	limits.	AVI, for exam-
	       ple, has	a 2 GB limit, as does ext2fs in	2.2.x kernels.

       --software-encoding
	       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).

       --software-encoding-yuvp
	       This option adds	support	for the	EM28XX	USB  driver.  As  this
	       driver  is  V4L2.  As the original BTTV software	implementation
	       assumes that the	driver supports	V4L it will not	work with  the
	       EM28XX driver, not even with the	V4L1 emulation layer. This op-
	       tion enables two	things:
		 It  enables the V4L2 calls to make interaction	with this dri-
	       ver possible
		 It select the cards YUV Packed	format and  converts  this  in
	       software	 to  YUV  Planar The process is	after this the same as
	       for the BTTV driver.  ome things	of note	are the	fact that  the
	       EM28XX  driver  expects	48KHz  audio  recording. If you	choose
	       slower things will work,	but a lot of  deleted/inserted	frames
	       will  occur.  The lower the sample rate,	the worse this problem
	       gets. Recording at 48KHz	is therefore recommended.   This  code
	       was  tested  and	 found	working	with a DVC100 Pinnacle Dazzle.
	       This option should work with any	EM28XX,	but  this  hasnt  been
	       tested.	 It  might work	for any	other V4L2 device that outputs
	       YUV packed format, this has however not been  tested.  Feedback
	       would be	appreciated.

       -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]
	       or

       -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 nu-
	       merical input is	necessary when using input four	or higher with
	       a card that has more than three inputs, for instance the	 Aver-
	       Media  6	 Eyes.	When using numeric input with the norm it must
	       contain the whole norm name; valid names	are pal, ntsc and  se-
	       cam.  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  cap-
	       ture  the  full frame since most	video4linux devices don't sup-
	       port 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	gener-
	       ally  mean  lower filesize, higher quality will take more disk-
	       space 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.

       -S/--single-frame
	       Single-frame  capture mode. This	means that one can capture in-
	       dividual	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.

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

       -B/--batch
	       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 au-
	       dio.

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

       -s/--stereo
	       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.

       -m/--mute
	       Mute  sound  output  while  recording.  This can	be useful when
	       recording sound from the	microphone to disable echos. This  op-
	       tion 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).

       -U/--use-read
	       Use the read() system call rather than the mmap()  system  call
	       for  audio  recording.  This may	fix many audio recording prob-
	       lems.

       -c/--synchronization [0|1|2]
	       Audio/video synchronization level efforts. (0)  means  no  syn-
	       chronization,  (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 num-
	       ber 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 max-
	       imum 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.

ENVIRONMENT
       The following environment variables can be recognized by	lavrec:

       LAV_VIDEO_DEV
	       The video device. Default is /dev/video

       LAV_AUDIO_DEV
	       The audio device. Default is /dev/dsp

       LAV_MIXER_DEV
	       The mixer device. Default is /dev/mixer

OUTPUT
       Lavrec  will  output the	current	recording state. Typically, this looks
       like:
       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 -  min-
       utes  -	seconds	 - frames).  int is the	interval (in milliseconds) be-
       tween 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-differ-
       ence (out-of-sync'ness).

TYPICAL	RECORDING SESSIONS
       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
	       /path/to/file.avi

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

BUGS
       lavrec should be	able to	detect automatically whether to	 use  software
       JPEG  encoding or whether to use	the card's hardware JPEG encoding fea-
       tures (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
       work-in-progress.

       Lavrec uses OSS for recording the audio.	ALSA emulates  OSS,  and  that
       can  cause problems with	the kernel of th 4.x.x series. So we recommend
       to use a	older kernel. There are	currently no plans to convert the  au-
       dio to native ALSA.

AUTHOR
       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:
	   mjpeg-users@lists.sourceforge.net
       For more	info, see our website at
	   http://mjpeg.sourceforge.net/

SEE ALSO
       mjpegtools(1), lavplay(1)

MJPEG Tools Team		27 August 2003			     lavrec(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lavrec&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help