x264常用options整理

Syntax: x264 [options] -o outfile infile [widthxheight]

 

Infile can be raw YUV 4:2:0 (in which case resolution is required),

  or YUV4MPEG 4:2:0 (*.y4m),

  or Avisynth if compiled with support (native).

Outfile type is selected by filename:

 .264 -> Raw bytestream

 .mkv -> Matroska

 .flv -> Flash Video

 .mp4 -> MP4 if compiled with GPAC support (no)

 

Options:

 

  -h, --help                  List basic options

      --longhelp              List more options

      --fullhelp              List all options

 

Example usage:

 

      Constant quality mode:

            x264 --crf 24 -o <output> <input>

 

      Two-pass with a bitrate of 1000kbps:

            x264 --pass 1 --bitrate 1000 -o <output> <input>

            x264 --pass 2 --bitrate 1000 -o <output> <input>

 

      Lossless:

            x264 --crf 0 -o <output> <input>

 

      Maximum PSNR at the cost of speed and visual quality:

            x264 --preset placebo --tune psnr -o <output> <input>

 

      Constant bitrate at 1000kbps with a 2 second-buffer:

            x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input>

 

Presets:

 

      --profile               Force H.264 profile [high]

                                  Overrides all settings

                                  - baseline:

                                    --no-8x8dct --bframes 0 --no-cabac

                                    --cqm flat --weightp 0 No interlaced

                                    No lossless

                                  - main:

                                    --no-8x8dct --cqm flat No lossless

                                  - high:

                                    No lossless

      --preset                Use a preset to select encoding settings [medium]

                                  Overridden by user settings

                                  - ultrafast:

                                    --no-8x8dct --aq-mode 0 --b-adapt 0

                                    --bframes 0 --no-cabac --no-deblock

                                    --no-mbtree --me dia --no-mixed-refs

                                    --partitions none --ref 1 --scenecut 0

                                    --subme 0 --trellis 0 --no-weightb

                                    --weightp 0

                                  - veryfast:

                                    --no-mbtree --me dia --no-mixed-refs

                                    --partitions i8x8,i4x4 --ref 1

                                    --subme 1 --trellis 0 --weightp 0

                                  - faster:

                                    --no-mbtree --no-mixed-refs --refs 2

                                    --subme 4 --weightp 1

                                  - fast

                                    --rc-lookahead 30 --ref 2 --subme 6

                                  - medium

                                    Default settings apply.

                                  - slow

                                    --b-adapt 2 --direct auto --me umh

                                    --rc-lookahead 50 --ref 5 --subme 8

                                  - slower

                                    --b-adapt 2 --direct auto --me umh

                                    --partitions all --rc-lookahead 60

                                    --ref 8 --subme 9 --trellis 2

                                  - veryslow

                                    --b-adapt 2 --bframes 8 --direct auto

                                    --me umh --me-range 24 --partitions all

                                    --ref 16 --subme 10 --trellis 2

                                    --rc-lookahead 60

                                  - placebo

                                    --bframes 16 --b-adapt 2 --direct auto

                                    --slow-firstpass --no-fast-pskip

                                    --me tesa --me-range 24 --partitions all

                                    --rc-lookahead 60 --ref 16 --subme 10

                                    --trellis 2

      --tune                  Tune the settings for a particular type of source

                                  Overridden by user settings

                                  - film:

                                    --deblock -1:-1 --psy-rd <unset>:0.15

                                  - animation:

                                    --bframes {+2} --deblock 1:1

                                    --psy-rd 0.4:<unset> --aq-strength 0.6

                                    --ref {Double if >1 else 1}

                                  - grain:

                                    --aq-strength 0.5 --no-dct-decimate

                                    --deadzone-inter 6 --deadzone-intra 6

                                    --deblock -2:-2 --ipratio 1.1 

                                    --pbratio 1.1 --psy-rd <unset>:0.25

                                    --qcomp 0.8

                                  - psnr:

                                    --aq-mode 0 --no-psy

                                  - ssim:

                                    --aq-mode 2 --no-psy

                                  - fastdecode:

                                    --no-cabac --no-deblock --no-weightb

                                    --weightp 0

                                  - zerolatency:

                                    --bframes 0 --rc-lookahead 0

                                    --sync-lookahead 0 --sliced-threads

                                  - touhou:

                                    --aq-strength 1.3 --deblock -1:-1

                                    --partitions {p4x4 if p8x8 set}

                                    --psy-rd <unset>:0.2

                                    --ref {Double if >1 else 1}

      --slow-firstpass        Don't use faster settings with --pass 1

 

Frame-type options:

 

  -I, --keyint <integer>      Maximum GOP size [250]

  -i, --min-keyint <integer>  Minimum GOP size [25]

      --no-scenecut           Disable adaptive I-frame decision

      --scenecut <integer>    How aggressively to insert extra I-frames [40]

  -b, --bframes <integer>     Number of B-frames between I and P [3]

      --b-adapt               Adaptive B-frame decision method [1]

                                  Higher values may lower threading efficiency.

                                  - 0: Disabled

                                  - 1: Fast

                                  - 2: Optimal (slow with high --bframes)

      --b-bias <integer>      Influences how often B-frames are used [0]

      --b-pyramid <string>    Keep some B-frames as references [none]

                                  - none: Disabled

                                  - strict: Strictly hierarchical pyramid

                                  - normal: Non-strict (not Blu-ray compatible)

      --no-cabac              Disable CABAC

  -r, --ref <integer>         Number of reference frames [3]

      --no-deblock            Disable loop filter

  -f, --deblock <alpha:beta>  Loop filter parameters [0:0]

      --slices <integer>      Number of slices per frame; forces rectangular

                              slices and is overridden by other slicing options

      --slice-max-size <integer> Limit the size of each slice in bytes

      --slice-max-mbs <integer> Limit the size of each slice in macroblocks

      --interlaced            Enable pure-interlaced mode

      --constrained-intra     Enable constrained intra prediction.

 

Ratecontrol:

 

  -q, --qp <integer>          Force constant QP (0-51, 0=lossless)

  -B, --bitrate <integer>     Set bitrate (kbit/s)

      --crf <float>           Quality-based VBR (0-51, 0=lossless) [23.0]

      --rc-lookahead <integer> Number of frames for frametype lookahead [40]

      --vbv-maxrate <integer> Max local bitrate (kbit/s) [0]

      --vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]

      --vbv-init <float>      Initial VBV buffer occupancy [0.9]

      --qpmin <integer>       Set min QP [10]

      --qpmax <integer>       Set max QP [51]

      --qpstep <integer>      Set max QP step [4]

      --ratetol <float>       Tolerance of ABR ratecontrol and VBV [1.0]

      --ipratio <float>       QP factor between I and P [1.40]

      --pbratio <float>       QP factor between P and B [1.30]

      --chroma-qp-offset <integer>  QP difference between chroma and luma [0]

      --aq-mode <integer>     AQ method [1]

                                  - 0: Disabled

                                  - 1: Variance AQ (complexity mask)

                                  - 2: Auto-variance AQ (experimental)

      --aq-strength <float>   Reduces blocking and blurring in flat and

                              textured areas. [1.0]

 

  -p, --pass <1|2|3>          Enable multipass ratecontrol

                                  - 1: First pass, creates stats file

                                  - 2: Last pass, does not overwrite stats file

                                  - 3: Nth pass, overwrites stats file

      --stats <string>        Filename for 2 pass stats ["x264_2pass.log"]

      --no-mbtree             Disable mb-tree ratecontrol.

      --qcomp <float>         QP curve compression [0.60]

      --cplxblur <float>      Reduce fluctuations in QP (before curve compression) [20.0]

      --qblur <float>         Reduce fluctuations in QP (after curve compression) [0.5]

      --zones <zone0>/<zone1>/...  Tweak the bitrate of regions of the video

                              Each zone is of the form

                                  <start frame>,<end frame>,<option>

                                  where <option> is either

                                      q=<integer> (force QP)

                                  or  b=<float> (bitrate multiplier)

      --qpfile <string>       Force frametypes and QPs for some or all frames

                              Format of each line: framenumber frametype QP

                              QP of -1 lets x264 choose. Frametypes: I,i,P,B,b.

                              QPs are restricted by qpmin/qpmax.

 

Analysis:

 

  -A, --partitions <string>   Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]

                                  - p8x8, p4x4, b8x8, i8x8, i4x4

                                  - none, all

                                  (p4x4 requires p8x8. i8x8 requires --8x8dct.)

      --direct <string>       Direct MV prediction mode ["spatial"]

                                  - none, spatial, temporal, auto

      --no-weightb            Disable weighted prediction for B-frames

      --weightp               Weighted prediction for P-frames [2]

                              - 0: Disabled

                              - 1: Blind offset

                              - 2: Smart analysis

      --me <string>           Integer pixel motion estimation method ["hex"]

                                  - dia: diamond search, radius 1 (fast)

                                  - hex: hexagonal search, radius 2

                                  - umh: uneven multi-hexagon search

                                  - esa: exhaustive search

                                  - tesa: hadamard exhaustive search (slow)

      --merange <integer>     Maximum motion vector search range [16]

      --mvrange <integer>     Maximum motion vector length [-1 (auto)]

      --mvrange-thread <int>  Minimum buffer between threads [-1 (auto)]

  -m, --subme <integer>       Subpixel motion estimation and mode decision [7]

                                  - 0: fullpel only (not recommended)

                                  - 1: SAD mode decision, one qpel iteration

                                  - 2: SATD mode decision

                                  - 3-5: Progressively more qpel

                                  - 6: RD mode decision for I/P-frames

                                  - 7: RD mode decision for all frames

                                  - 8: RD refinement for I/P-frames

                                  - 9: RD refinement for all frames

                                  - 10: QP-RD - requires trellis=2, aq-mode>0

      --psy-rd                Strength of psychovisual optimization ["1.0:0.0"]

                                  #1: RD (requires subme>=6)

                                  #2: Trellis (requires trellis, experimental)

      --no-psy                Disable all visual optimizations that worsen

                              both PSNR and SSIM.

      --no-mixed-refs         Don't decide references on a per partition basis

      --no-chroma-me          Ignore chroma in motion estimation

      --no-8x8dct             Disable adaptive spatial transform size

  -t, --trellis <integer>     Trellis RD quantization. Requires CABAC. [1]

                                  - 0: disabled

                                  - 1: enabled only on the final encode of a MB

                                  - 2: enabled on all mode decisions

      --no-fast-pskip         Disables early SKIP detection on P-frames

      --no-dct-decimate       Disables coefficient thresholding on P-frames

      --nr <integer>          Noise reduction [0]

 

      --deadzone-inter <int>  Set the size of the inter luma quantization deadzone [21]

      --deadzone-intra <int>  Set the size of the intra luma quantization deadzone [11]

                                  Deadzones should be in the range 0 - 32.

      --cqm <string>          Preset quant matrices ["flat"]

                                  - jvt, flat

      --cqmfile <string>      Read custom quant matrices from a JM-compatible file

                                  Overrides any other --cqm* options.

      --cqm4 <list>           Set all 4x4 quant matrices

                                  Takes a comma-separated list of 16 integers.

      --cqm8 <list>           Set all 8x8 quant matrices

                                  Takes a comma-separated list of 64 integers.

      --cqm4i, --cqm4p, --cqm8i, --cqm8p

                              Set both luma and chroma quant matrices

      --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc

                              Set individual quant matrices

 

Video Usability Info (Annex E):

The VUI settings are not used by the encoder but are merely suggestions to

the playback equipment. See doc/vui.txt for details. Use at your own risk.

 

      --overscan <string>     Specify crop overscan setting ["undef"]

                                  - undef, show, crop

      --videoformat <string>  Specify video format ["undef"]

                                  - component, pal, ntsc, secam, mac, undef

      --fullrange <string>    Specify full range samples setting ["off"]

                                  - off, on

      --colorprim <string>    Specify color primaries ["undef"]

                                  - undef, bt709, bt470m, bt470bg

                                    smpte170m, smpte240m, film

      --transfer <string>     Specify transfer characteristics ["undef"]

                                  - undef, bt709, bt470m, bt470bg, linear,

                                    log100, log316, smpte170m, smpte240m

      --colormatrix <string>  Specify color matrix setting ["undef"]

                                  - undef, bt709, fcc, bt470bg

                                    smpte170m, smpte240m, GBR, YCgCo

      --chromaloc <integer>   Specify chroma sample location (0 to 5) [0]

 

Input/Output:

 

  -o, --output                Specify output file

      --stdout                Specify stdout format ["raw"]

                                  - raw, mkv, flv

      --stdin                 Specify stdin format ["yuv"]

                                  - yuv, y4m

      --sar width:height      Specify Sample Aspect Ratio

      --fps <float|rational>  Specify framerate

      --seek <integer>        First frame to encode

      --frames <integer>      Maximum number of frames to encode

      --level <string>        Specify level (as defined by Annex A)

 

  -v, --verbose               Print stats for each frame

      --no-progress           Don't show the progress indicator while encoding

      --quiet                 Quiet Mode

      --psnr                  Enable PSNR computation

      --ssim                  Enable SSIM computation

      --threads <integer>     Force a specific number of threads

      --sliced-threads        Low-latency but lower-efficiency threading

      --thread-input          Run Avisynth in its own thread

      --sync-lookahead <integer> Number of buffer frames for threaded lookahead

      --non-deterministic     Slightly improve quality of SMP, at the cost of repeatability

      --asm <integer>         Override CPU detection

      --no-asm                Disable all CPU optimizations

      --visualize             Show MB types overlayed on the encoded video

      --dump-yuv <string>     Save reconstructed frames

      --sps-id <integer>      Set SPS and PPS id numbers [0]

      --aud                   Use access unit delimiters

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值