Disabled.
‘variance (1)’
Variance AQ (complexity mask).
‘autovariance (2)’
Auto-variance AQ (experimental).
aq-strength (aq-strength)
Set AQ strength, reduce blocking and blurring in flat and textured areas.
psy
Use psychovisual optimizations when set to 1. When set to 0, it has the same effect as x264’s --no-psy option.
psy-rd (psy-rd)
Set strength of psychovisual optimization, in psy-rd:psy-trellis format.
rc-lookahead (rc-lookahead)
Set number of frames to look ahead for frametype and ratecontrol.
weightb
Enable weighted prediction for B-frames when set to 1. When set to 0, it has the same effect as x264’s --no-weightb option.
weightp (weightp)
Set weighted prediction method for P-frames. Possible values:
‘none (0)’
Disabled
‘simple (1)’
Enable only weighted refs
‘smart (2)’
Enable both weighted refs and duplicates
ssim (ssim)
Enable calculation and printing SSIM stats after the encoding.
intra-refresh (intra-refresh)
Enable the use of Periodic 定期的Intra Refresh instead of IDR frames when set to 1.
avcintra-class (class)
Configure the encoder to generate AVC-Intra. Valid values are 50,100 and 200
bluray-compat (bluray-compat)
Configure the encoder to be compatible with the bluray standard. It is a shorthand for setting "bluray-compat=1 force-cfr=1".
b-bias (b-bias)
Set the influence on how often B-frames are used.
b-pyramid (b-pyramid)
Set method for keeping of some B-frames as references. Possible values:
‘none (none)’
Disabled.
‘strict (strict)’
Strictly hierarchical pyramid.
‘normal (normal)’
Non-strict (not Blu-ray compatible).
mixed-refs
Enable the use of one reference per partition, as opposed to one reference per macroblock when set to 1. When set to 0, it has the same effect as x264’s --no-mixed-refs option.
8x8dct
Enable adaptive spatial transform (high profile 8x8 transform) when set to 1. When set to 0, it has the same effect as x264’s --no-8x8dct option.
fast-pskip
Enable early SKIP detection on P-frames when set to 1. When set to 0, it has the same effect as x264’s --no-fast-pskip option.
aud (aud)
Enable use of access unit delimiters when set to 1.
mbtree
Enable use macroblock tree ratecontrol when set to 1. When set to 0, it has the same effect as x264’s --no-mbtree option.
deblock (deblock)
Set loop filter parameters, in alpha:beta form.
cplxblur (cplxblur)
Set fluctuations reduction in QP (before curve compression).
partitions (partitions)
Set partitions to consider as a comma-separated list of. Possible values in the list:
‘p8x8’
8x8 P-frame partition.
‘p4x4’
4x4 P-frame partition.
‘b8x8’
4x4 B-frame partition.
‘i8x8’
8x8 I-frame partition.
‘i4x4’
4x4 I-frame partition. (Enabling ‘p4x4’ requires ‘p8x8’ to be enabled. Enabling ‘i8x8’ requires adaptive spatial transform (8x8dct option) to be enabled.)
‘none (none)’
Do not consider any partitions.
‘all (all)’
Consider every partition.
direct-pred (direct)
Set direct MV prediction mode. Possible values:
‘none (none)’
Disable MV prediction.
‘spatial (spatial)’
Enable spatial predicting.
‘temporal (temporal)’
Enable temporal predicting.
‘auto (auto)’
Automatically decided.
slice-max-size (slice-max-size)
Set the limit of the size of each slice in bytes. If not specified but RTP payload size (ps) is specified, that is used.
stats (stats)
Set the file name for multi-pass stats.
nal-hrd (nal-hrd)
Set signal HRD information (requires vbv-bufsize to be set). Possible values:
‘none (none)’
Disable HRD information signaling.
‘vbr (vbr)’
Variable bit rate.
‘cbr (cbr)’
Constant bit rate (not allowed in MP4 container).
x264opts (N.A.)
Set any x264 option, see x264 --fullhelp for a list.
Argument is a list of key=value couples separated by ":". In filter and psy-rd options that use ":" as a separator themselves, use "," instead. They accept it as well since long ago but this is kept undocumented for some reason.
For example to specify libx264 encoding options with ffmpeg:
ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
a53cc boolean
Import closed captions (which must be ATSC compatible format) into output. Only the mpeg2 and h264 decoders provide these. Default is 1 (on).
x264-params (N.A.)
Override the x264 configuration using a :-separated list of key=value parameters.
This option is functionally the same as the x264opts, but is duplicated for compatibility with the Libav fork.
For example to specify libx264 encoding options with ffmpeg:
ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\ cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
Encoding ffpresets for common usages are provided so they can be used with the general presets system (e.g. passing the pre option).

CBR设置
为输出设置CBR,有三个参数必须设置为同一个值。
bitrate(-b option), minimal rate(-minrate), maximal rate(-maxrate)。maximal rate需要设置-bufsize选项。例如设置CBR为0.5Mbit/s。
ffmpeg -i in.avi -b 0.5M -minrate 0.5M -maxrate 0.5M -bufsize 1M output.mkv
  • qscale的取值可以是0.01-255但实际使用超过50就很糟糕了
  • -qscale 使用固定量化因子来量化视频这个是在vbr模式的,前面有提到,越小质量越好,不要超过50,相关的参数还有-qmin --qmax用来设定最大最小可使用的量化值
  • -qdiff 指定固定量化器因子允许的最大偏差
qblur 指定量化器模糊系数,可用范围是0.0-1.0越大使得码率在时间上分配的越平均
  • -qcomp 指定视频量化器压缩系数,默认0.5
上面文档中括号后面对应的是x264的选项
FFmpeg option x264 option
-g <frames> --keyint
-b <bits per second> --bitrate
-bufsize <bits> --vbv-bufsize
-maxrate <bits> --vbv-maxrate
-pass <1,2,3> --pass
-crf <float> --crf
-cqp <int> --qp
-bf <int> --bframes
-coder <0,1> --no-cabac
-bframebias <int> --b-bias
-keyint_min <int> --min-keyint
-sc_threshold <int> --scenecut
-deblockalpha <int>-deblockbeta <int> --deblock
-qmin <int> --qpmin
-qmax <int> --qpmax
-qdiff <int> --qpstep
-qcomp <float> --qcomp
-qblur <float> --qblur
-complexityblur <float> --cplxblur
-refs <int> --ref
-directpred <int> --direct
-me_method <epzs,hex,umh,full> --me
-me_range <int> --merange
-subq <int> --subme
-bidir_refine <0,1> --bime
-trellis <0,1,2> --trellis
-nr <int> --nr
-level <int> --level
-bt <bits> --ratetol = -bt / -b
-rc_init_occupancy <bits> --vbv-init = -rc_init_occupancy / -bufsize
-i_qfactor <float> --ipratio = 1 / -i_qfactor
-b_qfactor <float> --pbratio
-chromaoffset <int> --chroma-qp-offset
-rc_eq <string> --rc_eq
-threads <int> --threads
-cmp <-chroma/+chroma> --no-chroma-me
-partitions --partitions
+parti8×8 i8×8
+parti4×4 i4×4
+partp8×8 p8×8
+partp4×4 p4×4
+partb8×8 b8×8
-flags
-loop/+loop --no-deblock/–deblock
-psnr/+psnr --no-psnr/nothing
-flags2
+bpyramid --b-pyramid
+wpred --weightb
+brdo --b-rdo 我这里的ffmpeg已经不能用这个了
+mixed_refs --mixed-refs
+dct8×8 --8×8dct
-fastpskip/+fastpskip --no-fast-pskip
+aud --aud

ffmpeg中的x264编码选项,对应关系的更多相关文章

  1. android ndk编译x264开源(用于android的ffmpeg中进行软编码)

    http://blog.csdn.net/u012917616/article/details/40921833 不废话,直接上.sh脚本: export NDK=/home/xxx/my_softw ...

  2. FFmpeg与libx264 x264接口对应关系源代码分析

    源代码位于“libavcodec/libx264.c”中.正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频.  从图中可以看出,libx264对应的AVCodec结构体ff ...

  3. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  4. ffmpeg,X264编码结果I帧QP比P帧还大

    enc_ctx->profile =FF_PROFILE_H264_MAIN ; enc_ctx->time_base.den = 24; enc_ctx->time_base.nu ...

  5. FFmpeg与libx264 x264接口源代码简单分析

    源代码位于“libavcodec/libx264.c”中.正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频.  从图中可以看出,libx264对应的AVCodec结构体ff ...

  6. ffmpeg 中添加264支持

    转自:http://blog.sina.com.cn/s/blog_513f4e8401011yuq.html ffmpeg 中带有264的解码,没有编码,需要添加x264: 参考百度上的“windo ...

  7. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1

    文章文件夹: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak P ...

  8. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2

    文章目录: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak Po ...

  9. FFmpeg中overlay滤镜用法-水印及画中画

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10434209.html 1. overlay技术简介 overlay技术又称视频叠加技术 ...

随机推荐

  1. Ubuntu 16.04通过源码安装QUEM虚拟机

    下载编译安装: wget http://download.qemu-project.org/qemu-2.9.0.tar.xz tar xvJf qemu-2.9.0.tar.xz cd qemu-2 ...

  2. u-boot中添加mtdparts支持以及Linux的分区设置

    简介 作者:彭东林 邮箱:pengdonglin137@163.com u-boot版本:u-boot-2015.04 Linux版本:Linux-3.14 硬件平台:tq2440, 内存:64M   ...

  3. php漏洞挖掘书籍

    PHP是一种被广泛使用的脚本语言,尤其适合web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界超过34%的网站有php的应用,包括Yahoo.sina.163.sohu等大型门户网站.而且很 ...

  4. spring利用后置处理器初始化bean属性

    spring利用后置处理器初始化bean属性 参考:http://blog.csdn.net/heyutao007/article/details/50326793 @Configurable @En ...

  5. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  6. java压缩 GZIP进行简单压缩,ZIP进行多文件保存

    java压缩  GZIP进行简单压缩,ZIP进行多文件保存 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlhbmdydWkxOTg4/font/5a6 ...

  7. Spring AOP实现拦截转发控制

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  8. C语言中的union使用方法

    union共用声明和共用一变量定义: "联合"是一种特殊的类,也是一种构造类型的数据结构.在一个"联合"内能够定义多种不同的数据类型. 一个被说明为该" ...

  9. 对AOP切面的一些整理与理解

      首先上一张AOP的图示 一:几个重要的概念   1> 切面:横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象[验证切面.日志切面]   2> 通知:切面中的每个方法   3& ...

  10. ssh中使用spring的集成quartz 编写定时任务

    之前没有使用框架开发时对于开发定时任务都是 使用java的原声timer类,重写线程的run方法跑要执行的任务.刚刚换的新公司,项目使用ssh2,目前该项目中的定时任务的使用spirng集成的quar ...