主要AVOptions

公有AVOptions

-preset

主要用来调节编码速度和质量的平衡,虽然libx264和h264_nvenc都有此参数,但是该参数的可选项却不完全相同:

preset是通过设置一系列编码参数来实现调节编码速度和质量的效果的,
e.g. -preset faster 是做了如下设置 --no-mixed-refs --rc-lookahead 20 --ref 2 --subme 4 --weightp 1

详细信息见文章最后一章的x264 encoding options

libx264 有10个选项

速度由快到慢,速度越慢,质量越好,压缩比越大;默认是medium。

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium
  • slow
  • slower
  • veryslow
  • placebo

h264_nvenc 有11个选项

默认是medium。

  • slow
  • medium
  • fast
  • hp
  • hq
  • bd
  • ll
  • llhq
  • llhp
  • lossless
  • losslesshp

针对 libx264做过简单的各选项对比测试,结果如下图

-profile

用来设置画质级别, 默认级别为 high:

  • Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;
  • Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced), 也支持CAVLC 和CABAC 的支持;
  • High profile:高级画质。在main Profile 的基础上增加了8x8内部预测、自定义量化、 无损视频编码和更多的YUV 格式;

H.264 Baseline profile和Main profile都是针对8位样本数据、4:2:0格式(YUV)的视频序列。在相同配置情况下,High profile(HP)可以比Main profile(MP)降低10%的码率。 根据应用领域的不同,Baseline profile多应用于实时通信领域,Main profile多应用于流媒体领域,High profile则多应用于广电和存储领域。

除了这三项之外,high还衍生出了 high10、 high422、 high444、high444p 等参数。。。。。

该参数覆盖的用户设置项见文章最后一章的x264 encoding options

-level

-crf -cq

crf可以根据视频的运动和静止动态的进行压缩。

与crf、cq、qp、vbr、cbr相关的解析可以参考:Understanding Rate Control Modes (x264, x265, vpx) 和 CRF Guide (Constant Rate Factor in x264 and x265)

libx264

-crf d Select the quality for constant quality mode (from -1 to FLT_MAX) (default -1)

h264_nvenc

-cq Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)

-qp

类似于crf,但相同比特率下质量更差,建议使用crf

libx264

Constant quantization parameter rate control method (from -1 to INT_MAX) (default -1)

h264_nvenc

Constant quantization parameter rate control method (from -1 to 51) (default -1)

libx264 专有参数

-tune

为特定类型的源或情况调整设置

主要参数有

  • film ( 电影、真人类型)
  • animation (动画)
  • grain (需要保留大量的grain时用,高比特率编码)
  • stillimage (静态图像编码时使用)
  • psnr (为提高psnr做了优化的参数)
  • ssim (为提高ssim做了优化的参数)
  • fastdecode (可以快速解码的参数)
  • zerolatency (零延迟,用在需要非常低的延迟的情况下,比如电视电话会议的编码)

详细 help 信息

libx264 AVOptions

查看指令ffmpeg -h encoder=libx264

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developersbuilt with Apple LLVM version 10.0.0 (clang-1000.11.45.5)configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1_1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolboxlibavutil      56. 22.100 / 56. 22.100libavcodec     58. 35.100 / 58. 35.100libavformat    58. 20.100 / 58. 20.100libavdevice    58.  5.100 / 58.  5.100libavfilter     7. 40.101 /  7. 40.101libavresample   4.  0.  0 /  4.  0.  0libswscale      5.  3.100 /  5.  3.100libswresample   3.  3.100 /  3.  3.100libpostproc    55.  3.100 / 55.  3.100
Encoder libx264 [libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10]:General capabilities: delay threadsThreading capabilities: autoSupported pixel formats: yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p nv12 nv16 nv21 yuv420p10le yuv422p10le yuv444p10le nv20le
libx264 AVOptions:-preset            <string>     E..V..... Set the encoding preset (cf. x264 --fullhelp) (default "medium")-tune              <string>     E..V..... Tune the encoding params (cf. x264 --fullhelp)-profile           <string>     E..V..... Set profile restrictions (cf. x264 --fullhelp)-fastfirstpass     <boolean>    E..V..... Use fast settings when encoding first pass (default true)-level             <string>     E..V..... Specify level (as defined by Annex A)-passlogfile       <string>     E..V..... Filename for 2 pass stats-wpredp            <string>     E..V..... Weighted prediction for P-frames-a53cc             <boolean>    E..V..... Use A53 Closed Captions (if available) (default true)-x264opts          <string>     E..V..... x264 options-crf               <float>      E..V..... Select the quality for constant quality mode (from -1 to FLT_MAX) (default -1)-crf_max           <float>      E..V..... In CRF mode, prevents VBV from lowering quality beyond this point. (from -1 to FLT_MAX) (default -1)-qp                <int>        E..V..... Constant quantization parameter rate control method (from -1 to INT_MAX) (default -1)-aq-mode           <int>        E..V..... AQ method (from -1 to INT_MAX) (default -1)none                         E..V.....variance                     E..V..... Variance AQ (complexity mask)autovariance                 E..V..... Auto-variance AQautovariance-biased              E..V..... Auto-variance AQ with bias to dark scenes-aq-strength       <float>      E..V..... AQ strength. Reduces blocking and blurring in flat and textured areas. (from -1 to FLT_MAX) (default -1)-psy               <boolean>    E..V..... Use psychovisual optimizations. (default auto)-psy-rd            <string>     E..V..... Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.-rc-lookahead      <int>        E..V..... Number of frames to look ahead for frametype and ratecontrol (from -1 to INT_MAX) (default -1)-weightb           <boolean>    E..V..... Weighted prediction for B-frames. (default auto)-weightp           <int>        E..V..... Weighted prediction analysis method. (from -1 to INT_MAX) (default -1)none                         E..V.....simple                       E..V.....smart                        E..V.....-ssim              <boolean>    E..V..... Calculate and print SSIM stats. (default auto)-intra-refresh     <boolean>    E..V..... Use Periodic Intra Refresh instead of IDR frames. (default auto)-bluray-compat     <boolean>    E..V..... Bluray compatibility workarounds. (default auto)-b-bias            <int>        E..V..... Influences how often B-frames are used (from INT_MIN to INT_MAX) (default INT_MIN)-b-pyramid         <int>        E..V..... Keep some B-frames as references. (from -1 to INT_MAX) (default -1)none                         E..V.....strict                       E..V..... Strictly hierarchical pyramidnormal                       E..V..... Non-strict (not Blu-ray compatible)-mixed-refs        <boolean>    E..V..... One reference per partition, as opposed to one reference per macroblock (default auto)-8x8dct            <boolean>    E..V..... High profile 8x8 transform. (default auto)-fast-pskip        <boolean>    E..V..... (default auto)-aud               <boolean>    E..V..... Use access unit delimiters. (default auto)-mbtree            <boolean>    E..V..... Use macroblock tree ratecontrol. (default auto)-deblock           <string>     E..V..... Loop filter parameters, in <alpha:beta> form.-cplxblur          <float>      E..V..... Reduce fluctuations in QP (before curve compression) (from -1 to FLT_MAX) (default -1)-partitions        <string>     E..V..... A comma-separated list of partitions to consider. Possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all-direct-pred       <int>        E..V..... Direct MV prediction mode (from -1 to INT_MAX) (default -1)none                         E..V.....spatial                      E..V.....temporal                     E..V.....auto                         E..V.....-slice-max-size    <int>        E..V..... Limit the size of each slice in bytes (from -1 to INT_MAX) (default -1)-stats             <string>     E..V..... Filename for 2 pass stats-nal-hrd           <int>        E..V..... Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4) (from -1 to INT_MAX) (default -1)none                         E..V.....vbr                          E..V.....cbr                          E..V.....-avcintra-class    <int>        E..V..... AVC-Intra class 50/100/200 (from -1 to 200) (default -1)-me_method         <int>        E..V..... Set motion estimation method (from -1 to 4) (default -1)dia                          E..V.....hex                          E..V.....umh                          E..V.....esa                          E..V.....tesa                         E..V.....-motion-est        <int>        E..V..... Set motion estimation method (from -1 to 4) (default -1)dia                          E..V.....hex                          E..V.....umh                          E..V.....esa                          E..V.....tesa                         E..V.....-forced-idr        <boolean>    E..V..... If forcing keyframes, force them as IDR frames. (default false)-coder             <int>        E..V..... Coder type (from -1 to 1) (default default)default                      E..V.....cavlc                        E..V.....cabac                        E..V.....vlc                          E..V.....ac                           E..V.....-b_strategy        <int>        E..V..... Strategy to choose between I/P/B-frames (from -1 to 2) (default -1)-chromaoffset      <int>        E..V..... QP difference between chroma and luma (from INT_MIN to INT_MAX) (default -1)-sc_threshold      <int>        E..V..... Scene change threshold (from INT_MIN to INT_MAX) (default -1)-noise_reduction   <int>        E..V..... Noise reduction (from INT_MIN to INT_MAX) (default -1)-x264-params       <string>     E..V..... Override the x264 configuration using a :-separated list of key=value parameters

h264_nvenc AVOptions

查看指令ffmpeg -h encoder=h264_nvenc

ffmpeg version 3.3.8 Copyright (c) 2000-2018 the FFmpeg developersbuilt with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags='-I/root/ffmpeg_build/include -I/usr/local/cuda/include' --extra-ldflags='-L/root/ffmpeg_build/lib -L/usr/local/cuda/lib64' --extra-libs=-lpthread --extra-libs=-lm --bindir=/root/bin --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-cuda --enable-cuvid --enable-nvenc --enable-libnpplibavutil      55. 58.100 / 55. 58.100libavcodec     57. 89.100 / 57. 89.100libavformat    57. 71.100 / 57. 71.100libavdevice    57.  6.100 / 57.  6.100libavfilter     6. 82.100 /  6. 82.100libswscale      4.  6.100 /  4.  6.100libswresample   2.  7.100 /  2.  7.100libpostproc    54.  5.100 / 54.  5.100
Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:General capabilities: delayThreading capabilities: noneSupported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0 rgb0 cuda
h264_nvenc AVOptions:-preset            <int>        E..V.... Set the encoding preset (from 0 to 11) (default medium)default                      E..V....slow                         E..V.... hq 2 passesmedium                       E..V.... hq 1 passfast                         E..V.... hp 1 passhp                           E..V....hq                           E..V....bd                           E..V....ll                           E..V.... low latencyllhq                         E..V.... low latency hqllhp                         E..V.... low latency hplossless                     E..V....losslesshp                   E..V....-profile           <int>        E..V.... Set the encoding profile (from 0 to 3) (default main)baseline                     E..V....main                         E..V....high                         E..V....high444p                     E..V....-level             <int>        E..V.... Set the encoding level restriction (from 0 to 51) (default auto)auto                         E..V....1                            E..V....1.0                          E..V....1b                           E..V....1.0b                         E..V....1.1                          E..V....1.2                          E..V....1.3                          E..V....2                            E..V....2.0                          E..V....2.1                          E..V....2.2                          E..V....3                            E..V....3.0                          E..V....3.1                          E..V....3.2                          E..V....4                            E..V....4.0                          E..V....4.1                          E..V....4.2                          E..V....5                            E..V....5.0                          E..V....5.1                          E..V....-rc                <int>        E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)constqp                      E..V.... Constant QP modevbr                          E..V.... Variable bitrate modecbr                          E..V.... Constant bitrate modevbr_minqp                    E..V.... Variable bitrate mode with MinQPll_2pass_quality              E..V.... Multi-pass optimized for image quality (only for low-latency presets)ll_2pass_size                E..V.... Multi-pass optimized for constant frame size (only for low-latency presets)vbr_2pass                    E..V.... Multi-pass variable bitrate mode-rc-lookahead      <int>        E..V.... Number of frames to look ahead for rate-control (from -1 to INT_MAX) (default -1)-surfaces          <int>        E..V.... Number of concurrent surfaces (from 0 to 64) (default 32)-cbr               <boolean>    E..V.... Use cbr encoding mode (default false)-2pass             <boolean>    E..V.... Use 2pass encoding mode (default auto)-gpu               <int>        E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)any                          E..V.... Pick the first device availablelist                         E..V.... List the available devices-delay             <int>        E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)-no-scenecut       <boolean>    E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)-forced-idr        <boolean>    E..V.... If forcing keyframes, force them as IDR frames. (default false)-b_adapt           <boolean>    E..V.... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)-spatial-aq        <boolean>    E..V.... set to 1 to enable Spatial AQ (default false)-temporal-aq       <boolean>    E..V.... set to 1 to enable Temporal AQ (default false)-zerolatency       <boolean>    E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)-nonref_p          <boolean>    E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)-strict_gop        <boolean>    E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)-aq-strength       <int>        E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)-cq                <int>        E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)-aud               <boolean>    E..V.... Use access unit delimiters (default false)-bluray-compat     <boolean>    E..V.... Bluray compatibility workarounds (default false)-init_qpP          <int>        E..V.... Initial QP value for P frame (from -1 to 51) (default -1)-init_qpB          <int>        E..V.... Initial QP value for B frame (from -1 to 51) (default -1)-init_qpI          <int>        E..V.... Initial QP value for I frame (from -1 to 51) (default -1)-qp                <int>        E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)

x264 encoding options

查看指令x264 --fullhelp

x264 core:155 r2917 0a84d98
Syntax: x264 [options] -o outfile infileInfile 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 (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 or L-SMASH support (no)
Output bit depth: 8/10
.
Options:-h, --help                  List basic options--longhelp              List more options--fullhelp              List all optionsExample 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 profileOverrides all settings.- baseline:--no-8x8dct --bframes 0 --no-cabac--cqm flat --weightp 0No interlaced.No lossless.- main:--no-8x8dct --cqm flatNo 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 sourceor situationOverridden 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-pskipFrame-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 GOPsOnly 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 rectangularslices and is overridden by other slicing options--slices-max <integer>  Absolute maximum slices per frame; overridesslice-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-Raystreams. 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 acrossRatecontrol:-q, --qp <integer>          Force constant QP (0-81, 0=lossless)-B, --bitrate <integer>     Set bitrate (kbit/s)--crf <float>           Quality-based VBR (-12-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 valueMay cause VBV underflows!--qpmin <integer>       Set min QP [0]--qpmax <integer>       Set max QP [81]--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 andtextured 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 videoEach zone is of the form<start frame>,<end frame>,<option>where <option> is eitherq=<integer> (force QP)or  b=<float> (bitrate multiplier)--qpfile <string>       Force frametypes and QPs for some or all framesFormat of each line: framenumber frametype QPQP is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.K=<I or i> depending on open-gop settingQPs 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 worsenboth 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 fileOverrides any other --cqm* options.--cqm4 <list>           Set all 4x4 quant matricesTakes a comma-separated list of 16 integers.--cqm8 <list>           Set all 8x8 quant matricesTakes 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 matricesVideo 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,arib-std-b67--colormatrix <string>  Specify color matrix setting ["???"]- undef, bt709, fcc, bt470bg, smpte170m,smpte240m, GBR, YCgCo, bt2020nc, bt2020c,smpte2085, chroma-derived-nc,chroma-derived-c, ICtCp--chromaloc <integer>   Specify chroma sample location (0 to 5) [0]--alternative-transfer <string> Specify an alternative transfercharacteristics ["undef"]- same values as --transfer--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-levelcropping rectangleInput/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--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, yuyv,uyvy, i444, yv24, bgr, bgra, rgb--output-csp <string>   Specify output colorspace ["i420"]- i420, i422, i444, rgb--input-depth <integer> Specify input bit depth for raw input--output-depth <integer> Specify output bit depth--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 contentEnsures 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 fileor specify timebase denominator for other input--dts-compress          Eliminate initial delay with container DTS hackFiltering:--vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input fileFilter options may be specified in <filter>:<option>=<value> format.Available filters:crop:left,top,right,bottomremoves pixels from the edges of the frameselect_every:step,offset1[,...]apply a selection pattern to input framesstep: the number of frames in the patternoffsets: the offset into the step to select a framesee: http://avisynth.nl/index.php/Select#SelectEvery

ffmpeg libx264 h264_nvenc 编码参数解析相关推荐

  1. FFmpeg使用X264编码参数

    X264编码参数 下面为相关参数,其中加粗为常用参数. preset(字符串):编码器预设参数,取值:ultrafast,superfast,veryfast,faster,fast,medium,s ...

  2. FFmpeg基础:获取音视频的各种编码参数

    文章目录 获取视频编码参数 获取音频编码参数 上一篇文章中介绍了音视频的各种编码参数的概念,这里介绍一下如何通过ffmpeg库获取一个视频文件的各种音视频编码参数.在对视频文件进行处理和转码的时候这些 ...

  3. ffmpeg使用x264编码的配置+ ffmpeg与 x264编码器参数完整对照表

    ffmpeg使用x264编码的配置+ ffmpeg与 x264编码器参数完整对照表 分类: 多媒体 2010-07-13 11:31 1072人阅读 评论(0) 收藏 举报 转载自:扶凯[http:/ ...

  4. 音视频编解码 -- 编码参数 CRF

    之前多多少少接触过一些编解码参数,CRF 参数也用过,但是最近在和朋友们聊天时,说到使用 FFMPEG 过程中碰到 CRF 参数,以及具体作用流程,这个之前一直没有跟踪过,也没有详细记录过,所以吊起了 ...

  5. 最简单的视频编码器:基于libx264(编码YUV为H.264)

    ===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...

  6. ffmpeg设置h264编码IDR间隔

    在ffmpeg中,编码h264时,想强制刷出一个I帧,比较容易,但是想强制刷出IDR帧,却没有明确的说明. 而在x264的头文件中,可以看到一个参数说明: int i_keyint_max; /* F ...

  7. FFmpeg最常用命令参数详解及应用实例

    FFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式.多媒体传输协议以及音视频编解码器,提供了录制.转换以及流化音视频的完整解决方案. ffmpeg命令行参数解释 ...

  8. FFMPEG 摄像头 命令行参数 录像 直播 rtmp

    解决FFMPEG采集音视频时不同步的问题: 添加参数  -copyinkf 例如: ffmpeg.exe  -copyinkf -f dshow -i video="USB2.0 UVC V ...

  9. 【Android RTMP】音频数据采集编码 ( FAAC 音频编码参数设置 | FAAC 编码器创建 | 获取编码器参数 | 设置 AAC 编码规格 | 设置编码器输入输出参数 )

    文章目录 一. 头文件.成员变量准备 二. 创建 FAAC 编码器 三. 获取并设置 FAAC 编码器参数 四. 设置 FAAC 编码器编码标准 五. 设置 FAAC 编码器 AAC 编码规格 六. ...

最新文章

  1. java工作流 数据库设计_Java开发网
  2. 质量追溯和防窜货管理解决分析
  3. matlab中的containers.Map()
  4. iOS-Xcode代码统计
  5. linux使用find命令_如何在Linux中使用FIND
  6. (140)FPGA面试题-FPGA IP简介
  7. 性能测试之JMeter测试结果写入Excel
  8. c语言实现文档中字符串的替换,C语言 16行代码实现字符串中指定字符串替换
  9. 《Java深入解析》阅读笔记二(运算符与表达式)
  10. DPDK - mlx5 drop action 性能 patch
  11. 传输线模型(分布参数模型)
  12. 【JAVA】根据汉字拼音首字母排序 不同类型处理
  13. H.264视频的RTP有效负载格式 (RFC-6184)
  14. 技术分享| 如何使用FFmpeg命令处理音视频
  15. Processing 案例 | 诡异的八爪鱼
  16. python 怎么输出实际的根号2_Python怎么输出根式?
  17. 【AD】Altium Designer 新建一个项目
  18. 画论13 朱景玄《唐朝名画录》
  19. vs2017编译iconv
  20. .htaccess文件

热门文章

  1. [足式机器人]Part3机构运动微分几何学分析与综合Ch02-3 平面机构离散运动鞍点综合——【读书笔记】
  2. 【DG】 DataGuard 中处理archive gap的方法
  3. 基于php和mysql实现的简易民航订票系统实验
  4. VTM10.0代码学习5:coding_unit()cu_pred_data()
  5. An adaptive LeNet-5 model for anomaly detection(翻译)
  6. Android斗地主游戏源码
  7. 使用Eclips开发java程序
  8. linux将多个文件打包成一个文件,将多个文件打包成一个shell
  9. CodeBlocks 20.3无法编译C++文件
  10. HEVC 高级运动向量预测技术(AMVP)