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

FreeBSD Manual Pages

  
 
  

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

NAME
       mpeg2enc	- MPEG-1/2 encoder

SYNOPSIS
       mpeg2enc	 [-v|--verbose	num]  [-M|--multi-thread num_CPU] [-f|--format
       mpeg_profile]   [-l|--level]h|high|m|main    [-b|--video-bitrate	   bi-
       trate_kbps]  [-V|--video-buffer	video_buf_size_kB] [-T|--target-still-
       size  still_size_kB]  [-q|--quantisation	 quantisation]	 [-r|--motion-
       search-radius	 motion_search_radius]	  [-Q|--quantisation-reduction
       -4.0..5.0] [-X|--quant-reduction-max-var	 0.0..2500.0]  [-p|--3-2-pull-
       down]   [-I|--interlace-mode   0|1|2]  [-s|--sequence-header-every-gop]
       [-g|--min-gop-size   min_gop_size]   [-G|--max-gop-size	 max_gop_size]
       [-P|--force-b-b-p]     [-n|--video-norm	   n|p|s]     [-F|--frame-rate
       frame_rate_code]	[-x|--display-hsize]  32..38383]  [-y|--display-vsize]
       32..38383]  [-a|--aspect	 aspect_ratio_code] [-z|--playback-field-order
       b|t]  [-4|--reduction-4x4  1..4]	 [-2|--reduction-2x2  1..4]  [-S|--se-
       quence-length  size_MB]	[-B|--nonvideo-bitrate bitrate_kbps] [-N|--re-
       duce-hf 0.0..2.0] [-D|--intra_dc_prec 8..11]  [-H|--keep-hf]  [-d|--no-
       dummy-svcd-SOF]	[-C|--correct-svcd-hds]	 [--no-constraints] [-K|--cus-
       tom-quant-matrices     kvcd|tmpgenc|default|hi-res|file=inputfile|help]
       [-E|--unit-coeff-elim   -40..40]	  [-R|--b-per-refframe	 0..2]	[--no-
       altscan-mpeg2]	 [--dualprime-mpeg2]	[-A|--ratecontroller	 0..1]
       [-u|--cbr] [--chapters frame,...]  [-?|--help] -o|--output filename

DESCRIPTION
       mpeg2enc	is heavily enhanced derivative of the MPEG Software Simulation
       Group's	MPEG-2 reference encoder.  It accepts streams in a simple pla-
       nar YUV format "YUV4MPEG" produced by the lav2yuv and  related  filters
       (e.g.  yuvscaler(1)) from the mjpegtools(1) package.  An	output plug-in
       to the mpeg2dec(1) MPEG decoder is  available  to  permit  its  use  in
       transcoding applications. The encoder currently fully supports the gen-
       eration	of  elementary MPEG-1, progressive and interlaced frame	MPEG-2
       streams.	 Field encoded MPEG-2 is also possible but  is	not  currently
       maintained or supported.

       For  most purposes this elementary stream output	will need to be	multi-
       plexed with one or more audio streams into a program/systems stream us-
       ing the mplex(1)	tool.

       Note that although this manual page aims	to explain how mpeg2enc	can be
       used effectively	it is not intended  as	an  introduction  to  MPEG-1/2
       video which is a	fairly complex topic in	its own	right.	The MPEG video
       format  is  a somewhat baroque standard with many many options, not all
       of which	necessarily easy to explain or even particular useful  in  the
       context of a software encoder.

       Much  useful  practical	information  for  novices  can be found	in the
       mjpeg-HOWTO document that should	have been installed with mjpegtools(1)
       package.	 Further information and useful	 supporting  software  can  be
       found on	the mjpegtools web-site:

	      http://mjpeg.sourceforge.net

SELECTING THE MPEG PROFILE
       Set  the	MPEG profile to	use.  The MPEG standards support a vast	number
       of options.  In practice, different applications	 of  the  MPEG	format
       place additional	constraints of the form	the MPEG stream.  Setting this
       flag selects the	kind of	stream to produce.

       -f|--format 0
	       -       Generic MPEG1.

	       A basic MPEG-1 profile that lets	most parameters
	       be adjusted for particular applications using the other flags.
	       Typical	applications  would  be	 to produce a variable bitrate
       MPEG-1
	       stream with big buffers and a high data-rate software playback
	       on a computer.

       -f|--format 1
	       -       Standard	VCD.

       An MPEG1	profile	exactly	to the VCD2.0  specification.	Flag  settings
       that  would  result  in	a non-standard stream structure	are simply ig-
       nored.

       -f|--format 2
	       -       User VCD.

       As for profile 2	but bitrate and	video buffer size can be set  to  non-
       standard	 values.  Frame	 size  may also	be non-standard.  Bit-rate and
       buffer sizes default to those for standard VCD.

       -f|--format 3
	       -       Generic MPEG2.

       A basic MPEG-2 profile that lets	most parameters	be adjusted  for  par-
       ticular applications using the other flags.  Typical applications would
       be to produce a MPEG-2 stream with big buffers and long GOP's for soft-
       ware playback on	a computer.

       -f|--format 4
	       -       Standard	SVCD.

       An  MPEG-2  profile exactly to the SVCD2.0 specification. Flag settings
       that would result in a non-standard stream  structure  are  simply  ig-
       nored.

       -f|--format 5
	       -       Non-standard SVCD.

       As  for	profile	4 but bitrate, video buffer size, GOP sizes and	struc-
       ture can	be set to non-standard values. Frame size  may	also  be  non-
       standard.   Bit-rate  and  buffer  sizes	 default to those for standard
       SVCD.

       -f|--format 6
	       -       VCD Stills sequence.

       Encodes the special style of MPEG stream	used for still images on VCDs.
       To use this profile you must set	the target size	you wish  to  compress
       the  images  to	using the -T flag.   Reasonable	values are around 35KB
       for standard resolution stills (352 wide) and 120KB for high resolution
       stills (704 wide).

       -f|--format 7
	       -       SVCD Stills sequence.

       Encodes the special style of MPEG  stream  used	for  still  images  on
       SVCDs.	Both standard (480 wide) and high resolution (704 wide)	images
       are supported. As with VCD stills you select how	 big  each  compressed
       still should be using the -T flag.

       -f|--format 8
	       -       DVD MPEG-2 for 'dvdauthor'

       This  version  adds  special  dummy  navigation packets into the	output
       stream that the dvdauthor tool fills in to make a proper	.VOB  for  au-
       thoring.	  Bit-rate  defaults  to 7500kbps, buffer sizes	to the maximum
       permitted by the	DVD specification.

       -f|--format 9
	       -       DVD MPEG-2.

       Just a very basic implementation. Useful	with DXR2  board  and  similar
       hardware	 that  can decode MPEG-2 only if it is presented in a DVD like
       form.  Bit-rate defaults	to 7500kbps, buffer sizes to the maximum  per-
       mitted by the DVD specification.

       -f|--format 10
	       -       ATSC 480i

       -f|--format 11
	       -       ATSC 480p

       -f|--format 12
	       -       ATSC 720p

       -f|--format 13
	       -       ATSC 1080i

GENERAL	FUNCTION LETTERS
       -v|--verbose num

       Set verbosity level to num.  0 =	warnings and errors only, 1 = informa-
       tion as well, 2=really verbose.

       -K|--custom-quant-matriceskvcd|tmpgenc|
	default	| hi-res | file=inputfile | help

       Specify	which  quantisation  matrices  to  use instead of the defaults
       (which can be specified by using	"-K default").	 Using "-K hi-res"  is
       identical  to using the -H option. The value kvcd uses the Kvcd.Net ma-
       trices from http://www.kvcd.net/; the value tmpgenc invokes the TMPGEnc
       matrices	from http://www.tmpgenc.net/e_main.html. On average (this  de-
       pends  on  the  source material), the tmpgenc tables reduce the average
       bitrate by about	10% and	the kvcd tables	reduce bitrate	by  about  16%
       (compared to the	default	tables).

       -E|--unit-coeff-elim -40..40

       Specify	when a special 'unit coefficient elimination' algorithm	should
       be applied to the encoded picture blocks.   Basically,  this  procedure
       forces  blocks  of a type that don't carry much information but are ex-
       pensive to encode to be simply skipped.	The larger the number the more
       potentially visible this	skipping is likely to be but the more compres-
       sion is boosted.	 A negative value means	that all coefficients are  ze-
       roed,  positive	means only texture but not base	intensity coefficients
       are zeroed.  Values of around 10	or -10 seem to	work  well  with  high
       quality	source material. For noisier material it might be worth	trying
       20 or -20.

       -R|--b-per-refframe 0..2

       Specify how many	bi-directionally (B  type)  difference-encoded	frames
       should  be encoded between reference (I or P) frames.  The default is 0
       except for VCD encoding where it	is 2 B frames as required by the stan-
       dard.  Experts differ on	how much using B frames	improves  compression.
       In  practice  unless  you  have	really	clean material they tend to be
       fairly useless and sometimes even harmful.  Encoding  is	 significantly
       faster  and uses	less memory if no B frames are encoded and compression
       is rarely more than marginally worse.

       -?|--help

       Display a synopsis of the command syntax.

FUNCTION LETTERS ADJUSTING THE SELECTED	PROFILE
       N.b. If the profile you have selected sets particular values for	 these
       parameters  it  will  over-ride these adjustment	flags.	In particular,
       there is	almost nothing that can	be adjusted for	the standard  VCD  and
       SVCD profiles.

       -b|--video-bitrate num

       The  bitrate  of	 the output video stream in kBits/sec.	The default is
       exactly the bitrate required for	 VCD  streams.	 If  variable  bitrate
       (VBR)  mode  has	 been selected (see the	-q option) this	is the maximum
       bitrate of the stream. NOTE: By default MPEG-2 streams (-f 3, 4,	 5,  8
       and  9  are VBR.	 Use the --cbr option for generating CBR (Constant Bit
       Rate) streams.

       -A|--ratecontroller 0..1

       Specify which of	the rate control algorithms to use.   Default is 0.

       -V|--video-buffer num

       The maximum video buffer	usage required to decode the stream in KBytes.
       The default is 46KB the (tiny) size specified for VCD.  The size	to use
       for SVCD	is the (more reasonable) 230KB.	 If you	 are  encoding	for  a
       half-decent  software decoder it	makes sense to push this up to 500K or
       more.

       -T|--target-still-size num

       Set the target size for (S)VCD still images in KB.

       -s|--sequence-header-every-gop

       This flag forces	the encoder to generate	a  "sequence  header"  at  the
       start  of every group-of-pictures.  This	is needed by some player hard-
       ware to support fast forward/rewind/random access functions  but	 is  a
       waste of	bits otherwise.

       -d|--no-dummy-svcd-SOF

       The  SVCD  MPEG-2  profile demands that special "Scan OFfset" which are
       (in effect) pointers to the place on the	 final	SVCD  disk  where  the
       video for 0.5 and around	5-10 seconds behind and	ahead in the stream is
       located.	  The intended use of this information is to support"Fast for-
       ward/Rewind" functions.	Unfortunately, at the  time  mpeg2enc  encodes
       the  video  it doesn't know where the video is going to finally end up.
       So special dummy	"Scan OFfset" values are written which are intended to
       be filled in during the creation	of the SVCD image. Currently  the  GNU
       vcdimager  tool	handles	this task.  However, in	some circumstances the
       dummy offsets can cause problems.   This	flags stops mpeg2enc  generat-
       ing them.

       --correct-svcd-hds

       In  the official	SVCD standards the field in the	MPEG-2 header informa-
       tion that passes	on the encoders	"recommended" horizontal resolution to
       decode the stream to is supposed	to take	the values 540	(for  4:3  se-
       quences)	 or  720 (for 16:9 sequences).	In practice many players don't
       work unless the value is	480. This flag,	forces mpeg2enc	to follow  the
       official	standard. It is	worth trying if	16:9 sequences play at 4:3 as-
       pect ratio.

       --no-constraints

       This  flag deactivates all constraints for the maximum video samplerate
       or video	resolution. Its	purpose	is to allow the	 encoding  of  unusual
       resolutions  of MPEG-video (e.g.	2200 x 576, 160	degrees	FOV VR-theatre
       MPEG movies), but should	be used	with care: It can possible  circumvent
       a  number  of  other  security  checks, and untested settings can cause
       mpeg2enc	to crash in this mode.

       -l|--level h|high|m|main

       This flag allows	the MPEG-2 implementation level	against	which the cod-
       ing parameters are checked to be	set.  You may  need  to	 set  this  to
       'high' if you're	encoding HDTV material.

       --no-altscan-mpeg2

       This  flag  deactivates the use of the 'alternate' macroblock scan pat-
       tern for	MPEG2 encoding.	 Normally this pattern is used but a  few  el-
       derly  software decoders	had bugs relating to this feature.  You	should
       never need to use this flag.

       --dualprime-mpeg2

       MPEG-2 supports a special motion	estimation mode	(DPME, Dual Prime  Mo-
       tion  Estimation)  for I/P-frame	only streams that can somewhat improve
       compression.  A number of players (both hardware	and software)  do  not
       support	this  mode.  Those players  may	or may not be MPEG-2 compliant
       depending if DPME is an option or not in	the MPEG-2 specs.  If you need
       to generate content for	such players (e.g. Ogle	or Apple's DVD	player
       application)  you  should NOT turn on dualprime-mpeg2!  Surprisingly at
       least one hardware/set-top player is known to be	allergic to DPME being
       used.

       -z|--playback-field-order b|t

       This flag overrides the field-order specified in	the interlacing	tag of
       the input stream	header.	(If you	need this option, it indicates a prob-
       lem in the capturing/encoding process where the temporal	order  of  the
       two  fields  in	each  frame has	been mislabeled. The effect of this is
       weird "juddering" when playing back the	stream	on  a  TV.  Check  the
       mjpeg-howto for more information	about interlacing problems.)

OPTION LETTERS CONTROLLING VIDEO PARAMETERS
       -n|--video-norm n|p|s

       Force  the  input  stream to be treated as NTSC|PAL|SECAM regardless of
       what the	stream header might suggest.  Basically	this just sets the de-
       faults for a bunch of other options.

       -F|--frame-rate num

       Set the frame-rate of the output-stream.	By default, this value is  in-
       ferred  from  the  input	header.	Currently only the standard MPEG rates
       are supported.  Eventually more-or-less arbitrary rates will be	possi-
       ble.
	0 - illegal
	1 - 24000.0/1001.0 (NTSC 3:2 pulldown converted	FILM)
	2 - 24.0 (NATIVE FILM)
	3 - 25.0 (PAL/SECAM VIDEO / converted FILM)
	4 - 30000.0/1001.0 (NTSC VIDEO)
	5 - 30.0
	6 - 50.0 (PAL FIELD RATE)
	7 - 60000.0/1001.0 (NTSC FIELD RATE)
	8 - 60.0

       -a|--aspect num

       Set  the	 playback  aspect ratio	code of	the encoded video. By default,
       this value is inferred from the input header.
	1 - 1  - 1:1 display
	2 - 2  - 4:3 display
	3 - 3  - 16:9 display
	4 - 4  - 2.21:1	display

	      For MPEG-2 the specified aspect ratios are  used	directly.  For
	      MPEG-1  mpeg2enc	infers	the  MPEG-1 pixel aspect code from the
	      video norm specified and the specified playback aspect ratio.

       -x|--display-hsize num

       -y|--display-vsize num

       These set the display-horizontal-size and  display-vertical-size	 hints
       in  the	MPEG-2.	  By  default these are	simply the encode frame	dimen-
       sions.  However,	if they	are set	to different values the	player gets  a
       hint  that  the	appropriate 'black bars' or cropping/scaling should be
       performed. The main use for these parameters is to set a	display-verti-
       cal-size	of 1080	for HDTV 1080i or 1080p	 material.   Here,  since  the
       frame  height  has  to be a multiple of 16, the encoded frame height is
       forced to be 1088, even though HDTV standards specify only  1080	 lines
       of picture content.  Standards committees ... love' em.

       -p|--3-2-pulldown

       Setting	-p only	makes sense for	24frame/sec Movie source material.  It
       sets flags in the output	stream that tell the decoder to	play the movie
       as NTSC 60field/sec video using "3:2 pulldown".	This  is  vastly  more
       efficient  than encoding	as 60field/sec video.  The classic application
       is to transcode a PAL-encoded movie (24fps played too fast at 25	 fps!)
       into NTSC (see the -f flag).

OPTION LETTERS FOR CONTROLLING COMPRESSION AND SPEED
       -M|--multi-thread num_CPU

       MPEG  encoding is a task	that can be split over a small number of CPU's
       quite efficiently.  Mpeg2enc can	be internally set to split major  pro-
       cessing	tasks  between a number	of concurrent threads.	 This flag ad-
       justs the multi-threading to the	optimum	to utilise the specified  num-
       ber of CPU's.

       It should be noted that even with 1 CPU present some multi-threading is
       performed:  frame input takes place in parallel with encoding.  The de-
       fault -M	value is 1.  This allows good performance to be	achieved  when
       when a seperate machine is being	used for pre-processing	(decoding from
       MJPEG,  scaling,	 denoising etc)	with the final result pipe to mpeg2enc
       (e.g. using rsh or ssh).

       Setting -M 0 disables all multithreading.  This is sometimes useful for
       debugging or to achieve maximum CPU efficiency  on  a  shared  machine.
       Setting -M 3 on a dual-CPU machine will produce slightly	faster results
       than -M 2 at the	price of slightly less CPU efficiency.	This is	useful
       if  nothing else	needs to be done on the	encoding machine.  In practice
       there is	little point setting -M	greater	than 4 even if the  CPU's  are
       available  due  to  the fairly coarse-grained parallelism used.	Indeed
       there is	a hardcoded limit of 4 worker threads.

       The default has been changed to be 0 instead of 1 to avoid the crash at
       end of encoding:

       INFO: [mpeg2enc]	Signaling last frame = 499
       mpeg2enc: seqencoder.cc:433: void SeqEncoder::EncodeStream(): Assertion `pass1coded.size() == 0'	failed.
       Abort

       -q|--quantisation 1..31

       Minimum quantisation of the output stream.  Quantisation	 controls  the
       precision  with which image information is encoded.  The	lower the num-
       ber the higher the quality but  the  greater  the  required  data-rate.
       NOTE:  on  IA32	systems	it is possible to cause	artifacting by setting
       the value too low (3 or less) due to arithmetic overflow/truncation  in
       the DCT/iDCT routines.  If this option is set a variable	bitrate	stream
       is produced.  This is more efficient but	variable bitrate MPEG-1	cannot
       be played by some hardware decoders and is rejected by some DVD author-
       ing  packages.  If you intend to	use a software decoder you'd be	insane
       not to use variable bitrate.

       If this option is set without a maximum bitrate	being  specified  then
       quantisation  is	fixed at the specified value.  It should be noted that
       not specifying a	bitrate	is probably an error  and  may	produce	 unex-
       pected results.

       For  MPEG-2  streams  a	default	 of  8 is used if -q is	not explicitly
       given.  To force	constant bitrate streams use --cbr and -b NOT -q!

       -I|--interlace-mode 0|1|2

       Set the sequence	picture	structure and block encoding type  for	MPEG-2
       streams.	  By  default, this value is inferred from the interlacing tag
       of the input stream. Setting 0 encodes frame-by-frame with support  for
       interlaced video	turned off, and	specifies that progressive chroma sub-
       sampling	 has  been used.  Setting 1 encodes frame-by-frame with	inter-
       lace-adapted motion compensation	and block encoding, and	specifies that
       interlaced chroma subsampling has been used. Setting 2  encodes	inter-
       laced material field-by-field, which will produce more accurate results
       for highly textured interlaced material with lots of motion, at the ex-
       pense of	generally less efficiency.

	      This  setting  should  match  the	 interlaced-ness  of the input
	      stream, otherwise	chroma artifacts may  be  generated  when  the
	      MPEG stream is played back.

       -g|--min-gop-size num

       -G|--max-gop-size num

       These flags set the minimum and maximum group-of-picture	(GOP) size for
       the  output  MPEG stream.  The default values depend on the output for-
       mat.

       For MPEG-1 (for example VCD) the	default	is a fixed GOP size of 12  (-g
       and -G are both set to 12).

       For  MPEG-2 the default value of	-G (max) is set	according to the video
       system: -G 15 for 625 line (PAL)	and 18 for 525	line  (NTSC).	If  -g
       (min) has not been specified then the minimum GOP size is set to	be one
       half of the maximum (-G).

       To force	a fixed	GOP size specify both -g and -G	with the same value.

       If  the	minimum	 and maximum GOP sizes are not identical then mpeg2enc
       will start a new	GOP if more than 60% of	the macroblocks	in a  P	 or  B
       frame  are  Intra  encoded.   This ensure big changes of	image coincide
       with a fully-encoded I-frame by starting	 a new	GOP.   This  can  help
       prevent transient "blockiness".

       Reasonable minimum GOP sizes are	6 or 9.	 If a minimum is not specified
       but  a  maximum	is  given then the minimum will	be set to one half the
       maximum.	 A larger GOP size can help reduce the bitrate required	for  a
       given  quality.	 However,  this	 really	 only  applies to high-quality
       source material with little noise (e.g. digital video).	For  broadcast
       material	 there	is little point	setting	GOP size much beyond 21	or 24.
       Even with  good	source	material  diminishing  returns	set  in	 quite
       rapidly.	  Also	it must	be noted that specific MPEG-2 formats (such as
       for DVD)	are constrained	in the maximum allowable GOP size.

       Note: mpeg2enc is currently hard-wired to produce 2  B  frames  between
       each I/P	frame unless the GOP size forces less.	This is	reasonable for
       medium to high bitrates (>= 1Mbps) but probably sub-optimal for low-bi-
       trate encoding.

       -c|--closed-GOPs

       Setting	this  flag  causes  the	encoder	to generate only "closed" GOPs
       (Groups of Pictures) that can be	decoded	 without  reference  to	 their
       predecessor.   This  is useful for streams that are supposed to be used
       in multi-angle DVD's and	applications where more	easily edittable  MPEG
       is required.

       -P|--force-b-b-p

       This flag forces	the GOP	size selection to choose sizes that ensure 2 B
       frames  appear  between adjacent	I/P frames.  Several common MPEG-1 de-
       coders can't handle streams where less than 2 B-frames  appear  between
       I/P frames.

       -Q|--quantisation-reduction -4.0..5.0

       This flag sets the amount quantisation is reduced for blocks containing
       large  amounts  of sharp	image detail.  Large values produces efficient
       use of bits but may cause visible artifacting around detailed sections.
       With noisy source material this option may cause	a "swimming" effect on
       textured	backgrounds as the noise cause the quantisation	of  blocks  to
       be  boosted  at random.	The default is 0.0 (off).  See also the	-X op-
       tion.

       -X|--quant-reduction-max-var 0.0..2500.0

       Luma variance below which quantisation boost (-Q) is activated.

       -r|--motion-search-radius num

       This flag sets the motion estimation search radius.  For	most  purposes
       the  default  (16) should be just fine.	For high-resolution MPEG-2 and
       active scenes it	may be worth bumping it	up.  However, this  will  make
       encoding	 significantly slower.	There is little	point reducing the ra-
       dius.  Speed gains are not huge	and  the  impact  on  quality  can  be
       marked.

       -4|--reduction-4x4 1..4

       -2|--reduction-2x2 1..4

       These  options  control how radical the encoder is in throwing away ap-
       parently	poor candidate estimates during	motion estimation.  A  setting
       of 1 means very few blocks are discarded	early which makes for slow en-
       coding  but  quality  as	good as	it gets. A setting of 4	makes for fast
       encoding	but can	impact quality.	 The -4	flag controls discarding  dur-
       ing the initial 4*4 sub-sampled search stage, the -2 flag controls dis-
       carding during the secondary 2*2	sub-sampled stage.

	      These  flags  are	 useful	 as  the  speed	 quality  trade-off is
	      markedly different depending on which CPU	you have.   On	modern
	      machines	the  impact on speed is	around a factor	2 on older ma-
	      chines a factor 3.  The impact on	quality	is around 10%  quanti-
	      sation  (0.2  of	a bit of precision in encoding textures).  For
	      most purposes the	default	settings will be fine.	However	on  P-
	      III  Katmai etc -4 2 -2 1	gives a	good near-optimum quality set-
	      ting with	reasonably speed.

       -N|--reduce-hf num

       Setting this flag adjusts the way texture detail	is quantised to	reduce
       the precision with which	of high-frequency information encoded. This is
       very useful for mildly noisy sources.  If you have really noisy	mater-
       ial  the	filtering tools	available in mjpegtools	are a much better bet.
       The specified number must be in the range 0.0 to	2.0 gives  the	maxium
       quantisation boost.  A useful number to use would be 1.5	or 1.0.

       -H|--keep-hf

       Setting	this  flag makes the encoder encode as much high-frequency in-
       formation as possible.	This is	a good setting for maximising  quality
       at  VCD resolution with good quality low-noise source material.	It can
       also help with "swimmy" material	if you can spare the bitrate!

       -D|--intra_dc_prec num

       Specifies the precision of the DC component. The	 default  is  9.  Most
       commercial  DVDs	 use  10.  Using  9 instead saves a few	bits. Using 10
       might help to avoid looking larger  areas  of  nearly  the  same	 color
       blocky.	 A  value of 11	is only	valid at the next MPEG-2 profile/level
       so it's not a currently meaningful value	to use.

OPTION LETTERS FOR CHUNKING THE	OUTPUT STREAM
       -S|--sequence-length num

       This flag allows	the target size	of individual sequences	in  the	 final
       multiplexed stream to be	set in MBytes. If set  mpeg2enc	keeps track of
       how  large  the eventual	stream is getting and inserts a	sequence split
       (actually: sequence end / sequence start) into the output  stream  each
       time  it	 reaches  the  specified  limit.  The multiplexer mplex(1) can
       recognise these splits and start	a new  multiplexed  output  file  each
       time  it	 encounters one.   In this way it is easy to automatically en-
       sure each component sequence file can be	burnt onto a CD-R and still be
       played as a stand-alone MPEG sequence.	For the	SVCD and VCD  profiles
       the  default  target  sequence length is	700M bytes. For	other profiles
       the default is that sequence length is unlimited.

       -B|--nonvideo-bitrate num

       Since mpeg2enc can't read minds it cannot know in  advance  what	 other
       material	will be	multiplexed with the output video stream.  Thus	to get
       its  calculations  of  where to insert split point right	it needs to be
       told the	combined data-rate of the other	material that is eventually to
       be multiplexed with the video.  This flag allows	this rate to be	speci-
       fied in K bits/sec.

       A good rule of thumb is to use the total	rate of	all the	other  streams
       plus 1% of the total rate including video.

       -u|--cbr

       Force  the  use	of Constant Bit	Rate encoding.	Less than optimal (and
       inefficient in almost all cases)	but some folks	insist	on  it.	 NOTE:
       this disables (overrides) the use of the	-q option!

       It  is  an  error to use	this option and	not specify a bitrate using -b
       since a constant	bitrate	of 0 makes no sense.

       --chapters frame,...

       This flag allows	you to define chapter points within the	 mpeg  stream.
       This  is	 most useful when generating DVD video.	 Each chapter point is
       specified by frame number, with the first frame being number 0.	 Every
       chapter	point  defined will end	up at the beginning of a closed	GOP as
       an I frame.

SSE, 3D-Now!, MMX !
       mpeg2enc	makes extensive	use of these SIMD instruction set extension on
       x86 family CPU's.  The routines used are	determined dynamically at run-
       time.  It should	be noted that using SSE	requires operating system sup-
       port.  Old 2.2.x	Linux kernels (unless patched ones like	RedHat)	do not
       have this and so	SSE, although physically present, won't	be activated.

BUGS
       There should be an option to force GOP sizes that permit	2 B frames be-
       tween I/P frames.  Some decoders	(even software)	 can't handle the case
       where I/P frames	come back to back or with only 1 B frame between them.

       There needs to be a facility for	writing	dummy user-data	fields so that
       the multiplexer/imager can insert forward/backward pointers  when  mux-
       ing/imaging an SVCD.

AUTHOR
       This  man  page	was written by Andrew Stevens.	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
       mplex(1), mp2enc(1), lavrec(1), lavplay(1), lav2yuv(1), lav2wav(1), yu-
       vscaler(1), yuvdenoise(1), y4mdenoise(1), mjpegtools(1)

MJPEG Tools Team		  25 Aug 2002			   mpeg2enc(1)

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

home | help