mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 19:35:49 +00:00
5b6d890d6d
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6267 b3059339-0415-0410-9bf9-f77b7e298cf2
138 lines
4.8 KiB
Plaintext
138 lines
4.8 KiB
Plaintext
Description of what all thouse libavcodec options do ...
|
|
WARNING: iam no encoding expert so the recomanditions might be bad ...
|
|
if u find any errors, missing stuff, ... send a patch or cvs commit if u have an cvs account :)
|
|
|
|
vqmin 1-31 (minimum quantizer) for pass1/2
|
|
1 is not recomanded (much larger file, little quality difference and possible other weird things)
|
|
2 is recommanded for normal mpeg4/mpeg1video encoding
|
|
3 is recommanded for h263(p)/msmpeg4 (default)
|
|
the reason for 3 instead of 2 is that 2 could lead to overflows (this will be fixed for h263(p)
|
|
by chageing the quanizer per MB in the future, but msmpeg4 doesnt support that so it cant be fixed
|
|
for that)
|
|
|
|
vqscale 1-31 quantizer for constant quantizer /constant quality encoding
|
|
1 is not recomanded (much larger file, little quality difference and possible other weird things)
|
|
lower means better quality but larger files
|
|
see vqmin
|
|
|
|
vqmax 1-31 (maximum quantizer) for pass1/2
|
|
15 default
|
|
10-31 should be a sane range
|
|
|
|
vqdiff 1-31 (maximum quantizer difference between I or P frames) for pass1/2
|
|
3 default
|
|
|
|
vmax_b_frames 0-4 (maximum number of b frames between non b frames)
|
|
0 no b frames (default)
|
|
|
|
vme 0-5 (motion estimation)
|
|
0 none (not recommanded, very lq)
|
|
1 full (not recommanded, too slow)
|
|
2 log (not recommanded, lq)
|
|
3 phods (not recommanded, lq)
|
|
4 EPZS (default)
|
|
5 X1
|
|
|
|
vhq (high quality mode)
|
|
encode each MB as in all modes and choose the best (this is slow but better filesize/quality)
|
|
disabled by default
|
|
|
|
v4mv
|
|
allow 4 MV per MB (little difference in filesize/quality)
|
|
disabled by default
|
|
cannot be used with b frames or in lq mode currently
|
|
disabled by default
|
|
|
|
keyint 0-300 (maximum interval between keyframes)
|
|
keyframes are needed for seeking as seeking is only possible to a keyframe but keyframes need more space
|
|
than non keyframes so larger numbers here mean slightly smaller files
|
|
0 no keyframes
|
|
>300 is not recomanded as the quality might be bad (depends upon decoder & encoder & luck)
|
|
|
|
vb_strategy 0-1 for pass 2
|
|
0 allways use the max number of b frames (default)
|
|
1 avoid b frames in high motion scenes (this will cause bitrate missprediction)
|
|
|
|
vpass
|
|
1 first pass
|
|
2 second pass
|
|
|
|
vbitrate (kbits per sec) for pass1/2
|
|
800 is default
|
|
|
|
vratetol (filesize tolerance in kbit) for pass1/2
|
|
this is just approximate, the real difference can be much smaller or larger
|
|
1000- 100000 is a sane range
|
|
8000 is default
|
|
|
|
vb_qfactor (1.0-31.0) (BFrame quantizer= PFrame quantizer * vb_qfactor) for pass1/2
|
|
2.0 is default
|
|
tip: to do constant quantizer encoding with different quantizers for I/P and B frames
|
|
u can use vqmin=<ip-quant>:vqmax=<ip-quant>:vb_qfactor=<b_quant/ip_quant>
|
|
|
|
vqblur (0.0-1.0) quantizer blur (for pass1)
|
|
0.0 qblur disabled
|
|
0.5 is the default
|
|
1.0 average the quantizer over all previous frames
|
|
larger values will average the quantizer over time more so that the quantizer will be changed slower
|
|
|
|
vqcomp (0.0-1.0) quantizer compression (for pass1/2)
|
|
0.0 constant bitrate encoding, so fast moton frames will get as many bits as low motion
|
|
(high motion scenes look bad)
|
|
0.5 (default)
|
|
1.0 constant quantizer encoding (low motion scenes look bad)
|
|
|
|
vrc_strategy (0,1,2)
|
|
FIXME
|
|
|
|
vlelim (0-1000) single coefficient elimination threshold for luminance
|
|
0 disabled (default)
|
|
4 (JVT recomandition)
|
|
|
|
vcelim (0-1000) single coefficient elimination threshold for chrominance
|
|
0 disabled (default)
|
|
7 (JVT recomandition)
|
|
|
|
vstrict strict standart compliance
|
|
only recomanded if u want to feed the output into the mpeg4 reference decoder
|
|
|
|
vdpart data partitioning
|
|
+2 byte per video packet
|
|
improves resistance against damages after encoding
|
|
|
|
vpsize (0-10000) video packet size
|
|
0 disabled (default)
|
|
500-1000 good choice
|
|
improves resistance against damages after encoding
|
|
|
|
lavdopts: (decoder options)
|
|
ver error resilience
|
|
-1 needed for some very broken, encoders which completly ignore the standarts
|
|
0 (default)
|
|
1 more aggressive error detection, lavc might think that some correct streams contain errors
|
|
|
|
vbug manual workaround encoder bugs
|
|
0 (default)
|
|
1 (workaround for some old lavc generated msmpeg4v3 files)
|
|
|
|
|
|
Notes: 1. lavc will strictly follows the quantizer limits vqmin, vqmax, vqdiff even if
|
|
it violates the bitrate / bitrate tolerance
|
|
2. changing some options between pass1 & 2 can reduce the quality
|
|
|
|
FAQ: Q: the file is much too small
|
|
A: vqmin=2 or 1 (be carefull with 1, it could cause strange things to happen)
|
|
Q: i want to use -pass 1 & -pass 2 with vmax_b_frames>0
|
|
A: read DOCS/tech/patches.txt and send a patch ;)
|
|
Q: which provides better error recovery per filesize increase data partitioning or video packets?
|
|
A: data partitioning
|
|
|
|
glossary:
|
|
MB Macroblock (16x16 luminance & 8x8 chrominance samples)
|
|
MV Motion vector
|
|
ME Motion estimation
|
|
MC Motion compensation
|
|
|
|
example:
|
|
mencoder foobar.avi -lavcopts vcodec=mpeg4:vhq:keyint=300:vqscale=2 -o new-foobar.avi
|