x264的命令行參數

x264的命令行參數


x264 core:148

Syntax: x264 [options] -o outfile infile

 

Infile can be raw (in which case resolution is required),

  or YUV4MPEG (*.y4m),

  or Avisynth if compiled with support (yes).

  or libav* formats if compiled with lavf support (yes) or ffms x264 core:148

Syntax: x264 [options] -o outfile infile

 

Infile can be raw (in which case resolution is required),

  or YUV4MPEG (*.y4m),

  or Avisynth if compiled with support (yes).

  or libav* formats if compiled with lavf support (yes) or ffms support (no).

Outfile type is selected by filename:

 .264 -> Raw bytestream

 .mkv -> Matroska

 .flv -> Flash Video

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

Output bit depth: 8 (configured at compile time)

 

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 --qp 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 <string>      Force the limits of an H.264 profile

                                  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.

                                  - high10:

                                    No lossless.

                                    Support for bit depth 8-10.

                                  - high422:

                                    No lossless.

                                    Support for bit depth 8-10.

                                    Support for 4:2:0/4:2:2 chroma subsampling.

                                  - high444:

                                    Support for bit depth 8-10.

                                    Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.

      --preset <string>       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 --rc-lookahead 0 --ref 1

                                    --scenecut 0 --subme 0 --trellis 0

                                    --no-weightb --weightp 0

                                  - superfast:

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

                                    --partitions i8x8,i4x4 --rc-lookahead 0

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

                                  - veryfast:

                                    --no-mixed-refs --rc-lookahead 10

                                    --ref 1 --subme 2 --trellis 0 --weightp 1

                                  - faster:

                                    --no-mixed-refs --rc-lookahead 20

                                    --ref 2 --subme 4 --weightp 1

                                  - fast:

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

                                    --weightp 1

                                  - medium:

                                    Default settings apply.

                                  - slow:

                                    --direct auto --rc-lookahead 50 --ref 5

                                    --subme 8 --trellis 2

                                  - 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 --merange 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 --merange 24 --partitions all

                                    --rc-lookahead 60 --ref 16 --subme 11

                                    --trellis 2

      --tune <string>         Tune the settings for a particular type of source

                              or situation

                                  Overridden by user settings.

                                  Multiple tunings are separated by commas.

                                  Only one psy tuning can be used at a time.

                                  - film (psy tuning):

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

                                  - animation (psy tuning):

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

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

                                    --ref {Double if >1 else 1}

                                  - grain (psy tuning):

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

                                  - stillimage (psy tuning):

                                    --aq-strength 1.2 --deblock -3:-3

                                    --psy-rd 2.0:0.7

                                  - psnr (psy tuning):

                                    --aq-mode 0 --no-psy

                                  - ssim (psy tuning):

                                    --aq-mode 2 --no-psy

                                  - fastdecode:

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

                                    --weightp 0

                                  - zerolatency:

                                    --bframes 0 --force-cfr --no-mbtree

                                    --sync-lookahead 0 --sliced-threads

                                    --rc-lookahead 0

      --slow-firstpass        Don't force these faster settings with --pass 1:

                                  --no-8x8dct --me dia --partitions none

                                  --ref 1 --subme {2 if >2 else unchanged}

                                  --trellis 0 --fast-pskip

 

Frame-type options:

 

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

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

      --no-scenecut           Disable adaptive I-frame decision

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

      --intra-refresh         Use Periodic Intra Refresh instead of IDR frames

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

      --b-adapt <integer>     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 [normal]

                                  - none: Disabled

                                  - strict: Strictly hierarchical pyramid

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

      --open-gop              Use recovery points to close GOPs

                              Only available with b-frames

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

      --slices-max <integer>  Absolute maximum slices per frame; overrides

                              slice-max-size/slice-max-mbs when necessary

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

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

      --slice-min-mbs <integer> Limit the size of each slice in macroblocks (min)

      --tff                   Enable interlaced mode (top field first)

      --bff                   Enable interlaced mode (bottom field first)

      --constrained-intra     Enable constrained intra prediction.

      --pulldown <string>     Use soft pulldown to change frame rate

                                  - none, 22, 32, 64, double, triple, euro (requires cfr input)

      --fake-interlaced       Flag stream as interlaced but encode progressive.

                              Makes it possible to encode 25p and 30p Blu-Ray

                              streams. Ignored in interlaced mode.

      --frame-packing <integer> For stereoscopic videos define frame arrangement

                                  - 0: checkerboard - pixels are alternatively from L and R

                                  - 1: column alternation - L and R are interlaced by column

                                  - 2: row alternation - L and R are interlaced by row

                                  - 3: side by side - L is on the left, R on the right

                                  - 4: top bottom - L is on top, R on bottom

                                  - 5: frame alternation - one view per frame

                                  - 6: mono - 2D frame without any frame packing

                                  - 7: tile format - L is on top-left, R split across

 

Ratecontrol:

 

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

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

      --crf <float>           Quality-based VBR (0-51) [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]

      --crf-max <float>       With CRF+VBV, limit RF to this value

                                  May cause VBV underflows!

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

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

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

                                  - 3: Auto-variance AQ with bias to dark scenes

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

                              textured areas. [1.0]

 

  -p, --pass <integer>        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 is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.

                                  K=<I or i> depending on open-gop setting

                              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 <integer>     Weighted prediction for P-frames [2]

                                  - 0: Disabled

                                  - 1: Weighted refs

                                  - 2: Weighted refs + Duplicates

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

                                  - 11: Full RD: disable all early terminations

      --psy-rd <float:float>  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. [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 <list>

                              Set both luma and chroma quant matrices

      --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc <list>

                              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

      --range <string>        Specify color range ["auto"]

                                  - auto, tv, pc

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

                                  - undef, bt709, bt470m, bt470bg, smpte170m,

                                    smpte240m, film, bt2020, smpte428,

                                    smpte431, smpte432

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

                                  - undef, bt709, bt470m, bt470bg, smpte170m,

                                    smpte240m, linear, log100, log316,

                                    iec61966-2-4, bt1361e, iec61966-2-1,

                                    bt2020-10, bt2020-12, smpte2084, smpte428

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

                                  - undef, bt709, fcc, bt470bg, smpte170m,

                                    smpte240m, GBR, YCgCo, bt2020nc, bt2020c,

                                    smpte2085

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

      --nal-hrd <string>      Signal HRD information (requires vbv-bufsize)

                                  - none, vbr, cbr (cbr not allowed in .mp4)

      --filler                Force hard-CBR and generate filler (implied by

                              --nal-hrd cbr)

      --pic-struct            Force pic_struct in Picture Timing SEI

      --crop-rect <string>    Add 'left,top,right,bottom' to the bitstream-level

                              cropping rectangle

 

Input/Output:

 

  -o, --output <string>       Specify output file

      --muxer <string>        Specify output container format ["auto"]

                                  - auto, raw, mkv, flv

      --demuxer <string>      Specify input container format ["auto"]

                                  - auto, raw, y4m, avs, lavf

      --input-fmt <string>    Specify input file format (requires lavf support)

      --input-csp <string>    Specify input colorspace format for raw input

                              - valid csps for `raw' demuxer:

                                i420, yv12, nv12, nv21, i422, yv16, nv16, i444, 

                                yv24, bgr, bgra, rgb

                              - valid csps for `lavf' demuxer:

                                yuv420p, yuyv422, rgb24, bgr24, yuv422p, 

                                yuv444p, yuv410p, yuv411p, gray, monow, monob, 

                                pal8, yuvj420p, yuvj422p, yuvj444p, xvmcmc, 

                                xvmcidct, uyvy422, uyyvyy411, bgr8, bgr4, 

                                bgr4_byte, rgb8, rgb4, rgb4_byte, nv12, nv21, 

                                argb, rgba, abgr, bgra, gray16be, gray16le, 

                                yuv440p, yuvj440p, yuva420p, vdpau_h264, 

                                vdpau_mpeg1, vdpau_mpeg2, vdpau_wmv3, 

                                vdpau_vc1, rgb48be, rgb48le, rgb565be, 

                                rgb565le, rgb555be, rgb555le, bgr565be, 

                                bgr565le, bgr555be, bgr555le, vaapi_moco, 

                                vaapi_idct, vaapi_vld, yuv420p16le, 

                                yuv420p16be, yuv422p16le, yuv422p16be, 

                                yuv444p16le, yuv444p16be, vdpau_mpeg4, 

                                dxva2_vld, rgb444le, rgb444be, bgr444le, 

                                bgr444be, ya8, bgr48be, bgr48le, yuv420p9be, 

                                yuv420p9le, yuv420p10be, yuv420p10le, 

                                yuv422p10be, yuv422p10le, yuv444p9be, 

                                yuv444p9le, yuv444p10be, yuv444p10le, 

                                yuv422p9be, yuv422p9le, vda_vld, gbrp, gbrp9be, 

                                gbrp9le, gbrp10be, gbrp10le, gbrp16be, 

                                gbrp16le, yuva422p, yuva444p, yuva420p9be, 

                                yuva420p9le, yuva422p9be, yuva422p9le, 

                                yuva444p9be, yuva444p9le, yuva420p10be, 

                                yuva420p10le, yuva422p10be, yuva422p10le, 

                                yuva444p10be, yuva444p10le, yuva420p16be, 

                                yuva420p16le, yuva422p16be, yuva422p16le, 

                                yuva444p16be, yuva444p16le, vdpau, xyz12le, 

                                xyz12be, nv16, nv20le, nv20be, rgba64be, 

                                rgba64le, bgra64be, bgra64le, yvyu422, vda, 

                                ya16be, ya16le, gbrap, gbrap16be, gbrap16le, 

                                qsv, mmal, d3d11va_vld, cuda, 0rgb, rgb0, 0bgr, 

                                bgr0, yuv420p12be, yuv420p12le, yuv420p14be, 

                                yuv420p14le, yuv422p12be, yuv422p12le, 

                                yuv422p14be, yuv422p14le, yuv444p12be, 

                                yuv444p12le, yuv444p14be, yuv444p14le, 

                                gbrp12be, gbrp12le, gbrp14be, gbrp14le, 

                                yuvj411p, bayer_bggr8, bayer_rggb8, 

                                bayer_gbrg8, bayer_grbg8, bayer_bggr16le, 

                                bayer_bggr16be, bayer_rggb16le, bayer_rggb16be, 

                                bayer_gbrg16le, bayer_gbrg16be, bayer_grbg16le, 

                                bayer_grbg16be, yuv440p10le, yuv440p10be, 

                                yuv440p12le, yuv440p12be, ayuv64le, ayuv64be, 

                                videotoolbox_vld, p010le, p010be, gbrap12be, 

                                gbrap12le, gbrap10be, gbrap10le, mediacodec, 

                                gray12be, gray12le, gray10be, gray10le, p016le, 

                                p016be

      --output-csp <string>   Specify output colorspace ["i420"]

                                  - i420, i422, i444, rgb

      --input-depth <integer> Specify input bit depth for raw input

      --input-range <string>  Specify input color range ["auto"]

                                  - auto, tv, pc

      --input-res <intxint>   Specify input resolution (width x height)

      --index <string>        Filename for input index file

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

      --bluray-compat         Enable compatibility hacks for Blu-ray support

      --avcintra-class <integer> Use compatibility hacks for AVC-Intra class

                                  - 50, 100, 200

      --stitchable            Don't optimize headers based on video content

                              Ensures ability to recombine a segmented encode

 

  -v, --verbose               Print stats for each frame

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

      --quiet                 Quiet Mode

      --log-level <string>    Specify the maximum level of logging ["info"]

                                  - none, error, warning, info, debug

      --psnr                  Enable PSNR computation

      --ssim                  Enable SSIM computation

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

      --lookahead-threads <integer> Force a specific number of lookahead 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

      --cpu-independent       Ensure exact reproducibility across different cpus,

                                  as opposed to letting them select different algorithms

      --asm <integer>         Override CPU detection

      --no-asm                Disable all CPU optimizations

      --opencl                Enable use of OpenCL

      --opencl-clbin <string> Specify path of compiled OpenCL kernel cache

      --opencl-device <integer> Specify OpenCL device ordinal

      --dump-yuv <string>     Save reconstructed frames

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

      --aud                   Use access unit delimiters

      --force-cfr             Force constant framerate timestamp generation

      --tcfile-in <string>    Force timestamp generation with timecode file

      --tcfile-out <string>   Output timecode v2 file from input timestamps

      --timebase <int/int>    Specify timebase numerator and denominator

                 <integer>    Specify timebase numerator for input timecode file

                              or specify timebase denominator for other input

      --dts-compress          Eliminate initial delay with container DTS hack

 

Filtering:

 

      --vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file

 

      Filter options may be specified in <filter>:<option>=<value> format.

 

      Available filters:

      crop:left,top,right,bottom

            removes pixels from the edges of the frame

      resize:[width,height][,sar][,fittobox][,csp][,method]

            resizes frames based on the given criteria:

            - resolution only: resizes and adapts sar to avoid stretching

            - sar only: sets the sar and resizes to avoid stretching

            - resolution and sar: resizes to given resolution and sets the sar

            - fittobox: resizes the video based on the desired constraints

               - width, height, both

            - fittobox and sar: same as above except with specified sar

            - csp: convert to the given csp. syntax: [name][:depth]

               - valid csp names [keep current]: i420, yv12, nv12, nv21, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb

               - depth: 8 or 16 bits per pixel [keep current]

            note: not all depths are supported by all csps.

            - method: use resizer method ["bicubic"]

               - fastbilinear, bilinear, bicubic, experimental, point,

               - area, bicublin, gauss, sinc, lanczos, spline

      select_every:step,offset1[,...]

            apply a selection pattern to input frames

            step: the number of frames in the pattern

            offsets: the offset into the step to select a frame

            see: http://avisynth.nl/index.php/Select#SelectEvery

support (no).

Outfile type is selected by filename:

 .264 -> Raw bytestream

 .mkv -> Matroska

 .flv -> Flash Video

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

Output bit depth: 8 (configured at compile time)

 

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 --qp 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 <string>      Force the limits of an H.264 profile

                                  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.

                                  - high10:

                                    No lossless.

                                    Support for bit depth 8-10.

                                  - high422:

                                    No lossless.

                                    Support for bit depth 8-10.

                                    Support for 4:2:0/4:2:2 chroma subsampling.

                                  - high444:

                                    Support for bit depth 8-10.

                                    Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.

      --preset <string>       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 --rc-lookahead 0 --ref 1

                                    --scenecut 0 --subme 0 --trellis 0

                                    --no-weightb --weightp 0

                                  - superfast:

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

                                    --partitions i8x8,i4x4 --rc-lookahead 0

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

                                  - veryfast:

                                    --no-mixed-refs --rc-lookahead 10

                                    --ref 1 --subme 2 --trellis 0 --weightp 1

                                  - faster:

                                    --no-mixed-refs --rc-lookahead 20

                                    --ref 2 --subme 4 --weightp 1

                                  - fast:

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

                                    --weightp 1

                                  - medium:

                                    Default settings apply.

                                  - slow:

                                    --direct auto --rc-lookahead 50 --ref 5

                                    --subme 8 --trellis 2

                                  - 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 --merange 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 --merange 24 --partitions all

                                    --rc-lookahead 60 --ref 16 --subme 11

                                    --trellis 2

      --tune <string>         Tune the settings for a particular type of source

                              or situation

                                  Overridden by user settings.

                                  Multiple tunings are separated by commas.

                                  Only one psy tuning can be used at a time.

                                  - film (psy tuning):

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

                                  - animation (psy tuning):

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

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

                                    --ref {Double if >1 else 1}

                                  - grain (psy tuning):

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

                                  - stillimage (psy tuning):

                                    --aq-strength 1.2 --deblock -3:-3

                                    --psy-rd 2.0:0.7

                                  - psnr (psy tuning):

                                    --aq-mode 0 --no-psy

                                  - ssim (psy tuning):

                                    --aq-mode 2 --no-psy

                                  - fastdecode:

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

                                    --weightp 0

                                  - zerolatency:

                                    --bframes 0 --force-cfr --no-mbtree

                                    --sync-lookahead 0 --sliced-threads

                                    --rc-lookahead 0

      --slow-firstpass        Don't force these faster settings with --pass 1:

                                  --no-8x8dct --me dia --partitions none

                                  --ref 1 --subme {2 if >2 else unchanged}

                                  --trellis 0 --fast-pskip

 

Frame-type options:

 

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

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

      --no-scenecut           Disable adaptive I-frame decision

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

      --intra-refresh         Use Periodic Intra Refresh instead of IDR frames

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

      --b-adapt <integer>     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 [normal]

                                  - none: Disabled

                                  - strict: Strictly hierarchical pyramid

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

      --open-gop              Use recovery points to close GOPs

                              Only available with b-frames

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

      --slices-max <integer>  Absolute maximum slices per frame; overrides

                              slice-max-size/slice-max-mbs when necessary

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

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

      --slice-min-mbs <integer> Limit the size of each slice in macroblocks (min)

      --tff                   Enable interlaced mode (top field first)

      --bff                   Enable interlaced mode (bottom field first)

      --constrained-intra     Enable constrained intra prediction.

      --pulldown <string>     Use soft pulldown to change frame rate

                                  - none, 22, 32, 64, double, triple, euro (requires cfr input)

      --fake-interlaced       Flag stream as interlaced but encode progressive.

                              Makes it possible to encode 25p and 30p Blu-Ray

                              streams. Ignored in interlaced mode.

      --frame-packing <integer> For stereoscopic videos define frame arrangement

                                  - 0: checkerboard - pixels are alternatively from L and R

                                  - 1: column alternation - L and R are interlaced by column

                                  - 2: row alternation - L and R are interlaced by row

                                  - 3: side by side - L is on the left, R on the right

                                  - 4: top bottom - L is on top, R on bottom

                                  - 5: frame alternation - one view per frame

                                  - 6: mono - 2D frame without any frame packing

                                  - 7: tile format - L is on top-left, R split across

 

Ratecontrol:

 

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

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

      --crf <float>           Quality-based VBR (0-51) [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]

      --crf-max <float>       With CRF+VBV, limit RF to this value

                                  May cause VBV underflows!

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

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

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

                                  - 3: Auto-variance AQ with bias to dark scenes

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

                              textured areas. [1.0]

 

  -p, --pass <integer>        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 is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.

                                  K=<I or i> depending on open-gop setting

                              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 <integer>     Weighted prediction for P-frames [2]

                                  - 0: Disabled

                                  - 1: Weighted refs

                                  - 2: Weighted refs + Duplicates

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

                                  - 11: Full RD: disable all early terminations

      --psy-rd <float:float>  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. [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 <list>

                              Set both luma and chroma quant matrices

      --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc <list>

                              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

      --range <string>        Specify color range ["auto"]

                                  - auto, tv, pc

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

                                  - undef, bt709, bt470m, bt470bg, smpte170m,

                                    smpte240m, film, bt2020, smpte428,

                                    smpte431, smpte432

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

                                  - undef, bt709, bt470m, bt470bg, smpte170m,

                                    smpte240m, linear, log100, log316,

                                    iec61966-2-4, bt1361e, iec61966-2-1,

                                    bt2020-10, bt2020-12, smpte2084, smpte428

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

                                  - undef, bt709, fcc, bt470bg, smpte170m,

                                    smpte240m, GBR, YCgCo, bt2020nc, bt2020c,

                                    smpte2085

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

      --nal-hrd <string>      Signal HRD information (requires vbv-bufsize)

                                  - none, vbr, cbr (cbr not allowed in .mp4)

      --filler                Force hard-CBR and generate filler (implied by

                              --nal-hrd cbr)

      --pic-struct            Force pic_struct in Picture Timing SEI

      --crop-rect <string>    Add 'left,top,right,bottom' to the bitstream-level

                              cropping rectangle

 

Input/Output:

 

  -o, --output <string>       Specify output file

      --muxer <string>        Specify output container format ["auto"]

                                  - auto, raw, mkv, flv

      --demuxer <string>      Specify input container format ["auto"]

                                  - auto, raw, y4m, avs, lavf

      --input-fmt <string>    Specify input file format (requires lavf support)

      --input-csp <string>    Specify input colorspace format for raw input

                              - valid csps for `raw' demuxer:

                                i420, yv12, nv12, nv21, i422, yv16, nv16, i444, 

                                yv24, bgr, bgra, rgb

                              - valid csps for `lavf' demuxer:

                                yuv420p, yuyv422, rgb24, bgr24, yuv422p, 

                                yuv444p, yuv410p, yuv411p, gray, monow, monob, 

                                pal8, yuvj420p, yuvj422p, yuvj444p, xvmcmc, 

                                xvmcidct, uyvy422, uyyvyy411, bgr8, bgr4, 

                                bgr4_byte, rgb8, rgb4, rgb4_byte, nv12, nv21, 

                                argb, rgba, abgr, bgra, gray16be, gray16le, 

                                yuv440p, yuvj440p, yuva420p, vdpau_h264, 

                                vdpau_mpeg1, vdpau_mpeg2, vdpau_wmv3, 

                                vdpau_vc1, rgb48be, rgb48le, rgb565be, 

                                rgb565le, rgb555be, rgb555le, bgr565be, 

                                bgr565le, bgr555be, bgr555le, vaapi_moco, 

                                vaapi_idct, vaapi_vld, yuv420p16le, 

                                yuv420p16be, yuv422p16le, yuv422p16be, 

                                yuv444p16le, yuv444p16be, vdpau_mpeg4, 

                                dxva2_vld, rgb444le, rgb444be, bgr444le, 

                                bgr444be, ya8, bgr48be, bgr48le, yuv420p9be, 

                                yuv420p9le, yuv420p10be, yuv420p10le, 

                                yuv422p10be, yuv422p10le, yuv444p9be, 

                                yuv444p9le, yuv444p10be, yuv444p10le, 

                                yuv422p9be, yuv422p9le, vda_vld, gbrp, gbrp9be, 

                                gbrp9le, gbrp10be, gbrp10le, gbrp16be, 

                                gbrp16le, yuva422p, yuva444p, yuva420p9be, 

                                yuva420p9le, yuva422p9be, yuva422p9le, 

                                yuva444p9be, yuva444p9le, yuva420p10be, 

                                yuva420p10le, yuva422p10be, yuva422p10le, 

                                yuva444p10be, yuva444p10le, yuva420p16be, 

                                yuva420p16le, yuva422p16be, yuva422p16le, 

                                yuva444p16be, yuva444p16le, vdpau, xyz12le, 

                                xyz12be, nv16, nv20le, nv20be, rgba64be, 

                                rgba64le, bgra64be, bgra64le, yvyu422, vda, 

                                ya16be, ya16le, gbrap, gbrap16be, gbrap16le, 

                                qsv, mmal, d3d11va_vld, cuda, 0rgb, rgb0, 0bgr, 

                                bgr0, yuv420p12be, yuv420p12le, yuv420p14be, 

                                yuv420p14le, yuv422p12be, yuv422p12le, 

                                yuv422p14be, yuv422p14le, yuv444p12be, 

                                yuv444p12le, yuv444p14be, yuv444p14le, 

                                gbrp12be, gbrp12le, gbrp14be, gbrp14le, 

                                yuvj411p, bayer_bggr8, bayer_rggb8, 

                                bayer_gbrg8, bayer_grbg8, bayer_bggr16le, 

                                bayer_bggr16be, bayer_rggb16le, bayer_rggb16be, 

                                bayer_gbrg16le, bayer_gbrg16be, bayer_grbg16le, 

                                bayer_grbg16be, yuv440p10le, yuv440p10be, 

                                yuv440p12le, yuv440p12be, ayuv64le, ayuv64be, 

                                videotoolbox_vld, p010le, p010be, gbrap12be, 

                                gbrap12le, gbrap10be, gbrap10le, mediacodec, 

                                gray12be, gray12le, gray10be, gray10le, p016le, 

                                p016be

      --output-csp <string>   Specify output colorspace ["i420"]

                                  - i420, i422, i444, rgb

      --input-depth <integer> Specify input bit depth for raw input

      --input-range <string>  Specify input color range ["auto"]

                                  - auto, tv, pc

      --input-res <intxint>   Specify input resolution (width x height)

      --index <string>        Filename for input index file

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

      --bluray-compat         Enable compatibility hacks for Blu-ray support

      --avcintra-class <integer> Use compatibility hacks for AVC-Intra class

                                  - 50, 100, 200

      --stitchable            Don't optimize headers based on video content

                              Ensures ability to recombine a segmented encode

 

  -v, --verbose               Print stats for each frame

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

      --quiet                 Quiet Mode

      --log-level <string>    Specify the maximum level of logging ["info"]

                                  - none, error, warning, info, debug

      --psnr                  Enable PSNR computation

      --ssim                  Enable SSIM computation

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

      --lookahead-threads <integer> Force a specific number of lookahead 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

      --cpu-independent       Ensure exact reproducibility across different cpus,

                                  as opposed to letting them select different algorithms

      --asm <integer>         Override CPU detection

      --no-asm                Disable all CPU optimizations

      --opencl                Enable use of OpenCL

      --opencl-clbin <string> Specify path of compiled OpenCL kernel cache

      --opencl-device <integer> Specify OpenCL device ordinal

      --dump-yuv <string>     Save reconstructed frames

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

      --aud                   Use access unit delimiters

      --force-cfr             Force constant framerate timestamp generation

      --tcfile-in <string>    Force timestamp generation with timecode file

      --tcfile-out <string>   Output timecode v2 file from input timestamps

      --timebase <int/int>    Specify timebase numerator and denominator

                 <integer>    Specify timebase numerator for input timecode file

                              or specify timebase denominator for other input

      --dts-compress          Eliminate initial delay with container DTS hack

 

Filtering:

 

      --vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file

 

      Filter options may be specified in <filter>:<option>=<value> format.

 

      Available filters:

      crop:left,top,right,bottom

            removes pixels from the edges of the frame

      resize:[width,height][,sar][,fittobox][,csp][,method]

            resizes frames based on the given criteria:

            - resolution only: resizes and adapts sar to avoid stretching

            - sar only: sets the sar and resizes to avoid stretching

            - resolution and sar: resizes to given resolution and sets the sar

            - fittobox: resizes the video based on the desired constraints

               - width, height, both

            - fittobox and sar: same as above except with specified sar

            - csp: convert to the given csp. syntax: [name][:depth]

               - valid csp names [keep current]: i420, yv12, nv12, nv21, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb

               - depth: 8 or 16 bits per pixel [keep current]

            note: not all depths are supported by all csps.

            - method: use resizer method ["bicubic"]

               - fastbilinear, bilinear, bicubic, experimental, point,

               - area, bicublin, gauss, sinc, lanczos, spline

      select_every:step,offset1[,...]

            apply a selection pattern to input frames

            step: the number of frames in the pattern

            offsets: the offset into the step to select a frame

            see: http://avisynth.nl/index.php/Select#SelectEvery


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章