-
-
Save newfront/875122 to your computer and use it in GitHub Desktop.
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 (no). | |
or libav* formats if compiled with lavf support (no) or ffms support (no). | |
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 the limits of an 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 | |
- superfast: | |
--no-mbtree --me dia --no-mixed-refs | |
--partitions i8x8,i4x4 --ref 1 | |
--subme 1 --trellis 0 --weightp 0 | |
- veryfast: | |
--no-mbtree --no-mixed-refs --ref 1 | |
--subme 2 --trellis 0 --weightp 0 | |
- faster: | |
--no-mixed-refs --rc-lookahead 20 | |
--ref 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 --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 10 | |
--trellis 2 | |
--tune 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 --rc-lookahead 0 | |
--sync-lookahead 0 --sliced-threads | |
--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> 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) | |
--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 | |
--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. | |
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] | |
--crf-max <float> With CRF+VBV, limit RF to this value | |
May cause VBV underflows! | |
--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 <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 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 <integer> 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] | |
--nal-hrd <string> Signal HRD information (requires vbv-bufsize) | |
- none, vbr, cbr (cbr not allowed in .mp4) | |
--pic-struct Force pic_struct in Picture Timing SEI | |
Input/Output: | |
-o, --output Specify output file | |
--muxer <string> Specify output container format ["auto"] | |
- auto, raw, mkv, flv | |
--demuxer <string> Specify input container format ["auto"] | |
- auto, yuv, y4m | |
--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) | |
-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 | |
--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 |
But how did you actually make ffmpeg output this help message?
I did
ffmpeg -help x264 --fullhelp
but it is just an error.
But how did you actually make ffmpeg output this help message? I did
ffmpeg -help x264 --fullhelp
but it is just an error.
You need to install x264 and run x264 --fullhelp
Because you need to use the command x264
instead of ffmpeg
. These two are different tools. FFmpeg uses x264 source code in its libx264
but installing ffmpeg won't install x264 command line tools. Try ffmpeg -h encoder=libx264
to see ffmpeg options for libx264
.
On Windows you can download exe from https://artifacts.videolan.org/x264/release-win64/ to E:\
, for example, and rename the exe as x264.exe
. Then open cmd where you save the exe (in this case it's E:\
) and run x264 --fullhelp
. Here's the result:
Hope to be helpful for you.
Hi, can you help me solve the problem:
unanimated/luaegisub#8